{ RS Walker 0.2.2 Released: 06/03/05 By: sdouble email: sdouble@gmail.com Notes: This SHOULD work fine with all other scripts, I used special variables and renamed my mouse to ssMouse. This does NOT depend on any other includes, it is meant to be an include itself. If you have any questions or comments, please contact me via email at the address above. This is a FREE script to use anyway you like. You cannot sell it, edit it, take stuff from it, etc. If you feel something should be changed, CONTACT ME. I will change it, give you credit, and re-release it. Enjoy! ------------------------------------------------------------- Updates: 0.2.2 [06/03] - Fixed existing procedures, added new procedures. - Functions didn't work to their best, fixed. - Added FEBankcounter: positions you right above bankers in East Falador bank. (you provide colors) 0.2.1 [05/26] - Fixed a couple issues. - Switched to a flag image instead of color(thanks Odie for flag image in OSi) - Fixed variable issues. Thanks to JayJay for pointing it out. - Changed coding structure for getfrom[dir] procedures. 0.2 [05/25/05] - Added new functions, changed existing procedures. - Added getfrom, ssMMouse, and ssd[x or y][s or e] procedures. - Changed MMfrom procedures to from[dir] & can now search area rather than whole minimap 0.1 [05/05/05] - First release. Have fun! ------------------------------------------------------------- What this script is: This is an addon script written specifically for walking. It makes it easier to follow paths and find icons. How to use: To follow a road to the right, simply use fromRt(roadcolor,ssdxs,ssdys,ssdxe,ssdye); It will look from the right to the left for the first instance of roadcolor it can find, click there, then wait for the minimap flag to disappear. It really is that easy! Functions: getfrom[dir]-Searches minimap in specified coords from [dir] to opposite side, moves mouse and returns the x and y values. Usage: getfromTop(x,y,colorhere,5,5,500,300); This will find colorhere in specified area and return coords in x and y; Must declare variables x and y on your own. from[dir]-Searches minimap in specified coords from [dir] to opposite side and clicks, then waits for flag to disappear ssMouse-Just another Mouse command. moves pointer & clicks Based off of OSi, Thanks! Also moves at random speed. ssMMouse-Same as above, but doesn't click, just moves cursor ssFlag-Waits for the flag on minimap to disappear ssd[x or y][s or e]- returns default minimap coords ssdxs will return the value set for the x start of minimap, ssdye will retun the value for the y end point of minimap. Example usage: fromBtm([color],ssdxs,ssdys,ssdxe,ssdye); is equivalent to fromBtm([color],570,5,725,160); } ////////////////////////////////////////////////////////////// // do NOT edit below this. thanks for using your head. =) // ////////////////////////////////////////////////////////////// function ssdxs:integer; begin result:=570; end; function ssdys:integer; begin result:=5; end; function ssdxe:integer; begin result:=725; end; function ssdye:integer; begin result:=160; end; procedure ssmouse(sscx,sscy,ssrx,ssry:integer;ssbtn:boolean); begin ssrx:=sscx+random(ssrx);ssry:=sscy+random(ssry); wait(10+random(20)); movemousesmoothex(ssrx,ssry,2,10,10+random(10),10,6+random(2)); wait(30+random(50)); holdmouse(ssrx,ssry,ssbtn); wait(100+random(100)); ssrx:=ssrx-2+random(4); ssry:=ssry-2+random(4); movemousesmoothex(ssrx,ssry,2,10,10+random(10),10,6+random(2)); releasemouse(ssrx,ssry,ssbtn); wait(150+random(100)); end; procedure ssmmouse(sscx,sscy,ssrx,ssry:integer); begin ssrx:=sscx+random(ssrx);ssry:=sscy+random(ssry); wait(10+random(20)); movemousesmoothex(ssrx,ssry,2,10,10+random(10),10,6+random(2)); wait(30+random(50)); end; procedure ssflag; //flag from OSi, thanks Odie var ssflag1,sscx,sscy:integer; begin ssflag1:=BitmapFromString(2, 2, 'FF00005D3311C656045D3311'); //used flag from OSi status('Waiting for flag to disappear'); repeat wait(100); until not(findbitmapin(ssflag1,sscx,sscy,571,7,720,159)); wait(random(1000)); freebitmap(ssflag1); status(''); end; procedure frombtm(clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxs2:=ssxs;ssys2:=ssye-10;ssxe2:=ssxe;ssye2:=ssye+10; repeat ssye2:=ssye2-10;ssys2:=ssye2-10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssmouse(ssx1,ssy1,0,0,true); wait(1000); ssFlag; exit; end; until(ssye2<=ssys); end; procedure fromlft(clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1:integer; begin if(findcolor(ssx1,ssy1,clr,ssxs,ssys,ssxe,ssye))then begin ssmouse(ssx1,ssy1,0,0,true); wait(1000); //ssFlag; end; end; procedure fromtop(clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxs2:=ssxs;ssys2:=ssys;ssxe2:=ssxe;ssye2:=ssys; repeat ssye2:=ssys2+10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssmouse(ssx1,ssy1,0,0,true); wait(1000); ssFlag; exit; end; ssys2:=ssys2+10; until(ssys2>=ssye); end; procedure fromrt(clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxe2:=ssxe;ssys2:=ssys;ssye2:=ssye; repeat ssxs2:=ssxe2-10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssmouse(ssx1,ssy1,0,0,true); wait(1000); ssFlag; exit; end; ssxe2:=ssxe2-10; until(ssxe2<=ssxs); end; procedure getfromlft(var ssx,ssy:integer;clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxs2:=ssxs;ssys2:=ssys;ssxe2:=ssxe;ssye2:=ssye+10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssx:=ssx1;ssy:=ssy1; wait(50+random(50)); end; end; procedure getfromrt(var ssx,ssy:integer;clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxe2:=ssxe;ssys2:=ssys;ssye2:=ssye; repeat ssxs2:=ssxe2-10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssx:=ssx1;ssy:=ssy1; wait(50+random(50)); exit; end; ssxe2:=ssxe2-10; until(ssxe2<=ssxs); end; procedure getfromtop(var ssx,ssy:integer;clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxs2:=ssxs;ssys2:=ssys;ssxe2:=ssxe;ssye2:=ssys; repeat ssye2:=ssys2+10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssx:=ssx1;ssy:=ssy1; wait(50+random(50)); exit; end; ssys2:=ssys2+10; until(ssys2>=ssye); end; procedure getfrombtm(var ssx,ssy:integer;clr,ssxs,ssys,ssxe,ssye:integer); var ssx1,ssy1,ssxs2,ssys2,ssxe2,ssye2:integer; begin ssxs2:=ssxs;ssys2:=ssye-10;ssxe2:=ssxe;ssye2:=ssye+10; repeat ssye2:=ssye2-10;ssys2:=ssye2-10; if(findcolor(ssx1,ssy1,clr,ssxs2,ssys2,ssxe2,ssye2))then begin ssx:=ssx1;ssy:=ssy1; wait(50+random(50)); exit; end; until(ssye2<=ssys); end; procedure FEbankcounter(logo,bankers:integer); //positions you nearest the East falador bank counter var lx,ly,cx,cy:integer; begin getfrombtm(lx,ly,logo,ssdxs,ssdys,ssdxe,ssdye); if(findcolortolerance(cx,cy,bankers,lx-35,ly-20,lx+10,ly+10,5))then begin ssmouse(cx,cy-3,4,0,true); wait(500+random(1000)); ssflag; end; end;