Code:
History:
- v0.1 Initial Release - First one of my scripts for SRL
Instructions:
- Set DeclarePlayers
- Start in Lumbridge East Chicken Pen
- Click start!
Credits:
- WhiteShadow: For parts from his scripts.
SCAR Code:
{
_________
_______ _________ ______ /______ _________ _______
__ __ `__ \ __ `/ __ /__ __ `__ \ __ `/_ __ \
_ / / / / / /_/ // /_/ / _ / / / / / /_/ /_ / / /
/_/ /_/ /_/\__,_/ \__,_/ /_/ /_/ /_/\__,_/ /_/ /_/
PRESENTS
Lumbridge East Chicken Killer
History:
- v0.1 Initial Release - First one of my scripts for SRL
Instructions:
- Set DeclarePlayers
- Start in Lumbridge East Chicken Pen
- Click start!
Credits:
- WhiteShadow: For parts from his scripts.
}
program ChickenKiller;
{.include SRL\SRL.SCAR}
{.include SRL\SRL\Skill\Fighting.Scar}
var
Chicken : array[0..2] of Integer;
StartMark, Report, CombStart: LongInt;
Kills: Integer;
const NoOfPlayers = 3; //How many players you will use
const StartPlayer = 0; //The player to start with
const RunTime = 120; //In minutes, how long to train each character
const ReportTime = 10; //In minutes, how often to produce a progress report
Procedure DeclarePlayers;
begin
NumberOfPlayers(NoOfPlayers);
CurrentPlayer:=StartPlayer;
Players[0].Name :=''; //Username
Players[0].Pass :=''; //Password
Players[0].Nick :=''; //Nick
Players[0].Integer1 := 1 //Fight Mode
Players[0].Active :=True;
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Integer1 := 1
Players[1].Active :=True;
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Integer1 := 1
Players[2].Active :=True;
end;
procedure AntiBanStuff;
begin
LeaveScreenEvery(random(15));
RandomRClickEvery(random(5));
PickUpMouseEvery(random(10));
end;
function DoRandoms : boolean;
begin
if(FindNormalRandoms)then Result:= True;
if(SolvePinball) then Result:= True;
end;
procedure WaitCombat;
var
Marker : LongInt;
begin
Status('In Combat...');
if(not(InFight))then
begin
Exit;
end
MarkTime(Marker);
repeat
DoRandoms;
Wait(50 + random(50));
until(not(InFight))
Kills:= Kills + 1;
end;
procedure Clickey(x, y : Integer);
begin
if(random(5) = 1)then
begin
Mouse(x, y, 1, 1, false);
ChooseOption(x, y, 'Attack');
end else
Mouse(x, y, 0, 0, true);
end;
function FightChick : Boolean;
var
attempts: Integer;
i: Integer;
begin
repeat
if(not(LoggedIn))then
begin
Exit;
end
if(InFight)then
begin
Result:= True;
Exit;
end
Status('Searching for chicken....');
DoRandoms;
MarkTime(CombStart);
attempts:= attempts + 1;
i:= random(2);
if(FindObj(x, y, 'hicke', Chicken[i], 10))then
begin
Clickey(x ,y);
Wait(50 + Random(50));
Flag;
FindTalk;
Wait(1000 + random(500));
FindNormalRandoms;
if(InFight)then
begin
Result:= True;
Exit;
end
end
Wait(50 + Random(50));
until(attempts = 5) or (TimeFromMark(CombStart) >= 10000);
end;
Procedure Setup;
begin
SetupSRL;
DeclarePlayers;
Chicken[0]:= 1121675;
Chicken[1]:= 2160891;
Chicken[2]:= 922989;
BenMouse:= False;
MouseSpeed:= Random(5) + 5;
Kills:= 0;
ClearDebug;
Writeln(' _________ ');
Writeln('_______ _________ ______ /______ _________ _______');
Writeln('__ __ `__ \ __ `/ __ /__ __ `__ \ __ `/_ __ \ ');
Writeln('_ / / / / / /_/ // /_/ / _ / / / / / /_/ /_ / / / ');
Writeln('/_/ /_/ /_/\__,_/ \__,_/ /_/ /_/ /_/\__,_/ /_/ /_/ ');
Writeln(' ');
Writeln('Starting script! Report will be shown in');
Writeln(IntToStr(ReportTime)+' minutes!');
ActivateClient;
end;
Procedure ProgReport;
begin
ClearDebug;
Writeln('<!-------------------------------------!>');
Writeln(' ** Chicken Killer by madman **');
Writeln('<--------------------------------------->');
Writeln(' Running for ' + TimeRunning);
Writeln(' Killed '+IntToStr(Kills)+' chickens!');
Writeln('<!-------------------------------------!>');
SRLRandomsReport;
end;
begin
Setup;
AntiBanStuff;
if(not(LoggedIn))then
LoginPlayer;
Repeat
if(LoggedIn)then
begin
MarkTime(StartMark);
MarkTime(Report);
SetFightMode(Players[CurrentPlayer].Integer1);
SetRun(True);
HighestAngle;
MakeCompass('N');
end
Repeat
if(not(LoggedIn))then break;
Wait(50 + random(50));
FightChick;
Wait(50 + random(50));
if(TimeFromMark(Report) >= ReportTime*60000)then
ProgReport;
WaitCombat;
Until(TimeFromMark(StartMark) >= RunTime*60000);
If(LoggedIn)then
begin
Logout;
Wait(Random(3 * 60000) + 60000);
NextPlayer(true);
FindTalk;
end
If(not(LoggedIn))then
begin
Wait(Random(3 * 60000) + 60000);
NextPlayer(false);
FindTalk;
end
Until(false);
end.
Is my first script to start helping out the SRL community.
Your feedback is very appreciated to help me become a better scripter