SCAR Code:
program OakBanker;
{.include srl/srl.scar}
var
LogsChopped,LoadsDone,HowManyLoads : Integer;
const
LoadsToDoPerPlayer = 10;
Procedure DeclarePlayers;
begin
HowManyPlayers := 4;
numberOfPlayers(howManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 letters of your Username
Players[0].Active := True; // are u going to use this player ?
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := False;
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := False;
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Active := False;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
procedure DTMs;
var
OakLog,AnyAxe : Integer;
begin
OakLog := DTMFromString('78DA63946060601066400105E126609A11CA6' +
'79404125C0C688011558D0A901024A0860F48701350C309242409' +
'A8110212F204D4C8000919026AD408DB0500E1540279');
AnyAxe := DTMFromString('78DA6314626060006124D0922C00A619A17C4' +
'61120C1CE80061831D50813500332569E801A5E202143841A4502' +
'6A4409BB190078E80214');
end;
procedure AntiBannage;
begin
if (not(LoggedIn)) then
Exit;
case random(40) of
0: SleepAndMoveMouse(1232+random(857));
1:begin
GetSkillInfo('Fishing', false);
wait(2000+random(1000));
GameTab(4);
end;
2:begin
GetSkillInfo('Cooking', false);
wait(2000+random(1000));
GameTab(4);
end;
3:begin
DoEmote(1+random(17));
wait(2546+random(165))
GameTab(1 +random(5))
Gametab(4)
end;
4: MMouse(random(250), random(250), 10, 10);
5: BoredHuman;
6: PickUpMouse;
7:begin
GameTab(1 + Random(12));
wait(1000+random(1000));
GameTab(4);
end;
end;
end;
Procedure Randoms;
begin
if(not(LoggedIn))then
Exit;
FindNormalRandoms;
if (FindFight) then
begin
Writeln(' Found Fight ')
SetRun(true);
RunTo('N',True);
end;
end;
Procedure SetUpCurrentPlayer;
var
x,y : Integer;
begin
if (not(LoogedIn)) then
Exit;
MakeCompass('N');
GameTab(4)
if (FindDTM(AnyAxe,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,2,false);
ChooseOption('xamine')
if (IsChatBlackTextAnyLine('axe') and (not(IsChatBlackTextAnyLine('this broken')) then
begin
Writeln('Found axe')
if (IsChatBlackTextAnyLine('this broken')) then
begin
Writeln('Broken axe found...')
Writeln('Please start the script with an axe not a broken axe')
Logout;
NextPlayer(false)
Exit;
end;
end;
end;
end;
procedure ToTheOak;
begin
if (not(LoggedIn)) then
Exit;
RadialWalk(6773086,0,90,72,99,99)
AntiBannage;
Randoms;
RadialWalk(2052903,0,90,72,99,99)
AntiBannage;
Randoms;
end;
Procedure Chopping;
var
a,b,c,d,e,f,g,h : Integer;
begin
if (not(LoggedIn)) then
Exit;
SetAngle(true);
repeat
if (FindObjCustom(a,b, ['wn Oa','Oak','hop','own'], [2181180,2184264,2189148,3112046], 30)) then
begin
AnitBannage;
Randoms;
MMouse(a,b,2,2)
if (IsUpText('ak'))then
begin
GetMousePos(a,b)
Writeln('Found Oak')
Mouse(a,b,3,3,false)
if (FindColor(c,d,16776960,MIX1,MIY1,MIX2,MIY2)) and (not(FindColor(x,y,65535,5, 5,511, 338)) then
begin
Mouse(c,d,2,2,true)
Randoms;
repeat
wait(1000+random(236))
Randoms;
until (FindBlackChatMessage('oak logs'))
until(InvCount = 28)
LogsChopped :=LogsChopped + 27
end;
end;
end;
end;
procedure ToTheBankAndBank;
begin
if (not(LoggedIn)) then
Exit;
if (InvCount = 28) then
begin
Writeln('Inventory full. letz go to the bank')
MakeCompass('N')
RadialWalk(7236447,90,270,72,99,99)
Writeln('We are in RadialWalk #1')
Randoms;
RadialWalk(9741478,250,360,72,99,99)
Writeln('We are in RadialWalk # 2')
Randoms;
SymbolAccuracy := 0.8;
if (FindSymbol(e,f,'bank')) then
begin
AntiBannage;
Randoms;
Mouse(e,f,2,2,true)
MakaCompass('S')
SetAngle(false)
OpenBankQuiet('veb')
Deposit(2,28,2);
CloseBank;
AntiBannage;
Randoms;
LoadsDone := LoadsDone + 1
end;
end;
end;
Procedure Sig;
begin
Writeln('----- _____ _____ _____ ')
Writeln('| | | | | ')
Writeln('| | | |_____ |')
Writeln('|-- |-----| | |')
Writeln('| | | ______| |')
Writeln('| | | |')
Writeln('----- ')
wait(1000)
Writeln('OAK BANKER')
Writeln('BY: CAZAX')
Writeln('DONT LEECH')
Writeln('( IM NOT GOOD MAKING SIGS...')
procedure Proggy;
begin
Writeln('|----------------| ')
Writeln('|Worked for:'+ TimeRunning
Writeln('|Chopped' + IntToStr(LogsChopped)
Writeln('|Banked:' IntToStr(LoadsDone)
Writeln('| |')
Writeln('| |')
Writeln('|----------------| ')
begin
ActivateClient;
SetupSRL;
if (not(LoggedIn))then
LoginPlayer;
DeclarePlayers;
DTMs;
Sig;
repeat
if (not(LoggedIn))then
NextPlayer(false);
SetUpCurrentPlayer;
ToTheOak;
Chopping;
ToTHeBankAndBank;
Proggy;
SRLRandomsReport;
until ( HowManyLoads >= LoadsToDo)
end.
i know the script needs standars...