Still doesnt work, Cant find the bank.
Still doesnt work, Cant find the bank.
version 3 before the revisioin is much more stable for me, i can atleast do 3-5loads before it effs out, with the revision i cant even do one -_-
Can't find the bank at all.
Is it going to be fixed ?
row row fight the powa
I have successfully downloaded SMART and everything else. When I run the script, it takes a very long time to load "Loading SMART: http://oldschool77.runescape.com" and then later it says "Could not start up Old School RuneScape or RSReady was not detected!
Successfully executed." Am i doing something wrong?
it works sometimes...really patchy though. Tends to get stuck by the bank and at the stairs; I hope you're able to figure out the bugskeep up the good work
how long till update
Not a bad script at all, thanks for itdont post "now 1000% stable" tho because its really not.. i can usually get it to run alright for 10 or so runs but then i gotta restart it. needs some tweaking but its almost there! just have to kinda babysit it for now.
Thanks!
Works fine for me, only problem with it so far is when you get a level it will only do 3 - 4 at a time because it stops and clicks it to make more.
Worked for a couple hundred then just bugs out.
Last edited by Carnaflex; 04-10-2013 at 06:18 AM.
Pretty buggy, Does first load fine then gets lost on the way back to the bank.
Problem?
~~~
Error: Exception: FindDTMs: DTM[] is not valid. at line 118
The following DTMs were not freed: [SRL - Lamp bitmap, SRL - Book of Knowledge, 2, 3, 4, 5]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Minimap Mask bitmap]
lvl up -> goes nuts, random -> freaks out like headless chicken. Meh almost died to Hyde when were writing this
Anti-randoms aint working 80% of the time. Havnt experienced much of miss clicks as the script died every 4-10 runs.
Good to babysit and watch a movie or 2 while stringing.
Evil chicken makes this script hurt bad as character dosnt run far enuff just to btw.
Would be nice if script wouldnt always run to same spots when banking/going to spinning wheel. And been wondering why it banks sometimes 3/4 inventory of strings done. Good luck fixing and thanks for afk bot, beter than doing by hands :P
Last edited by Shadalah; 04-10-2013 at 11:06 PM.
Hey guys,
Another revision here. Fixes a lot of issues people were having. The script will occasionally mess up but it is way better. Since you always get a random at the beginning of the spin cycle, simply hit "disable SMART", and do the random. Then click the spin wheel and craft 28 strings. While your bot is crafting the strings re-click the "enable SMART" button and your bot will resume until the next randomAnd like I've said before, babysit your bot to minimize bans. Post any bugs if you find them.
Version:
- Version 3.0 Revision 002
Fixes:
- Updated coordinates for clicking for more accurate clicks.
- Uses color tracking to get location of your bot.
- Fixed a lot of places the bot would get stuck.
Add Ons:
- Location Finder; You can now start the script in the spinning room or in the bank with/without flax/bs in your inventory.
Note(s):
- **ATTENTION: RANDOMS HAVE BEEN DISABLED BECAUSE THEY ARE BUGGY. USE AT YOUR OWN RISK!**
- Also, Since this bot uses colour detection techniques and Runescape changes the colours every time you log in/change worlds. If the script keeps getting stuck at a certain point, either wait a little while and it will find itself or exit the client or change worlds.
- Post any other bugs you may find here.
Video:
Picture Proof:Code:http://www.youtube.com/watch?v=cEV74iADcrY
Code:
Code:Program DewrangeLumbridgeFlaxSpinner; {$DEFINE SMART8} {$i srl-osr/srl.simba} var flaxdtm: integer; bowstringdtm: integer; i: integer; clear: integer; count: integer; stairs: integer; menu: integer; spinning: integer; stairsup: integer; flaxspun: integer; numberOfTimes: integer; s, w: integer; const // script version 3.0 // swimdude rev. 002 flaxtospin = 1000; /// how much flax do you want to spin? procedure DeclarePlayers(); begin HowManyPlayers := 1; NumberOfPlayers(HowManyPlayers); CurrentPlayer := 0; with Players[0] do begin Nick := ''; Name := ''; Pass := ''; Active := true; Integers[0] := 1; end; end; procedure declarevariables; begin flaxdtm := DTMFromString('mlwAAAHicY2dgYHBgYmBwB2I7IDYHYm8g9oXynwHlH0DxEyB+BcT3gPgtEDPYcDLEHj7OELnnAEPErn0Mwes2McQfPwMWZwFK48KMeDAUAACZCxIF'); bowstringdtm := DTMFromString('mrAAAAHic42BgYDjBxMBwCogPAvE2IN4BxPuBeCcQHwLiY4xAOSDeC8Q7gXgrEG8C4uNQ3FwRyVCQ7gOmYWxkPhfQDnyYkQCGAQAVoxZz'); end; procedure customlevelup; var x, y, s, w: integer; begin if(levelup) then begin clickcontinue(true); sleep(randomrange(1000, 1500)); clickcontinue(true); sleep(randomrange(2300, 2700)); if(not(finddtm(bowstringdtm, x, y, 668, 416, 733, 471))) then begin if(findobjcustom(s, w, ['Spin', 'wheel', 'eel'], [13684950, 6447721, 806258], 15)) then begin mmouse(s, w, 3, 3); if(waituptextmulti(['Spin', 'wheel', 'eel'], (100 + (randomrange(100, 200))))) then begin clickmouse2(mouse_left); sleep(randomrange(900, 1000)); if(findcolorspiraltolerance(x, y, 2070783, 220, 31, 262, 49, 30)) then begin mmouse(259, 142, 10, 5); if(waituptextmulti(['Make', 'ake', '1'], randomrange(200, 300))) then begin clickmouse2(mouse_right); sleep(randomrange(300, 500)); chooseoption('Make X'); sleep(randomrange(1000, 1200)); if findcolorspiraltolerance(x, y, 8388608, 248, 424, 274, 439, 35) then begin typesend('28'); end; end; end; end; end; end; end; end; procedure godownstairsfailsafe; var x, y: integer; begin if (not(findcolorspiraltolerance(x, y, 1917807, 628, 45, 692, 71, 35))) then begin if findobjcustom(x, y, ['Stair', 'case', 'ase'], [605015, 4145992], 15) then begin mmouse(x, y, 5, 5); if waituptextmulti(['Staircase', 'Stair', 'air', 'case', 'ase'], randomrange(300, 500)) then begin clickmouse2(mouse_left); sleep(randomrange(700, 1000)); end; end; end; end; procedure spinflaxfailsafe; var x, y, s, w: integer; begin if(not(findcolorspiraltolerance(x, y, 65024, 224, 125, 300, 166, 35))) then begin if(finddtm(flaxdtm, x, y, 554, 205, 596, 248)) then begin if(findobjcustom(s, w, ['Spin', 'wheel', 'eel'], [13684950, 1073551, 5987427], 15)) then begin mmouse(s, w, 2, 2); if(waituptextmulti(['Spin', 'wheel', 'eel'], (randomrange(200, 300)))) then begin clickmouse2(mouse_left); sleep(randomrange(1800, 2100)); end; end; end; end; end; procedure walktostairsfromwheel; var x, y: integer; begin makecompass('n'); if (finddtm(bowstringdtm, x, y, 664, 424, 739, 474)) then begin mmouse(628, 128, 5, 5); wait(randomrange(1000,1200)); clickmouse2(mouse_left); sleep(randomrange(3000,4000)); if(findobjcustom(s, w, ['Stair', 'case', 'ase', 'tair'], [540253, 7831172], 15)) then // CLIMB UP STAIRS begin mmouse(s, w, 3, 3); if(waituptextmulti(['Stair', 'case', 'tair'], (randomrange(200, 300)))) then begin writeln('Location: BOTTOM OF STAIRS #1'); clickmouse2(mouse_right); sleep(randomrange(500, 600)); chooseoption('Climb-up'); sleep(randomrange(1500, 2000)); writeln('RUNNING TO BANK'); mmouse(660, 46, 3, 3); // GO TO BANK wait(200 + randomrange(100, 200)); clickmouse2(mouse_left); makecompass('n'); sleep(randomrange(4500, 5500)); writeln('FINDING THE BANK'); if(findobjcustom(s, w, ['Bank', 'ank', 'booth', 'ooth'], [7702677, 4680317], 15)) then begin mmouse(s, w, 2, 2); if(waituptextmulti(['Bank', 'ank', 'booth', 'ooth'], (100 + randomrange(100, 50)))) then begin writeln('FOUND THE BANK'); clickmouse2(mouse_left); sleep(randomrange(2000, 2500)); while(not(bankscreen)) do begin writeln('IN THE LOOP LOOKING FOR THE BANK'); sleep(1); end; if((InvFull) and (bankscreen)) then begin deposit(1, 28, true); if(finddtm(flaxdtm, x, y, 24, 60, 451, 282)) then begin writeln('Location: AT BANK INVENTORY'); mmouse(x, y, 5, 5); if(waituptextmulti(['Flax', 'lax', 'ax'], randomrange(300, 600))) then begin writeln('WITHDRAWING FLAX'); clickmouse2(mouse_right); wait(randomrange(500, 550)); chooseoption('All'); sleep(randomrange(2000, 2500)); if finddtm(flaxdtm, x, y, 553, 213, 726, 459) then begin writeln('DONE. LEAVING BANK.'); mmouse(600, 150, 2, 2); clickmouse2(mouse_left); sleep(randomrange(4000, 4500)); end; end; end; end; end; end; end; end; end; end; procedure customantiban; var x, y: integer; begin x := (random(1000)); if (x >= 800) then begin y := (random(10)); case(y) of 1: boredhuman; 2: boredhuman; 3: randomrclick; 4: mmouseoffclient('random'); 5: HoverMovingObject; 6: randomtab(true); 7: pickupmouse; 8: hoverskill(skill_crafting, false); 9: smallrandommouse; 10: hoverskill(skill_crafting, false); end; end; end; procedure startspinning; var x, y: integer; begin if(findcolorspiraltolerance(x, y, 65024, 224, 125, 300, 166, 35)) then begin mmouse(x + 30, y, 2, 2); if(waituptextmulti(['Make', 'ake', '1'], randomrange(200, 300))) then sleep(randomrange(400, 500)); clickmouse2(mouse_right); sleep(randomrange(300, 500)); chooseoption('Make X'); sleep(randomrange(1000, 1200)); if(findcolorspiraltolerance(x, y, 8388608, 248, 424, 274, 439, 25)) then begin typesend('28'); customantiban; end; begin repeat sleep(randomrange(2400, 2700)); customlevelup; until ((finddtm(bowstringdtm, x, y, 668, 416, 732, 471))); flaxspun := flaxspun + 28; numberOfTimes := (flaxspun / 28); sleep(randomrange(1000,1200)); end; end; end; procedure spinflax; var x, y, s, w: integer; begin if(findobjcustom(s, w, ['Spin', 'wheel', 'eel'], [13684950, 1073551, 5987427], 15)) then begin wait(randomrange(200, 300)); mmouse(s, w, 2, 2); if(waituptextmulti(['Spin', 'wheel', 'eel'], (randomrange(200, 300)))) then begin writeln('Location: SPINNING ROOM #1'); clickmouse2(mouse_left); sleep(randomrange(1500, 2000)); if(findcolorspiraltolerance(x, y, 65024, 224, 125, 300, 166, 35)) then begin sleep(randomrange(1500, 2000)); end else begin repeat sleep(randomrange(1000, 1500)); spinflaxfailsafe; inc(menu); sleep(randomrange(1900, 2100)); until((findcolorspiraltolerance(x, y, 65024, 224, 125, 300, 166, 35)) or (menu = 2)) end; startspinning; end; end; end; procedure walktowheelfromstairs; var x, y: integer; begin if(finddtm(flaxdtm, x, y, 554, 205, 596, 248)) then begin if(findcolorspiraltolerance(x, y, 1458038, 653, 46, 686, 82, 35)) then begin writeln('Location: BOTTOM OF STAIRS #2'); mmouse(660, 60, 2, 2); wait(300); clickmouse2(mouse_left); makecompass('e'); sleep(1500 + (randomrange(1500, 2000))); spinflax; end end; end; procedure climbdownstairs; var x, y: integer; begin if(not(bankscreen)) then begin if(findcolorspiraltolerance(x, y, 538192, 175, 150, 275, 260, 10)) then // AT TOP OF STAIRS begin if(findobjcustom(x, y, ['Stair', 'tair', 'air', 'case', 'ase'], [538192], 10)) then begin writeln('Location: TOP OF STAIRS #1'); mmouse(x, y, 2, 2); wait(200 + randomrange(100, 200)); clickmouse2(mouse_left); sleep(randomrange(1000, 1200)); end; walktowheelfromstairs; end else begin repeat sleep(randomrange(1000, 2000)); if(findobjcustom(x, y, ['Stair', 'tair', 'air', 'case', 'ase'], [538192], 10)) then begin writeln('Location: TOP OF STAIRS #2'); mmouse(x, y, 2, 2); wait(200 + randomrange(100, 200)); clickmouse2(mouse_left); sleep(randomrange(1000, 1200)); end; until((findobjcustom(x, y, ['Stair', 'tair', 'air', 'case', 'ase'], [538192], 10)) or (stairs = 2)); end; end; end; procedure withdrawflax; var x, y: integer; begin setangle(SRL_angle_high); makecompass('n'); sleep(1000); if(bankscreen) then begin if(InvFull) then begin deposit(1, 28, true); if(finddtm(flaxdtm, x, y, 24, 60, 451, 282)) then begin writeln('Location: AT BANK INVENTORY'); mmouse(x, y, 5, 5); if(waituptextmulti(['Flax', 'lax', 'ax'], randomrange(300, 600))) then begin clickmouse2(mouse_right); wait(randomrange(300, 350)); chooseoption('All'); sleep(randomrange(1000, 1500)); if finddtm(flaxdtm, x, y, 553, 213, 726, 459) then begin mmouse(595, 150, 2, 2); clickmouse2(mouse_left); clickmouse2(mouse_left); sleep(randomrange(4000, 4500)); end; end; end; end else begin if(finddtm(flaxdtm, x, y, 24, 60, 451, 282)) then begin mmouse(x, y, 5, 5); if(waituptextmulti(['Flax', 'lax', 'ax'], randomrange(300, 600))) then begin clickmouse2(mouse_right); wait(randomrange(300, 350)); chooseoption('All'); sleep(randomrange(1000, 1500)); if finddtm(flaxdtm, x, y, 553, 213, 726, 459) then begin mmouse(590, 150, 2, 2); clickmouse2(mouse_left); sleep(randomrange(4000, 4500)); end; end; end; end; end; end; procedure climbupstairsfailsafe; var x, y, s, w: integer; begin if (not(findcolorspiraltolerance(x, y, 5167352, 592, 14, 711, 93, 30))) then begin if findobjcustom(s, w, ['Stair', 'case', 'ase', 'tair'], [540253, 7831172], 15) then begin mmouse(s, w, 3, 3); if(waituptextmulti(['Stair', 'case', 'tair'], (randomrange(200, 300)))) then begin clickmouse2(mouse_right); sleep(randomrange(500, 600)); chooseoption('Climb-up'); sleep(randomrange(1500, 2000)); end; end; end; end; procedure gettobankfailsafe; var s, w: integer; begin if(findobjcustom(s, w, ['Bank', 'ank', 'booth', 'ooth'], [7702677, 4680317], 15)) then begin mmouse(s, w, 2, 2); if(waituptextmulti(['Bank', 'ank', 'booth', 'ooth'], (100 + randomrange(100, 50)))) then begin clickmouse2(mouse_left); while(not(bankscreen)) do sleep(1); end; end; end; procedure gettobank; var x, y, s, w: integer; begin writeln('HEADING TO BANK'); mmouse(654, 46, 3, 3); wait(200 + randomrange(100, 200)); clickmouse2(mouse_left); makecompass('n'); sleep(randomrange(4500, 5500)); if(findobjcustom(s, w, ['Bank', 'ank', 'booth', 'ooth'], [7702677, 4680317], 15)) then begin mmouse(s, w, 2, 2); if(waituptextmulti(['Bank', 'ank', 'booth', 'ooth'], (100 + randomrange(100, 50)))) then begin clickmouse2(mouse_left); while(not(bankscreen)) do begin sleep(1); end; withdrawflax; end; end; end; procedure climbupstairs; var x, y, s, w: integer; begin if(findobjcustom(s, w, ['Stair', 'case', 'ase', 'tair'], [540253, 7831172], 15)) then begin mmouse(s, w, 3, 3); if(waituptextmulti(['Stair', 'case', 'tair'], (randomrange(200, 300)))) then begin writeln('Location: BOTTOM OF STAIRS #3'); clickmouse2(mouse_right); sleep(randomrange(500, 600)); chooseoption('Climb-up'); sleep(randomrange(1500, 2000)); gettobank; end else repeat climbupstairsfailsafe; sleep(randomrange(400, 500)); inc(stairsup); until((findcolorspiraltolerance(x, y, 5167352, 592, 14, 711, 93, 45) or (stairsup = 2))); gettobank; end; end; procedure gettostairsfrombank; var x, y: integer; begin mmouse(598, 150, 2, 2); // wait(200); clickmouse2(mouse_left); sleep(randomrange(4000, 4500)); // arrived at first set of stairs end; procedure openbankflax; var x, y: integer; begin setangle(SRL_angle_high); makecompass('n'); if(not(invEmpty)) then begin if(not(bankscreen)) then begin if(findobjcustom(x, y, ['Bank', 'ank', 'booth', 'ooth'], [7702677, 4680317], 10)) then begin mmouse(x, y, 5, 5); if(waituptextmulti(['Bank', 'ank', 'booth', 'ooth'], randomrange(300, 400))) then begin writeln('Location: AT BANK'); clickmouse2(mouse_left); sleep(500 + random(500)); while(not(bankscreen)) do begin sleep(500 + random(500)); mmouse(x, y, 2, 2); wait(randomrange(200, 300)); clickmouse2(mouse_left); end; withdrawflax; end; end; end; end else begin if(CountItems('dtm', flaxdtm, []) = 28) then begin mmouse(622, 137, 2, 2); clickmouse2(mouse_left); end else if(CountItems('dtm', bowstringdtm, []) = 28) then begin if(not(bankscreen)) then begin if(findobjcustom(x, y, ['Bank', 'ank', 'booth', 'ooth'], [7702677, 4680317], 10)) then begin mmouse(x, y, 5, 5); if(waituptextmulti(['Bank', 'ank', 'booth', 'ooth'], randomrange(300, 400))) then begin writeln('Location: AT BANK'); clickmouse2(mouse_left); sleep(500 + random(500)); while(not(bankscreen)) do begin sleep(500 + random(500)); mmouse(x, y, 2, 2); wait(randomrange(200, 300)); clickmouse2(mouse_left); end; end; end; end; end; end; end; procedure getCurrentLocation; var s, w: integer; begin makecompass('n'); if(bankscreen) then begin withdrawflax; end; if((InvFull) and (finddtm(flaxdtm, s, w, 558, 211, 728, 462))) then // INVENTORY IS FULL OF FLAX begin writeln('INVENTORY IS FULL WITH FLAX'); if(bankscreen) then begin gettostairsfrombank; end; if(findColor(s, w, 10247736, 450, 0, 550, 100)) then // AT TOP OF STAIRS begin writeln('Location: TOP OF STAIRS #3'); climbdownstairs; end else if(findColor(s, w, 13334600, 280, 100, 380, 140)) then // AT BOTTOM OF STAIRS begin writeln('Location: BOTTOM OF STAIRS #4'); //walktowheelfromstairs; end else if((findColor(s, w, 7422504, 65, 191, 205, 333)) or findobjcustom(s, w, ['Spin', 'wheel', 'eel', 'whe'], [13684950, 1073551, 5987427], 15)) then // IN THE SPINWHEEL ROOM begin writeln('Location: SPINNING ROOM #2'); spinflax; end else if(findobjcustom(s, w, ['Bank', 'ank', 'booth', 'ooth'], [7702677, 4680317], 15)) then // AT BANK begin writeln('Location: AT BANK'); gettostairsfrombank; end; end else if((InvFull) and (finddtm(bowstringdtm, s, w, 558, 211, 728, 462))) then // INVENTORY IS FULL OF BOWSTRINGS begin writeln('INVENTORY IS FULL WITH BOWSTRINGS'); if(bankscreen) then begin withdrawflax; end; if(findColor(s, w, 13334600, 280, 100, 380, 180)) then // AT BOTTOM OF STAIRS begin writeln('Location: BOTTOM OF STAIRS #5'); climbupstairs; end else if(findColor(s, w, 10115894, 450, 0, 550, 100)) then // AT TOP OF STAIRS begin writeln('Location: TOP OF STAIRS #4'); gettobank; end else if((findcolorspiraltolerance(s, w, 9524787, 196, 143, 327, 258, 10))) then // AT BANK begin writeln('Location: AT BANK'); openbankflax; end else if((findColor(s, w, 7422504, 65, 191, 205, 333)) or findobjcustom(s, w, ['Spin', 'wheel', 'eel', 'whe'], [13684950, 1073551, 5987427], 15)) then // IN THE SPINWHEEL ROOM begin writeln('Location: SPINNING ROOM #3'); walktostairsfromwheel; end; end else begin if(not(invEmpty)) then begin openbankflax; end; end; end; begin DeclarePlayers; setupsrl; declarevariables; //clearDebug; writeln('FINDING LOCATION...PLEASE WAIT...'); if (not(loggedin)) then begin loginplayer; setrun(true); end; repeat //clearDebug; writeln('================================'); writeln('Flax spun: ' + IntToStr(flaxspun)); writeln('Script has run ' + IntToStr(numberOfTimes) + ' times'); writeln('================================'); declarevariables; getCurrentLocation; writeln('Error here?'); freedtm(bowstringdtm); freedtm(flaxdtm); until((flaxspun) >= (flaxtospin)) or (not(loggedin)); end.
Last edited by swimdude; 04-11-2013 at 02:48 AM.
sweet thanks man!! ill give it a try!
I saw this and got excited there was finally a stable version but every time I run it it takes like 30 seconds to start, then can't go down the stairs and crashes.
Edit: I figured out I had to download Smart8 for this to work now it's perfect. Thanks for the revision much more stable
Last edited by famguy74; 04-11-2013 at 01:49 AM.
Opens bank, gets flax, walsk to stairs, doesn't go down them.
Yeah it cant find the stairs...
Ah, it seems like the color changes to much to do what I was doing. I'll take a look at it. Thanks.
There are currently 2 users browsing this thread. (0 members and 2 guests)