SRL Archive - Archive

Firebrand - SRL Member Application Form


Firebrand

2008-08-21 03:29:51

Firebrand - SRL Member Application Form
Firebrand

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
A very limited knowledge of Java, C++, C#. And almost fluent in Dark Basic and Basic.

Other Communitys
None that have anything to do with RS scripting.

How Long have You Played Runescape
Since 2003, so 5 years.

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Well I live in New Zealand and have been Programming/Coding since the age of 9. I started with Basic and learnt out of a book that my father gave me which was from the 80's or something. After I grew bored of that (Quite Quickly) I moved on to C and it's variants but decided I wanted to make a simple game. I found the old version of Dark Basic lying around and decided to try it. I wrote the start of an almost working FPS game which resembled DOOM slightly. But as with most of its predecessor I grew bored of DB and tried to find something more interesting. After searching for a time I rediscovered Runescape and a few months later joined SRL. I have been a member since the 19th of december 2007 and have been intent on learning SCAR and SRL ever since. When SRL went down I was lost and went off Runescape altogether. But when It came back I went straight back in and learnt more advanced things very quickly including TPA's and DTM's.

I hope you enjoy the script, it has examples of most things needed to become an SRL member as recommended by BobboHobbo and Boreas.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

Program BarbFisher;
{ ___ _ _ _ ___ _ _ _ _
| __(_)_ _ ___| |__ _ _ __ _ _ _ __| |___ | __|__| |__ _ _____ _(_) | |___
| _|| | '_/ -_) '_ \ '_/ _` | ' \/ _` (_-< | _|/ _` / _` / -_) V / | | / -_)
|_| |_|_| \___|_.__/_| \__,_|_||_\__,_/__/ |___\__,_\__, \___|\_/|_|_|_\___|
|___/
___ _ _
| __(_)__| |_ ___ _ _
| _|| (_-< ' \/ -_) '_|
|_| |_/__/_||_\___|_|
{.include SRL/SRL.scar}

Const
// Player Constants
StartPlayer = 0; // Starting Player
NumOfPlayers = 1; // Number of users.
LoadsToDo = 1; // Per Player Per Login

// SRL Stats Info, Register or script will not run !!!
UserID = ''; // Your SRL User ID
UserPass = ''; // Your SRL Stats ID

// Smart Info
UseSmart = false; // Use Smart
SmartWorld = 109; // Smart World
SignedSmart = false; // Signed or not

var
GotRod, GotFeathers, SpotPres : Boolean;
dtmBank, dtmBank2, dtmBank3, dtmBank4, dtmRod, dtmFeathers : integer;
dtmTrout, dtmSalmon, WaterCol, SpotCol : integer;
RodsTaken, TotalTrout, TotalSalmon, LoadsDone, TimeRun : integer;

Procedure DeclarePlayers;
begin
HowManyPlayers := NumOfPlayers;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;

Players[0].Name := ''; // Username.
Players[0].Pass := ''; // Password.
Players[0].Nick := ''; // 2-4 letters of Username.
Players[0].Active := true; // Is Your Player Active ?
Players[0].Loc := 'Spot 2'; // Bank, Spot 1, Spot 2 ?

end;

Procedure ChangeSpot; Forward;
Procedure SetupPlayer; Forward;
Procedure PlayerLost; Forward;
Procedure PlayerLoop; Forward;
Procedure FishSpot; Forward;
Function CheckYourEquipment : Boolean; Forward;

Procedure WriteSig;
begin
Writeln(' ___________.__ ___. .___')
Wait(100)
Writeln(' \_ _____/|__|______ ____\_ |______________ ____ __| _/')
Wait(100)
Writeln(' | __) | \_ __ \_/ __ \| __ \_ __ \__ \ / \ / __ |')
Wait(100)
Writeln(' | \ | || | \/\ ___/| \_\ \ | \// __ \| | \/ /_/ | ')
Wait(100)
Writeln(' \___ / |__||__| \___ >___ /__| (____ /___| /\____ |')
Wait(100)
Writeln(' \/ \/ \/ \/ \/ \/ ')
Wait(100)
Writeln(' ___________.__ ___________.__ .__')
Wait(100)
Writeln(' \_ _____/| | ___.__. \_ _____/|__| _____| |__ ___________ ')
Wait(100)
Writeln(' | __) | |< | | | __) | |/ ___/ | \_/ __ \_ __ \')
Wait(100)
Writeln(' | \ | |_\___ | | \ | |\___ \| Y \ ___/| | \/')
Wait(100)
Writeln(' \___ / |____/ ____| \___ / |__/____ >___| /\___ >__| ')
Wait(100)
Writeln(' \/ \/ \/ \/ \/ \/ ')
Writeln('Post Proggress Reports !!!')
end;

Procedure LoadDtm;
begin
dtmBank := DTMFromString('78DA63E46760605062400111C2DC0CBF80342' +
'310FF0702463120431A55CD9F3F4C609A11CA07AB5122A0460A48' +
'F0E1570300DE100C25');

dtmBank2 := DTMFromString('78DA638C626060886140012E1CE20CBF80342' +
'310FF0702C64420230A55CD9F3F4C609A11CA674C001241A86AFE' +
'FD13C654E345404D2A9070C36F1700C55A10EE');

dtmBank3 := DTMFromString('78DA638C606060886340012E1CE20CBF80342' +
'310FF0702C60420230A55CDBF7FC2609A11CA674C04125EA86AFE' +
'FC614255930224DCF09B03008EEB0E3F');

dtmBank4 := DTMFromString('78DA630C676060886440012E1CE20CBF80342' +
'310FF0702C60420230A55CDBF7FC2609A11CA07AB0922428D1701' +
'35A940C215BF1A00CBBA1110');

dtmRod := DTMFromString('78DA6314656060E067400125E17C60214620F' +
'E0F048C42408612031A604422813437909021A0460548B0125023' +
'0B244408A8910012D2F8D500000C290602');

dtmFeathers := DTMFromString('78DA631461606090624001AC9AEC0C1C409A1' +
'188FF0301233F9021CA8006189148202D47841A71202147408D10' +
'909027A04600484813A14602BF1A0057F5058C');

dtmTrout := DTMFromString('78DA63E467606010634001F969690C1A409A1' +
'188FF0301A30490C1CD8006189148202D0424E409A8E102127204' +
'D4F0000909026A248184147E35005F7A0669');

dtmSalmon := DTMFromString('78DA63E465606090644001BB664F63D000D28' +
'C40FC1F081839810C090634C0884402691E202147408D18909021' +
'420D1701354A40821DBF1A00E331070D');

Writeln('Loaded DTMs.');
end;

Procedure FreeDTMs;
begin
FreeDTM(dtmBank);
FreeDTM(dtmBank2);
FreeDTM(dtmBank3);
FreeDTM(dtmBank4);
FreeDTM(dtmRod);
FreeDTM(dtmFeathers);
FreeDTM(dtmTrout);
FreeDTM(dtmSalmon);

Writeln('Freed DTMs.');
end;

Function FindEdgeBank(var x, y : integer): Boolean;
begin
if DTMRotated(dtmBank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;

if DTMRotated(dtmBank2, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;

if DTMRotated(dtmBank3, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;

if DTMRotated(dtmBank4, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;
end;

Function FindSpot(var x, y :integer) : Boolean;
var
TPA, Whites: TPointArray;
i, a, tries : integer;

begin
if not LoggedIn then Exit;
SpotPres := true;
FindColorsSpiralTolerance(0, 0, TPA, SpotCol, MSX1, MSY1, MSX2, MSY2, 5);
for i := 0 to High(TPA) -1 do
begin
FFlag(0);
FindColorsTolerance(Whites, SpotCol, TPA[i].x - 20, TPA[i].y - 20, TPA[i].x + 20, TPA[i].y + 20, 10);
if not FindColorsTolerance(Whites, SpotCol, TPA[i].x - 20, TPA[i].y - 20, TPA[i].x + 20, TPA[i].y + 20, 8) and (tries > 3) then
begin
result := false;
ChangeSpot;
FishSpot;
end;
MMouse(TPA[i].x, TPA[i].y, 0, 0);
tries := tries + 1;
if not IsUpText('ure') and (tries > 5) then
begin
Result := false;
SpotPres := false;
ChangeSpot;
FishSpot;
end;
if not GetArrayLength(Whites) > 10 then Exit;
if GetArrayLength(Whites) > 10 then continue;
Writeln('Moving Mouse To Spot');
Writeln(IntToStr(TPA[i].x)+ ' , ' + IntToStr(TPA[i].y));
if IsUpText('ure') then
begin
Result := true;
SpotPres := true;
Mouse(TPA[i].x, TPA[i].y, 0, 0, false);
ChooseOption('ure');
Wait(1000+random(2000));
Wait(1000);
Exit;
end;
wait(500+random(100));
end;
end;

Function FindFishSymbol : Boolean;
var
MyTime, x, y : integer;

begin
if not LoggedIn then Exit;
MarkTime(MyTime)
repeat
if FindSymbol(x, y, 'Fishing Spot') then
begin
WriteLn('Player Arrived At Spot.');
MMouse(x, y, 1, 1);
Result := true;
end;
Wait(1000+random(4000))
until Result or (TimeFromMark(MyTime)>15000)
end;

Procedure GetFeathers;
var
tries, x ,y : integer;

begin
if not LoggedIn then Exit;
repeat
if FindDTM(dtmFeathers, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 2, 2);
if IsUpText('eather') then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('ithdraw-X');
Wait(2000);
TypeSend(inttostr(52))
Wait(2000);
end;
end;
tries := tries + 1;
Wait(1000+random(4000));
until FindDTM(dtmFeathers, x, y, MIX1, MIY1, MIX2, MIY2) or (tries > 4);

if tries > 4 then
begin
Writeln('Player does not seem to have any Feathers, Switching Player');
CloseBank;
PlayerLost;
end;

if FindDTM(dtmFeathers, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Took Feathers From Bank.');
end;
end;

Function Feathers : Boolean;
var
x, y : integer;

begin
result := FindDTM(dtmFeathers, x, y, MIX1, MIY1, MIX2, MIY2);
end;

Procedure GetRod;
var
tries, x ,y : integer;

begin
if not LoggedIn then Exit;
repeat
if FindDTM(dtmRod, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 2, 2);
if IsUpText('od') then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('ithdraw-1');
Wait(2000);
end;
end;
tries := tries + 1;
Wait(1000+random(4000));
until FindDTM(dtmRod, x, y, MIX1, MIY1, MIX2, MIY2) or (tries > 4);

if tries > 4 then
begin
Writeln('Player does not seem to have a Rod, Switching Player');
CloseBank;
PlayerLost;
end;

if FindDTM(dtmRod, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Took Rod From Bank.');
RodsTaken := RodsTaken + 1;
end;
end;

Function Rod : Boolean;
var
x, y : integer;

begin
result := FindDTM(dtmRod, x, y, MIX1, MIY1, MIX2, MIY2);
end;

Procedure PlayerLost;
begin
Writeln('Player seems to be lost.')
Logout;
NextPlayer(false);
if AllPlayersInactive then PlayerLoop;
end;

Procedure Antiban;
begin
case Random(7) of
1: HoverSkill('random', false);
2: PickUpMouse;
3: BoredHuman;
4: HoverSkill('random', false);
5: HoverSkill('random', false);
6: BoredHuman;
end;
end;

Procedure Bank;
var
tries, x , y, MyTime : integer;

begin
if not LoggedIn then Exit;
if (not(Players[CurrentPlayer].Loc = 'Bank')) then PlayerLost;
FFlag(0);
MarkTime(MyTime);
repeat
OpenBankFast('eb');
Tries := Tries + 1;
Wait(1000+random(4000));
if TimeFromMark(MyTime) > 30000 then PlayerLost;
until (BankScreen) or (tries > 15);

if BankScreen and InvFull then
begin
MarkTime(MyTime);
FixBank;
TotalTrout := TotalTrout + ItemAmount('Inventory', 'dtm', dtmTrout, [0])
TotalSalmon := TotalSalmon + ItemAmount('Inventory', 'dtm', dtmSalmon, [0])
ReportVars[0] := ReportVars[0] + ItemAmount('Inventory', 'dtm', dtmTrout, [0]);
ReportVars[1] := ReportVars[1] + ItemAmount('Inventory', 'dtm', dtmSalmon, [0]);
SendSRLReport;
repeat
FindDTM(dtmTrout, x, y, MIX1, MIY1, MIX2, MIY2);
Mouse(x, y, 2, 2, false);
ChooseOption('eposit-All');
Wait(1000+random(3000));
FindDTM(dtmSalmon, x, y, MIX1, MIY1, MIX2, MIY2);
Mouse(x, y, 2, 2, false);
ChooseOption('eposit-All');
if TimeFromMark(MyTime) > 20000 then PlayerLost;
until (ItemAmount('Inventory', 'dtm', dtmTrout, [1]) = 0) and (ItemAmount('Inventory', 'dtm', dtmSalmon, [1]) = 0)
LoadsDone := LoadsDone + 1;
Writeln('Completed ' + (inttostr(LoadsDone)) + ' Load/s so far.');
Writeln('Stored ' + (inttostr(TotalSalmon)) + ' salmon and ' + (inttostr(TotalTrout)) + ' Trout.');
end;

CheckYourEquipment;
if (ItemAmount('Inventory', 'DTM', dtmFeathers, [10]) < 25) then GetFeathers;

if tries > 3 then
begin
Writeln('Cant Find the Bank, Setting Player to Inactive.')
CloseBank;
PlayerLost;
end;
CloseBank;
end;

Function CheckYourEquipment : Boolean;
begin
GotRod := true;
GotFeathers := true;
if not Rod then
begin
GotRod := False;
end;

if not Feathers then
begin
GotFeathers := False;
end;

if not GotRod and BankScreen then
begin
Writeln('Withdrawing Rod.');
GetRod;
GotRod := True;
end;

if not GotFeathers and BankScreen then
begin
Writeln('Withdrawing Feathers.');
GetFeathers;
GotFeathers := True;
end;

if GotRod and GotFeathers then Result := true;
end;

Procedure WalkToFish;
var
MyTime : integer;
walk: array[0..4] of Boolean;

begin
if not LoggedIn then Exit;
if (not(Players[CurrentPlayer].Loc = 'Bank')) then PlayerLost;
if not(walk[0]) then
repeat
MarkTime(MyTime)
if LinearWalk(WaterCol, 155, 67, 1, 1) then
begin
WriteLn('Leaving Bank.')
walk[0] := true;
FFlag(5+random(5));
end;
if TimeFromMark(MyTime) > 60000 then PlayerLost;
Wait(2000+random(2000))
until walk[0];

if not(walk[1]) then
repeat
MarkTime(MyTime)
if RadialWalk(WaterCol, 177, 190, 63, 1, 1) then
begin
WriteLn('After Wall.')
walk[1] := true;
FFlag(5+random(5));
end;
if TimeFromMark(MyTime) > 60000 then PlayerLost;
Wait(2000+random(2000))
until walk[1];

if not(walk[2]) then
repeat
MarkTime(MyTime)
if RadialWalk(WaterCol, 170, 180, 59, 1, 1) then
begin
WriteLn('Almost There.')
walk[2] := true;
FFlag(5+random(5));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Wait(2000+random(2000))
until walk[2];

if not(walk[3]) then
repeat
MarkTime(MyTime)
if RadialWalk(WaterCol, 137, 145, 57, 1, 1) then
begin
WriteLn('Looking For Symbol.')
walk[3] := true;
FFlag(5+random(5));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Wait(2000+random(2000))
until walk[3];

FindFishSymbol;
Players[CurrentPlayer].Loc := 'Spot 1';
end;

Procedure WalkToBank;
var
MyTime, x, y : integer;
back: array[0..4] of boolean;

begin
if not LoggedIn then Exit;
if (not(Players[CurrentPlayer].Loc = 'Spot 1')) then PlayerLost;
if not(back[0]) then
MarkTime(MyTime);
repeat
if RadialWalk(WaterCol, 270, 359, 65, 1, 1) then
begin
WriteLn('Leaving Spot.')
back[0] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Wait(2000+random(2000))
until back[0];

if not(back[1]) then
MarkTime(MyTime);
repeat
if RadialWalk(WaterCol, 0, 45, 65, 1, 1) then
begin
WriteLn('Heading To Wall.')
back[1] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Wait(2000+random(2000))
until back[1];

if not(back[2]) then
MarkTime(MyTime);
repeat
if RadialWalk(WaterCol, 0, 45, 65, 1, 1) then
begin
WriteLn('Passing Wall.')
back[2] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Wait(11000+random(2000))
until back[2];

if not(back[3]) then
MarkTime(MyTime);
Wait(6000);
repeat
if RadialWalk(WaterCol, 0, 45, 35, 1, 1) then
begin
WriteLn('Near Bank.')
back[3] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Wait(2000+random(2000))
until back[3];

if not(back[4]) then
MarkTime(MyTime);
repeat
if FindEdgeBank(x, y) then
begin
Mouse(x, y, 3, 3, true);
WriteLn('Moving To Bank.')
back[4] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime) > 60000 then PlayerLost;
end;
Antiban;
Wait(1000+random(100))
until back[4];
Players[CurrentPlayer].Loc := 'Bank';
end;

Procedure FishSpot;
var
MyTime: array[0..1] of integer;
x, y, tries, tries2 : integer;

begin
if not LoggedIn then PlayerLost;
SpotCol := 10655888;
SpotPres := true;

if Players[CurrentPlayer].Loc = 'Spot 1' then
repeat
MarkTime(MyTime[0]);
if FindSpot(x, y) then
repeat
FindNormalRandoms;
if FindFight then
begin
RunAway('w', false, 1, 1000);
end;
Antiban;
if FindFight then
begin
RunAway('w', false, 1, 1000);
end;
Wait(6000+random(3000));
if not FindSpot(x, y) then Tries := Tries + 1;
until (Tries > 3) or InvFull or (TimeFromMark(MyTime[0]) > 320000);
Wait(1000);
Tries2 := tries + 1;
if (TimeFromMark(MyTime[0]) > 320000) and (Tries > 3) then PlayerLost;
until InvFull or not FindSpot(x, y) and (Tries2 > 3);

if Players[CurrentPlayer].Loc = 'Spot 2' then
repeat
MarkTime(MyTime[1]);
if FindSpot(x, y) then
repeat
FindSpot(x, y);
FindNormalRandoms;
if FindFight then
begin
RunAway('w', false, 1, 1000);
end;
Antiban;
if FindFight then
begin
RunAway('w', false, 1, 1000);
end;
Wait(6000+random(3000));
if not FindSpot(x, y) then Tries := Tries + 1;
until (Tries > 5) or InvFull or (TimeFromMark(MyTime[1]) > 320000);
Wait(1000);
Tries2 := tries + 1;
if (TimeFromMark(MyTime[1]) > 320000) and (Tries > 3) then PlayerLost;
until InvFull or not FindSpot(x, y) and (Tries2 > 3);

if not FindSpot(x, y) and not InvFull then
begin
ChangeSpot;
FishSpot;
end;

if Players[CurrentPlayer].Loc = 'Spot 2' then
begin
if InvFull then
begin
ChangeSpot;
end;
end;

if InvFull then
begin
Writeln('Finished Finishing.');
Exit;
end;
end;

Procedure ChangeSpot;
var
MyTime: array[0..1] of integer;
spot: array[0..1] of boolean;

begin
if not LoggedIn then PlayerLost;
if Players[CurrentPlayer].Loc = 'Spot 1' then
begin
if not(spot[0]) then
MarkTime(MyTime[0]);
repeat
if RadialWalk(WaterCol, 215, 225, 35, 1, 1) then
begin
WriteLn('Moving To Second Spot.')
spot[0] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime[0]) > 60000 then PlayerLost;
end;
Wait(1000+random(4000))
until spot[0];
Players[CurrentPlayer].Loc := 'Spot 2'
Wait(2000);
FishSpot;
end;

if Players[CurrentPlayer].Loc = 'Spot 2' then
begin
if not(spot[1]) then
MarkTime(MyTime[1]);
repeat
if RadialWalk(WaterCol, 35, 60, 48, 1, 1) then
begin
WriteLn('Moving To First Spot.')
spot[1] := true;
FFlag(5+random(2));
if TimeFromMark(MyTime[1]) > 60000 then PlayerLost;
end;
Wait(1000+random(4000))
until spot[1];
Players[CurrentPlayer].Loc := 'Spot 1'
Wait(2000);
FishSpot;
end;
end;

Procedure ProgressReport;
begin
Writeln('|---------------------------------------|');
Writeln('| Firebrands Fly Fisher |');
Writeln('|---------------------------------------|');
Writeln('| Worked For: ' + TimeRunning + ' |');
Writeln('| Total Trout: ' + inttostr(TotalTrout) + ' |');
Writeln('| Total Salmon: ' + inttostr(TotalSalmon) + ' |');
Writeln('|---------------------------------------|');
end;



Procedure SetupPlayer;
begin
if not(loggedIn) then LoginPlayer;
SetAngle(True);
MakeCompass('n');
WaterCol := FindWaterColor;
Writeln('Player is Ready.');
end;

Procedure MainLoop;
begin
repeat
SetupPlayer;
PlayerLoop;
if AllPlayersInactive then Break;
NextPlayer(true);
until AllPlayersInactive;
end;

Procedure PlayerLoop;
begin
if Players[CurrentPlayer].Loc = 'Bank' then Bank;
if AllPlayersInactive then Exit;

if (LoadsDone = LoadsToDo) or (LoadsDone > LoadsToDo) then
begin
Bank;
Players[CurrentPlayer].Active := False;
Logout;
Exit;
end;

if Players[CurrentPlayer].Active = False then
begin
SetupPlayer;
PlayerLoop;
end;

if Players[CurrentPlayer].Loc = 'Bank' then
begin
SetRun(True);
WalkToFish;
FishSpot;
SetRun(True);
WalkToBank;
PlayerLoop;
end;

if Players[CurrentPlayer].Loc = 'Spot 1' then
begin
FishSpot;
SetRun(true);
WalkToBank;
PlayerLoop;
end;

if Players[CurrentPlayer].Loc = 'Spot 2' then
begin
FishSpot;
SetRun(true);
WalkToBank;
PlayerLoop;
end;
end;

begin
SetupSRL;
DeclarePlayers;
ClearDebug;
WriteSig;
LoadDtm;

if UseSmart then
begin
Writeln('Waiting for Smart to load.');
SmartSetup('world'+inttostr(SmartWorld), true, SignedSmart, false);
while not SmartActive do wait(100);
SetTargetDC(SmartGetDC);
end;

ActivateClient;

if (UserID = '') or (UserPass = '') then
begin
Writeln('You need to register at SRL Stats.');
Writeln('http://www.stats.srl-forums.com/');
TerminateScript;
end;

ScriptID := '947';
begin
SRLID := UserID;
SRLPassword := UserPass;
end;

MainLoop;
TimeRun := GetTimeRunning;
FreeDTMs;
SendSRLReport;
SRLRandomsReport;
ProgressReport;
TerminateScript;
end.

——————————————————

NiCbaZ

2008-08-21 03:41:26

Looks nice, i have not seen you around much but its a yes.

Lee Lok Hin

2008-08-21 04:11:30

Nice. Personally, I think your walking could have a bit more failsafes so it's a no.

Nah, Yes.

And too many Fowards will lag a script. Just restructure your script.

Rune Hacker

2008-08-21 05:01:22

Looks ok, but use less forwards, I see a lot of waits without random times added to them, it looks like you don't even need each player to have a location, just put all your function in order so they work in the correct order, it's not like you use the location for anything other than that, you use a lot of loops using "back: array[0..4] of boolean;" in it which doesn't make much sense to me, doesn't seem needed, but other than those, looks pretty solid, I'm probably going to vote yes though, it looks like a good script that a lot of work was put into.

And 2 of the same application won't give you double the chances of getting in :p jk

Naum

2008-08-21 05:59:45

Nice app just wanted to point out a few things;

One :
Function FindEdgeBank(var x, y : integer): Boolean;
begin
if DTMRotated(dtmBank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;

if DTMRotated(dtmBank2, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;

if DTMRotated(dtmBank3, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;

if DTMRotated(dtmBank4, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Result := true;
Exit;
end;
end;

This is all fine but there is a really easy way of making this work more efficient we can do this, how?
By making an array.

Function FindEdgeBank(var x, y : integer): Boolean;
Var i : Integer;
begin
//load dtm's here like
//DTMBank[0] :=
//DTMBank[1] :=
//e.t.c
For i := 0 to 3 Do
If DTMRotated(DTMBank[i], x, y, MMX1, MMY1, MMX2, MMY2) then
Result := True;
end;

See much easier saves alot of time.

Two :
Function CheckYourEquipment : Boolean;
begin
GotRod := true;
GotFeathers := true;
if not Rod then
begin
GotRod := False;
end;

if not Feathers then
begin
GotFeathers := False;
end;

if not GotRod and BankScreen then
begin
Writeln('Withdrawing Rod.');
GetRod;
GotRod := True;
end;

if not GotFeathers and BankScreen then
begin
Writeln('Withdrawing Feathers.');
GetFeathers;
GotFeathers := True;
end;

if GotRod and GotFeathers then Result := true;
end;

How about making a case there? :)

Other than that just some minor mistakes but it isn't really bad, so I give you a yes.
Best App of the month I think.

BobboHobbo

2008-08-21 08:14:24

Looks very good, yes from me

EDIT*
I hope you enjoy the script, it has examples of most things needed to become an SRL member as recommended by BobboHobbo and Boreas.


Lol, I cant remember when I said that but glad I did, :).

Naike

2008-08-21 08:14:26

Yees, Better then most app's :)

boberman

2008-08-21 10:00:38

Its a solid yes from me. you show a good amount of programming skills in you script. Other then what has been said (I disagree with the forwards statement, but the other statements I agree with). I would just say try and limit global variables more.

But other then that, this is one of the best scripts I have seen to get into members. Great job!

GoF

2008-08-21 10:57:16

Hmm. I think I know you from durr IRC.. Yes.

Scaper

2008-08-21 12:11:23

umm nice app is it actualy you're s?? im gunna hold my vote for the time being gunna hae a lil look about
if so it's a yes from me

Nava2

2008-08-21 13:21:38

No, fix the errors above, also, your findfishing spot function will not work.

Also: add more randomness in your anti-ban. It should be a 1:10 chance of being used.

    if not GetArrayLength(Whites) > 10 then Exit;
if GetArrayLength(Whites) > 10 then continue;

Use an else statement:

    if not GetArrayLength(Whites) > 10 then
Exit
else
Continue;

THIS FUNCTION WILL NOT WORK CURRENTLY.

Withheld.

Firebrand

2008-08-21 15:40:02

Woah, Jumped on this morning and I'm amazed. Thanks for all your guys support :D

@BobbHobbo: I used your SRL Member App helper, it got a score of 142.

@Scaper: It is definitely 100% original :D

WT-Fakawi

2008-08-21 15:57:15

It's my pleasure to let you in.

(Haven't done that in a long time, feels good :) )