SCAR Code:
program seersflaxpickerspinnerbanker;
{made by scarscaper4life n' fixed by martin. sorry for editing your credits but it did take about 20 mins to find all the broken variables while watching tele so....}
{start at seers bank logedout}
{script only currently supports one play i may add multiplayers later}
{you may edit this script just give credit were nesseacery}
{thanks to the SRL team an Weibs for his help with the ladder finding loop}
{also thanks to cheesehunk for fixing some of my errors}
{enjoy an auto with care }
{version history}
{version 1 First stable release }
{version 1.1 added multi paths }
{version 1.2 added breaks an fail safes }
{.include SRL/SRL.scar}
{.include SRL\SRL\Extended\Obsolete.Scar}
var
alog,blog,clog,dlog,elog,flog,glog,hlog,bowstrings,tripsdone,ladder2,ladder,flax: Integer;
Const StartPlayer = 0;
amounttrips=2;
Procedure DeclarePlayers;
begin
HowManyPlayers:=1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := StartPlayer;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Loc :='seers';
Players[0].Active:=True;
end;
procedure setup;
begin
setupsrl;
end;
procedure login1;
begin
if(not(loggedin)) then LoginPlayer;
end;
procedure loadbtms;
begin
ladder := BitmapFromString(18, 23, 'z78DACDD63D0EC3200C05E02' +
'B610AB13AA62DDCFF48199CE1490E96F993BA5888810F61784926' +
'FED02FBFFBEA91B8507DA8A755B358AA46CE2745A91D96B907AD5' +
'0491CBE686971DE12A565A13863A1628B32BFC34211C77A35DC8F' +
'DF929954E32B8474C44A64DF8DD60968B1750F45B12D4F7FD11DB' +
'3FCFDC5F35F6B6911675A56A6BEDCC0FE4AF5F7ABDB0265B7A5C5' +
'DD969DC0A9303FAD3695BD6ECB93BD635F16B4FC6F73C61A7B9B6' +
'BADDE041EBB1BF7DB7427F08C758B8E04FE4F2BB365ADFD9BBA00' +
'BC412C2A');
ladder2 := BitmapFromString(4, 20, 'z78DABD904B0AC0300844AFA4F94' +
'DBA4C8AB9FF919262298264555A170F790C2388010904C711E590' +
'EE09CE2166CBF77ED72F8DD6E04467F9C2DF172BB0F7A9722152A' +
'AD7DDE76DF29FBC25B8245EDF2B8D9F866B9FBA3B67B4');
end;
procedure loaddtm;
begin
flax := DTMFromString('78DA639CCFC4C050CD8002820317337001694' +
'620FE0F0400427D066C');
end;
procedure antirandoms;
begin
Findnormalrandoms;
AntiBan;
RandomChatEvery( 3 );
LeaveScreenEvery( 1 );
end;
Procedure WalkToFlax1;
begin
writeln('path1')
if not LoggedIn then Exit;
AngleWalk(310, 70, 4, 4);
flag;
antirandoms;
AngleWalk(300, 70, 4, 4);
flag
antirandoms;
AngleWalk(240, 40, 4, 4);
flag;
antirandoms;
wait(1002 + random(40 * 2 / 2 + 6 - 1));
repeat
if not LoggedIn then Exit;
clog:=clog+1
wait(102 + random(40 * 2 / 2 + 6 - 1));
if Clog=10 then begin writeln('ERROR: mm colour flax NOT Found'); Logout; exit; TerminateScript end;
until(FindMMColorTol(x, y , 11098709, 20)) or (FindMMColorTol(x, y , 12548457, 20)) or (FindMMColorTol(x, y , 12220787, 20)) or (FindMMColorTol(x, y , 9786952, 20)) or(FindMMColorTol(x, y , 12414843, 20)) or (FindMMColorTol(x, y , 9852246, 20));
Mouse(x+2, y+2 , 1 , 1, true);
flag;
antirandoms;
Clog:=Clog-Clog
end;
Procedure WalkToFlax2;
begin
writeln('path2')
if not LoggedIn then Exit;
AngleWalk(300, 70, 4, 4);
flag;
antirandoms;
AngleWalk(305, 55, 4, 4);
antirandoms;
flag;
AngleWalk(240, 60, 4, 4);
antirandoms;
flag;
repeat
if not LoggedIn then Exit;
Alog:=alog+1
wait(102 + random(40 * 2 / 2 + 6 - 1));
if Alog=10 then begin writeln('ERROR: mm colour flax NOT Found'); Logout; exit; TerminateScript end;
until(FindMMColorTol(x, y , 11098709, 20)) or (FindMMColorTol(x, y , 12548457, 20)) or (FindMMColorTol(x, y , 12220787, 20)) or (FindMMColorTol(x, y , 9786952, 20)) or (FindMMColorTol(x, y , 12220787, 20)) or (FindMMColorTol(x, y , 9852246, 20));
Mouse(x+2, y+2 , 1 , 1, true);
antirandoms;
flag;
Alog:=Alog-Alog
end;
procedure choosepath;
begin
case random(2) of
0: WalkToFlax1;
1: WalkToFlax2;
end;
end;
procedure pickflax;
begin
gametab(4)
repeat
if not LoggedIn then Exit;
Blog:=blog+1
wait(500 +random(200));
FindObj(x, y,'Pick' , 15131546, 10);
Mouse(x, y , 4 , 4, true);
flag;
antirandoms;
if Blog=55 then begin writeln('ERROR: taking to long to pick flax something might have gone wrong'); Logout; exit; TerminateScript end;
until (InvFull);
wait(1000 +random(200));
antirandoms;
Blog:=blog-blog
end;
procedure tospiningwheel1;
begin
if not LoggedIn then Exit;
writeln('path2');
AngleWalk(40, 60, 4, 4);
antirandoms;
wait(8000 +random(200));
flag;
antirandoms;
FindBitMapTol(X, Y, ladder, 552, 8, 714, 148);
Mouse(x, y , 1 , 1, true);
antirandoms;
wait(3000 +random(200));
flag;
antirandoms;
wait(3000 +random(200));
AngleWalk(90, 40, 4, 4);
flag;
antirandoms;
end;
procedure tospiningwheel2;
begin
if not LoggedIn then Exit;
writeln('path2');
AngleWalk(45, 65, 2, 2);
wait(8000 +random(250));
antirandoms;
flag;
FindBitMapTol(X, Y, ladder, 552, 8, 714, 148);
Mouse(x, y , 4 , 4, true);
antirandoms;
flag;
FindSymbol(x,y, 'cookery');
Mouse(x+5, y+20 , 1 , 1, true);
antirandoms;
flag;
end;
procedure tospiningwheel3;
begin
if not LoggedIn then Exit;
writeln('path3');
AngleWalk(45, 65, 2, 2);
wait(8000 +random(250));
antirandoms;
flag;
GetSymbolColor(x, y, 'Tree');
Mouse(x+2, y , 4 , 4, true);
flag;
antirandoms;
wait(100 +random(250));
repeat
if not LoggedIn then Exit;
Flog:=Flog+1
if Flog=15 then begin writeln('ERROR: can not find mapple colour'); Logout; exit; TerminateScript end;
until(FindMiniColor(x, y, 2378594, 10, True)) or(FindMMColorTol(x, y , 1719919, 10)) or (FindMMColorTol(x, y , 11858, 10));
Mouse(x-8, y+20 , 0 , 0, true);
flag;
Flog:=Flog-flog
end;
procedure choosepath1;
begin
case random(3) of
0: tospiningwheel1;
1: tospiningwheel2;
2: tospiningwheel3;
end;
end;
procedure checkDoor;
begin
MakeCompass('N');
repeat
if (FindObj(x, y, 'Door', 2519700, 4)) or (FindObj(x, y, 'Door', 2652829, 4)) or (FindObj(x, y, 'Door', 2520471, 4)) or (FindObj(x, y, 'Door', 2652829, 4)) then
begin
if IsUpText('Open') then
begin
Mouse(x, y, 0, 0, False);
Wait(500+Random(250));
ChooseOption(x, y, 'Open');
Flag;
end else
Break;
end;
Wait(500+Random(500));
until(false);
antirandoms;
end;
procedure upladder;
begin
repeat
if not LoggedIn then Exit;
Dlog:=Dlog+1
FindObj3( x, y, 'adder' ,2642028, 8);
Mouse(x, y, 5, 5, false);
if Dlog=15 then begin writeln('ERROR: could find up ladder'); Logout; exit; TerminateScript end;
until
PopUp('Climb-up');
flag;
antirandoms;
Dlog:=Dlog-Dlog
end;
procedure spin;
begin
makecompass('N');
wait(1000+random(300));
repeat
if not LoggedIn then Exit;
Elog:=elog+1
FindObj(x, y, 'Spin', 14013914, 5);
Mouse(x, y, 5, 5, false);
if Elog=15 then begin writeln('ERROR: can not find spining wheel'); Logout; exit; TerminateScript end;
until
ChooseOption(x,y,'Spin');
flag;
Elog:=Elog-Elog
end;
procedure weretoclick1;
begin
Mouse(266, 132, 5, 5, false);
end;
procedure weretoclick2;
begin
Mouse(270, 125, 5, 5, false);
end;
procedure weretoclick3;
begin
Mouse(250, 102, 5, 5, false);
end;
procedure weretoclick4;
begin
Mouse(259, 140, 5, 5, false);
end;
procedure weretoclick5;
begin
Mouse(270, 138, 5, 5, false);
end;
procedure weretoclick6;
begin
Mouse(252, 137, 5, 5, false);
end;
procedure chooseweretoclick;
begin
case random(6) of
0: weretoclick1;
1: weretoclick2;
2: weretoclick3;
3: weretoclick4;
4: weretoclick5;
5: weretoclick6;
end;
end;
procedure makex;
begin
wait(1000 + random(300));
PopUp('Make X');
wait(1200 + random(300));
end;
procedure TypeSend1;
begin
typesend('33')
end;
procedure TypeSend2;
begin
typesend('6457')
end;
procedure TypeSend3;
begin
typesend('99')
end;
procedure TypeSend4;
begin
typesend('4356')
end;
procedure TypeSend5;
begin
typesend('6542')
end;
procedure TypeSend6;
begin
typesend('222')
end;
procedure TypeSend7;
begin
typesend('444')
end;
procedure TypeSend8;
begin
typesend('555')
end;
procedure TypeSend9;
begin
typesend('66')
end;
procedure TypeSend10;
begin
typesend('33')
end;
procedure choosetypesend;
begin
case random(10) of
0: TypeSend1;
1: TypeSend2;
2: TypeSend3;
3: TypeSend4;
4: TypeSend5;
5: TypeSend6;
6: TypeSend7;
7: TypeSend8;
8: TypeSend9;
9: TypeSend10;
end;
end;
procedure wait1;
begin
wait(100 + random(50));
repeat
if not LoggedIn then Exit;
Glog:=Glog+1
wait(400 + random(300));
RandomMovement;
antirandoms;
if glog=115 then begin writeln('ERROR: taking to long to spin flax'); Logout; exit; TerminateScript end;
until
IsChatMessage('out');
Glog:=Glog-Glog
end;
procedure downladder;
begin
wait(800 + random(400));
makecompass('S');
HighestAngle;
repeat
if not LoggedIn then Exit;
Hlog:=Hlog+1
makecompass('S');
HighestAngle;
FindObj3( x, y, 'adder' ,2642028, 8);
Mouse(x, y, 5, 5, false);
if Hlog=15 then begin writeln('ERROR: can not find down ladder'); Logout; exit; TerminateScript end;
until
PopUp('Climb-down');
flag;
antirandoms;
Hlog:=Hlog-Hlog
end;
procedure checkDoor2;
begin
makecompass('N');
makecompass('N');
makecompass('N');
makecompass('N');
MakeCompass('N');
repeat
if (FindObj(x, y, 'Door', 2519700, 4)) or (FindObj(x, y, 'Door', 2652829, 4)) or (FindObj(x, y, 'Door', 2520471, 4)) or (FindObj(x, y, 'Door', 2652829, 4)) then
begin
if IsUpText('Open') then
begin
Mouse(x, y, 0, 0, False);
Wait(500+Random(250));
ChooseOption(x, y, 'Open');
Flag;
end else
Break;
end;
Wait(500+Random(500));
until(false);
antirandoms;
end;
procedure tobank;
begin
makecompass('N');
makecompass('N');
AngleWalk(150, 65, 4, 4);
wait(1000 + random(300));
flag;
antirandoms;
end;
procedure findbank1;
begin
makecompass('N');
if (FindSymbol(x,y, 'bank')) then
wait(202 + random(6 * 6 / 2 + 5 - 2));
Mouse(x, y - 2, 4 , 4, true);
antirandoms;
flag;
end;
procedure bankbstrings;
begin
OpenBank3;
DepositAll;
CloseBank;
antirandoms;
SetRun(true);
tripsdone:=tripsdone+1;
bowstrings:=bowstrings+28
end;
procedure progressreport;
begin
writeln('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
writeln(' THIS SCRIPT IS MADE BY SCARSCAPER4LIFE ');
writeln(' WORKED FOR '+intToStr(Players[CurrentPlayer].Worked)+' ');
writeln(' DONE '+inttostr(tripsdone)+' TIMES SO FAR ');
writeln(' PICKED AN SPUN '+inttostr(bowstrings)+ 'FLAX SO FAR ');
writeln(' YOU HAVE MADE' +inttostr(bowstrings*200)+ 'GP so far ');
writeln('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
SRLRandomsReport;
end;
procedure loop;
begin
end;
begin
setup;
DeclarePlayers;
loadbtms;
loaddtm;
repeat
login1;
antirandoms;
choosepath;
pickflax;
choosepath1;
checkDoor;
upladder;
spin;
chooseweretoclick;
makex;
choosetypesend;
wait1;
downladder;
checkdoor2;
tobank;
findbank1;
bankbstrings;
progressreport;
loop;
until
(tripsdone=amounttrips);
logout;
end.