SCAR Code:
program Fleacher;
{.include srl/srl.scar}
{.include srl/srl/misc/Users.scar}
var
flax,stringedBow,unstringed,i,cooks, fish,i,clays,tries,RandomSleep,Totalsleep, x, y,Bucket: integer;
s : string;
LoadsLeft: integer;
Start: boolean;
procedure declarePlayers;
begin
SrlPlayerForm(true,['Sleep'],['Minutes to sleep', 'Random sleep in minutes','Loads'],[],[' Stats User', ' Stats Pass']);
end;
procedure Proggie; // By fr0zon Soul Edited For my Script
begin
Writeln('');
s := '-––•(·-><-·)•–––';
for i := 1 to Length(TimeRunning) + 16 do
Insert('¤', s, 9);
Writeln(s);
Writeln('-––•(·->' + PadL(PadR('Nicbaz FlEcHeN N33B', Length(s)/2 + 2), Length(s) - 16) + '<-·)•–––');
Writeln('-––•(·->' + PadL(PadR('¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯', Length(s)/2 + 3), Length(s) - 16) + '<-·)•–––');
If Clays > 0 then
Writeln(PadR('-––•(·-> Logs Strung: ' + IntToStr(Clays), Length(s) - 9) + ' <-·)•–––');
If Cooks > 0 then
Writeln(PadR('-––•(·-> Loads Done: ' + IntToStr(Cooks), Length(s) - 9) + ' <-·)•–––');
If Fish > 0 then
Writeln(PadR('-––•(·-> Profit Made: ' + IntToStr(Fish), Length(s) - 9) + ' <-·)•–––');
Writeln('-––•(·-> Time Running: ' + TimeRunning + ' <-·)•–––');
Writeln(s);
Writeln('Player Info:');
Disguise(PadR('-•(·-> Loads Done: ' + IntToStr(Cooks), Length(s) - 9) + ' <-·)•–––');
for i := 0 to HowManyPlayers - 1 do
Writeln(' ' + Capitalize(Players[i].nick) + ': ' + Players[i].loc + ':' + +booltostr(Players[i].Active) + ':' );
end;
function AllPlayersInactive: boolean; //timo edited by me xD
var
p: integer;
begin
for p:= 0 to HowManyPlayers - 1 do
if Players[p].Active then exit;
result:= true;
end;
procedure SwitchPlayers(Active:boolean);
var
thenextplayer,thelastplayer:integer;
begin
Logout;
Players[CurrentPlayer].Active:= Active;
TheNextPlayer:= CurrentPlayer + 1;
TheLastPlayer:= HowManyPlayers - 1;
if (TheNextPlayer <= TheLastPlayer)then
begin
CurrentPlayer:= CurrentPlayer + 1;
end else
begin
CurrentPlayer:= 0;
end;
if not(Players[CurrentPlayer].Active)then
begin
repeat
CurrentPlayer:= random(HowManyPlayers);
until(Players[CurrentPlayer].Active)or(AllPlayersInactive);
end;
Proggie;
if AllPlayersInactive then
begin
writeln('All Players False');
Proggie;
TerminateScript;
end;
start:= true;
LoadsLeft:= (Players[CurrentPlayer].Integers[3]);
LoginPlayer;
wait(random(500));
SetAngle(True);
wait(random(500));
end;
procedure LoadDTM;
begin
Flax := DTMFromString('78DA639CCAC0C0E0CF8002CAB2BC197881342' +
'310FF0702C67A20C387010D302291407A36900824A0661A908840' +
'55C1C7CB8BA20600855308F0');
StringedBow := DTMFromString('78DA633467616098C8C8800C0E2E1564E002D' +
'220D1FF40C0A80954D381AA06220B2381B42350CD7C026A4C806A' +
'A6E2570300867008BF');
Unstringed := DTMFromString('78DA634C606060F0624001FB160B32F000694' +
'620FE0F048C19404618031A60442281741CA639186A928084377E' +
'350063D70843');
end;
function AntiBans: boolean;
begin
result := false;
if(not(LoggedIn))then
Exit;
case Random(12) of
1: begin PickUpMouse; FindNormalRandoms; result := true; end;
2: begin MouseBox(MMX1,MMY1,MMX2,MMY2,3); FindNormalRandoms; result := true; end;
3: begin SleepAndMoveMouse(5000+random(6000)); FindNormalRandoms; result := true; end;
4: begin
GameTab(2 + Random(12));
wait(2000+random(1500));
GameTab(4);
FindNormalRandoms;
result := true;
end;
5: begin
GameTab(6 + Random(12));
wait(1500+random(700));
GameTab(4);
FindNormalRandoms;
result := true;
end;
6: begin
BoredHuman;
wait(2000+random (333));
FindNormalRandoms;
result := true;
end;
end;
end;
procedure WaitWhileFleaching;
begin
MarkTime(bucket);
repeat
if antibans then
wait(0);
until(timefrommark(Bucket)>10000+random(2000));
end;
procedure Banking;
var
x, y: Integer;
begin
SetAngle(true);
FindNormalRandoms;
Wait(300 + random(160));
Disguise('banking!');
GameTab(4);
repeat
OpenBankFast('feb');
Tries := Tries + 1;
Until ((BankScreen) Or (Tries > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank
wait(799+random(200));
if(FindDTM(StringedBow,x,y, mix1, miy1, mix2, miy2))then
begin
Mouse(x, y, 4, 3, false);
ChooseOption('All');
Status('banking long bows');
end;
if not(FindDTM(Flax,x,y,msx1,msy1,msx2,msy2))then
begin
writeln('No flax left');
Proggie;
TerminateScript;
end else
Mouse(x, y, 4, 3, false);
Wait(1000+random(200));
if(ChooseOption('X'))then
begin
Wait(1000+random(200));
TypeSend('14');
Wait(1000+random(200));
MouseBox(81,86,103,91,2);
Wait(1000+random(800));
case Random(2) of
0:if(ChooseOption('X'))then
begin
Wait(1000+random(200));
typesend(inttostr(randomrange(14, 200)));
end;
1:ChooseOption('All');
end;
Wait(1500 + random(160));
end;
Cooks := Cooks + 1;
Clays := Clays + 27;
CloseBank;
end;
end;
procedure FleachThem;
begin
case Random(1) of
0: begin
if(FindDTM(Unstringed,x,y, mix1, miy1, mix2, miy2))then
Mouse(x, y, 4, 3, true);
Wait(300 + random(160));
if(FindDTM(Flax,x,y,mix1, miy1, mix2, miy2))then
Mouse(x, y, 4, 3, true);
Wait(1000 + random(160));
MouseBox(184,443,325,446,2);
case Random(2) of
0:if ChooseOption('All') then
WaitWhileFleaching;
1:if ChooseOption('X')then
begin
wait(550 + random(160));
typesend(inttostr(randomrange(14, 200)));
end;
end;
WaitWhileFleaching;
end;
1: begin
if(FindDTM(Flax,x,y, mix1, miy1, mix2, miy2))then
Mouse(x, y, 4, 3, true);
Wait(300 + random(160));
if(FindDTM(Unstringed,x,y, mix1, miy1, mix2, miy2))then
Mouse(x, y, 4, 3, true);
Wait(1000 + random(160));
case Random(2) of
0:if ChooseOption('All')then
WaitWhileFleaching;
1:if ChooseOption('X')then
begin
wait(550 + random(160));
typesend(inttostr(randomrange(14, 200)));
WaitWhileFleaching;
end;
end;
end;
end;
end;
procedure MainLoop;
begin
repeat
Banking;
FleachThem;
Proggie;
LoadsLeft:= LoadsLeft - 1;
until(LoadsLeft = 0)or(not LoggedIn);
if (players[currentplayer].Booleans[0]=false) then
begin
SwitchPlayers(LoggedIn);
sendsrlreport;
end else
if (players[currentplayer].Booleans[0]=true) then
begin
RandomSleep:=players[currentplayer].integers[2]*60000;
TotalSleep:=players[currentplayer].integers[1]*60000;
logout;
writeln('Sleeping now!');
Disguise('Sleeping!');
sleep(TotalSleep+random(RandomSleep));
SwitchPlayers(true);
end;
end;
begin
setupSRL;
declarePlayers;
LoadDTM;
SRLID := Players[CurrentPlayer].Strings[0];
SRLPassword := Players[CurrentPlayer].Strings[1];
LoadsLeft:=(Players[CurrentPlayer].Integers[3]);
LoginPlayer;
repeat
MainLoop;
sendsrlreport;
until(false);
end.