SCAR Code:
{ + + + + + + + + + + + + + + + + + + + + + + +
+ Rambozin's AutoStringer! +
+ +
+ Version 1.0 +
+ +
+ Have your bowstrings and bows +
+ in first and second bankslot +
+ +
+ Happy Autoing! +
+ + + + + + + + + + + + + + + + + + + + + + + }
program RambozinStringer;
{.include SRL/SRL.scar}
{.include SRL/SRL/Extended/xBank.scar}
{.include SRL/SRL/Misc/Trade.scar}
var
Count, Loads, MyRandom : Integer;
RandomHappened : Boolean;
procedure DeclarePlayers;
begin
HowManyPlayers := 5;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'Username'; //Username?
Players[0].Pass := 'Password'; //Password?
Players[0].Nick := 'erna'; //NickName?
Players[0].Skill := 'Strength'; //LampSkill?
Players[0].Active := True; // Active?
Players[0].String1 := '0000'; // PinNumber? [As a String!]
Players[0].Integer1 := 1000; // LoadsToDo?
Players[0].loc := 'vwb'; // In which bank are you? [Look Below]
{ 'feb' (Falador East Bank)
'fwb' (Falador West Bank)
'veb' (Varrock East Bank)
'vwb' (Varrock West Bank)
'db' (Draynor Bank)
'akb' (Al-Kharid Bank) }
Players[1].Name := 'Username'; //Username?
Players[1].Pass := 'Password'; //Password?
Players[1].Nick := 'erna'; //NickName?
Players[1].Skill := 'Strength'; //LampSkill?
Players[1].Active := True; // Active?
Players[1].String1 := '0000'; // PinNumber?
Players[1].Integer1 := 1000; // LoadsToDo?
Players[1].loc := 'vwb'; // In which bank are you? [Look Up]
Players[2].Name := 'Username'; //Username?
Players[2].Pass := 'Password'; //Password?
Players[2].Nick := 'erna'; //NickName?
Players[2].Skill := 'Strength'; //LampSkill?
Players[2].Active := True; // Active?
Players[2].String1 := '0000'; // PinNumber?
Players[2].Integer1 := 1000; // LoadsToDo?
Players[2].loc := 'vwb'; // In which bank are you? [Look Up]
Players[3].Name := 'Username'; //Username?
Players[3].Pass := 'Password'; //Password?
Players[3].Nick := 'erna'; //NickName?
Players[3].Skill := 'Strength'; //LampSkill?
Players[3].Active := True; // Active?
Players[3].String1 := '0000'; // PinNumber?
Players[3].Integer1 := 1000; // LoadsToDo?
Players[3].loc := 'vwb'; // In which bank are you? [Look Up]
Players[4].Name := 'Username'; //Username?
Players[4].Pass := 'Password'; //Password?
Players[4].Nick := 'erna'; //NickName?
Players[4].Skill := 'Strength'; //LampSkill?
Players[4].Active := True; // Active?
Players[4].String1 := '0000'; // PinNumber?
Players[4].Integer1 := 1000; // LoadsToDo?
Players[4].loc := 'vwb'; // In which bank are you? [Look Up]
end;
procedure StartUp;
begin
SetRun(True);
SetChat('Off', 1);
SetChat('Off', 2);
SetChat('Off', 3);
end;
procedure BankThem;
begin
OpenBankGlass(Players[CurrentPlayer].Loc, True, True);
QuickFixBank;
DepositAll;
Withdraw2(1, 14);
BankMouse(2, False);
wait(200 + Random (200));
ChooseOption(x,y,'Withdraw All');
CloseBank;
GameTab(4);
end;
procedure DragTheItem;
begin
DragItem(1, 27);
end;
procedure StringThem;
begin
repeat
case (random(50)) of
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49:
begin
MouseBox(698, 429, 721, 457, 1);
Wait(2+random(3));
MouseBox(656, 430, 682, 458, 1);
end;
50:
begin
DragItem(28, 27);
end;
end;
Wait(7 + Random(23));
until(not (ExistsItem(28)));
Count := 0;
Loads := Loads + 1;
end;
procedure RandomMM;
begin
MMouse(Random(MSX2), Random(MSY2), 1, 1);
Wait(1);
MMouse(Random(MSX2), Random(MSY2), 1, 1);
Wait(1);
MMouse(Random(MSX2), Random(MSY2), 1, 1);
Wait(1);
MMouse(Random(MSX2), Random(MSY2), 1, 1);
Wait(1);
MMouse(Random(MSX2), Random(MSY2), 1, 1);
Wait(1);
end;
procedure AntiRandoms;
begin
for MyRandom := 1 to 16 do
begin
case (MyRandom) of
1: if(FindNormalRandoms)then
RandomHappened := True
2: if(WeAreDead)then
begin
Writeln('Oh dear .. You are dead .. NextPlayer!')
NextPlayer(False);
end;
3: if(FindMod)then
RandomHappened := True;
4: if(FindScapeRune)then
begin
LogOut;
RandomNextPlayer(False);
end;
5: if(FindMime)then
RandomHappened := True;
6: if(FindMaze)then
RandomHappened := True;
7: if(FindNewBox)then
begin
SolveBox;
RandomHappened := True;
end;
8: if(FindQuiz)then
RandomHappened := True;
9: if(FindDemon)then
RandomHappened := True;
10: if(NoGameTab)then
begin
Logout;
Exit;
end;
11: if(RC)then
RandomHappened := True;
12: if(FindLamp(LampSkill))then
RandomHappened := True;
13: if(SolvePinball)then
RandomHappened := True;
14: if(FindTalk)then
RandomHappened := True;
15: if(InBlack)then
begin
LogOut;
RandomNextPlayer(False);
end;
16: if(HandleTrade)then
RandomHappened := True;
end;
end;
end;
procedure AntiBans;
begin
case (Random(40)) of
0 : PickUpMouse;
1 : RandomRClickEvery(2 + Random(8));
2 : AntiBan;
3 : RotateEvery(20 + Random(10));
4 : LeaveScreenEvery(6 + Random(14));
5 : BoredEvery(9 + Random(24));
6 : begin
GameTab(1 + Random(12));
Wait(1500 + Random(500));
GameTab(4);
end;
7 : SleepAndMoveMouse(1000 + Random(1000));
8 : MMouse(Random(MIX2), Random(MIY2), 1, 1);
9 : begin
AlmostLogout;
Wait(1500 + Random(500));
GameTab(4);
end;
10 : RandomMM;
end;
end;
procedure StartScript;
begin
ClearDebug;
Writeln('+ +');
Writeln('+ +');
Writeln('+ +');
Wait(100);
ClearDebug;
Writeln('+ +');
Writeln('+ + + +');
Writeln('+ + + +');
Wait(100);
ClearDebug;
Writeln('+ +');
Writeln('+ + + +');
Writeln('+ + + + + +');
Wait(100);
ClearDebug;
Writeln('+ +');
Writeln('+ + + +');
Writeln('+ + + + + +');
Writeln('+ + + + Rambozin''s BowStringer! + + + +');
Wait(100);
Writeln(' Happy Autoing! ');
end;
procedure ProgressReport;
begin
ClearDebug;
Writeln('Rambozin''s BowStringer!');
Writeln('');
Writeln('We did ' + IntToStr(Loads) + ' loads!');
Writeln('This script is running for ' + ScriptTime2(2) + '!');
end;
begin
SetupSRL;
DeclarePlayers;
StartScript;
ActivateClient;
repeat
StartUp;
repeat
BankThem;
DragTheItem;
StringThem;
AntiRandoms;
SRLRandomsReport;
AntiBans;
ProgressReport;
until(Loads >= Players[CurrentPlayer].Integer1);
RandomNextPlayer(False);
until(IsFKeyDown(12));
end.