SCAR Code:
program LawCrafter;
{.include SRL\SRL\Misc\Smart.scar}
{.include SRl/SRl.scar}
{.include srl/srl/reflection/reflection.scar}
{===================================================================]
[ NicBaz LawW RunE CraFtEr & BaNkEr ]
[ ]
[ NAME : NicBaz LawW RunE CraFtEr ]
[ WRITER : Nicbaz. ]
[ CATEGORY : RuneCrafting ]
[ DESCRIPTION : Crafts Newts And Banks In Draynor ]
[ USAGE : Start In Draynor Bank. ]
[ AUTOCOLOR : Yes. ]
[ SRL Used : 4.0, Revision 16. ]
[ SCAR Used : 3.15b. ]
[ ]
[===================================================================]
[ Instructions. ]
[===================================================================]
[ 1. Use RuneScape with Low Detail, Very Bright. ]
[ 2. Set your Screen to 32 bit TRUE color. ]
[ 3. Setup lines below. ]
[ 4. Start in Draynor Bank ]
[ 5. All Pure Ess IN second Bank Tab and Second SLot ]
[ 6. Start script Logged Out. ]
[ 7. POST ALL PROGGIES IN THE THREAD! ]
[ ]
[===================================================================]
[ Some more info: ]
[ 1. This script is not the fastest one out there it is made to run ]
[ for a long time so dw if its not that fast. ]
[===================================================================]
[===================================================================]
[ Future Updates. ]
[===================================================================]
[ 1. Sleeping ]
[ 2. More Random Walking ]
[ 3. Better Banking ]
[ 4. Glory Option ]
[===================================================================]
[ Const ]
[===================================================================]
[===================================================================] ]
}const //]
SmartWorld = 109; //]
Loads = 10; // Loads UntilStop //]
StatsUser = '618'; //]
StatsPass = ''; //]
{===================================================================]
[1.0- Relesed To Public ]
[===================================================================}
var
LoadsLeft,cooks,clays: integer;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure DeclarePlayers;
By: Nicbaz
Description: Declare The Players for the login Array.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure DeclarePlayers;
begin
HowManyPlayers:= 3; // number of players
CurrentPlayer:= 0; // starting player
{Green out or Delete unused slots}
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:= True;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure DeclarePlayers;
By: Nicbaz
Description: Declare The Players for the login Array.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function AllPlayersInactive1: boolean;
var
p: integer;
begin
for p:= 0 to HowManyPlayers - 1 do
if Players[p].Active then exit;
result:= true;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure DeclarePlayers;
By: Nicbaz
Description: Declare The Players for the login Array.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure SwitchPlayers(Active:boolean);
var
thenextplayer,thelastplayer:integer;
Start: boolean;
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(AllPlayersInactive1);
end;
// Proggy;
if AllPlayersInactive1 then
begin
writeln('All Players False');
TerminateScript;
end;
start:= true;
LoadsLeft:= Loads;
LoginPlayer;
wait(random(500));
SetAngle(True);
wait(random(500));
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Function IsBankTabOpen(WichTab:String) : Boolean
By: Nicbaz
Description: Returns True if your tab is open
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function IssBankTabOpen(WhichTab: Integer) : Boolean;
begin
Result := (GetColor(64 + (WhichTab - 1) * 49, 56) = 2896954 );
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function BankTab(NumberOfTab: Integer): Boolean;
By: Nicbaz
Description: Changes to the tab you select
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function BankkTab(NumberOfTab: Integer): Boolean;
begin
if (NumberOfTab <1) or (NumberOfTab > 9) then
begin
srl_Warn('BankTab',inttostr(NumberOfTab)+' BankTab does not exist',warn_AllVersions);
Result := False;
Exit;
end;
// if (IsBankTabOpen(NumberOfTab)) then
// Exit;
MouseBox(34 + (NumberOfTab - 1) * 50, 54, 34 + (NumberOfTab - 1) * 50, 75, 1);
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function Banking: Boolean;
By: Nicbaz
Description: Banks
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function Banking: Boolean;
var
Rune: integer;
X,Y : integer;
begin
Rune := DTMFromString('78DA63AC636660C8636440066DB5350C22401' +
'A24FA1F0818DB816AAA50D54064612490EE01AAC927A0A616A8A6' +
'96809A42A09A32026A0A30DD4C967B5A816A6A8830A718BF1A007' +
'F570E70');
if OpenBankReflection('db') then
begin
wait(2000+random(300));
wait(500+random(300));
Mouse(579, 227,5,5, false);
wait(500+random(300));
ChooseOption('ll');
wait(500+random(300));
{ BankTab(2); }Mouse(96, 67,5,5,True);
wait(500+random(300));
MMouse(195+random(20), 149+random(20) ,40 ,40);
wait(500+random(300))
if (FindDTM(Rune,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x,y,2,2,false);
wait(300+random(300));
ChooseOption('ll');
Result:= True;
Players[CurrentPlayer].Loc:= ('Bank');
wait(800+random(300));
FindNormalRandoms;
CloseBank;
Exit;
end;
end;
Result:= False;
writeln('out of ess');
CloseBank;
NextPlayer(false);
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure Proggie;
By: Nicbaz % fr0zen
Description: Proggie
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure Proggie;
var
s: string;
i, File: integer;
begin
Writeln('');
s := '-––•(·-><-·)•–––';
for i := 1 to Length(TimeRunning) + 16 do
Insert('¤', s, 9);
Writeln(s);
Writeln('-––•(·->' + PadL(PadR('NicBaZ LaWW CrAfTeR', Length(s)/2 + 2), Length(s) - 16) + '<-·)•–––');
Writeln('-––•(·->' + PadL(PadR('¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯', Length(s)/2 + 3), Length(s) - 16) + '<-·)•–––');
If Clays > 0 then
Writeln(PadR('-––•(·-> Laws crafted: ' + IntToStr(Clays), Length(s) - 9) + ' <-·)•–––');
If Cooks > 0 then
Writeln(PadR('-––•(·-> Loads Done: ' + IntToStr(Cooks), Length(s) - 9) + ' <-·)•–––');
Writeln('-––•(·-> Time Running: ' + TimeRunning + ' <-·)•–––');
Writeln(s);
Disguise(PadR('-•(·-> Loads Done: ' + IntToStr(Cooks), Length(s) - 9) + ' <-·)•–––');
if FileExists(ScriptPath + 'EdgevilleHybridPro Reports.txt') then
Begin
File := OpenFile(ScriptPath + 'EdgevilleHybridPro Reports.txt', false);
ReadFileString(File, s, FileSize(File));
CloseFile(File);
File := LastPos(TheDate(1), s);
if File > 0 then
if InRange(StrToInt(Copy(s, File + Length(TheDate(1)) + 2, File + Length(TheDate(1)) - 14)), strtoint(GetNumbers(Left(TheTime, 2))) - 2, strtoint(GetNumbers(Left(TheTime, 2))) + 2) then
Begin
File := RewriteFile(ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt', false);
Delete(s, LastPos(TheDate(1), s) - 1, Length(s));
WriteFileString(File, s);
CloseFile(File);
end;
end;
s := '-––•(·-><-·)•–––';
for i := 1 to Length(TimeRunning) + 16 do
Insert('¤', s, 9);
WriteINI(TheDate(1) + ', ' + TheTime, s, '', ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
WriteINI(TheDate(1) + ', ' + TheTime, '-––•(·->' + PadL(PadR('NicBaZ LaWW CrAfTeR', Length(s)/2 + 2), Length(s) - 16) + '<-·)•–––', '', ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
WriteINI(TheDate(1) + ', ' + TheTime, '-––•(·->' + PadL(PadR('¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯', Length(s)/2 + 3), Length(s) - 16) + '<-·)•–––', '', ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
If Clays > 0 then
WriteINI(TheDate(1) + ', ' + TheTime, PadR('-––•(·-> Laws Crafted: ' + IntToStr(Clays), Length(s) - 9) + ' <-·)•–––', '', ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
If Cooks > 0 then
WriteINI(TheDate(1) + ', ' + TheTime, PadR('-––•(·-> Loads Done: ' + IntToStr(Cooks), Length(s) - 9) + ' <-·)•–––', '', ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
WriteINI(TheDate(1) + ', ' + TheTime, '-––•(·-> Time Running:', TimeRunning + ' <-·)•–––', ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
Delete(s, 1, 1);
WriteINI(TheDate(1) + ', ' + TheTime, '', s, ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt');
File := OpenFile(ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt', false);
ReadFileString(File, s, FileSize(File));
CloseFile(File);
s := Replace(s, '=', ' ');
File := RewriteFile(ScriptPath + 'NicBaZ LaWW CrAfTeR Reports.txt', false);
WriteFileString(File, s);
CloseFile(File);
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Procedure NoBan;
By: Nicbaz
Description: Banks
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure NoBan;
begin
case random(4) of
0:GameTab(random(5));
1:RandomRclick;
2:BoredHuman;
3:wait(3000+random(1000));
end;
FindNormalRandoms;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function WalkToPath(Path: TPointArray; DoTile: Integer): Boolean;
By: Nicbaz
Description: Walks the path.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function WalkToPath(Path: TPointArray; DoTile: Integer): Boolean;
var
I: integer;
begin
for I := DoTile to High(Path) do
if not (WalkToTile(Path[I],1 , 0)) then
Exit;
Result := True;
FindNormalRandoms;
End;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function WalkThroughPath(Path: TPointArray): Boolean;;
By: Nicbaz
Description: Walks the path.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function WalkThroughPath(Path: TPointArray): Boolean;
begin
if not (WalkToPath(Path, 0)) then
begin
writeln('path some how is off');
Result:= False;
Exit;
end;
Result := True;
FindNormalRandoms;
End;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function Walk(where: string): boolean;
By: Nicbaz
Description: Loads the tiles and walks.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function Walk(where: string): boolean;
var
Tiles: TPointArray;
begin
case where of
'ToBoat':
begin
case random(3) of
0: Tiles := [Point(3080, 3249), Point(3081, 3264), Point(3071, 3274),
Point(3065, 3261), Point(3055, 3251), Point(3042, 3242),
Point(3047, 3234)];
1: Tiles := [Point(3084, 3248), Point(3072, 3247), Point(3072, 3261),
Point(3069, 3274), Point(3064, 3261), Point(3055, 3251),
Point(3045, 3246), Point(3041, 3237), Point(3046, 3233)];
2: Tiles := [Point(3081, 3247), Point(3081, 3262), Point(3072, 3263),
Point(3075, 3274), Point(3064, 3276), Point(3060, 3266),
Point(3063, 3255), Point(3054, 3251), Point(3041, 3245),
Point(3040, 3236), Point(3047, 3233)];
end;
end;
'ToBank':
begin
case random(3) of
0: Tiles := [Point(3042, 3239), Point(3049, 3246), Point(3060, 3252),
Point(3064, 3263), Point(3066, 3276), Point(3072, 3263),
Point(3072, 3248), Point(3085, 3247), Point(3093, 3241)];
1: Tiles := [Point(3041, 3242), Point(3052, 3246), Point(3064, 3256),
Point(3067, 3271), Point(3070, 3260), Point(3081, 3247),
Point(3092, 3242)];
2: Tiles := [Point(3041, 3242), Point(3054, 3250), Point(3065, 3258),
Point(3068, 3269), Point(3071, 3270), Point(3077, 3263),
Point(3081, 3248), Point(3093, 3242)];
end;
end;
'ToAlter':
begin
Tiles := [Point(2846,3335),Point(2857,3340),Point(2860,3352),
Point(2857,3369), Point(2858,3378)];
//^^fixing
end;
'FromAlter':
begin
Tiles := [Point(2857,3366),Point(2860,3350),Point(2851,3337),
Point(2839,3335)];
end;
end;
wait(1000+random(200));
SetRun(True);
if WalkThroughPath(Tiles) then
Result:= True;
FindNormalRandoms;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function Find(where : string): boolean;
By: Nicbaz
Description: Find Obects with reflection.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function Find(where : string): boolean;
var
Tiles: TPointArray;
xx : TPoint;
begin
case where of
'rock' : Tiles:= [Point(2858,3381)];
'insiderock': Tiles:= [Point(2464,4832)];
'portal' : Tiles:= [Point(2464,4817)];
'boat' : Tiles:= [Point(2834,3333)];
'boatback' : Tiles:= [Point(3048,3232)]
end;
if (DistanceFrom(Tiles[0]) > 4) then
begin
WalkToTile(Tiles[0], 0, 0);
FFlag(0);
Wait(400);
end;
XX:= TileToMS(Tiles[0], 16);
Mouse(xX.X, xX.Y, 5, 5, True);
Wait(80 + Random(120));
Flag;
Result:= True;
FindNormalRandoms;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function ClickAnswer(Answer: string; Times: Integer): Boolean;
By: Zephs
Description: Clicks the anser on the NPC chat
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function ClickAnswer(Answer: string; Times: Integer): Boolean;
var
i,j:integer;
begin
if not(loggedin) then exit;
if (not(LoggedIn)) then Exit;
j := 0;
i := 0;
repeat
if (FindNPCChatText(answer, clickleft)) then
begin
FTWait(6);
Inc(i);
end;
j := j + 1;
until(j = Times);
if (j = i) then Result := True;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function InTalk: Boolean;
By: Zeph
Description: Returns true if in talk.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function InTalk: Boolean;
var
tx, ty: Integer;
begin
if not(loggedin) then exit;
Result := FindColor(tx, ty, 128, 43, 350, 477, 379);
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
function Cross(id: integer): boolean;
By: Nicbaz
Description: Cross'es lands
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
function Cross(id: integer; where:string): boolean;
var
NPCe : TNPC;
zZ : integer;
begin
// SetCompass(true);
repeat
if not(FindNPCByID(id,NPCe)) then
Exit;
Mouse(NPCe.ms.x,NPCe.ms.y,4,4,true);
Flag;
wait(200+random(500));
inc(zZ);
until(InTalk) or (zZ > 5)
if zZ > 5 then
Exit;
Result:= True;
wait(300+random(300));
case where of
'port':
begin
ClickAnswer('continue', 1);
Mouse(264, 436, 4 , 4, true);
ClickAnswer('continue', 6);
end;
'alter':
begin
ClickAnswer('continue', 1);
Mouse(255, 404, 4 , 4, true);
ClickAnswer('continue', 5);
end;
end;
FindNormalRandoms;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure PlayerLoop;
By: Nicbaz
Description: Loops the player
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure PlayerLoop;
var
Tiles: TPointArray;
begin
if not LoggedIn then
Exit;
Tiles:= [Point(2463,4830),Point(2464,4818)];
repeat
if Banking then
begin
if (Players[CurrentPlayer].Loc = 'Bank') then
writeln('all good');
end else
begin
Exit;
writeln('NextPlayer');
end;
begin
if Walk('ToBoat') then
begin
writeln('arrived at dock');
wait(400+random(200));
NoBan;
end else
begin
writeln('SomeHow Got lost');
NextPlayer(false);
Exit;
end;
begin
if Cross(2729,'port') then
begin
wait(9200+random(200));
writeln('we are on the boat crossing now');
if Find('boat') then
begin
writeln('on main land');
wait(2000+random(200));
if not LoggedIn then
Exit;
end else
begin
writeln('SomeHow Got lost');
NextPlayer(false);
Exit;
end;
if Walk('ToAlter') then
begin
writeln('arrived at Alter');
wait(1000+random(200));
end else
begin
writeln('SomeHow Got lost');
NextPlayer(false);
Exit;
end;
if Find('rock') then
begin
wait(1000+random(200));
writeln('We are Inside Law Alter');
NoBan;
WalkToTile(Tiles[0],2,0);
wait(500+random(200));
if Find('insiderock') then
begin
writeln('Clicked On Alter');
wait(3200+random(200));
end;
WalkToTile(Tiles[1],2,0);
wait(500+random(200));
if Find('portal') then
begin
writeln('Clicked On Portal');
wait(500+random(200));
writeln('crafted Our runes');
NoBan;
Players[CurrentPlayer].Loc:= ('Alter');
end else
begin
writeln('SomeHow Stuffed up during the process of crafting NextPlayer');
NextPlayer(false);
Exit;
end;
if Players[CurrentPlayer].Loc = ('Alter') then
begin
if Walk('FromAlter') then
begin
writeln('arrived at Boat');
NoBan;
wait(1000+random(200));
end else
begin
writeln('SomeHow Got lost');
NextPlayer(false);
Exit;
end;
if cross (2731,'alter') then
wait(9200+random(200));
Writeln('we are on the boat crossing now');
if Find('boatback') then
begin
Writeln('we are back on mainland');
NoBan;
wait(1000+random(200));
end else
begin
writeln('Lost NextPlayer');
NextPlayer(false);
Exit;
end;
if Walk('ToBank') then
begin
writeln('arrived at bank');
NoBan;
wait(400+random(200));
end else
begin
writeln('SomeHow Got lost');
NextPlayer(false);
Exit;
end;
end;
LoadsLeft:= LoadsLeft - 1;
end;
end;
end;
CloseBank;
Clays := Clays + 28;
Cooks := Cooks + 1;
ReportVars[0] := ReportVars[0] + 1;
ReportVars[1] := ReportVars[1] + 28;
proggie;
sendsrlreport;
end;
until(LoadsLeft = 0)or(not LoggedIn);
TerminateScript;
end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
procedure Signature;
By: Nicbaz
Description: ASCII sig
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
procedure Signature;
begin
Writeln(' _______ .__ __________ __________ .____ __ __ _________ ___________ __ __________ ');
Writeln(' \ \ |__| ____ \______ \_____ \____ / | | _____ __ _ __/ \ / \ \_ ___ \_______ _____ \_ _____/_/ |_ ____ \______ \ ');
Writeln(' / | \ | |_/ ___\ | | _/\__ \ / / | | \__ \ \ \/ \/ /\ \/\/ / / \ \/\_ __ \\__ \ | __) \ __\_/ __ \ | _/ ');
Writeln('/ | \| |\ \___ | | \ / __ \_ / /_ | |___ / __ \_\ / \ / \ \____| | \/ / __ \_| \ | | \ ___/ | | \ ');
Writeln('\____|__ /|__| \___ >|______ /(____ //_______ \ |_______ \(____ / \/\_/ \__/\ / \______ /|__| (____ /\___ / |__| \___ >|____|_ / ');
Writeln(' \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ ');
end;
begin
SmartSetUp('world104',true,true,false);
wait(2000);
SetTargetDC(SmartGetDC);
SetupSRL;
LoadsLeft:= Loads;
ScriptID := '962';
DeclarePlayers;
proggie;
Signature;
SRLID := StatsUser;
SRLPassword :=StatsPass;
LoginPlayer;
repeat
PlayerLoop;
until false;
end.
SCAR Code:
{*******************************************************************************
Function WalkToPath(Path: TPointArray; DoTile: Integer): Boolean;
By: Nicbaz & Timer
Description: Walk Through The path from start to End.
*******************************************************************************}
function WalkToPath(Path: TPointArray; DoTile: Integer): Boolean;
var
I: integer;
begin
for I := DoTile to High(Path) do
if not (WalkToTile(Path[I], 2, 2)) then
Exit;
Result := True;
End;
{*******************************************************************************
Function WalkThroughPath(Path: TPointArray): Boolean;
By: Nicbaz & Timer
Description: Walk Through The path from start to End.
*******************************************************************************}
function WalkThroughPath(Path: TPointArray): Boolean;
Var
I: Integer;
begin
if not (WalkToPath(Path, 0)) then
begin
writeln('path some how is off');
Result:= False;
Exit;
end;
Result := True;
End;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Function Walk(Where: string): boolean;
By: Nicbaz
Description: Loads the path you select then walks it.
Status: Good
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
Function Walk(Where: string): boolean;
var
Tiles: TpointArray;
begin
case where of
'LumbyToVarrock':
begin
Tiles := [Point(3230, 3217), Point(3236, 3224), Point(3252, 3224),
Point(3260, 3238), Point(3253, 3251), Point(3248, 3266),
Point(3241, 3280), Point(3239, 3293), Point(3240, 3305),
Point(3250, 3316), Point(3263, 3324), Point(3268, 3331),
Point(3256, 3334), Point(3241, 3335), Point(3228, 3338),
Point(3226, 3352), Point(3217, 3361), Point(3214, 3375),
Point(3212, 3389), Point(3212, 3405), Point(3211, 3420),
Point(3212, 3425)];
end;
'LumbyToFally':
begin
Tiles := [Point(3231, 3217), Point(3226, 3232), Point(3220, 3246),
Point(3216, 3261), Point(3213, 3277), Point(3198, 3278),
Point(3184, 3286), Point(3169, 3286), Point(3153, 3292),
Point(3139, 3294), Point(3123, 3296), Point(3108, 3294),
Point(3093, 3289), Point(3078, 3284), Point(3067, 3275),
Point(3051, 3276), Point(3035, 3275), Point(3019, 3276),
Point(3009, 3288), Point(3006, 3303), Point(3007, 3318),
Point(3006, 3333), Point(3008, 3348), Point(3011, 3355)];
end;
'LumbyToDraynor':
begin
Tiles := [Point(3219, 3216), Point(3234, 3217), Point(3232, 3228),
Point(3222, 3236), Point(3206, 3236), Point(3192, 3235),
Point(3178, 3234), Point(3163, 3231), Point(3146, 3229),
Point(3129, 3228), Point(3113, 3232), Point(3099, 3241),
Point(3093, 3241)];
end;
'DraynorToFally':
begin
Tiles := [Point(3082, 3248), Point(3080, 3263), Point(3071, 3273),
Point(3057, 3274), Point(3041, 3275), Point(3026, 3276),
Point(3010, 3278), Point(3008, 3293), Point(3008, 3308),
Point(3007, 3323), Point(3007, 3338), Point(3007, 3351),
Point(3011, 3354)];
end;
'DraynorToVarrock':
begin
Tiles := [Point(3099, 3249), Point(3104, 3259), Point(3106, 3273),
Point(3108, 3288), Point(3118, 3296), Point(3132, 3294),
Point(3145, 3292), Point(3159, 3288), Point(3173, 3285),
Point(3188, 3282), Point(3202, 3278), Point(3215, 3269),
Point(3222, 3259), Point(3238, 3260), Point(3245, 3273),
Point(3238, 3285), Point(3240, 3299), Point(3247, 3312),
Point(3259, 3321), Point(3268, 3331), Point(3254, 3334),
Point(3239, 3336), Point(3226, 3340), Point(3224, 3356),
Point(3214, 3369), Point(3212, 3384), Point(3211, 3399),
Point(3211, 3414), Point(3212, 3426)];
end;
end;
'DraynorToLumby':
begin
Tiles := [Point(3099, 3249), Point(3105, 3238), Point(3110, 3225),
Point(3126, 3225), Point(3140, 3230), Point(3155, 3233),
Point(3170, 3237), Point(3185, 3241), Point(3199, 3246),
Point(3215, 3246), Point(3224, 3235), Point(3231, 3223),
Point(3222, 3216)];
end;
'FallyToDraynor':
begin
Tiles := [Point(2976, 3378), Point(2989, 3370), Point(3000, 3361),
Point(3004, 3347), Point(3008, 3332), Point(3008, 3316),
Point(3007, 3301), Point(3008, 3287), Point(3014, 3275),
Point(3027, 3268), Point(3043, 3269), Point(3058, 3274),
Point(3073, 3268), Point(3080, 3254), Point(3080, 3248)];
end;
'FallyToVarrok':
begin
Tiles := [Point(2965, 3392), Point(2965, 3406), Point(2977, 3415),
Point(2987, 3422), Point(2999, 3432), Point(3014, 3428),
Point(3029, 3426), Point(3041, 3417), Point(3054, 3410),
Point(3068, 3416), Point(3082, 3414), Point(3094, 3421),
Point(3109, 3420), Point(3123, 3415), Point(3139, 3416),
Point(3154, 3417), Point(3167, 3425), Point(3182, 3428),
Point(3198, 3428), Point(3211, 3428)];
end;
'FallyToLumby':
begin
Tiles := [Point(2974, 3378), Point(2987, 3372), Point(3001, 3363),
Point(3005, 3350), Point(3007, 3335), Point(3008, 3321),
Point(3009, 3307), Point(3011, 3292), Point(3013, 3277),
Point(3028, 3275), Point(3044, 3275), Point(3059, 3276),
Point(3074, 3277), Point(3088, 3282), Point(3104, 3281),
Point(3105, 3265), Point(3105, 3250), Point(3107, 3235),
Point(3119, 3226), Point(3134, 3226), Point(3149, 3228),
Point(3164, 3232), Point(3178, 3236), Point(3194, 3236),
Point(3210, 3236), Point(3225, 3232), Point(3232, 3219),
Point(3222, 3216)];
end;
'VarrockToFally':
begin
Tiles := [Point(3204, 3429), Point(3188, 3428), Point(3174, 3428),
Point(3162, 3419), Point(3148, 3416), Point(3132, 3416),
Point(3117, 3419), Point(3109, 3420), Point(3094, 3419),
Point(3082, 3414), Point(3069, 3417), Point(3054, 3413),
Point(3040, 3421), Point(3030, 3427), Point(3015, 3430),
Point(3000, 3431), Point(2988, 3427), Point(2986, 3413),
Point(2977, 3404), Point(2967, 3393), Point(2964, 3380)];
end;
'VarrokToDraynor':
begin
Tiles := [Point(3212, 3417), Point(3212, 3402), Point(3212, 3389),
Point(3213, 3375), Point(3219, 3363), Point(3227, 3353),
Point(3227, 3338), Point(3241, 3336), Point(3255, 3332),
Point(3267, 3330), Point(3256, 3321), Point(3246, 3311),
Point(3239, 3298), Point(3239, 3283), Point(3246, 3269),
Point(3242, 3261), Point(3227, 3260), Point(3219, 3250),
Point(3205, 3245), Point(3190, 3243), Point(3176, 3240),
Point(3161, 3234), Point(3147, 3230), Point(3134, 3226),
Point(3118, 3226), Point(3105, 3233), Point(3101, 3243),
Point(3088, 3247), Point(3080, 3249)];
end;
'VarrockToLumby':
begin
Tiles := [Point(3212, 3417), Point(3212, 3402), Point(3212, 3389),
Point(3213, 3375), Point(3219, 3363), Point(3227, 3353),
Point(3227, 3338), Point(3241, 3336), Point(3255, 3332),
Point(3267, 3330), Point(3256, 3321), Point(3246, 3311),
Point(3239, 3298), Point(3239, 3283), Point(3247, 3272),
Point(3249, 3259), Point(3255, 3246), Point(3260, 3232),
Point(3252, 3224), Point(3239, 3224), Point(3236, 3217),
Point(3221, 3217)];
end;
end;
Tiles:= WalkThroughPath(Tiles);
end;