Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program TricksterBot;
- var
- i, x, y, t: Integer;
- screen: TBox;
- targetHpBarBmp, galderBmp: TSCARBitmap;
- monsterBmps: array of TSCARBitmap;
- dead: Boolean;
- pt: TPoint;
- procedure Load;
- begin
- monsterBmps := [
- // Golden Mole north
- TSCARBitmap.Create('deNrjY+BlMLK1ACJxNQk8SFhJFIhIUolfGUQlv' +
- '6wCQWWDRCWRHifGTIgyKqqEK+MUl6CKSrhfQMqElQEZTDzV'),
- // south
- TSCARBitmap.Create('deNrjYmBnMJPUgiNuDgkggrB15W3QpPRNo4EIx' +
- 'OBQBsoiK0CThSjANBkihSkLFxfhgSI0cYiUqZKelb09ECGLw6XgsgBcHh3/'),
- // east
- TSCARBitmap.Create('deNplzsEKgCAQhGEhCAOhoxIGnjxHpyh6lt7/L' +
- 'fpjQBaDYVnwY9zgvIs1dZnXwkxbKT47NzDb034fWqb4gWXMMuTfg2ECzuuxppX' +
- 'ICFhD89/UUEkzAJi9mWNkWDAq6YwYbTIA+1HHlBdJgB6/'),
- // south east
- TSCARBitmap.Create('deNrjYGBlMJPUgiBNBmVuDgk4whQBIjQRI0E1I' +
- 'NLnUIaLQ0QgghBxuAiyYiACALVKDA0='),
- // south west
- TSCARBitmap.Create('deNpjZ2Bh0GRQ1udQNpPUQkZAQQhCltKVtwEiN' +
- 'CmIIDICSgEA7bwL+w=='),
- // Fanta Slime north
- TSCARBitmap.Create('deNoTYeBj+B+kOIpGEQL9fzeUnEq2aynRiw0BAJB7nEQ='),
- // north east
- TSCARBitmap.Create('deNoTYBBm+B+kSAx6ZshxThOEiFQPQaSqH0UDhv6/G8IuJ8nxpKqn' +
- 'LwIACBC9SQ=='),
- // north west
- TSCARBitmap.Create('deNrjYuBisFDhAyJNHi5xNQlkxCkOQgRlgVL8s' +
- 'gpABJcCsjFlkRGNZCFSmLJwcQgyFOYCKsCqES6LSwEAw0YdQA=='),
- // south east
- TSCARBitmap.Create('deNoTYBBk+B+kiIL+v0PhZjshEJpKXMrwa8GlElM90CVARDv1+FVm' +
- 'Oz0z5GBgYCBePUgxcugRoR7ZfIh1QABkEOMeqPb/70AkEV5mQALEqCfoHmKjGBwpW62sii' +
- 'UVUcITTT04+uDKsCqGioBNg7gNqOx7zxwIArIxDcdUBlGJ3SXYNKIZCwDOTIbM'),
- // south west
- TSCARBitmap.Create('deNrjYWBjcGFXdmBXthTUshTQ8jIxdbW3cbW10' +
- 'ePTMtOwASIjICmpFcKrHCitFWttGqKt5yGn5yCj56qmZ8inZaVlYyWpBURANdl' +
- 'iyqlKWrmOpqm2prFuNoFONkAzHWW17KRBCKKsy8amVUerw8e00s0008fGU1wrU' +
- 'EnLTQ5F2Sx3mymayr2GWqVqWgkKWolqWqEqWp5yWm5gNVZgNauCbOaYKk91sqk' +
- 'yt6nS10rTQFUDtgsAHn4u8Q=='),
- // left
- TSCARBitmap.Create('deNrjYmBnkNIwhSMRJXQkpaSMRwFIFhXhk0U1B' +
- 'MTGkEJHSLJKehZwhKYRWQqIAEZAHok=')
- ];
- targetHpBarBmp := TSCARBitmap.Create('deNpjZuBkgIP/2dkIBORCRAgx9jJIQhDcHADK' +
- 'Vhst');
- galderBmp := TSCARBitmap.Create('deNrjZeBkMFNSBKKCLI+CJNmcYHsQuzQaIghix' +
- '1sBxSFSQDLKQRuuDCRSOhWuBq4AogbChpsDkgVbARQEa4wG6gIykNXAzIyGOwZ' +
- 'iGrIaoC4gCbICqAysElkWwoa4B8nAqWCEYiOye+B6kRFW98CNRbgHLILmHuQQA' +
- 'ABv32BQ');
- end;
- function HasTarget: Boolean;
- var
- x, y: Integer;
- begin
- Result := FindBitmap(x, y, targetHpBarBmp, screen.X1, screen.Y1, screen.X2, screen.Y2);
- end;
- procedure LootGalder;
- var
- x, y: Integer;
- p: TPoint;
- begin
- while FindBitmapTol(x, y, galderBmp, screen.X1, screen.Y1, screen.X2, screen.Y2, 40) do
- begin
- p := Point((x + Random(2)), (y + Random(2)));
- MouseBtnDown(p.X, p.Y, mbLeft);
- Wait(40 + Random(30));
- MouseBtnUp(p.X, p.Y, mbLeft);
- Wait(RandomRange(500, 900));
- WriteLn('clicking galders');
- end;
- end;
- begin
- ClearDebug;
- Load;
- GetClient.Activate;
- screen := GetClient.ImageArea;
- while True do
- begin
- LootGalder;
- while not HasTarget do
- begin
- for i := 0 to High(monsterBmps) do
- begin
- if FindBitmapTol(x, y, monsterBmps[i], screen.X1, screen.Y1, screen.X2, screen.Y2, 40) then
- begin
- WriteLn('attacking');
- pt := Point((x + Random(2)), (y + Random(2)));
- MouseBtnDown(pt.X, pt.Y, mbLeft);
- Wait(40 + Random(30));
- MouseBtnUp(pt.X, pt.Y, mbLeft);
- Wait(800 + Random(2100));
- Break;
- end;
- end;
- end;
- t := GetSystemTime;
- repeat
- dead := not HasTarget;
- if not dead then
- Wait(100);
- until (dead or ((GetSystemTime - t) > 25000));
- if dead then
- WriteLn('target died')
- else
- WriteLn('target is not dying for too long, giving up');
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment