SRL Archive - First Scripts

Varrock Yew chopper and banker (i'm new)


omgwoot

2007-07-24 00:07:26

Hi, I am new to these forums. I've read a couple of tutorials and come to find out… no one likes the leechers, so to revoke myself from leecher status i will start my first day here with a varrock east yew cutter and banker. it may have bugs, but please be patient… i'm noob. Oh, i will accept any help, or hints.


this script was made with scar 3.11 (i know it may be outdated, i got it from freddy1990.com) hopefully it still works, and i downloaded the srl from scar.

EDIT : now it has pretty good tree switching. i will soon be moving it to the woodcutting section. if anyone tests it, can you tell me if the ent finder works?

bullzeye95

2007-07-24 00:18:16

3.11 is up to date :)

Love your attitude! Keep at it! I'll take a look through the script and edit my post if I find anything.

EDIT: You left your guy's username and password in there. Changed and PM'd.

EDIT2: You didn't need to make your own procedure to wait for the flag. There's one is SRL called Flag;. Also, in the ent detection, you should make it click the minimap right when it finds it, so it doesn't brake an axe. One more thing, you should find randoms in every loop. But overall, very very good for a first! Probably one of the best firsts I've seen.

omgwoot

2007-07-24 01:17:42

well, thank you… i appreciate your comment. i only wish i remembered to take my username and password out earlier.. ill try harder next time. I guess you could say… my noob is hanging out. One question, are those your only recommendations? I think my walking procedure in kinda… bad.

and as far as the flag waiting procedure goes… Its a good learning experience isn't it :D

bullzeye95

2007-07-24 02:36:27

Hmm now that I take a look at it again, you can usually get away with using 1 degree instead of 0.01 on FindDTMRotated. But just to be on the safe side, maybe 0.5. I'm not sure what's optimal, but 1 should cut it. (that's just in the future. You can probably use like 2 for your banker DTM) It cuts lag down a lot. Oh and you can also take out the axe head finding and attaching. Jagex removed that random. Oh and also, put a repeat..until loop around your main loop (until(false)) after the activateclient. That makes it multiplayer.

omgwoot

2007-07-24 03:28:10

From: bullzeye95
…Oh and also, put a repeat..until loop around your main loop (until(false)) after the activateclient. That makes it multiplayer.


what do you mean? it seemed to try to switch players after i finished…
i was just following a tutorial on the dtm rotated thing… :P and at any rate, i'm going to remove it… i changed the script around, I've decided to use the srl compass north… its probably a lot less detectable.

oh yeah, i've added a progress report
you can expect more anti ban in later versions… :D

VivaLaRofl

2007-07-24 08:25:00

Ran a load nicely for me. Although I would suggest using the yews to the EAST of varrocks lone one, by the altars. Theres two to use there, meaning you don't have to wait.

GoF

2007-07-24 08:41:34

Nice, nice :)

But I don't think you need axe head finding anymore..? Didn't they remove that event? Anyway, this is really nice for a first script ;)

Rikje

2007-07-24 08:59:42

yes the did.

realy nice scipt! ;)

omgwoot

2007-07-24 11:02:58

Sorry about the axe head finding thing, i haven't played in a long time.

bullzeye95

2007-07-24 13:38:42

What I meant is, it will switch players, but then stop the script because it's at the end. If you had a repeat loop, it would to back to the beginning of the main loop.

passiondrive

2007-07-24 13:55:36

Read through your code, looks good! I've been learning to script for ages now, I can only make simple ones :p. By the way I standardized it for you.
{=========================================================================]
[ Varrock Yew Chopper. ]
[ ]
[ NAME : Varrock Yew Chopper. ]
[ WRITER : Omgwoot ]
[ CATEGORY : Woodcutting ]
[ DESCRIPTION : Gathers Yews in East Varrock. ]
[ USAGE : Yew gathering. ]
[ AUTOCOLOR : Yes ]
[ NOTES : Start in Varrock east bank. ]
[ CONTACT : ... ]
[ OTHER INFO : Please inform me of any bugs. I plan to update ]
[ the tree finder. ]
[ ]
[=========================================================================]
[ ]
[=========================================================================]
[ Instructions. ]
[=========================================================================]
[ 1. USE Runescape with Low Detail, Very Bright. ]
[ 2. Set your Screen to 32 bit TRUE color. ]
[ 3. Set Playernames and Passwords in DeclarePlayers. ]
[ 4. SET HOWMANYPLAYERS inside DeclarePlayers ]
[=========================================================================}

program Varrockyewchopper;

var axe1, axe2, axe3, treec, logxs, loadsx, bankx, integer1, yewcolor: integer; whr: boolean;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/woodcutting.scar}

//******************** Set These Constants if Needed *******************//

const StartPlayer = 0; // Determines who will play first

//**********************RuneScape Constants*******************************//


//************************************************************************//
const VersionNumber = '1'; // Compliant with Rev 568+
//************************************************************************//

procedure DeclarePlayers;
begin
HowManyPlayers := 6; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer := StartPlayer; // CurrentPlayer = Array Index

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Loc := '';
Players[0].Skill := '';
players[0].integer1 := 1; // Loads to do
Players[0].Active := True;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Loc := 'Loc1';
Players[1].Skill := '';
players[1].integer1 := 1;
Players[1].Active := True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Loc := 'Loc1';
Players[2].Skill := '';
players[2].integer1 := 1;
Players[2].Active := True;

Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Loc := 'Loc1';
Players[3].Skill := '';
players[3].integer1 := 1;
Players[3].Active := True;

Players[4].Name := '';
Players[4].Pass := '';
Players[4].Nick := '';
Players[4].Loc := 'Loc1';
Players[4].Skill := '';
players[4].integer1 := 1;
Players[4].Active := True;

Players[5].Name := '';
Players[5].Pass := '';
Players[5].Nick := '';
Players[5].Loc := 'Loc1';
Players[5].Skill := '';
players[5].integer1 := 1;
Players[5].Active := True;

writeln(inttostr(HowManyPlayers) + ' Players');

end;

//************************************************************************//

procedure SetUp;
begin
SetupSRL;
DeclarePlayers;
if (not (loggedin)) then LoginPlayer;
RoadColor := 0;
WaterColor := 0;
BankColor := 0;
yewcolor := 3168336;
end;


//************************************************************************//

procedure bankers;
var
banker: Integer;
a: Extended;
begin
banker := DTMFromString('78DA63EC626260886640017FFE3031B002694' +
'620FE0F048CFD986ABE7E6580AB0101C636A09A18DCE680D580EC' +
'4A4455D3DDD688A2060017180F2D');
FindDTMRotated(banker, x, y, 0, 0, 700, 700, 0, 360, 0.01, a);
Mouse(x, y, 0, 0, true);
end;

//************************************************************************//

function AttachaHead: Boolean; //from srl, edited by me
var
AxeHandleDTM, AxeHeadDTM: Integer;
Reequip: Boolean;
begin
AxeHandleDTM := DTMFromString('78DA637465626078C48002CA2379191E02694' +
'620FE0F048C0E40352F19D000231209A4ED806A3E1150E30454F3' +
'86801A2FA09AEB04D47800D5DC23A0C616A8E61D01358E4035EF0' +
'9A80185CF03FC6A00E1CD105C');
AxeHeadDTM := DTMFromString('78DA63CC62626078C180021C2312191E02694' +
'620FE0F048C694035CF18D000231209A473816A9E12A1E6150135' +
'A94035AF09A801B9F9090135994498930C54F392809A3CCCF0415' +
'70300FB8311DF');
if (whr = false) then
begin
GameTab(5);
Wait(200 + Random(200));
Mouse(592, 297, 2, 2, True);
Wait(2000 + Random(800));
Reequip := True;
end;
GameTab(4);
if (FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465)) and
(FindDTM(AxeHandleDTM, x, y, 550, 200, 745, 465)) then
begin
if (FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465)) then
begin
Mouse(x, y, 3, 3, True);
Wait(600 + Random(400));
end;
if (FindDTM(AxeHandleDTM, x, y, 550, 200, 745, 465)) then
begin
Mouse(x, y, 3, 3, True);
Wait(500 + Random(200));
AxeAttaches := AxeAttaches + 1;
Result := True;
WriteLn('Attached Axe Head!');
GameTab(4);
MakeCompass('N');
end;
if (Reequip = True) then
begin
Wait(3000);
if (FindColor(x, y, axe1, 554, 205, 743, 465)) then
Mouse(x, y, 5, 5, True);
end;
end;
FreeDTM(AxeHandleDTM);
FreeDTM(AxeHeadDTM);
end;

function FindaHead: Boolean; //from srl, edited by me
var
c, AxeHeadDTM, Tries, x, y: Integer;
hStart: Boolean;
begin
AxeHeadDTM := DTMFromString('78DA63CC62626078C180021C2312191E02694' +
'620FE0F048C694035CF18D000231209A473816A9E12A1E6150135' +
'A94035AF09A801B9F9090135994498930C54F392809A3CCCF0415' +
'70300FB8311DF');
GameTab(4);
Result := True;

c := CreateBitmapMaskFromText('You do not have an axe', SmallChars);
if (FindBitmapMaskTolerance(c, x, y, 17, 410, 495, 452, 10, 85)) then
begin
if ((whr = true) and
not (GetColor(590, 220) = axe1) or
not (GetColor(587, 219) = axe2) or
not (GetColor(588, 218) = axe3)) then
hStart := True;
if (whr = false) then
begin
GameTab(5);
Wait(200 + Random(200));
if not (GetColor(597, 294) = axe1) or
not (GetColor(600, 295) = axe2) or
not (GetColor(599, 298) = axe3) then
begin
hStart := True;
Mouse(592, 297, 2, 2, True);
Wait(1000);
end;
end;
end;
if (hStart = True) then
begin
Result := False;
Tries := 0;
repeat
if not LoggedIn then Exit;
if (FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465)) then
Break;
if not (FindObjMulti('Take', axe1, axe2, axe3, 5)) then
begin
Tries := Tries + 1;
WriteLn('Axe head not found. Taken ' + IntToStr(tries) + ' tries');
Status('Axe Head not found - Rotating Screen');
KeyDown(VK_LEFT);
Wait(1000 + Random(1000));
KeyUp(VK_LEFT);
Wait(400 + Random(300));
if not FindObjMulti('Take', axe1, axe2, axe3, 5) then
begin
Status('Axe Head not found - Moving to Red Dot');
x := 648;
y := 83;
FindColorSpiral(x, y, 241, 570, 5, 725, 155)
Mouse(x + 3, y + 3, 2, 2, True);
Flag;
Wait(500 + Random(300));
end;
end;
if FindObjMulti('Take', axe1, axe2, axe3, 5) then
begin
Status('Found Axe Head');
WriteLn('Axe head was found. Picking it up');
Wait(450 + Random(400));
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
Flag;
Wait(500 + Random(300));
end;
until (tries > 9) or
(FindDTM(AxeHeadDTM, x, y, 550, 200, 745, 465))
if not (tries > 9) then
if (AttachHead) then
Result := True;
end;
FreeBitmap(c);
FreeDTM(AxeHeadDTM);
end;

//************************************************************************//

procedure axecheck;
var axex: integer;
begin
cleardebug;
axex := DTMFromString('78DA63F4636260B8CD80025C63D2181238191' +
'81881ECFF40C0E80F547383010D302291403A08A8E6166E35601C' +
'0C54738F809A40A09A0704D480DCF390801A5FA09AFB04D47803D' +
'5DC25A0C6830835EE44D8E50654F384801A17A09A1704D43803D5' +
'BC26A0C60EA8E60301354E4035EFA860972BFEB401C200A40E19A' +
'A');

gametab(4);
wait(1000);
if finddtm(axex, x, y, 0, 0, 700, 700) then begin
axe1 := getcolor(x, y)
axe2 := getcolor(x + 1, y + 1)
axe3 := getcolor(x + 1, y - 1)
writeln('axe is in inventory.')
writeln('axe colors are as follows: ')
whr := true;
writeln(inttostr(axe1) + ' ' + inttostr(axe2) + ' ' + inttostr(axe3))
end;
if whr = false then
begin
gametab(5);
wait(1000);
if finddtm(axex, x, y, 0, 0, 700, 700) then begin
axe1 := getcolor(x, y)
axe2 := getcolor(x + 1, y + 1)
axe3 := getcolor(x + 1, y - 1)
writeln('axe is in equipped.')
writeln('axe colors are as follows: ')
writeln(inttostr(axe1) + ' ' + inttostr(axe2) + ' ' + inttostr(axe3))
end;

end;
end;

//************************************************************************//

procedure FindRandoms;
begin
FindNormalRandoms;
if Findname then FindTalk;
if findfight then
begin
makecompass('N');
mouse(655, 31, 0, 0, true);
wait(5000);
findsymbol(x, y, 'rare trees');
mouse(x, y, 0, 0, true);
end;
if findmod = true then
begin
logout;
wait(60000 * 2);
loginplayer;
end;
if (FindColorTolerance(x, y, 120276, 86, 7, 126, 19, 5)) then
begin
mouse(649, 83, 0, 0, true);
repeat
wait(1000);
until
not (FindColorTolerance(x, y, 120276, 86, 7, 126, 19, 5));
end;
if FindEnt(yewcolor) = true then
begin
mouse(649, 83, 0, 0, true);
repeat
wait(1000);
until
findent(yewcolor) = false;
end;
end;

//************************************************************************//

procedure findcbox(c, t, rx, ry, ex, ey: integer);
begin
FindColorTolerance(x, y, c, rx + 5, ry + 5, ex + 5, ey + 5, t);
end;

//************************************************************************//

procedure fwait;
var flagx: integer;
begin
flagx := DTMFromString('78DA639CCAC4C060C98002FE436946180D52E' +
'38EAAE658180BAA9A69986A628D0551D5F403D5D813B06B02508D' +
'1D013593806A6C08A89986E92F0CF74C26C22E9039B6F8CD01008' +
'2190F87');
repeat
wait(100);
until
not (finddtm(flagx, x, y, 0, 0, 700, 700));
end;

//************************************************************************//

procedure totree;
var N: integer;
begin
makecompass('N');
bankers;
wait(random(1000));
setrun(true);
gametab(4);
RadialRoadWalk(FindVarrockRoadColor, 693, 698, 66, 0, 0);
flag;
repeat
findrandoms;
findcbox(6456, 2555, 649 - 5, 53 - 5, 657 - 5, 62 - 5);
mouse(x, y, 0, 0, true);
flag;
until
findsymbol(x, y, 'rare trees');
mouse(x, y, 0, 0, true);
flag;
players[currentplayer].loc := 'Yew trees.';
end;

//************************************************************************//

procedure fromtree;
begin
setrun(false);
makecompass('S');
gametab(4);
sendarrowwait(3, 5);
wait(random(500));
repeat
findrandoms;
findcbox(6456, 2555, 639 - 5, 45 - 5, 661 - 5, 64 - 5);
mouse(x, y, 0, 0, true);
flag;
until
findsymbol(x, y, 'bank');
mouse(x, y, 0, 0, true);
flag;
players[currentplayer].loc := 'Bank.';
end;

//*************************************************************************//

procedure tree;
begin
GameTab(4);
repeat
wait(5000);
if FindObjMultiText(x, y, 'Yew', 'Cho', 'ee', yewColor, 5) then
begin
MMouse(x, y, 3, 3);
end;
if (FindColorTolerance(x, y, 120276, 86, 7, 126, 19, 5)) then
begin
Wait((20000));
end;
if (IsUpText('Yew')) then
begin
Mouse(x, y, 2, 2, true);
end;
wait(5000);
FindRandoms;
FindaHead;
until
invcount = 28;
end;

//*************************************************************************//

procedure bank;
var logx: integer;
begin
logx := DTMFromString('78DA632C66626078CA80023C4C39192630323' +
'00011C37F20602C04AAB9C38006189148209D0554F39E809A02A0' +
'9A0F04D43400D5BC26A0A61EA8E60901353540350F09A8A906AAB' +
'949404D3250CD73026AD2816A1EE0570300EB9212B3');
makecompass('S');
lowestangle;
openbank3;
wait(random(500));
fixbank;
wait(random(500));
finddtm(logx, x, y, 560, 210, 739, 458);
mouse(x, y, 0, 0, false);
chooseoption(x, y, 'All');
closebank;
players[currentplayer].banked := players[currentplayer].banked + 1;
end;

//************************************************************************//

procedure mainloop2;
begin
repeat
highestangle;
totree;
wait(random(500));
repeat
tree
findrandoms;
wait(2000);
until
invfull
fromtree;
bank;
loadsx := loadsx + 1;
until
loadsx = players[currentplayer].integer1;
end;

//*************************************************************************//

procedure depositelogs;
begin
makecompass('S');
lowestangle;
openbank3;
wait(random(500));
fixbank;
wait(random(500));
finddtm(logxs, x, y, 560, 210, 739, 458);
mouse(x, y, 0, 0, false);
chooseoption(x, y, 'All');
closebank;
highestangle;
end;

//*************************************************************************//

procedure PlayerStats;

var Active: string;
var i: Integer;
begin
writeln('**********************************************');
writeln('Name : ' + Players[CurrentPlayer].Name);
writeln('Number : ' + inttostr(CurrentPlayer));
writeln('Worked for : ' + inttostr(scripttime(2)) + ' minutes.');
writeln('Banked : ' + inttostr(Players[CurrentPlayer].Banked) + ' times.');
if Players[CurrentPlayer].Active = True then Active := 'True' else Active := 'False';
writeln('Active : ' + Active);
writeln('Location : ' + Players[CurrentPlayer].loc);
writeln('**********************************************');

for i := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active = True then Active := 'True' else Active := 'False';
writeln((inttostr(i)) + ' : ' + Players[i].name + ' = ' + Active +
'. - B :' + inttostr(Players[i].Banked) + ' Times.' +
' - : ' + IntToStr(Players[i].Worked) + ' mins.' + ' - Loc: ' + Players[i].loc);
end
writeln('**********************************************');
end;

//*************************************************************************//

procedure ProgressReport;
begin
begin
WriteLn(' ');
WriteLn('<============== -' + VersionNumber + '- Progress Report ===============>');
SRLRandomsReport;
Writeln(' ');
end;
PlayerStats;
end;

//*************************************************************************//

procedure brightnessnchat;
begin
//chat
mmouse(30, 487, 0, 0);
getmousepos(x, y);
repeat
mouse(x, y, 0, 0, true);
wait(1000);
until
findcolor(x, y, 255, 38, 476, 74, 500);
//
mmouse(157, 487, 0, 0);
getmousepos(x, y);
repeat
wait(1000);
mouse(x, y, 0, 0, true);
until
findcolor(x, y, 255, 158, 479, 202, 500);
//
mmouse(297, 488, 0, 0);
getmousepos(x, y);
repeat
wait(1000);
mouse(x, y, 0, 0, true);
until
findcolor(x, y, 255, 306, 477, 345, 499);
//brightness
gametab(11);
if (findcolor(x, y, 9981222, 705, 221, 720, 236)) then gametab(4)
else
if (not (findcolor(x, y, 9981222, 705, 221, 720, 236))) then
begin
mouse(715, 228, 0, 0, true);
gametab(4);
end;
end;

//*************************************************************************//
//
// Main Event Loop
//
//*************************************************************************//
begin
Setup;
activateclient;
repeat
axecheck;
brightnessnchat;
logxs := DTMFromString('78DA632C66626078CA80023C4C39192630323' +
'00011C37F20602C04AAB9C38006189148209D0554F39E809A02A0' +
'9A0F04D43400D5BC26A0A61EA8E60901353540350F09A8A906AAB' +
'949404D3250CD73026AD2816A1EE0570300EB9212B3');
//if finddtm(logxs, x, y, 560, 210, 739, 458)then depositelogs;
mainloop2;
if loadsx = players[currentplayer].integer1 then
logout;
ProgressReport;
until (false);
nextplayer(true);
end.

omgwoot

2007-07-24 17:02:40

Wow, thanks guys.. i've just updated it.. now it switches trees (hopefully)…
feel free to test :D

From: passiondrive
Read through your code, looks good! I've been learning to script for ages now, I can only make simple ones :p. By the way I standardized it for you.

- why does it need to be standardized?

From: bullzeye95
What I meant is, it will switch players, but then stop the script because it's at the end. If you had a repeat loop, it would to back to the beginning of the main loop.

- i see, can you tell me if i did it right in the most recent version (1.3)..?

bullzeye95

2007-07-24 17:18:33

Almost. The NextPlayer should be IN the loop. Just before the until(false).

omgwoot

2007-07-24 20:19:04

oh, ok, thanks… Ill be sure to fix that…

can you help me with the ent checker, it didn't work…

also, the current v1.3 doesn't switch trees correctly yet, but i fixed it… just smoothing out some other things (like the ent checker) before i release a new version.

WhiteShadow

2007-07-24 20:30:50

procedure findcbox(c, t, rx, ry, ex, ey : integer);
begin
FindColorTolerance(x, y, c, rx+5, ry+5, ex+5, ey+5, t);
end;

You should make this a function like:

function FindCBox(c, t, rx, ry, ex, ey : integer): boolean;
begin
Result := FindColorTolerance(x, y, c, rx+5, ry+5, ex+5, ey+5, t);
end;

So it returns true, false.

procedure fwait;
var flagx : integer;
begin
flagx := DTMFromString('78DA639CCAC4C060C98002FE436946180D52E' +
'38EAAE658180BAA9A69986A628D0551D5F403D5D813B06B02508D' +
'1D013593806A6C08A89986E92F0CF74C26C22E9039B6F8CD01008' +
'2190F87');
repeat
wait(100);
until
not(finddtm(flagx,x,y,0,0,700,700));
end;

You should put some sort of timemarker so
if (TimeFromMark(Mark) > 20000)then Exit; Break out of loop.

Btw, you use standards, so the script is more clean&readable, for others, and yourself. For example the two spaces show which lines go with each statement/loop.

Anyways, cool for a first script. =] :)

omgwoot

2007-07-24 22:01:20

From: WhiteShadow
procedure findcbox(c, t, rx, ry, ex, ey : integer);
begin
FindColorTolerance(x, y, c, rx+5, ry+5, ex+5, ey+5, t);
end;

You should make this a function like:

function FindCBox(c, t, rx, ry, ex, ey : integer): boolean;
begin
Result := FindColorTolerance(x, y, c, rx+5, ry+5, ex+5, ey+5, t);
end;

So it returns true, false.

procedure fwait;
var flagx : integer;
begin
flagx := DTMFromString('78DA639CCAC4C060C98002FE436946180D52E' +
'38EAAE658180BAA9A69986A628D0551D5F403D5D813B06B02508D' +
'1D013593806A6C08A89986E92F0CF74C26C22E9039B6F8CD01008' +
'2190F87');
repeat
wait(100);
until
not(finddtm(flagx,x,y,0,0,700,700));
end;

You should put some sort of timemarker so
if (TimeFromMark(Mark) > 20000)then Exit; Break out of loop.

Btw, you use standards, so the script is more clean&readable, for others, and yourself. For example the two spaces show which lines go with each statement/loop.

Anyways, cool for a first script. =] :)



thanks for the comment, but i don't use either of those anymore.. xD
why would you want that findcbox to return true or false?
oh, thanks for answering my question about standards :D

WhiteShadow

2007-07-25 00:15:39

From: omgwoot
thanks for the comment, but i don't use either of those anymore.. xD
why would you want that findcbox to return true or false?
oh, thanks for answering my question about standards :D


Use if-then with it, so if color found it'll only do something when it returns true.

I.e

if (FindCBox(... ))then 
begin
DoStuff;
end;

versus

FindCBox; 
DoStuff; // It'll do something even if color wasn't found.

omgwoot

2007-07-25 02:02:01

Oh, I get it, thanks… :D
is there a way to make a character go to a certain bank booth, every time?

WhiteShadow

2007-07-25 17:36:40

From: omgwoot
Oh, I get it, thanks… :D
is there a way to make a character go to a certain bank booth, every time?


Spiral out from a specific coord.
program New;
var x, y: integer;
begin
// FindColorTolerance starts from (0, 0);
x := 0;
y := 0;
// Change 0, 0 to where you want it to spiral out from.
if (FindColorSpiralTolerance(x, y, 16777215, Msx1, Msy1, Msx2, Msy2, 15))then
Writeln('Yeah.');
end.

Just an example, you'll need your own, Box, color, ect. You can also spiral out using, DTMS, Bitmaps (FindBitmapSpiralTolerance).

There are a lot of techniques you can use. These are pretty basic.

omgwoot

2007-07-26 02:42:21

I can see how that work work to find a different bank booth every time, but wouldn't i change if you came into the bank differently, like in a different spot?

passiondrive

2007-07-26 08:46:25

Yeah, standardization will help more advanced people to read through your code ;)

dontpanic

2007-07-26 21:08:34

Insane first script!!! One thing I noticed though… in a lot of procedures/functions you define the bitmap every time you call it. Thats a bad idea cause you never get rid of it from memory, so it takes up more and more space each time you use that proc/func. You should make a setup procedure that defines all the bitmaps/dtms.

omgwoot

2007-07-27 12:01:28

Ok, ill do that.

I have a question, would it be ok to use mouse in a map walking procedure if it looked like :

procedure walk1;
begin
case random(5) of
0: mouse(685+random(4), 60+random(3), 5, 3, true);
1: mouse(690+random(4), 75+random(3), 5, 3, true);
2: mouse(681+random(4), 73+random(3), 5, 3, true);
3: mouse(681+random(4), 75+random(3), 5, 3, true);
4: mouse(690+random(4), 69+random(3), 5, 3, true);
end;
flag;
end;

i want to know this because i'm trying alternative routes around radial walk and radial map walk. when I used these for a certain walking procedure they messed up, a lot. maybe i wasn't doing it right.

dontpanic

2007-07-27 13:11:51

Erm, mouse is always ok, but coord walking isnt very accurate, and your method doesnt help that problem. Try using dtms and clicking where they're found. Btw, you dont need to add randoms to the coords, as thats what ranx and rany are.

Heres a picture to explain how mouse works:

It will click anywhere inside the black box. NOTE: that is with benmouse on. If it's off, it will be an area of four of those boxes around (x,y). So (x,y) is the center.

omgwoot

2007-07-27 14:46:00

so i can use mouse for walking? what i've done has worked much better than previously.
but as long as there is randomness it's alright, right?

dontpanic

2007-07-27 20:14:07

yeah. mouse is fine as long as it works and as long as you have randomness.

3Garrett3

2007-07-27 20:29:22

But the minimap shifts alot, so it will not be accurate at all, use radial walk.

omgwoot

2007-07-30 11:26:08

i moved version 1.8 to woodcutting section.

drnewheart

2007-08-08 01:09:23

Very Nice Script Works Smoothly For Me and Appreciate Your Hard Work.

darky

2007-08-20 15:42:06

Excuse me everyone, i'm working on my script and would like to know if a script of this standard would be good enough to apply for members with? Because from what i see this is preeeety nice!

Well done to you omgwoot you should be very proud of yourself!

I don't see me doing that for a while…

~darky~

zi3m

2007-09-03 16:02:27

um can someone help me i have a problem here

Failed when compiling
Line 54: [Error] (12506:12): Unknown identifier 'INTEGER1' in script C:\Documents and Settings\——\Local Settings\Temporary Internet Files\Content.IE5\83TR3AZL\Vyewchopper%20v1.4B[1].scar

im using SRL 4 beta with scar 3.11

kornthebldgd

2007-09-03 16:42:54

thanks

bob_the_noob

2007-09-05 07:09:21

great script keep it up:bart:

fons

2007-09-05 12:26:04

wow nice script, you chose a hard script to begin with

kamikeza

2007-09-05 12:29:13

someone know if i can run more account at ones?? im new

Smartzkid

2007-09-06 18:52:29

1) Please stop spamming
2) No, you cannot run more than one account at once
3) This is not an srl 4 script. Please don't post saying that it won't work with srl 4.

fallenangel205621

2007-09-07 12:14:55

very nice first script man, im going to try and write my own script as a practice, this is going to help me understand how to do it, ill look at this as an example to help me on my way:spot:

n3ss3s

2007-09-07 12:32:45

DUDE! Axe head does not fall away nowadays -.- Good job anyways

owned1112

2007-09-07 13:23:57

Very good, thanks!

kor

2007-09-08 11:12:01

why does it say like this? '' Line 54: [Error] (12506:12): Unknown identifier 'INTEGER1' in script C:\Program\SCAR 3.11\Vyewchopper v1.4B.scar '' whats wrong with this? players[0].integer1:=1; what SCAR and SRL should i use? i use SCAR 3.11 divi and srl 4.0 beta..please answer

n3ss3s

2007-09-08 11:16:28

The script is not SRL 4, it should be "Players[0].Integers[0] := 1;" nowadays with SRL 4.

kor

2007-09-08 11:36:12

what SRL do i use with this? please help!!!!

Skayte

2007-09-09 02:21:58

Im gonna test this out looks pretty good, hopefully i get a success =D

yeahdudeirock

2007-10-08 21:31:36

ive been waitin for 1 of these thx

99str bang

2007-10-10 15:22:09

i love it!

lil_joker95

2007-10-12 03:13:06

nice ima try it out tx dude ive been looking for 1 like this

julian0

2007-10-23 15:26:49

Hey i keep getting the error 'Intgre1' or soemthing how do i fix this?

julian0

2007-10-23 15:47:41

Come on anyone answer me?

rx7sr4

2007-10-25 02:37:40

thanks!

tabclausen

2007-10-26 16:39:10

Guys can you help me ? i keep getting this error


Line 54: [Error] (14936:12): Unknown identifier 'INTEGER1' in script


what should i do ? =S

tabclausen

2007-10-26 16:40:40

someone? =S

Line 54: [Error] (14936:12): Unknown identifier 'INTEGER1' in script

how to fix this error ?

Vanessa

2007-10-27 13:39:18

Doesn't work at all for me.. Just logs on and sits until idle. :(

fert

2007-10-27 14:28:37

great job

rmn0614

2007-10-27 18:31:42

Ill try it out soon

adam191

2007-10-28 17:52:29

got an error.

adam191

2007-10-28 17:53:56

can't remember error tho.

kingarabian

2007-10-28 19:10:43

That error is happing to y'all is because its not updated to work srl 4.

superelg

2007-10-29 11:02:22

its stands that its a error in the line that this is:S "players[1].integer1 := 1;"
pleas send me an post and tell me wath to do :)

ssaccount

2007-11-01 17:30:11

nice work dude works perfectly :)

g2gcya

2007-11-01 22:31:38

Failed when compiling
Line 54: [Error] (15283:12): Unknown identifier 'INTEGER1' in script D:\SCAR\Vyewchopper v1.4B.scar

Failed when compiling
Line 105: [Error] (15334:15): Unknown identifier 'x' in script D:\SCAR\Vyewchopper v1.4B.scar

anyone can tell me how i solve it?

rs cheata

2007-11-02 09:09:55

it didnt start for me. and i downloaded the new srl.

PocketVeto

2007-11-10 09:45:31

Very nice first script.

I keep learning, bouncing from board to board.

Taught me alot.

:) Thanks much.

x i o i l x

2007-11-11 08:37:23

nice script. it works well and ive cutted loads of yews with it tnx for creating it, do you have any autofighters? or do you wanna try to make one?
if you will im lookin forward to it.

later.

rogeruk

2007-11-11 08:39:28

From: x i o i l x
nice script. it works well and ive cutted loads of yews with it tnx for creating it, do you have any autofighters? or do you wanna try to make one?
if you will im lookin forward to it.

later.


"Cutted loads of yews", Wheres the progress reports then?

Spammer.

Tsutrix

2007-11-11 15:14:24

meh i couldnt get it to start somthing wrong with interger1

carloxjr

2007-11-12 19:12:58

Good Job

runescapeautoer123

2007-11-13 07:25:17

unknown indentifier integer1 hmm what do i do

uk_

2007-11-15 12:24:54

im getting the same problem ,

unl

2007-11-15 14:26:17

not bad for a first one (h)

RocknRick

2007-11-15 15:08:59

Hi, I am using SCAR 3.12 and I am having problems:

1st: players[0].integer1:=1; - has no idea what this is

so I commented it out to see what would happen then

2nd: couldn't find FindObjMulti

is this compatible with the latest scar etc?

chiel226

2007-11-15 16:13:55

nice starting script but dont work on my pc.

P1nky

2007-11-16 15:03:28

guys this script is old wtf yall bumping a old script? he doesnt get on much … i havent seen him for a month or so he has A LIFE! so he be back soon ….he told me because i use to script together and he use to help me

napper

2007-11-16 17:02:21

very nice script :)

you won

2007-11-16 17:22:39

What does posting proggies mean?

RAM

2007-11-16 17:50:20

From: you won
What does posting proggies mean?


Hi and Welcome to the SRL Forums ;)

"Proggies" is short for "Progress Reports", these are the print outs you receive in the debug box in SCAR after you run a script ( You will need to highlite it and pres "cntrl" + "c" to copy it, then you can right click and "paste" it here). When you use someone else's script, it is always nice to post these, so they know how their script ran, and can make improvements to it. Also, when people make a script and release it for free, it makes them feel good, to know how the script performed, rather than people just using it and not bothering to say Thank You.

Don't forget to check out Tutorial Island, and if you have any questions regarding making your own script, their is a post you can request help from more experienced people, as well as specific questions you might have.

Tutorial Island

Scripting Help

mentoring people that want to become member ( 1 2 3 … Last Page)
Killerdou


Noob To Noob Mentoring!
passiondrive


Best Regards,

~RAM

sik of it

2007-11-17 00:27:16

You're not new anymore but nevertheless nice script and good to see all the script updates!

themarkster

2007-11-18 03:26:57

it aint working for 1 player dude!!!! which is me please fix this i wanna bot too man help please OMGWOOT please PM me i need your help

kev in hil1

2007-11-18 09:53:04

Line 54: [Error] (14936:12) : Unknown Identifier 'INTEGER1' in scrypt C: Documents and Settings\HP_ADMINISTRATOR\Local Settings\Temporary Internet Files\Content . IE5\GHQF4XU3\Vyewchopper%20V1 [1] . 4b .scar

KingNoob

2007-11-18 19:27:36

o.o you got lots of kudos for your first script.
im hoping i get the same when i release mine

SwimNoodle

2007-11-21 11:02:05

dammit good job, :P proud of it =D

OpenHearts

2007-11-21 12:35:46

cool script

Tazmania

2007-11-21 15:41:59

Really Good

[S]paz

2007-11-21 15:47:15

eermmm no cos its outdated maby??? try learning scar then commenting if it works or not cos it doesnt acctually work…..

spaz

papenco

2007-11-26 01:02:51

excellent script man, I would like someone to make an ALL SRL FUNCTIONS guide or someone to PM me the link if it already exists, ill read some tutorials more before starting making my own scripts, will be in this section soon.

elitemaster101

2007-11-28 21:43:39

nice dude!!!
i had a script but it's like 1 years old :P
very old script it was a yew cutter+banker

really nice job dude!!:D

elitemaster101

2007-11-28 22:02:36

grrr i got 3.11 download but were do i get globals at….to run script please…

eze01

2007-11-29 21:33:40

tryed this script out, couldnt get it to work for me. sounds like it is solid enough though from other people on the forum. good post

P1nky

2007-11-29 21:39:48

From: p1nky
guys this script is old wtf yall bumping a old script? he doesnt get on much … i havent seen him for a month or so he has A LIFE! so he be back soon ….he told me because i use to script together and he use to help me


WOW DAM LEECHERS READ PREVIOUS POSTS!

qazwsx

2007-11-29 21:50:03

i cant compile it still after following instrutions

P1nky

2007-11-29 22:05:17

Dude Wtf …. Guys Please Lock This Topic Or Something! They Just Getting Posts Off This Thread …ffs They So Freaking Dumb They Wont Read Previous Posts!

xxshadow9xx

2007-12-01 18:35:49

Thanks! This is great!

the common m

2007-12-01 19:14:28

nice i love the updates

buttface

2007-12-08 14:54:24

looks good. im downloading it right now. thx. =P

buttface

2007-12-08 14:55:42

can i use drawgon wc axe w/ this script?

buttface

2007-12-08 15:01:48

says "error line 54 unknown integer1"

buttface

2007-12-08 15:03:04

"unknown identifier integer1". whats all that mean

Putnam

2007-12-08 18:19:03

Failed when compiling
Line 54: [Error] (14936:12): Unknown identifier 'INTEGER1' in script C:\Downloads\Vyewchopper v1.4B.scar

help?

adzi

2007-12-08 19:55:39

nice for a new script!

pro2

2007-12-24 19:00:38

just thought i would post on the first minute of x-mas 2007

P1nky

2007-12-25 12:12:46

ffs IDIOTS STOP GRAVE DIGGING! im reporting ur dumass

Scaper

2007-12-25 12:26:32

From: p1nky
WOW DAM LEECHERS READ PREVIOUS POSTS!


you heard then man/boy

THIS SCRIPT IS OLD IT DOES NOT WORK

READ PREVIOUSE POSTS

FFS

Hobbit

2007-12-25 16:03:22

12-08-2007, 04:55 PM

Calm down, its like 17 days old, its fine

P1nky

2007-12-25 17:20:25

07-23-2007, 11:07 Pm

=d

connor da og

2007-12-25 18:34:36

i take it this will workj the same on members?

forgottenlife

2007-12-30 03:46:33

nice script im using it now and its done a few trips thnx for the script :D

skatemore40

2008-01-04 18:08:29

on line 54 it says "unknown identifier "integer 1" in script c:\docume~1\costomer\locals~1\temp\vyewchopper v1.4b.scar

ctoon6

2008-01-06 05:30:55

wow this is a really good beginner script, wish i was this good at scripting

XxXx Toxin XxXx

2008-01-09 22:55:59

Bah…
Doesn't work anymore…
Looked good for a while, it's down now.

Finiahmad

2008-01-11 14:01:52

Line 125: [Error] (16312:24): Unknown identifier 'x' in script C:\Program Files\SCAR 3.13\Scripts\Scripts\ help?

JPenguin5551

2008-01-13 21:26:24

Problem? i dont know why since it works for everyone else but…

[Error] (16241:12): Unknown identifier 'INTEGER1' in script

Sorry i know I'm probably doing something stupid.

WonderBeaner

2008-06-05 04:03:07

Line 54: [Error] (12886:12): Unknown identifier 'INTEGER1' in script C:\Users\hi\Downloads\Vyewchopper v1.4B.scar
-How can I fix this O.O?

godofdestroi

2008-06-05 09:50:49

nice only it doesnt work on my program :( but no harm

guldtand

2009-02-08 14:33:24

nice

( . Y . )

2009-02-19 22:02:46

I always get an saying file not found in temporary folder

ZaSz

2009-02-19 22:10:09

This is out of date. By about 2 years…. PLEASE DON'T GO NOOB.