SRL Archive - Outdated / Broken

My First Alotic RSPS Script Gemstall thiever ( DOES NOT USE SMART)


villaa

2014-07-07 16:42:18

Download links below!
but first please read SETTINGS

Display mode = Software (IMPORTANT)
Screen size = Fixed
Graphics = minium
BRIGHTNESS = FULL
custom cursors off


Rembember to drag the Select Client tool to alotic client.


After script has started DON¨T MOVE CAMERA!

V1.54 -> V1.55
- More fixes for running back to stall, higher tolerance for bank_all.
- Disabled auto login (fixing it when got time.)
- New cleaner progress.

V1.55 -> V1.56
- Changed stall clicking speed back to where it was. (so if you got decent internet connection should not be problem)
- Gem counting still not working properly.
- Pixelshift animation easier to detect.

V1.56 -> V1.57
- Fixed gem counting
- Added Xp counting.
- Should have no problems finding minimap "gem icon"
- Enabled logging.
- Minor fixes, failsafes.

* if there come's any issues please tell me, i ran it about 30min+ and worked fine. *

V1.57 Progress
Villaa´s Going For Gems V1.5+ [Current Count = 6/42] [Force Resets: 0] [1]
+ Correct client width and height
* Time Running: 02:09:02 [Login Count: 0]
* Gems Gathered: 2499 [1162/hour] Inventories Done: 89 [41/Hour]
* Xp Gained: 2598960 [1208462/XP hour]

* Script: if i get stuck here make sure you play on "Software" or manually 318 line
* Movement: False

To stop this script, hold down F12.
Successfully executed.

bunnynn

2014-07-08 17:00:48

Works flawlessly, thanks for sharing this :)

Cody44

2014-07-08 19:42:05

Wow… works flawlessly as said before! I have been trying to code for Alotic for a little while and have ran into error after error.. I was thinking of scripting a paladin thiever. I was wondering if you would like to joint code it?

Cody44

2014-07-08 19:52:02

Actually it is not working flawlessly… when the inventory is full it just sits there clicking… When I move the camera it goes to bank then sits there clicking in random places…?

villaa

2014-07-09 02:32:52

yea, if inv is full and it doesnt see "yellow dot" on map, it keeps thieving until banker is visible on minimap..


AND DONT MOVE CAMERA

Cody44

2014-07-09 06:31:31

Even when the yellow dot is clearly visible on the map it does nothing. And when banking the mouse runs to the top left corner clicking like mad! Although I look forward to your hero thiever, Paladins would have been better as most people know Heroes stun 60% of the time :/ But goodluck man!

bunnynn

2014-07-09 07:25:51

From: Cody44
Even when the yellow dot is clearly visible on the map it does nothing. And when banking the mouse runs to the top left corner clicking like mad! Although I look forward to your hero thiever, Paladins would have been better as most people know Heroes stun 60% of the time :/ But goodluck man!


Well then obviously you're doing something wrong, I had it on for 20 hours without any problems.

Cody44

2014-07-09 21:03:24

Okay I changed some settings and what not and it is thieving and banking properly. But there seems to be an issue where it won't run back to the stall? I will change some of the colours and see if that works. Thanks again for the script OP. Also Bunnynn in the 20 hours you ran the script how much profit did you make?

Cody44

2014-07-09 21:14:29

From: bunnynn
Well then obviously you're doing something wrong, I had it on for 20 hours without any problems.


Nope the script wont walk me back to the stall..

bunnynn

2014-07-09 21:39:51

From: Cody44
Okay I changed some settings and what not and it is thieving and banking properly. But there seems to be an issue where it won't run back to the stall? I will change some of the colours and see if that works. Thanks again for the script OP. Also Bunnynn in the 20 hours you ran the script how much profit did you make?


Got about 100m, so the script is a steady 5m/hr

Cody44

2014-07-09 21:43:21

From: bunnynn
Got about 100m, so the script is a steady 5m/hr

How do you get it to walk back to the stall?

Could you paste the code you are using?

Cody44

2014-07-09 23:12:42

Could you paste the code you are using, as the one OP has doesn't walk back to the stall.

Cody44

2014-07-10 00:21:00

From: bunnynn
Got about 100m, so the script is a steady 5m/hr


Hellooo? you were just on the thread… When i posted that. All i asked was for you to post the code you used.. Guess it was too much to ask.

villaa

2014-07-10 03:24:07

Hmm… i guess you need change some colors at line 50 and 51 or increase tolerance.

Cody44

2014-07-10 08:52:17

From: villaa
Hmm… i guess you need change some colors at line 50 and 51 or increase tolerance.


Okay thanks, I will take a look

Cody44

2014-07-10 09:08:09

From: villaa
Hmm… i guess you need change some colors at line 50 and 51 or increase tolerance.


Where exactly are the colour on line 50 and 51 coming from?

villaa

2014-07-10 09:09:22

They are coming from minimap gemstall icon

villaa

2014-07-10 09:11:02

and maybe u want increase the "box" little bit too if it helps

Cody44

2014-07-10 09:11:54

From: villaa
They are coming from minimap gemstall icon

Ok I will change the colours, will post back if it works

EDIT: Wow works a charm, done 3 runs flawlessly. Goodjob man and thanks for the help

villaa

2014-07-10 09:18:05

Glad to hear that :), message me if there comes anyother problems.

Cody44

2014-07-10 12:38:45

From: villaa
Glad to hear that :), message me if there comes anyother problems.


There is one problem.. When it goes to bank sometimes gandalf is not on the screen so the script runs to the top left corner of the room eventually idling and logging out.

Cody44

2014-07-10 12:56:26

From: bunnynn
Got about 100m, so the script is a steady 5m/hr

Ran it for 3 hrs 30mins only made 5.6m or so :/ pretty shit money if you ask me.

Turpinator

2014-07-10 13:34:06

program GemStall;

var
x, y, a, b, c, d, l, j, k, g, w, e, gandalf, gandalf1, f: Integer;

procedure gemstole;
begin
if FindColorTolerance(x, y, 2897727, 697, 442, 708, 449, 3) or
FindColorTolerance(x, y, 2897727, 697, 442, 708, 449, 3) or
FindColorTolerance(x, y, 2897727, 697, 442, 708, 449, 3) or
FindColorTolerance(x, y, 2897727, 697, 442, 708, 449, 3) or
FindColorTolerance(x, y, 2897727, 697, 442, 708, 449, 3) then
begin
if FindColorTolerance(x, y, 3541648, 1, 5, 514, 337, 4) or
FindColorTolerance(x, y, 3082622, 1, 5, 514, 337, 4) or
FindColorTolerance(x, y, 3541648, 9, 11, 508, 330, 4) or
FindColorTolerance(x, y, 3082622, 4, 11, 508, 330, 4) then
begin
Cleardebug;
Writeln('Thieving Gems laike o g housi and searching for red gems');
movemouse(x, y);
clickmouse(x, y, mouse_left);
wait(1800);
end
else
begin
if FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) then
begin
if FindColorTolerance(g, l, 130, 562, 81, 660, 149, 2) or
FindColorTolerance(g, l, 394912, 562, 81, 660, 149, 2) then
end;
begin
movemouse(g + random(10), l + random(9));
clickmouse(g + random(10), l + random(9), mouse_left);
wait(2700);
end;
end;
end;
end;

procedure bank;
begin
if FindColorTolerance(x, y, 7082254, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 1008909, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 725334, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 9145490, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 6229062, 693, 436, 717, 455, 4) then
begin
movemouse(633, 45);
clickmouse(633, 45, mouse_left);
begin
if FindColorTolerance(x, y, 64250, 565, 11, 692, 157, 1) then
begin
movemouse(x, y);
clickmouse(x, y, mouse_left);
wait(4100);
end;
end;
end;
begin
if FindColorTolerance(x, y, 7082254, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 1008909, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 725334, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 9145490, 693, 436, 717, 455, 4) or
FindColorTolerance(x, y, 6229062, 693, 436, 717, 455, 4) then
begin
if FindColorTolerance(a, b, 2049873, 8, 10, 508, 331, 1) or
FindColorTolerance(a, b, 1719365, 8, 10, 508, 331, 1) then
begin
movemouse(a, b);
clickmouse(a, b, mouse_right);
wait(680);
begin
writeln('I just found bitmap called gandalf');
if FindBitmapToleranceIn(gandalf, d, f, 1, 1, 533, 410, 175) then
begin
movemouse(d, f);
clickmouse(d, f, mouse_left);
writeln('im clicking it now');
wait(2550);
begin
if FindColorTolerance(c, d, 1127265, 381, 299, 413, 321, 2) then
begin
movemouse(c, d);
clickmouse(c, d, mouse_left);
wait(400);
end
else
movemouse(random(380), random(380));
wait(400);
movemouse(random(180), random(180));
end;
end;
end;
end;
end;
end;
end;
begin
movemouse(542, 20);
clickmouse(542, 20, mouse_left);
wait(500);
KeyDown(37);
wait(1500);
KeyUp(37);
KeyDown(38);
wait(600);
Writeln('Screen id done');
KeyUp(38);
repeat
SetScriptProp(SP_WriteTimeStamp, [True]);
gandalf := BitmapFromString(74, 10, 'meJyTUdeeuuMYEMmoa5OBCOpl+P' +
'8fiMgznCrGDlffARVgOg8igiaOLIgpjsebeJyBLIXJhiNMLZhSuNS' +
'jOYw8Np4YhNuIy0k0ZWMGO9ZoIug7YpIQjXyHK04xfUe7uKOd74iP' +
'O7LZxOQ7+vsOf6lCtq8xPYg1y+NKUSSlQPwpcxQNUQQACaKx3Q==');
gemstole;
bank;
FreeBitmap(gandalf);
until (IsKeyDown(123));
end.
mother of god format please.


      if FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) or
FindColorTolerance(x, y, 2897727, 700, 442, 707, 449, 2) then
and whats up with this? searching for the same color 5 times?

villaa

2014-07-10 13:45:47

i was tired

villaa

2014-07-10 13:55:34

i dont know what went wrong but if "gandalf" is not on the screen it should start clicking minimap to get near banker and again right click banker… maybe the yellow dot color finding box isnt enough large …. hmmm

Cody44

2014-07-10 18:31:24

I changed the colour and rearranged some wait timers and it seems to work fine now, the only issue that prevents me from leaving it to run for days at a time is that the server is having issues with Disconnecting. So until they fix that I will only be able to run for 30-60mins at a time. Will keep you posted on any errors.

villaa

2014-07-11 00:53:11

And when script stucked did you had, full inv gems or empty inv?

Cody44

2014-07-11 08:47:20

Full inv

Spotify

2014-07-12 02:36:01

From: villaa
And when script stucked did you had, full inv gems or empty inv?


If you play on fixed display mode, and use the srl-osr include then you can easily determine if the inventory is full with this function.

Function IsInvFull:Boolean;
Begin
if (InvCount = 28) then
Result := true;
End;

OR

Function IsInvFull:Boolean;
Begin
if (InvCount > 27) then
Result := true;
End;

villaa

2014-07-12 04:52:40

Thanks for that, im pretty new with scripting so really appreciate your help :)

Cody44

2014-07-12 05:47:48

The disconnections on the server were fixed early morning yesterday, so I decided to run the script at 7pm yesterday to see how it ran. Sat down watched Rocky Balboa :o
Checked up on it when the film finished, the script was working fine. Woke up at 10am looked at it again, still running fine with over 16000 sapphires in my bank, I'm very pleased with this script.

I decided I will sell the juicy loot and see what I netted. After selling everything I brought in just over 45M making it roughly 3M/hr which is not at all bad for doing absolutely nothing. Cheers

villaa

2014-07-12 06:07:03

Very nice :)

vapingbubba

2014-07-14 15:02:29

can any1 download this? plz

villaa

2014-07-15 09:35:00

Test this script out if it doesnt work, message me.

kasam1336

2014-07-24 14:28:12

how do u open this thing?

villaa

2014-07-24 14:53:39

Have you downloaded simba?

villaa

2014-07-27 16:28:16

glad you like it :)

nets216

2014-07-28 00:50:40

the script is ok but the relogger dont work for me..and how this is a money making method? gems worth like nothing

villaa

2014-07-28 02:58:16

yea sell gems at overprice, dont bother sell them at normal ge price

JSmooth

2014-07-28 10:06:57

From: villaa
yea sell gems at overprice, dont bother sell them at normal ge price


Gems are also a great way to get up crafting fast, so if you run this for a few hours you can get plenty of crafting exp from it too.

srhrich

2014-08-22 06:42:17

Fix the banking and the script is great :D

Just have to fix the bank and drop all items into bank.

villaa

2014-08-22 16:31:47

i heard they added 2 traders at gem stall to distract color bots, i see no way to fix that. and if it opened bank and didnt bank, make sure display = software

henryuscola

2014-09-26 23:04:53

script works fine other then a problem with banking when inventory is full

ne14a69?

2014-10-11 16:46:46

So… As others have said, this script works great for me minus banking. It will find and open banker, but freezes and will not empty inventory. It seems like an easy fix to somebody who knew more about it that me.

ne14a69?

2014-10-12 12:18:16

I take that back. Having my graphics in "DirectX" instead of "Software" was my problem. This will fix the problem if it opens banker but does not empty inventory.

villaa

2014-10-14 02:55:02

Make sure your Brigthness is set to as highest possible.
Screen settings is fixed and ALL MINIUM no antialiasing etc.

use the select client tool to take only the screen without the alotic client borders.


Hope that helps if not contact me i´ll try find out whats going on….
last time i tested this it worked fine.

freefame

2014-10-14 09:44:04

Error: Duplicate declaration "AddDTM" at line 164

How to fix this?

420bot

2014-10-19 17:00:42

From: freefame
Error: Duplicate declaration "AddDTM" at line 164

How to fix this?


Go to Script > Interpreter and change it to PascalScript.


This script is awesome btw, great job. I've run it for 15 hours at a time and never fails. Only thing thats really annoying is when theres players with the basic outfit, it always clicks on them when its trying to bank because they kind of look like the banker.

So for members using this script, change your appearance when you make your bot because it fucks the script for everyone else, I'm talking to you, Sam Bo Dee.

yeswebot

2014-12-24 11:39:46

Hey i'm trying this script on Alotic but it clicks to fast on the gem stalls so I don't receive gems…

Where can I change the delays so it click slower?

Thanks

yeswebot

2014-12-26 10:13:14

Thanks for edit! Keep up the good work!:)

NinetiesKid

2015-01-03 17:09:03

Error: File "srl-osr/srl.simba" not found at line 2

New at this, help me out please?

I have TeamViewer if anyone is available to help me please
Much appreciated, thank you so much

villaa

2015-01-24 16:59:59

You need SRL-OSR include.
You can get it from here "https://github.com/SRL/SRL-OSR"

remember to change it "SRL-OSR"

imarealol

2015-01-26 13:39:21

function AddDTM(DTM : TDTM) : integer;

Error: Duplicate declaration "AddDTM" at line 164
Compiling failed.

villaa

2015-01-26 14:55:56

1. Open Simba
2. go "Script" at top
3. select "Interpreter"
4. change it to "PascalScript"

I hope that helps, im not good with simba or anything that comes at programming, coding, scripting…. etc…
But someday i can make my god damn agility script :P

Reixgn

2015-01-31 06:13:25

What do you mean "Rembember to drag the Select Client tool to alotic client." - new to this :)

villaa

2015-01-31 08:13:41

The GREEN sniper scope icon, drag it in alotic client and ur done


Image below.
http://gyazo.com/ddbb99f77188d6fd1de40e44f47e762d

Reixgn

2015-01-31 21:40:03

dude whats your skype, I need help xD

KeepBotting

2015-01-31 22:04:50

From: Reixgn
dude whats your skype, I need help xD


I hope it's not with selecting a client. You literally just drag and drop an icon.

Reixgn

2015-01-31 22:13:24

mine doesn't come up with a sniper scope ? i run the script and it does nothing, its set to pascal works fine, just doesn't respond with client ?? i run desktop version…

KeepBotting

2015-01-31 22:23:14

From: Reixgn
mine doesn't come up with a sniper scope ? i run the script and it does nothing, its set to pascal works fine, just doesn't respond with client ?? i run desktop version…


Simba. Simba comes with the sniper scope. It's the middle icon shown here:
It's at the top of the window, below the file menu but above the editor. You drag and drop it onto the Alotic client.

Reixgn

2015-01-31 22:25:39

Thankyou sir, that helped alot, but now the script will click on the North on the minimap , and then spin a little bit & stop, but on simba, the script just keeps refreshing, Know whats going on ?

KeepBotting

2015-01-31 22:27:36

From: Reixgn
Thankyou sir, that helped alot, but now the script will click on the North on the minimap , and then spin a little bit & stop, but on simba, the script just keeps refreshing, Know whats going on ?


Follow the instructions in the OP - I'm not the author of this script and can't/won't provide support for it

Reixgn

2015-01-31 22:46:00

So what do I do, ive followed all the instructions & its doing the same thing , i dont understand

villaa

2015-02-01 03:39:27

Drag the icon client (no borders) make sure settings are correct and should work, brightness MAX, display mode SOFTWARE

* Start the script nearstall, if that doesnt help pm me. *

Blade bro4

2015-02-02 17:49:01

Villaa´s Going For Gems V1.5+ [Current Count = 0/42] [Force Resets: 0]

* Time Running: 00:00:36 [Login Count: 0]
* Gems Gathered: 25 [2499/hour] Inventories Done: 0 [0/Hour]

* Script:
* Movement: True

To stop this script, hold down F12.
Successfully executed.
The following DTMs were not freed: [0, 1, 2, 3, 4, 5]
The following bitmaps were not freed: [36, 37, 38, 39, 49]


I'm getting this, the strange thing is that I wasn't actually gathering anything. The script just kept flickering on Simba while nothing happened on client. I can't get the AIO theiver to work either:/ I hate when things happen, I'm not sure what I could possibly be doing wrong.

villaa

2015-02-03 02:06:34

I see my gem counting needs still fix and start script when u are nearstall and make sure brightness is max and display mode = software, screen size fixed, all else low / minium and should work

stand next to the stall and start script, if the script doesnt steal gems means that cant find that specific color and for this Display Mode: Software = important, and max brigthness.
if the script steals from stall and banks and doesnt walk back from banker to stall, pm me.

and just incase, drag the Select Client Tool to Alotic NO BORDERS only client

dragging select client to alotic picture below:
http://gyazo.com/145a984ad690677e41d80617a05edb3a

graphic settings for rs
http://gyazo.com/65128fce3273a80d80a6c1a60d50dc6b
http://gyazo.com/748b42a0c849074e86a081dd76467a4a

Blade bro4

2015-02-03 15:59:36

I have all the correct settings, it just still happens.

villaa

2015-02-04 02:18:04

Sorry Iran for all, that was mistake by me. i should tried this script with different gears, it stucks cause it thinks ur character is doing something so to fix this take off ur cape. If that doesnt work see below.

OR
go to line 150 and change the "75" to something higher like 175 or 225.

if that doesnt work either change it like 300, i'll try fix this at next V.

working on my gem cutter atm, and made my coal miner :). Simba ftw

Blade bro4

2015-02-05 11:33:42

Alright, changed those settings. Now it just says "walking to stall" and clicks on the minimap toward the icon, but never clicks the stall. This is after I started standing next to the stall, it walks away and looks for it.

villaa

2015-02-05 14:13:13

hmm… the colors for stall been working good since the 1.3v, i guess i need to change them too!
Thanks for posting these, i'll try fix them all but been busy learning to script on OSRS with reflection.

Blade bro4

2015-02-05 14:21:05

I understand, thanks for taking the time to look.

ccc9797

2015-02-15 00:26:55

works for me thanks!

embowled

2015-05-04 16:42:51

Hi, could i have your help wth something? I'm trying to fix this error of code,
"x, y, pickpocketbmp, loginscreenbmp, steals, xpgained, TimesStunned, relogs, Is_Relogger, Gems, bankbmp:Integer; status, NpcString, username, password:string;
Error: Duplicate declaration "status" at line 6
Compiling failed.
"
Do you know what's wrong?
Thank you.

rj

2015-05-04 16:54:08

From: embowled
Hi, could i have your help wth something? I'm trying to fix this error of code,
"x, y, pickpocketbmp, loginscreenbmp, steals, xpgained, TimesStunned, relogs, Is_Relogger, Gems, bankbmp:Integer; status, NpcString, username, password:string;
Error: Duplicate declaration "status" at line 6
Compiling failed.
"
Do you know what's wrong?
Thank you.


Sometime inbetween when this script was posted and the time you posted this SRL-OSR was updated and the 'status' variable was added (for reasons unknown to me, anyway this means you can't use status as a variable anymore)

So I changed 'status' to state, I have no idea if there are any other errors but that should fix that particular one

program Going_For_Gems_V1_5;
{$i srl-osr/srl.simba}

var
How_long_break, Break_gem_randomizer, Randomizer_for_break, dim_x, dim_y, Break_Rate, Gems_collected_before_break, x, y, g, l, a, b, d, f, c, pickpocket_rate, timer_fgs, normal_mode, previous_invcount, h, i, login, pixel_check_rate, pixel_stop_rate, tol_for_all_gems, sapphire, emerald, ruby, diamond, dragonstone, walkbb, myname, rotatecameraforgemstall, gandalf, clickbanker, yellowbankermap, bankpack, baloginckloginscreen, clickbacktostall, walkbb2, roadtoafk, afterimoved, walkbb3, walkbb4, GemH, InvH, ForceResets, inv_x, inv_y, Gem, relog, xp_dropped_too_hard, total_xp_gained, sapphire_xp, emerald_xp, ruby_xp, diamond_xp, dragonstone_xp, Black_Ibis_full_xp, double_xpp, main_gem_xp, xp_h, remember_to_change_compass_angle, stall_color: Integer;
username, state, status_movement, password, info: String;
numberss, gemstall_colors: TIntegerArray;
aFound: Extended;
PlayerBox: TBox;
TPA: TPointArray;
ATPA: T2DPointArray;
Black_Ibis_full, Human_Mouse, Double_Xp, Enable_Breaks, Log_out_during_break, Enable_animation_checking: Boolean;


Procedure load_once;
begin
username := ('');
password := ('');
//1. Stall pickpocketing settings
pickpocket_rate := (710); // change this higher if script clicks stall too fast and you dont receive any gems.

//2. For correct XP counting.
Black_Ibis_full := True; // for XP counting, True = Yes, False = No
Double_Xp := False;

//3. Mouse movements...
Human_Mouse := False; // might make misclicks in TRUE]

// Minimap icon clicking colors
SetLength(numberss, 7);
numberss := [85, 2566646, 130, 2566646, 398826, 6908401, 6908401]

// Gem stall colors
SetLength(gemstall_colors, 4);
gemstall_colors := [3541648, 3082622, 3541648, 3082622]


// ************************************************************************* //
if Human_Mouse = True then
begin
MouseSpeed := 32;
end else
MouseSpeed := 1105;

if Black_Ibis_full = True then
begin
Black_Ibis_full_xp := 40;
end else
Black_Ibis_full_xp := 0;

if Double_Xp = True then
begin
double_xpp := 2;
end else
double_xpp := 1;

main_gem_xp := 1000;
end;

procedure LoadBitmapsAndDtms;
begin
////////////////////////////////////////////////////////////////////////////////
login := BitmapFromString(153, 13, 'meJztlrEOAUEQhvc5aCQKCgoqr' +
'ZZWwTucl9HoFBSiUKAQIXIqVAoi8QYewyaTTC53uzsTucvcJrf5Ij' +
'f/7j+5mz+O4P0NKMYF0pAZaYbXD8moQBpOTL5EqZTKoics8adLJcp' +
'e+CTpX17i6IEPNmFGbbPonC6cmLqHhxfAzG1buGx6bMvYFs64z+eZ' +
'zvZGs7uLAzM36voTvlkaKI26zY46JIgubJULGDG1ViFJOwfAzEkdS' +
'5vusOPL1m0RgRNTY3kmaeYAGCypY2nTHXamRQROTLX5kaS+OIkDgy' +
'V1LG26w860iMCJqTrbewEMltSxjOrwI0jaba18oTLdeoFKLOOWLvX' +
'8Yzpco540Yhk9Y7QUpAL+HUWMW0aLLZeYK2kXf2o+pcmapOw/EKX4' +
'bfwNJ6YfpX2UPQ==');

myname := BitmapFromString(69, 10, 'meJzdldtKQlEQhn2j6l16gG56gG' +
'6EKOxEUQQqWASRFuqmlExRo9NF0Wv0Mv3ub/s37C3RdYth+Jk1iz3' +
'fnnUo11uVq37lslcqlXauhzKJzYvbUjqIOE4EsdUcbLceDpKptLzs' +
'5O5Zutp/QRwlExla3ppRG7wpU8YsxnKC9dGHg9Kra+tfv44kSZaWV' +
'8r1lgrbqDYjDtU6KC1x2B4z67Tdm5GMyvVda4Q8FBQMuChicCGOci' +
'RO00yB/AUnSYdw4s+PYr87kUnLE5Q4vn2KXEediYzKJTKcEITOnUJ' +
'7uPKII++gKNASKlUFL6RgNBpn/xVHx0er5CMXe8w48gIB57A7E9Xe' +
'+OdodLJqY9DeJ4uy2WM+JpwjJ3iDKY6eJdy/QlQcAoGlNnwvp1cB1' +
'c7uhLk2o9skOoRxYm0e/s8+IDFIfsTJLefI0JTYR+FAVDSznE8/yc' +
'9YLnu+2bzxTMEOlNCWy7qT/lJb1p15MAJyV+SKNBpL4BJObW5qTey' +
'OTZVHA4qp8vyi9gZDqGAfKwWBEgjNgogy2Ga5i5ogFEyhNUvcF3X8' +
'IbFluYu6VsAsmlb9PxyeGFe+137k7lpoohCLhDxPDJZ7dxw0Kd7vj' +
'jcYkdy7I597dwxCQpGFVd9bhwZa');

gandalf := BitmapFromString(74, 10, 'meJyTUdeeuuMYEMmoa5OBCOpl+P' +
'8fiMgznCrGDlffARVgOg8igiaOLIgpjsebeJyBLIXJhiNMLZhSuNS' +
'jOYw8Np4YhNuIy0k0ZWMGO9ZoIug7YpIQjXyHK04xfUe7uKOd74iP' +
'O7LZxOQ7+vsOf6lCtq8xPYg1y+NKUSSlQPwpcxQNUQQACaKx3Q==');

bankpack := BitmapFromString(35, 23, 'meJy1lc1KAmEUhiUkUytQEaE/ch' +
'O0arQSwopI0zSsXaFYIP1AtAjatIlq2QXUDXQBXUB30t30xAuHYRw' +
'nHRBehjNnPt/nO+c7znTvn7tjUyQSccoHhe2aU662Lu7GKliAEPHh' +
'2VX99DJYjfY1mohGBymeSLrX41mqNtfK+6OC5LZ48rZw9Mp1uf3hF' +
'pns1q2bFQ4EYjLnzK4eCyGciCi394AI5hqPxgoNmloqwUqt92QuEP' +
'4Uknba7IFHZKyuECAo+CTzlVhqHpw2LxDm0EnyFEHkKYthjQoSRcI' +
'HFs5sWyB6RZ4MFGJ1lWXpdGYkEJRs3uGHslKLYMkW6XTIE6+cv8z1' +
'vgCxeNSKAGGyPdPSMOBPr8TiKgrVFZ8+0R+690UmxBnhjzlXmwcdO' +
'gEsAsxZQC2d929YUMiHA01XEiYdOv7G0oRQrMZA7eXa3zq9gnxBMq' +
'/87CICnZeKol3G4laTr8FTjYCanRtfUHwj5osQxQZDw6z9C0cgqPI' +
'Mgy/IWgdIhm6EKPjr/WMgTQKbt5eDOkaSzL8g2Xoo+NMfZK0zkCj2' +
'h7Ih1HgHgzwUGwkDuSvyINRDUQKmLgBkByTZPJg/sd54ovA1GR7kp' +
'rjrstaxebGE0OAZxQMq7tbRMBV5WDbhiKMnAyLgw+cB+UofVsk+f2' +
'ze1I8YBOIWbVYaw0vm0qA1skUGAjo+ZTKZwk5NoF/2LlPv');
end;

procedure FreeBitmapsAndDtms;
begin

FreeBitmap(login);
FreeBitmap(myname);
FreeBitmap(gandalf);
FreeBitmap(bankpack);
end;

Function right_client_h_n_w: Boolean;
begin
if dim_x = 765 then
if dim_y = 503 then
begin
Result := True;
end;
end;

procedure progress;
var
GemI: Integer;
begin
GemH := round((Gem)/(gettimerunning/3600000.0));
GemI := round(Gem/28);
InvH := round((GemI)/(gettimerunning/3600000.0));
xp_h := round((total_xp_gained) / (gettimerunning/3600000.0));

Cleardebug;
Writeln(' Villaa´s Going For Gems V1.5+ [' + ('Current Count = ' + inttostr(roadtoafk) + ('/42] ' + ('[Force Resets: ' + inttostr(ForceResets)+ ('] [' + inttostr(timer_fgs) + ']')))));

if right_client_h_n_w = True then
begin
Writeln('+ Correct client width and height');
end else
Writeln('- Incorrect client width and height, may not work properly');

writeln('* Time Running: ' + MsToTime(GetTimeRunning,3) + (' [') + ('Login Count: ') + inttostr(relog) + (']') );
writeln('* Gems Gathered: ' + inttostr(Gem) + (' [') + inttostr(GemH) + '/hour]' + (' Inventories Done: ' + inttostr(GemI) + (' [') + inttostr(InvH) + ('/Hour]') ));
Writeln('* Xp Gained: ' + inttostr(total_xp_gained) + (' [') + inttostr(xp_h) + '/XP hour]');
Writeln('');
Writeln('* Script: ' + (state));
Writeln('* Movement: ' + (status_movement));
Writeln('');
Writeln('To stop this script, hold down F12.');
end;

procedure show_settings_info;
begin
i := 5;
Repeat
Cleardebug;
Writeln(' * Settings');

Writeln(' * Script starting in: ' + inttostr(i) );
Writeln('');

if username = '' then
begin Writeln(' - Username: Not set'); end else Writeln(' + Username: Set');
if password = '' then
begin Writeln(' - Password: Not set'); end else Writeln(' + Password: Set');

Writeln(' * Human_Mouse: ' + booltostr(Human_Mouse) );
Writeln(' * Stall colors: [' + inttostr(gemstall_colors[0]) + ', ' + inttostr(gemstall_colors[1]) + ', ' + inttostr(gemstall_colors[2]) + ', ' + inttostr(gemstall_colors[3]) + ']');
Writeln(' * Minimap icon colors: [' + inttostr(numberss[0]) + ', ' + inttostr(numberss[1]) + ', ' + inttostr(numberss[2]) + ', ' + inttostr(numberss[3]) + ', ' + inttostr(numberss[4]) + ', ' + inttostr(numberss[5]) + ', ' + inttostr(numberss[6]) + ']');
wait(1000);
i := i-1;
Until(i <= 0);
end;

Function find_gemstall: Boolean;
begin
if FindColorTolerance(x, y, gemstall_colors[0], 1, 5, 514, 337, 2) or
FindColorTolerance(x, y, gemstall_colors[1], 1, 5, 514, 337, 2) or
FindColorTolerance(x, y, gemstall_colors[2], 9, 11, 508, 330, 2) or
FindColorTolerance(x, y, gemstall_colors[3], 4, 11, 508, 330, 2) then
begin
if InvCount = 0 then
begin
Mmouse(x, y, 0, 0);
wait(150);
if IsUpText('eal') then
begin
Result := True;
end;

end else
begin
Result := True;
timer_fgs := 0;
end;
end;
end;
{//FindColorsSpiralTolerance(MSCX, MSCY, TPA, 10451353, MSX1, MSY1, MSX2, MSY2, 5);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, stall_color, MSX1, MSY1, MSX2, MSY2, 5);
//FindColorsSpiralTolerance(MSCX, MSCY, TPA, 3082622, MSX1, MSY1, MSX2, MSY2, 5);
ATPA := TPAtoATPA(TPA, 25);
If Length(ATPA) = 0 Then //If no points were found
Exit;
H := High(ATPA);
For I := 0 To H Do
Begin
MiddleTPAEx(ATPA[I], X, Y); //Used to get the middle of the current sorted tpa
MMouse(X, Y, 0, 0);
//Wait(50 + Random(50));
if IsUpTextMultiCustom(['Stea', 'l-fro', 'em', 'Gem']) then
Begin
Result := True;
if timer_fgs >= 1 then
begin
timer_fgs := 0;
end;
end;
end;
end; }

Function Is_Running: Boolean;
begin
Result := (AveragePixelShift(PlayerBox, pixel_check_rate, pixel_stop_rate) > 120);
end;

Function Is_Thieving: Boolean;
begin
Result := (AveragePixelShift(PlayerBox, 250, 2500) > 85);
end;

Function Logged_Out: Boolean;
begin
if (FindBitmap(login, x, y)) then
Result := True;
end;

Function usernamepasswordfilled: Boolean;
begin
if FindColorTolerance(a, b, 12378347, 276, 177, 345, 198, 5) then
begin
if FindColorTolerance(a, b, 12378347, 278, 226, 377, 241, 5) then
begin
if FindColorTolerance(c, d, 3320256, 296, 269, 464, 283, 3) or
FindColorTolerance(c, d, 4044234, 296, 269, 464, 283, 3) then

Result := True;

begin
Mouse(c, d, 0, 0, mouse_left);
wait(4600+random(250)+random(150));

end;
end;
end;
end;

Function Run_energy: Boolean;
begin
if FindColorTolerance(a, b, 65024, 736, 103, 758, 118, 3) or
FindColorTolerance(a, b, 65278, 736, 103, 758, 118, 3) or
FindColorTolerance(a, b, 2004990, 736, 103, 758, 118, 3) then
begin
if FindColorTolerance(c, d, 48875, 713, 98, 732, 120, 3) then
begin
Result := True; // run on
end else
Result := False; // run off
end;
end;

Function after_5_years: Boolean;
begin
if FindColorTolerance(c, d, 1127265, 381, 299, 413, 321, 2) then
Result := True;
end;

Function iseenoyellow: Boolean;
begin
if FindColorTolerance(x, y, 64250, 546, 7, 692, 166, 4) then // if find yellow dot
Result := True;
end;

Function bankscreenn: Boolean;
begin
if FindColorTolerance(c, d, 1127265, 381, 299, 413, 321, 2) then
Result := True;
end;

Function FindStall: Boolean;
begin
if FindSymbol(g, l, 'gem stall') then
begin
if FindColorSpiralTolerance(g, l, numberss[0], 540, 1, 703, 167, 3) or
FindColorSpiralTolerance(g, l, numberss[1], 540, 1, 703, 167, 3) or
FindColorSpiralTolerance(g, l, numberss[3], 540, 1, 703, 167, 3) or
FindColorSpiralTolerance(g, l, numberss[3], 540, 1, 703, 167, 3) or
FindColorSpiralTolerance(g, l, numberss[4], 540, 1, 703, 167, 3) or
FindColorSpiralTolerance(g, l, numberss[5], 540, 1, 703, 167, 3) or
FindColorSpiralTolerance(g, l, numberss[6], 540, 1, 703, 167, 3) then
begin
Result := True;
end;
end else
Exit;
end;



Function Gemstole: Boolean;
begin
if InvCount <= 27 then
begin
if find_gemstall then
begin
state := ('Thieving gems, hopefully i dont get stuck when i¨ll try find banker on my journey.');
progress();
previous_invcount := InvCount;
if clickbacktostall >= 1 then
clickbacktostall := 0;
MoveMouse(x, y);
ClickMouse(x, y, Mouse_left);
wait(pickpocket_rate);
InvCount();

if remember_to_change_compass_angle >= 1 then
begin
Mouse(541 + random(3), 23 + random(3), 0, 0, mouse_left);
wait(300+random(300));
wait(500);
KeyDown(37);
wait(1500);
KeyUp(37);
KeyDown(38);
wait(600);
KeyUp(38);
remember_to_change_compass_angle := 0;
end;

end else
if not find_gemstall then
if InvCount <= 27 then
if not Is_Running then
if clickbacktostall < 1 then
begin
//for i := 0 to High(numberss) do
FindStall();
begin
state := ('Running / Walking back to stall');
progress();
MoveMouse(g+random(1), l-random(1));
ClickMouse(g+random(1), l-random(1), mouse_left);
clickbacktostall := clickbacktostall+2;
roadtoafk := 0;
end;


end else
state := ('I cant find stall [Colors/Dtms/Uptexts]');
progress();
timer_fgs := timer_fgs+1;
wait(1000);

if clickbacktostall >= 2 then
if not find_gemstall then
if timer_fgs >= 10 then
begin
Repeat
remember_to_change_compass_angle := remember_to_change_compass_angle+1;
KeyDown(37);
wait( 150 + random(200));
KeyUp(37);
wait( 150 + random(200));
Until((find_gemstall = True) or IsKeyDown(123));
end;
end;
end;


Function Bank: Boolean;
begin
if InvCount > 27 then
begin
if clickbanker < 1 then
if InvCount = 28 then
if bankscreenn = false then
if FindObjCustom(a, b, ['talk', 'tal', 'alk', '-to'], [1983823, 1587520, 1719365], 2) then
begin
if clickbanker < 1 then
begin
Mouse(a, b, 0, 0, mouse_right);
begin
if FindBitmapToleranceIn(gandalf, d, f, 1, 1, 533, 410, 175) then
begin
if clickbanker < 1 then
movemouse(d, f);
clickmouse(d, f, mouse_left);
clickbanker := clickbanker+2;

end else

begin
Mmouse(random(380), random(380), 1, 1);
wait(random(2));
Mmouse(random(180), random(180), 10, 10);

if yellowbankermap < 1 then
if FindColorTolerance(x, y, 64250, 546, 7, 692, 166, 4) then // if find yellow dot
begin
Mouse(x+random(1), y+random(1), 0, 0, mouse_left);
yellowbankermap := yellowbankermap+2;
end;

end;
end;
end;
end else

if InvCount > 27 then
begin
if after_5_years = false then

if FindColorTolerance(x, y, 64250, 546, 7, 692, 166, 4) then // if find yellow dot
begin
if yellowbankermap < 1 then

Mouse(x+random(1), y+random(1), 0, 0, mouse_left); // click yellow dot
yellowbankermap := yellowbankermap+2;
afterimoved := afterimoved+2;
//wait(1750)+random(300)); // 4000
end else
begin
if afterimoved > -1 then
if yellowbankermap < 1 then
if bankscreenn = false then
begin
Mouse(633, 45, 1, 1, mouse_left);
end;
end;
end;

// I JUST MANAGED OPEN THE DAMN BANK
begin
if InvCount > 27 then
begin
if FindColorTolerance(c, d, 1127265, 381, 299, 413, 321, 3) then
begin
Mouse(c, d, 0, 0, mouse_left);
if clickbanker > 1 then //reset clickbanker
clickbanker := 0;
if yellowbankermap > 1 then //reset yellowmapclickbanker
yellowbankermap := 0;
if afterimoved > 1 then
afterimoved := 0;
if remember_to_change_compass_angle >= 1 then
remember_to_change_compass_angle := 0; // bankall // click bank all
wait(600); // was 775

end else
begin
state := ('if i get stuck here make sure you play on "Software" or manually 318 line');
progress();
end;

end;
end;
end;
end;

procedure timerforresetting;

begin
if FindColorTolerance(x, y, 7082254, 693, 436, 717, 455, 4) or //s // Checks inv
FindColorTolerance(x, y, 1008909, 693, 436, 717, 455, 4) or //e // for
FindColorTolerance(x, y, 725334, 693, 436, 717, 455, 4) or //r // gems
FindColorTolerance(x, y, 9145490, 693, 436, 717, 455, 4) or //dia
FindColorTolerance(x, y, 6229062, 693, 436, 717, 455, 4) then //drag // GEMS

begin
roadtoafk := roadtoafk +1;
wait(10);

if roadtoafk >= 42 then

begin
Writeln('Force Reset Incoming');

if rotatecameraforgemstall >= 1 then
rotatecameraforgemstall := 0;

if clickbacktostall >= 1 then
clickbacktostall := 0;

if clickbanker >= 1 then //reset clickbanker
clickbanker := 0;

if afterimoved >= 1 then
afterimoved := 0;

if yellowbankermap >= 1 then //reset yellowmapclickbanker
yellowbankermap := 0;

if roadtoafk >= 1 then
roadtoafk := 0;

ForceResets := ForceResets+1;

state := ('Succesfully Reseted All Values to 0');

end;
end;
end;

procedure thiev;
begin
if usernamepasswordfilled = false then
begin
if (Logged_Out) = true then
begin
if FindColorTolerance(x, y, 1710623, 273, 155, 488, 179, 6) or
FindColorTolerance(x, y, 2960695, 273, 155, 488, 179, 6) then

begin
MMouse(x, y, 1, 1);
Mouse(x, y, 1, 1, mouse_left);
wait(400+random(250)+random(150));
Typesend(Username);
wait(400+random(250)+random(150));
Typesend(Password);
if rotatecameraforgemstall > 1 then
rotatecameraforgemstall := 0;
if clickbacktostall > 1 then
clickbacktostall := 0;
if clickbanker > 1 then //reset clickbanker
clickbanker := 0;
if yellowbankermap > 1 then //reset yellowmapclickbanker
yellowbankermap := 0;
if remember_to_change_compass_angle >= 1 then
remember_to_change_compass_angle := 0;
wait(4600+random(250)+random(150));
relog := relog+1;

end;
end;
end else
begin
if FindColorTolerance(x, y, 3556431, 305, 323, 451, 335, 3) or
FindColorTolerance(x, y, 7311264, 305, 323, 451, 335, 3) then

begin

if rotatecameraforgemstall > 1 then
rotatecameraforgemstall := 0;

if clickbacktostall > 1 then
clickbacktostall := 0;

if clickbanker > 1 then //reset clickbanker
clickbanker := 0;

if yellowbankermap > 1 then //reset yellowmapclickbanker
yellowbankermap := 0;

if remember_to_change_compass_angle >= 1 then
remember_to_change_compass_angle := 0;

Mouse(x, y, 0, 0, mouse_left);
wait(500+random(800)+random(600));

if FindColorTolerance(a, b, 12378347, 276, 177, 345, 198, 5) then
begin
if FindColorTolerance(a, b, 12378347, 278, 226, 377, 241, 5) then
begin
if FindColorTolerance(c, d, 3320256, 296, 269, 464, 283, 3) or
FindColorTolerance(c, d, 4044234, 296, 269, 464, 283, 3) then
begin
Mouse(c, d, 0, 0, mouse_left);
wait(4600+random(250)+random(150));

end;
end;
end;
end;
end;

begin
if (Logged_Out) = false then
/////////////////////////////////////////////////////////////////////////////////
begin
if rotatecameraforgemstall < 1 then

begin
rotatecameraforgemstall := rotatecameraforgemstall+2;
if FindColorTolerance(x, y, 12044755, 538, 12, 552, 32, 5) then
Mouse(x, y, 0, 0, mouse_left);
wait(300+random(300));
wait(500);
KeyDown(37);
wait(1500);
KeyUp(37);
KeyDown(38);
wait(600);
KeyUp(38);
end;

//if rotatecameraforgemstall > 1 then
//////////////////////////////////////////////////////////////////////////////CHAPTER 2
end;
end;

begin
if usernamepasswordfilled = false then
begin
if Logged_Out = false then
begin
if not Run_energy then
if FindColorTolerance(x, y, 10202292, 713, 95, 730, 115, 3) then
begin
Mouse(x, y, 0, 0, mouse_left);
wait(500 + random(500));
end;

Gemstole;
Bank;
end;
end;
end;
end;
begin
GetClientDimensions(dim_x, dim_y);
pixel_check_rate := 50;
pixel_stop_rate := 500;
PlayerBox := IntToBox(254, 140, 275, 187);
load_once;
show_settings_info;
repeat
if Is_Running = True then
begin
status_movement := ('True');
end else
status_movement := ('False');

if InvCount > previous_invcount then
begin
IncEx(gem, 1);
total_xp_gained := ((total_xp_gained + main_gem_xp + Black_Ibis_full_xp) * double_xpp);
previous_invcount := InvCount();
progress();
end;
LoadBitmapsAndDtms;
timerforresetting;
progress;
/////////////////////////////////
thiev; //
/////////////////////////////////
FreeBitmapsAndDtms;
wait(50); // Higer = less CPU = slower script, Less = more CPU = faster script .70. was 120
until(IsKeyDown(123));
end.