@@ -162,10 +162,95 @@ procedure TAntiban.HoverMakeItem();
162162var
163163 boxes: TBoxArray;
164164begin
165- if not Bank .IsOpen() then Exit;
166- WriteLn GetDebugLn('Antiban', 'Hovering a random make item button ');
165+ if not Make .IsOpen() then Exit;
166+ WriteLn GetDebugLn('Antiban', 'Hovering a random make item');
167167 boxes := Make.GetItemBoxes();
168+ if boxes = [] then Exit;
169+ Mouse.Move(boxes.Random());
170+ end;
171+
172+ procedure TAntiban.HoverMakeQuantity();
173+ var
174+ boxes: TBoxArray;
175+ begin
176+ if not Make.IsOpen() then Exit;
177+ if not Make.ClearQuantityHint() then Exit;
178+ WriteLn GetDebugLn('Antiban', 'Hovering a random make quantity button');
179+ boxes := Make.GetQuantityBoxes();
180+ if boxes = [] then Exit;
168181 Mouse.Move(boxes.Random());
182+ Biometrics.Sleep(500, 2000, ERandomDir.LEFT);
183+ end;
184+
185+ procedure TAntiban.ReadMakeItemHint();
186+ var
187+ boxes: TBoxArray;
188+ begin
189+ if not Make.IsOpen() then Exit;
190+ WriteLn GetDebugLn('Antiban', 'Reading a random make item hint');
191+ boxes := Make.GetItemBoxes();
192+ if boxes = [] then Exit;
193+ Mouse.Move(boxes.Random());
194+ if Make.WaitHint(2000) then
195+ begin
196+ Biometrics.Sleep(1000, 3000, ERandomDir.LEFT);
197+ Make.CloseHint();
198+ end;
199+ end;
200+
201+ procedure TAntiban.ToggleMakeQuantity();
202+ var
203+ randomBtn: TRSMakeQuantityButton;
204+ quantityBtns: array of TRSMakeQuantityButton;
205+ currentBtn, customQuantity, i: Integer;
206+ begin
207+ if not Make.IsOpen() then Exit;
208+ if not Make.ClearQuantityHint() then Exit;
209+ WriteLn GetDebugLn('Antiban', 'Toggling make quantity buttons');
210+
211+ quantityBtns := Make.FindQuantityButtons;
212+ if quantityBtns = [] then Exit;
213+ currentBtn := Make.GetCurrentQuantity();
214+ randomBtn := quantityBtns[Random(Length(quantityBtns))];
215+
216+ if randomBtn.UpText = 'Other' then
217+ begin
218+ for i := 0 to High(quantityBtns) do
219+ if (quantityBtns[i].Quantity = ERSItemQuantity.CUSTOM)
220+ and (quantityBtns[i].UpText <> 'Other') then
221+ begin
222+ customQuantity := StrToInt(quantityBtns[i].UpText);
223+ end;
224+
225+ Make.SetQuantity(Random(1, 27));
226+ Biometrics.Sleep(1000, 3000, ERandomDir.LEFT);
227+
228+ if customQuantity > 0 then
229+ begin
230+ Make.SetQuantity(customQuantity);
231+ Biometrics.Sleep(1000, 3000, ERandomDir.LEFT);
232+ end;
233+ end
234+ else
235+ begin
236+ // Just click the random button
237+ randomBtn.Button.Enable();
238+ Biometrics.Sleep(1000, 3000, ERandomDir.LEFT);
239+ end;
240+
241+ // Restore original
242+ if Make.IsOpen() then
243+ Make.SetQuantity(currentBtn);
244+ end;
245+
246+ procedure TAntiban.RandomMakeTask();
247+ begin
248+ case Random(0, 10) of
249+ 0..3: Self.HoverMakeItem();
250+ 4..6: Self.HoverMakeQuantity();
251+ 7..8: Self.ReadMakeItemHint();
252+ 9..10: Self.ToggleMakeQuantity();
253+ end;
169254end;
170255
171256//Chatbox antiban
@@ -893,6 +978,10 @@ const
893978 ['HoverSkills', @Antiban.HoverSkills],
894979 ['OpenSkills', @Antiban.OpenSkills],
895980 ['HoverMakeItem', @Antiban.HoverMakeItem],
981+ ['HoverMakeQuantity', @Antiban.HoverMakeQuantity],
982+ ['ReadMakeItemHint', @Antiban.ReadMakeItemHint],
983+ ['ToggleMakeQuantity', @Antiban.ToggleMakeQuantity],
984+ ['RandomMakeTask', @Antiban.RandomMakeTask],
896985 ['ChatScrolling', @Antiban.ChatScrolling],
897986 ['RandomChatTab', @Antiban.RandomChatTab],
898987 ['ToggleChatTab', @Antiban.ToggleChatTab],
0 commit comments