Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- TBitmapClickObject = record
- bitmap: TSCARBitmap;
- scanArea: TBox;
- clickOffset, clickOffsetRnd: TPoint;
- button: TMouseButton;
- delay, delayRnd, sleep, sleepRnd, tolerance: Integer;
- end;
- var
- BitmapClickObjects: array of TBitmapClickObject;
- procedure AddBitmapClickObject(scanArea: TBox; clickOffset, clickOffsetRnd: TPoint; button: TMouseButton; delay, delayRnd, sleep, sleepRnd, tolerance, transpColor: Integer; bitmapData: string);
- var
- l: Integer;
- begin
- l := Length(BitmapClickObjects);
- SetLength(BitmapClickObjects, (l + 1));
- BitmapClickObjects[l].scanArea := scanArea;
- BitmapClickObjects[l].clickOffset := clickOffset;
- BitmapClickObjects[l].clickOffsetRnd := clickOffset;
- BitmapClickObjects[l].button := button;
- BitmapClickObjects[l].delay := delay;
- BitmapClickObjects[l].delayRnd := delayRnd;
- BitmapClickObjects[l].sleep := sleep;
- BitmapClickObjects[l].sleepRnd := sleepRnd;
- BitmapClickObjects[l].bitmap := TSCARBitmap.Create(bitmapData);
- if (transpColor > -1) then
- BitmapClickObjects[l].bitmap.TranspColor := transpColor;
- end;
- {==============================================================================]
- Description: Simple Wait() command with hotkey check (CTRL + ALT + S).
- [==============================================================================}
- procedure Wait2(MS: Integer);
- var
- t: Integer;
- k: Byte;
- begin
- t := GetSystemTime;
- k := CharToVKey('s');
- repeat
- try
- if (GetCurrentKeyState(VK_CONTROL) and GetCurrentKeyState(VK_MENU) and GetCurrentKeyState(k)) then
- TerminateScript;
- except
- end;
- Wait(0);
- until ((GetSystemTime - t) > MS);
- end;
- procedure Click;
- var
- i, x, y: Integer;
- c: TPoint;
- begin
- for i := 0 to (Length(BitmapClickObjects) - 1) do
- if FindBitmapTol(x, y, BitmapClickObjects[i].bitmap, BitmapClickObjects[i].scanArea.X1, BitmapClickObjects[i].scanArea.Y1, BitmapClickObjects[i].scanArea.X2, BitmapClickObjects[i].scanArea.Y2, BitmapClickObjects[i].tolerance) then
- begin
- c := Point((x + BitmapClickObjects[i].clickOffset.X + Random(BitmapClickObjects[i].clickOffsetRnd.X)), (y + BitmapClickObjects[i].clickOffset.Y + Random(BitmapClickObjects[i].clickOffsetRnd.Y)));
- Wait2(BitmapClickObjects[i].delay + Random(BitmapClickObjects[i].delayRnd));
- SetMousePos(c.X, c.Y);
- MouseBtnDown(c.X, c.Y, BitmapClickObjects[i].button);
- Wait2(45 + Random(45));
- MouseBtnUp(c.X, c.Y, BitmapClickObjects[i].button);
- Wait(BitmapClickObjects[i].sleep + Random(BitmapClickObjects[i].sleepRnd));
- end;
- end;
- procedure Setup;
- var
- dataStr: string;
- begin
- {
- dataStr := 'deNpjZmBmeCujorTR5/9JPnuPM//r1evr6w8fPsyw6MVizyUAudoOAQ==';
- // SCAN AREA AS TBOX CLICK OFFSET & RANDOMNESS BUTTON DELAY BEFORE CLICK & RANDOMNESS SLEEP AFTER CLICK & RANDOMNESS TOLERANCE TRANSPARENT COLOR THIS IS THE BITMAP DATA STRING, THAT IS USED FOR CREATING NEW BITMAP TO OUR OBJECTS TO BE SCANNED!
- AddBitmapClickObject(Box(34, 17, 108, 76), Point(1, 1), Point(0, 0), mbLeft, 0, 0, 0, 0, 0, -1, dataStr);
- }
- dataStr := 'deNrdj70OAVEQhbf0k3gIb6K1LaVCrd03UNCS' +
- 'KJQKIauSSBSqjYpERCkUQssj2DicZDKZu2G1OznF3O+eM3Nv2St5jVUxYxrvWk' +
- '+nAP+dg9T+Erm8FhagQdSEgT21Ps4NSSNEEHR5dZiH2os6DOxFIOAGfhciy8PI' +
- '5ZVODgomPgzsqXDTE8JeSkdYMBBKz8j1ftIzdURKPCYLs4b6hYTa5m5xiesk1D' +
- '81t3hbYjBxi/taKRw5KnGLLEq/Bdx86udf+DD7ne5bwdSP45g9dXucSWbbvlzF' +
- 'n4KZPa4ka6BOieg0JbdCuFoPZ5HoLZIyizKgF0tTn4Y=';
- AddBitmapClickObject(Box(0, 0, 500, 500), Point(17, 7), Point(0, 0), mbLeft, 0, 0, 150, 250, 0, -1, dataStr); // BACK
- dataStr := 'deNpTZhBgiN3NPcxQyCouIJp6MPEvBoBIUQt' +
- '5zeQEouYtoUCTIWwIgtiFLIKMMNUTRI7tHEBUstwbqBHCxiVCvCweRNAieHiic' +
- 'YHKICqRAVzXoze3CbofzdhVJycia0RWD2FDFGA6DyKOZhEyAJqJy2twXyArAJJ' +
- 'ohmMNXlwuxOoGrBZhBheQAXctCHWAUMkK73///kHYQLT61CQgFyiIKYWpHlMBh' +
- 'As3AZdGuGK4CJABtBpZGYSByyVA7uO3dzCdh8vZaHZBANyREC7QAZh6IQECcRt' +
- 'NEVZn0wLhCjeq+4U+3sGFAJC/2G8=';
- AddBitmapClickObject(Box(0, 0, 500, 500), Point(17, 8), Point(0, 0), mbLeft, 0, 0, 150, 250, 0, -1, dataStr); // RETRY
- end;
- begin
- Setup;
- repeat
- Click;
- Wait2(0);
- until False;
- end.
Advertisement
Add Comment
Please, Sign In to add comment