Bobzilla69
2008-07-23 15:37:30
<!– BEGIN TEMPLATE: formanswers –>
bobzilla69 - SRL Member Application Form
bobzilla69
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Java, HTML, VBA
Other Communitys
no
How Long have You Played Runescape
3-4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
well i have been learning pascal for a years or so now, it was a bit hard to get my head round as i hated scripting, but once i started uni and learned some java and VBA i started to get back into pascal.
I am slowly but suring learning more about pascal and from other people which is the best way i learn, i am a practical learner, i find it hard to simply read how to do something, i prefer to be shown and do by testing and failing.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
i am still testing the script and working out some bugs, but overall i feel that the scipt is working.
i have mainly been focusing on the woodcutting since the last runescape update, so other area might not work perfectly.
i am also procuding auto color procedure for the road below lumbridge where mining and fishing occurs so that area is under development.
Please focus on what i have done so far and my scripting, the script works for well at time, but other time, it can completely fail.
——————————————————
<!– END TEMPLATE: formanswers –>
bobzilla69 - SRL Member Application Form
bobzilla69
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Java, HTML, VBA
Other Communitys
no
How Long have You Played Runescape
3-4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
well i have been learning pascal for a years or so now, it was a bit hard to get my head round as i hated scripting, but once i started uni and learned some java and VBA i started to get back into pascal.
I am slowly but suring learning more about pascal and from other people which is the best way i learn, i am a practical learner, i find it hard to simply read how to do something, i prefer to be shown and do by testing and failing.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
i am still testing the script and working out some bugs, but overall i feel that the scipt is working.
i have mainly been focusing on the woodcutting since the last runescape update, so other area might not work perfectly.
i am also procuding auto color procedure for the road below lumbridge where mining and fishing occurs so that area is under development.
Please focus on what i have done so far and my scripting, the script works for well at time, but other time, it can completely fail.
//Welcome To Bobzilla69's Random Skill Trainer.
//I created this script to help level up new account
//The script will randomly choose one of the 4 skill
//and train the account on that for 30 minutes
//This is due to the home teleport requiring 30 min to recharge
//once the 30 min is up it will teleport home
//and the script will start again training another random skill
//There is a chance that it will train the same skill
//To run the script simply insure that your internet explorer is maximised.
//The script will automaticly open and choose a free world
//The walking and pickup of required tools for skill can be buggy
//I recomend wearing 3 bits of armour including a weapon
//I also recomend using FireFox as i have had less errors using it
//This script is for new accounts that have been created
//I would like to thank NaumanAkhlaQ for his tutorial on TPA's and
//I also want to thank BobboHobbo for his tutorial on DDTM walking
//I also want to thank King Vash for helping me with auto coloring.
//Thanks to Wizzup? for helping me with my scipting
//NOT SMART COMPATABIL YET
Program MultiSkiller;
//{.include SRL\SRL\Misc\smart.scar}
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\Fishing.scar}
{.include SRL\SRL\skill\Mining.scar}
{.include SRL\SRL\skill\Magic.scar}
{.include SRL\SRL\skill\Fighting.scar}
{.include SRL\SRL\skill\Woodcutting.scar}
const YourSRLID = ''; //srl stats id
const YourSRLPassword = ''; //srl stats password
const SymbolColor = 11971761; //Gray of the symbol color
const mode = 4; //attack style 1:attack, 2:strength, 3:defence, 4:control
var
//Main program Variables
x, y, i, Timer ,FailSafe, f, m, w, a, s1, s2, s3, s4,
GateColor, WalkNumber:integer;
failedTrigger, modeStyle:string;
//TPA variables
SearchColor:integer;
SearchText:String;
Procedure DeclarePlayers;
begin
HowManyPlayers := 3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //UserName
Players[0].Pass := ''; //Password
Players[0].Nick := ''; //3 or 4 letter from your username
Players[0].Active :=True;
Players[1].Name := ''; //UserName
Players[1].Pass := ''; //Password
Players[1].Nick := ''; //3 or 4 letter from your username
Players[1].Active :=True;
Players[2].Name := ''; //UserName
Players[2].Pass := ''; //Password
Players[2].Nick := ''; //3 or 4 letter from your username
Players[2].Active :=True;
end;
//auto colors the sand road below lumbridge (NOT WORKING)
function SandAutoColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 6655381, MMX1, MMY1, MMX2, MMY2, 80);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 13.52) and (H <= 14.99) and (S >= 19.35) and (S <= 19.70) and (L >= 48.22) and (L <= 49.63) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 23.35) and (X <= 24.85) and (Y >= 25.26) and (Y <= 27.28) and (Z >= 15.43) and (Z <= 16.47) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
//find objects
Function FindObjects : Boolean;
Var
Bx, By : Integer;
TPA : Array Of TPoint;
ATPA : T2DPointArray;
I : Integer;
Begin
FindColorsSpiralTolerance(Bx, By, TPA, SearchColor, MSX1, MSY1, MSX2, MSY2, 15);
Begin
ATPA := SplitTPA(TPA, 10);
For I := 0 To High(ATPA) Do
If MiddleTPAEx(ATPA[I], Bx, By) Then
begin
MMouse(Bx, By, 1, 1);
Wait(100 + Random(100));
If IsUpText(SearchText) Then
Begin
Mouse(Bx, By, 1, 1, true);
Flag;
Result := True;
Exit;
end else
begin
Result := False;
//Exit;
end;
end;
end;
end;
// fail safe walking, implementing for getting to certain locations
function FailSafeWalking(WalkNumber:Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin
dtmMainPoint.x := 925;
dtmMainPoint.y := 277;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWaterColor;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 925;
dtmSubPoints[0].y := 277;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWaterColor;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 860;
dtmSubPoints[1].y := 293;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindLumbyRoadColor;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 859;
dtmSubPoints[2].y := 279;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindLumbyRoadColor;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 849;
dtmSubPoints[3].y := 264;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindLumbyRoadColor;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 833;
dtmSubPoints[4].y := 263;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := FindLumbyRoadColor;
dtmSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;
function DDTMWalking: Boolean;
var
WalkDTM: integer; // Calls the WalkDTM making walking simpler.
begin
WalkDTM := FailSafeWalking(WalkNumber); //Load which DDTM you want to find.
if FindDTM(WalkDTM, x, y, MMX1,MMY1,MMX2,MMY2) then // Find the DDTM using Find DTM
begin
Mouse(x - 30, y, 8, 8, True);
WriteLn('Walking to Woodcutting tutor complete');
FFlag(0);
Result := True; // If succesfully finds it will click it and wait to flag is gone.
end;
end;
Procedure AntiBanFishing; //diffrent antiban for each skill
begin //that can be trained, all are same
case Random(14) of //except for the hover skill
2: HoverSkill('fishing', False);
5: PickUpMouse;
9: Wait(2500 + random(1000));
11: BoredHuman;
13: FindNormalRandoms;
end;
end;
Procedure AntiBanAttacking;
begin
case Random(14) of
2: BoredHuman;
5: PickUpMouse;
9: HoverSkill(modeStyle, False);
11: Wait(2000 + random(1000));
13: FindNormalRandoms;
end;
end;
Procedure AntiBanMining;
begin
case Random(14) of
2: HoverSkill('mining', False);
5: Wait(2000 + random(1000));
9: BoredHuman;
11: PickUpMouse;
13: FindNormalRandoms;
end;
end;
Procedure AntiBanWoodcutting;
begin
case Random(14) of
2: FindNormalRandoms;
5: PickUpMouse;
9: BoredHuman;
11: Wait(2000 + random(1000));
13: HoverSkill('woodcutting', False);
end;
end;
procedure Report;
begin
ClearDebug;
SRLRandomsReport;
WriteLn('Welcome To Bobzilla69''s''Random Skill Trainer');
WriteLn('');
WriteLn('So Far Your Character Has: ');
WriteLn(' Fished Around: ' +IntToStr(f)+' Shrimps');
WriteLn(' Mined Around: ' +IntToStr(m)+' Ores');
WriteLn(' Cut Around: ' +IntToStr(w)+' Logs');
WriteLn(' Attacked Around: ' +IntToStr(a)+' Chickens');
WriteLn('This Has Happened For ' +TimeRunning);
WriteLn('');
WriteLn('Number Of Times Trained A Skill');
WriteLn(' Attack: ' +IntToStr(s1));
WriteLn(' Mining: ' +IntToStr(s3));
WriteLn(' Fishing: ' +IntToStr(s4));
WriteLn(' Woodcutting: ' +IntToStr(s2));
WriteLn('');
WriteLn('Please Post Report');
WriteLn('');
SendSRLReport;
end;
Procedure FightCheck; //checks for fight random and runs away
begin
FindNormalRandoms;
if FindFight then
begin
RunAway('N', true, 1, 2500);
end;
end;
procedure DropItems;
begin
i:=1;
while(i<28) do
begin
i:=i+1
DropItem(i);
FightCheck;
FindNormalRandoms;
end;
end;
procedure Failed;
begin
Report;
WriteLn('Script terminated due to failsafe');
WriteLn('Please post skill training and failsafe ');
WriteLn('FailSafe: ' +failedTrigger);
Logout;
nextplayer(false);
if(not(LoggedIn))then
begin
TerminateScript;
end else
end;
procedure Tele; //teleports home after 30 min of training
begin //on a random skill, script will then
If not CastSpell(1) then //randomly choose another skill
begin
failedTrigger:='could not cast home teleport';
Failed;
end;
Wait(30000 + random(1500));
DropAll;
Logout;
Wait(10000 + random(5500));
if(not(LoggedIn))then Exit;
end;
Procedure GetNet;
begin
FailSafe:= 0;
SearchText:='ishing'; //uptext of tutor
SearchColor:= 11566704; //tutor color
if FindSymbol(x, y, 'guide') then
begin
Mouse(x, y, 2, 2, True);
end else
Mouse(625, 108, 5, 5, true);
Flag;
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
until((FindObjects = true) or (FailSafe = 20));
if FailSafe = 20 then
begin
failedTrigger:='could not find fishing tutor';
Failed;
end else
Flag;
Wait(2500 + random(1000));
FindNPCChatText('teach me the basics', Clickleft);
FindNPCChatText('already know a bit', Clickleft);
FindNPCChatText('an advanced', Clickleft);
Wait(1500 + random(1000));
FindNPCChatText('here to continue', Clickleft);
Wait(1500 + random(1000));
FindNPCChatText('here to continue', Clickleft);
Wait(1500 + random(1000));
FindNPCChatText('et fishing', Clickleft);
Wait(1500 + random(1000));
end;
Procedure WalkToFish; //walks from lumbridge to fishing spot
begin
FailSafe:= 0;
repeat
RadialRoadWalk(FindLumbyRoadColor, 84, 100, 56, 0, 0);
Wait(500 + random(300));
until(FindSymbol(x, y, 'Guide'));
RadialRoadWalk(FindLumbyRoadColor, 160, 210, 66, 0, 0);
Wait(500 + random(300));
Flag;
RadialRoadWalk(FindDirtRoadColor, 185, 120, 58, 0, 0);
Wait(500 + random(300));
repeat
RadialWalk(FindDirtRoadColor, 140, 215, 74, 0, 0);
Wait(500 + random(300));
Flag;
FailSafe:= FailSafe + 1;
Until(FindSymbol(x, y, 'fish') or (FailSafe = 2));
GetNet;
FindSymbol(x, y, 'fish');
Mouse(x, y, 4, 2, True);
Flag;
end;
procedure GetPic; //gets a pickaxe for mining
begin
FailSafe:= 0;
SearchText:='ining'; //uptext of tutor
SearchColor:= 11518154; //tutor color
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
until((FindObjects = true) or (FailSafe = 20));
if FailSafe = 20 then
begin
failedTrigger:='could not find mining tutor';
Failed;
end else
Flag;
Wait(2000 + random(1000));
FindNPCChatText('teach me the basics', Clickleft);
FindNPCChatText('already know a bit', Clickleft);
FindNPCChatText('an advanced', Clickleft);
Wait(500 + random(1000));
FindNPCChatText('here to continue', Clickleft);
Wait(500 + random(1000));
FindNPCChatText('here to continue', Clickleft);
Wait(500 + random(1000));
end;
Procedure WalkToMine; //walks from lumbridge to mining area
begin
FailSafe:= 0;
repeat
RadialRoadWalk(FindLumbyRoadColor, 84, 100, 56, 0, 0);
Wait(500 + random(300));
until(FindSymbol(x, y, 'Guide'));
RadialRoadWalk(FindLumbyRoadColor, 160, 210, 66, 0, 0);
Wait(500 + random(300));
Flag;
Wait(200);
RadialRoadWalk(FindSandColor, 120, 184, 56, 0, 0);
Wait(500 + random(300));
repeat
RadialWalk(FindSandColor, 250, 150, 70, 0, 0);
Wait(500 + random(300));
Flag;
Until(FindSymbol(x, y, 'mining site') or (FailSafe = 4));
FindSymbol(x, y, 'mining site');
Mouse(x, y, 4, 2, True);
Flag;
Wait(500 + random(300));
If(not(FindSymbol(x, y, 'mining site')))then
begin
RadialWalk(SymbolColor, 170, 340, 75, 0, 0);
Flag;
Wait(500 + random(300));
end;
end;
Procedure GetAxe; //gets axe for woodcutting
begin
SearchText:= 'oodcutting';
SearchColor:= 5406267;
FailSafe:= 0;
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
until((FindObjects = true) or (FailSafe = 20));
if FailSafe = 20 then
begin
failedTrigger:='could not find woodcutting tutor';
Failed;
end else
Flag;
Wait(2500 + random(2000));
FindNPCChatText('oodcutting', Clickleft);
wait(800 + random(1000));
FindNPCChatText('teach me the basics', Clickleft);
FindNPCChatText('already know a bit', Clickleft);
FindNPCChatText('an advanced', Clickleft);
Wait(800 + random(1000));
FindNPCChatText('here to continue', Clickleft);
wait(800 + random(1000));
FindNPCChatText('here to continue', Clickleft);
wait(800 + random(1000));
FindNPCChatText('here to continue', Clickleft);
wait(800 + random(1000));
end;
Procedure WalkToTrees; //walks from lumbridge to woods
begin
FailSafe:=0;
RadialRoadWalk(FindLumbyRoadColor, 50, 120, 60, 1, -1);
Wait(500 + random(300));
repeat
RadialRoadWalk(FindLumbyRoadColor, 360, 300, 50, 0, 1);
FailSafe:= FailSafe + 1;
Flag;
Wait(500 + random(300));
until(FindSymbolIn(x, y, 'shop', MMX1, MMY1, MMX2, MMY2)or FindSymbolIn(x, y, 'furnace', MMX1, MMY1, MMX2, MMY2) or (FailSafe = 2))
WalkNumber:=1; //walking to woodcutting tutor using ddtm
DDTMWalking;
if FindSymbolIn(x, y, 'Guide', 590, 69, 631, 100)then
begin
Mouse(x, y, 1, 1, true);
Flag;
end;
Wait(500 + random(300));
GetAxe;
Wait(500 + random(300));
RadialRoadWalk(FindLumbyRoadColor, 260, 270, 60, 0, 0);
Wait(500 + random(300));
RadialRoadWalk(FindLumbyRoadColor, 250, 350, 60, 0, 0);
Wait(500);
Mouse(575, 90, 17, 10, True);
Wait(500 + random(300));
Flag;
end;
procedure WalkToChickens; //walks from lumbridge to chicken pen (NE)
begin
repeat
RadialRoadWalk(FindLumbyRoadColor, 80, 110, 60, 0, 0);
Wait(500 + random(300));
until(FindSymbol(x, y, 'Guide') or (FailSafe = 2))
if(not(RadialRoadWalk(FindBridgeColor, 50, 90, 65, 0, 0)))then
begin
RadialRoadWalk(FindLumbyRoadColor, 40, 120, 80, 0, 0);
end;
Wait(500 + random(300));
RadialRoadWalk(FindLumbyRoadColor, 400, 430, 50, 0, 0);
Wait(500 + random(300));
RadialRoadWalk(FindDirtRoadColor, 330, 390, 70, 0, 0);
Wait(500 + random(300));
RadialRoadWalk(FindDirtRoadColor, 350, 300, 70, 0, 0);
Wait(500 + random(300));
RadialRoadWalk(FindLumbyRoadColor, 300, 400, 70, 0, 0);
Wait(500 + random(300));
if(not(FindSymbol(x, y, 'churn')))then
begin
RadialRoadWalk(FindLumbyRoadColor, 280, 400, 65, 0, 0);
end;
Wait(500 + random(300));
RadialRoadWalk(FindLumbyRoadColor, 320, 400, 35, 0, 0);
Flag;
Wait(500 + random(300));
end;
procedure CheckGate;
begin
Wait(1000);
GateColor:=220; //checks if chicken pen gate is open
repeat
GateColor:= GateColor + 1;
Until(FindColorSpiral(x, y, GateColor, 615, 66, 629, 110)or (GateColor = 340))
Mouse(x - 4, y, 0, 0, true);
Flag;
Wait(500 + random(500));
MakeCompass('W');
if FindObjEx(x, y, ['lose'], [5005424], 60, MSCX, MSCY, 1, 168, 73, 297, 194) then
begin
MakeCompass('N');
Exit;
end
else
begin
if FindObjEx(x, y, ['pen'], [5005424], 60, MSCX, MSCY, 1, 168, 73, 297, 194) then
begin
Mouse(x, y, 2, 2, True);
MakeCompass('N');
Flag;
Wait(500 + random(500));
end;
end;
end;
Procedure IntoPen; //enters chicken pen if gate is open
begin
if FindSymbol(x, y, 'churn')then
begin
Mouse(x + 10, y - 10, 2, 2, True);
end
else
begin
Mouse(609, 77, 4, 3, True);
Flag;
Wait(500 + random(300));
end;
end;
procedure StartAttacking; //attacks chickens for 30 min
begin
SearchText:='ttack Chicken'; //uptext of chicken
SearchColor:= 924026; //chicken color
FailSafe:= 0;
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
wait(200 + random(200));
Until((FindObjects = true) or (FailSafe = 20));
if FailSafe = 20 then
begin
failedTrigger:='could not find chicken';
Failed;
end else
Flag;
Wait(2000 + random(1000));
AntiBanAttacking;
FindNormalRandoms;
Wait(2000 + random(1000));
if FindColor(x, y, 65280, 260, 140, 270, 150)then
begin
FindNormalRandoms;
a:= a + 1;
ReportVars[7] := + 1;
repeat
wait(1500 + random(1500));
FindNormalRandoms;
until(not (InFight));
end;
Report;
if(TimeFromMark(Timer) >= 1800000) then
begin
Tele;
end else
StartAttacking;
end;
Procedure StartMining; //mines for 30 min
begin
SearchText:='pot'; //up text
SearchColor:= 5011106; //rock color
FailSafe:= 0;
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
wait(200 + random(200));
Until((FindObjects = true) or (FailSafe = 20));
if FailSafe = 20 then
begin
failedTrigger:='could not find rock';
Failed;
end else
Mouse(x, y, 2, 2, True);
Wait(2500 + random(1500));
FindGas(x, y);
FightCheck;
AntiBanMining;
Wait(2500 + random(1000));
if(TimeFromMark(Timer) >= 1800000) then
begin
Tele;
end;
if InvFull then
begin
GameTab(4);
Wait(250 + random(200));
DropItems;
FightCheck;
m:= m + 27;
ReportVars[5] := + 27;
Report;
StartMining;
end;
StartMining
end;
procedure StartFishing; //fishes for 30 min
begin
SearchText:='ishing spot'; //uptext
SearchColor:= 11181976; //Fishing spot color
FailSafe:= 0;
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
wait(200 + random(200));
Until((FindObjects = true) or (FailSafe = 20));
if FailSafe = 20 then
begin
failedTrigger:='could not find fishing spot';
Failed;
end else
//Mouse(x, y, 2, 2, True);
Flag;
Wait(500 + random(100));
if FindObj(x, y, SearchText, SearchColor, 20) then
HandleWhirlPool;
Wait(3000 + Random(1000));
FightCheck;
Wait(3500 + Random(530));
AntiBanFishing;
FightCheck;
if(TimeFromMark(Timer) >= 1800000) then
begin
Tele;
end;
if InvFull then
begin
GameTab(4);
Wait(250 + random(100));
DropItems;
FightCheck;
f:= f + 27;
ReportVars[4] := + 27;
Report;
StartFishing;
end;
StartFishing
end;
procedure StartWoodcutting; //cuts wood for 30min
begin
SearchText:='Tree'; //uptext
SearchColor:= 7649194; //tree color
FailSafe:= 0;
repeat
If(not(LoggedIn))then Exit;
FailSafe:= FailSafe + 1;
wait(200 + random(200));
Until((FindObjects = true) or (FailSafe = 10));
if FailSafe = 10 then
begin
failedTrigger:='could not find tree';
Failed;
end else
x:= 274; //center of main screen
y:= 161; //center of main screen
Wait(600 + Random(600));
FindObjEx(x, y, ['down Tree'], [7649194], 60, MSCX, MSCY, 1, 168, 73, 297, 194);
MMouse(x, y, 2, 4);
FindEnt(x, y, True);
Wait(2500 + random(1000));
FightCheck;
AntiBanWoodcutting;
Wait(2000 + random(1000));
FightCheck;
if(TimeFromMark(Timer) >= 1800000) then
begin
Tele;
end;
if InvFull then
begin
GameTab(4);
Wait(250 + random(200));
DropItems;
FightCheck;
w:= w + 27;
ReportVars[6] := + 27;
Report;
StartWoodcutting;
end;
StartWoodcutting;
end;
Procedure Attack; //procedure for attacking
begin
Wait(500 + random(100));
WriteLn('Training Attack');
SetFightMode(mode);
s1:= s1 + 1;
ReportVars[0] := + 1;
Wait(500 + random(100));
WalkToChickens;
CheckGate;
IntoPen;
MakeCompass('N');
MarkTime(Timer);
StartAttacking;
If(not(LoggedIn))then Exit;
end;
Procedure Woodcutting; //procedure for cutting wood
begin
Wait(500 + random(100));
WriteLn('Training Woodcutting');
s2:= s2 + 1;
ReportVars[3] := + 1;
Wait(500 + random(100));
WalkToTrees;
MarkTime(Timer);
StartWoodcutting;
If(not(LoggedIn))then Exit;
end;
Procedure Mining; //procedure for mining
begin
Wait(500 + random(100));
WriteLn('Training Mining');
s3:= s3 + 1;
ReportVars[2] := + 1;
Wait(500 + random(100));
WalkToMine;
GetPic;
MarkTime(Timer);
StartMining;
If(not(LoggedIn))then Exit;
end;
Procedure Fishing; //procedure for fishing
begin
Wait(500 + random(100));
WriteLn('Training Fishing');
s4:= s4 + 1;
ReportVars[1] := + 1;
Wait(500 + random(100));
WalkToFish;
MarkTime(Timer);
StartFishing;
If(not(LoggedIn))then Exit;
end;
Procedure RandomSkillToTrain; //randomly selects skill to train
begin
WriteLn('Choosing Random Skill to Train........');
case Random(4) of
0: Attack;
1: Woodcutting;
2: Fishing;
3: Mining;
end;
If(not(LoggedIn))then Exit;
end;
Procedure MainLoop; //gets screen set up and starts the script
begin
LoginPlayer;
MakeCompass('N');
SetAngle(True);
if (mode = 1) then modeStyle:= 'Attack';
if (mode = 2) then modeStyle:= 'Strength';
if (mode = 3) then modeStyle:= 'Defence';
if (mode = 4) then
begin
case random(3) of
0: modeStyle:= 'Defence';
1: modeStyle:= 'Attack';
2: modeStyle:= 'Strength';
end;
end;
GameTab(4);
RandomSkillToTrain;
repeat
If not LoggedIn then
begin
MainLoop;
end;
until(False);
end;
begin
SetUpSRL;
Wait(500);
DeclarePlayers;
ScriptID := '351';
SRLID := YourSRLId;
SRLPassword := YourSRLPassword;
MainLoop;
end.
——————————————————
<!– END TEMPLATE: formanswers –>
