Nose Smasher
2008-11-06 14:15:17
<!– BEGIN TEMPLATE: formanswers –>
nose_smasher - SRL Member Application Form
nose_smasher
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Java and C++
Other Communitys
Not really…
How Long have You Played Runescape
Too long…
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Sup all, not too sure what to write in here… So I guess I just want to let you all know how much I love this community and I'm happy I found it because I've learned A LOT from everyone here. So thanks! :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Hey guys, so this is my Script Thread:
PotatoPicker
And this is my Script:
——————————————————
<!– END TEMPLATE: formanswers –>
nose_smasher - SRL Member Application Form
nose_smasher
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Java and C++
Other Communitys
Not really…
How Long have You Played Runescape
Too long…
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Sup all, not too sure what to write in here… So I guess I just want to let you all know how much I love this community and I'm happy I found it because I've learned A LOT from everyone here. So thanks! :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Hey guys, so this is my Script Thread:
PotatoPicker
And this is my Script:
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| |
| PotatoPicker By: |
| Nose_Smasher |
| |
| Version: beta SRL Version: Rev 28 |
| |
| Last Update: 11/5/08 |
| |
\______________________________________________________________________________/
* *
* FEATURES: *
* ~RadialRoadWalk ~DTM's *
* ~MultiPlayer ~Version Checker *
* ~Form ~GE Item Collector *
* ~Lost/Dead Check ~HomeTelly and Death walk *
* ~Potato Counter ~Proggy *
* ~RC (RemoteControl) ~Anti-Randoms *
* And Much More! *
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
program PotatoPicker;
{.include SRL/SRL.scar}
{.include SRL/SRL/misc/Users.scar}
{.include SRL/SRL/misc/DraynorColorFinder.scar}
var
x, y, Picked, Total,
Loads, StopLoad: Integer;
Time2Run, GateOpen, Collector: Boolean;
const
Version = 'beta'; // dont touch this or script will Phail
Your_SRL_ID = ''; // don't have this? go to:
Your_SRL_Pass = ''; // [url]http://www.stats.srl-forums.com/[/url]
RCMasterNick = ''; // RemoteControl Nickname (leave blank if non)
UseTheForm = True; // use form?
procedure declarePlayers;
begin
if not (UseTheForm) then
begin
HowManyPlayers := 1;
numberOfPlayers(howManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 letters from your username
Players[0].Active := True;
Players[0].strings[0] := 'bank'; // 'bank' dont change
Players[0].integers[0] := 4; //How many loads before switching player (4 is good)
Players[0].booleans[0] := True; //Use Lumby Home Telly and deathwalk?
{
Players[1].Name := ''; //username
Players[1].Pass := ''; //password
Players[1].Nick := ''; //3-4 letters from your username
Players[1].Active := True;
Players[1].strings[0] := 'bank'; // 'bank' dont change
Players[1].integers[0] := 4; //How many loads before switching player (4 is good)
Players[1].booleans[0] := True; //Use Lumby Home Telly?
Players[2].Name := ''; //username
Players[2].Pass := ''; //password
Players[2].Nick := ''; //3-4 letters from your username
Players[2].Active := True;
Players[2].strings[0] := 'bank'; // 'bank' dont change
Players[2].integers[0] := 4; //How many loads before switching player (4 is good)
Players[2].booleans[0] := True; //Use Lumby Home Telly?
}
CheckUserNicks;
end else
begin
SRLPlayerForm(True, ['Lumby Home Telly?'], ['Number of Loads?'], ['Location?'], []);
end;
end;
function DeadCheck: Boolean; forward;
function LostCheck: Boolean; forward;
procedure PwntFTL; forward;
Procedure BankIt; forward;
Procedure CheckVersion;
var
Ver, Link: string;
begin
WriteLn('Checking Version...Please Wait');
Ver := GetPage('http://potatoes.freehostia.com/version.txt');
if Ver = '' then
begin
writeln('Server down, or some sort of error... =\');
writeln('running the script anyways :)');
exit;
end else
if Ver <> Version then
begin
Link := GetPage('http://potatoes.freehostia.com/link.txt');
WriteLn('Phail! You need Version ' + Ver)
WriteLn(' ');
WriteLn('Don''t worry! I''ll get it for you! ;)');
OpenWebPage(Link);
TerminateScript;
end else
WriteLn('Sweet, we''re up to date on teh Version!');
end;
function CollectionScreen: Boolean;
begin
result:= FindTextTPA(2070783, 20, 135, 64, 388, 86, 'Collection', upchars, Nothing);
end;
function CloseCollect: Boolean;
var
Timer: Integer;
begin
if CollectionScreen then
begin
MarkTime(Timer);
repeat
Mouse(426, 75, 4, 4, True)
if not CollectionScreen then
begin
Result:= True;
Break;
end else
Wait(300+random(200));
until not (CollectionScreen) or (TimeFromMark(Timer) > 8000)
end;
end;
Function CollectBox(i :Integer): TBox;
var
row, col: Integer;
begin
if (i < 1) or (i > 6) then
begin
srl_Warn('CollectBox', 'Incorrect index: ' + IntToStr(i), warn_AllVersions);
exit;
end;
row :=i mod 3; if row = 0 then row := 3;
col := i / 3 ; if i mod 3 <> 0 then Inc(col);
Result.x1 := (-12 + (row * 116));
Result.y1 := (40 + (col * 90));
Result.x2 := (69 + (row * 116)); //box 1 = 34
Result.y2 := (75 + (col * 90));
end;
//Result.x2 := 69 + (row * 116); box 2
//Result.y2 := 75 + (col * 90);
function ExistsCollect(i: Integer): Boolean;
var
a, b: integer;
TB: TBox;
begin
TB := CollectBox(i);
if FindColorTolerance(a, b, 3355443, TB.x1 + 5, TB.y1 + 5, TB.x2 - 5, TB.y2 - 5, 5) or
FindColor(a, b, 65536, TB.x1 + 5, TB.y1 + 5, TB.x2 - 5, TB.y2 - 5) then
begin
MMouse(a, b, 2, 2);
wait(350+random(150));
if (IsUpText('ollect')) then
begin
Mouse(a, b, 0, 0, true);
wait(500+random(200));
Result:= True;
end;
end;
end;
function OpenBankFaster(Location: String): Boolean; //Edited "OpenBankFast" to
var //look for 'CollectionScreen'
x, y, i, l, c, z: Integer;
Info: TIntegerArray;
Booths, t: TPointArray;
begin
Wait(400);
case LowerCase(Location) of
{'akb', 'al kharid': Info := [MSCX, MSCY, 7969203, 25, 1];
'lb', 'lumbridge': Info := [MSCX, MSCY, 4807788, 10, 1];
'veb', 'varrock east': Info := [MSCX, MSCY, 2971236, 10, 1];
'vwb', 'varrock west': Info := [270, 270, 5689318, 25, 1];
'feb', 'falador east': Info := [MSCX, MSCY + 50, 4612728, 14, 1];
'fwb', 'falador west': Info := [MSCY, MSCY, 4612728, 14, 1];}
'db', 'draynor': Info := [MSCX, MSCY, 605006, 4, 1];
//'eb', 'edgeville bank': Info := [MSCX + 50, MSCY, 3230295, 9, 2];
else
begin
srl_Warn('OpenBankFast', 'Unknown bank: '+Location, warn_AllVersions);
Exit;
end;
end;
MakeCompass('n');
z := GetColorToleranceSpeed;
ColorToleranceSpeed(Info[4]);
FindColorsSpiralTolerance(Info[0], Info[1], Booths, Info[2], MSX1, MSY1, MSX2, MSY2, Info[3]);
ColorToleranceSpeed(z);
SetArrayLength(t, 0);
t := Booths;
SetArrayLength(Booths, 0);
Booths := ReArrangeAndShortenArray(t, 14);
l := GetArrayLength(Booths) -1;
for i := 0 to l do
begin
if (not LoggedIn) or CollectionScreen then
Break;
{if (LowerCase(Location) = 'vwb') or (LowerCase(Location) = 'varrock west') then
begin
Booths[i].X := Booths[i].X + 5;
Booths[i].Y := Booths[i].Y - 20;
end; }
MMouse(Booths[i].X, Booths[i].Y, 3, 3);
Wait(75 + Random(75));
if IsUpText('ooth') Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(70 + Random(75));
if ChooseOption('ollect') then
begin
FFLag(0);
MarkTime(c);
repeat
Wait(500);
until (CollectionScreen) or (TimeFromMark(c) > 3000);
end;
end;
end;
Result := (CollectionScreen);
end;
function BlackTextMultiSingle(Text: TstringArray; ChatLine: Integer): Boolean;
var
n, i: Integer;
begin
n := Length(Text) - 1;
for i := 0 to n do
if (Pos(Text[i], GetBlackText(ChatLine)) <> 0) then
begin
Result := True;
break;
end;
Exit;
end;
function BlackTextMultiAnyLine(ChatTxt: TStringArray): Boolean;
var
I: Byte;
begin
for I := 8 downto 1 do
if (BlackTextMultiSingle(ChatTxt, I)) then
begin
Result := True;
break;
end;
exit;
end;
procedure GECollector(bank: string);
var
i: Integer;
begin
if not (loggedin) then exit;
if (collector = False) then exit;
if not BlackTextMultiAnyLine(['xchang', 'lectio', 'pdat', 'items']) then
begin
WriteLn('No items in collection box :)');
Collector:= False;
Exit;
end else
begin
if (Collector = False) then exit;
WriteLn('Items in collection box!');
OpenBankFaster(bank);
wait(750+random(200));
if not (CollectionScreen) then exit;
for i:= 1 to 6 do
begin
ExistsCollect(i);
wait(250+random(100));
ExistsCollect(i); //incase you got gp too
end;
CloseCollect;
end;
BankIt;
Collector:= False;
end;
function DoubleCheck: Boolean;
begin
If Not (Loggedin) then exit;
if IsChatBlackTextAnyLine('inute') then
Result := False
else
Result := True;
end;
procedure SetTheRun;
var
Runcolor: String;
begin
if not (LoggedIn) then Exit;
GetMMLevels('run',RunColor);
if ((Time2Run = True) and (RunColor = 'Red')) then
begin
SetRun(False);
Time2Run := False;
end;
if (Time2Run = False) and ((RunColor = 'Yellow') or (RunColor = 'Green')) then
begin
SetRun(True);
Time2Run := True;
end;
end;
Procedure AntiRandomz;
begin
if not (loggedin) then exit;
FindNormalRandoms;
if (not LostCheck) and (not DeadCheck) then
exit
else if (LostCheck) or (DeadCheck) then
begin
PwntFTL;
FindNormalRandoms;
end;
end;
function InLumby: Boolean;
var
LumbCol: Integer;
begin
If not (Loggedin) then exit;
LumbCol := FindLumbyRoadColor;
if (FindColorTolerance(x, y, LumbCol, MMX1, MMY1, MMX2, MMY2, 3)) and
(FindSymbol(x, y, 'water')) then
Result := True
else
Result := False;
end;
Procedure Proggy;
var
i: Integer;
begin
SRLRandomsReport;
WriteLn('Please Post Proggy!');
WriteLn('Thanks for Using!');
WriteLn(' ');
WriteLn(Padl('Nose Smasher''s PotatoPicker', 43));
WriteLn(Padr('/~~~~~~~~~~', 48) + '~~~~~~~~~~\')
WriteLn('|' + Padl('|', 58));
WriteLn(Padr('| Total Potatoes Picked -->', 35) + Padr(inttostr(Total), 23) + '|');
WriteLn('|' + Padl('|', 58));
WriteLn(Padr('| Lumby2Draynor walks -->', 35) + Padr('0', 23) + '|');
WriteLn('|' + Padl('|', 58));
WriteLn('|' + Padl('|', 58));
WriteLn(Padr('| Time Running --->', 30) + Padr(TimeRunning, 28) + '|');
WriteLn('|' + Padl('|', 58));
WriteLn('\---------------------------------------------------------/');
WriteLn(' ');
for i:= 0 to getarraylength(players)-1 do
begin
WriteLn('Player #' + inttostr(i) + ' = ' + Players[i].strings[0]);
WriteLn('Active: ' + BoolToStr(Players[i].Active));
WriteLn('Potatoes Picked = ' + IntToStr(Players[i].integers[1]));
WriteLn(' ');
end;
end;
procedure HomeTelly;
var
C: Integer;
begin
If not (loggedin) then exit;
If (Players[CurrentPlayer].booleans[0] = False) then exit;
If (DeadCheck) then exit;
GameTab(7);
wait(100+random(50));
If (FindColorTolerance(x, y, 16284282, MIX1, MIY1, MIX2, MIY2, 3)) then
begin
MMouse(x, y, 2, 2);
wait(75+random(50));
if not IsUpText('ome') then
begin
MMouse(571, 229, 2, 2);
wait(75+random(50));
if not IsUpText('ome') then exit;
Mouse(x, y, 0, 0, true);
end;
Mouse(x, y, 0, 0, true);
repeat
If Not (Loggedin) then exit;
FindNormalRandoms;
wait(1000+random(250));
C := C + 1;
until (InLumby) or (C >= 15);
if (not (InLumby)) and (C >= 15) then
if (DoubleCheck) then
exit
else
WriteLn('Gotta wait fool...');
NextPlayer(false);
end;
GameTab(4);
end;
Function LostCheck: Boolean;
begin
if not (loggedin) then exit;
if (Players[CurrentPlayer].strings[0] = 'Lost') then
result:= True
else
result:= False;
end;
function DeadCheck: Boolean;
begin
If Not (Loggedin) then exit;
if BlackTextMultiAnyLine(['dead', 'dear']) then
if (InLumby) then
begin
Players[CurrentPlayer].strings[0]:= 'Dead';
result:= True;
end else
result:= False;
end;
function OpenTehGate(tolz: integer): Boolean;
var
i, CTS: Integer;
TPA: TPointArray;
aTPA: T2DPointArray;
begin
if not (loggedin) then exit;
WriteLn('Checking Gate Now..');
Result := False;
CTS:= GetColorToleranceSpeed;
ColorToleranceSpeed(tolz);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 5137268, MSCX-85, MSCY-85, MSCX+85, MSCY+85, 15);
aTPA := SplitTPA(TPA, 2);
for i := 0 to High(aTPA) do
begin
if Length(aTPA[i]) < 5 then
continue;
MiddleTPAEx(aTPA[i], x, y);
MMouse(x, y, 0, 0);
Wait(RandomRange(250, 450));
if IsUpText('lose') then
begin
result:= True;
GateOpen:= True;
break;
end;
if IsUpText('pen') and IsUpText('ate') then
begin
Mouse(x, y, 0, 0, True);
if (FindColorTolerance(x, y, 65535, MSX1, MSY1, MSX2, MSY2, 2)) then
begin
Result:= False;
GateOpen:= False;
break;
end else
begin
FFlag(0);
Result := True;
GateOpen:= True;
Break;
end;
end;
end;
ColorToleranceSpeed(CTS);
end;
function PotatoFinder: Boolean;
var
TaterTPA, TatorTPA: TPointArray;
PoTPA: T2DPointArray;
i, CTS: Integer;
begin
if not LoggedIn then Exit;
Result := False;
GameTab(4);
CTS:= GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MSCY, TaterTPA, 11645644, MSCX-105, MSCY-105, MSCX+105, MSCY+105, 15);
FindColorsSpiralTolerance(MSCX, MSCY, TatorTPA, 7040391, MSCX-105, MSCY-105, MSCX+105, MSCY+105, 20);
PoTPA := TPAToATPA(CombineTPA(TaterTPA,TatorTPA), 25);
SortATPASize(PoTPA, False);
for i := 0 to High(PoTPA) do
begin
MiddleTPAEx(PoTPA[i], x, y);
MMouse(x, y, 1, 1);
Wait(RandomRange(200, 350));
if IsUpText('ick') and IsUpText('otat') then
begin
WriteLn('Potato Found!');
Result:= True;
Mouse(x, y, 0, 0, true);
FFlag(0);
FindNormalRandoms;
wait(1250+random(250));
break;
end else
begin
WriteLn('We Fail :(');
break;
end;
end;
ColorToleranceSpeed(CTS);
end;
function RoadWalking(Numb: Integer): Boolean;
var
TheRoad, Bankers, w: integer;
begin
FindDraynorRoadColor(TheRoad, MMX1, MMY1, MMX2, MMY2);
case Numb of
1: begin
RadialRoadWalk(TheRoad, 35, 85, 60, 3, 3);
Wait(35+random(15));
FFlag(3);
SetTheRun;
Result:= True;
exit;
end;
2: begin
RadialRoadWalk(TheRoad, 355, 400, 50, 3, 1);
Wait(35+random(15));
FFlag(2);
SetTheRun;
Result:= True;
exit;
end;
3: begin
RadialRoadWalk(TheRoad, 5, 50, 55, 3, 2);
Wait(35+random(15));
FFlag(3);
SetTheRun;
Result:= True;
exit;
end;
4: begin
RadialRoadWalk(TheRoad, 15, 65, 55, 3, 3);
Wait(35+random(15));
FFlag(2);
SetTheRun;
Result:= True;
exit;
end;
5: begin
RadialRoadWalk(TheRoad, 30, 115, 65, 2, 2);
Wait(35+random(15));
FFlag(3);
SetTheRun;
Result:= True;
exit;
end;
6: begin
RadialRoadWalk(TheRoad, 30, 145, 63, 5, 5);
Wait(35+random(15));
FFlag(2);
SetTheRun;
Result:= True;
exit;
end;
7: begin
GateOpen:= False;
w:= 0;
if (FindColorTolerance(x, y, 230, MMCX, MMCY-20, MMX2, MMY2, 20)) then
begin
Wait(35+random(15));
Mouse(x, y+3, 1, 1, true);
FFlag(2);
wait(500+random(250));
if FindColorTolerance(x, y, 230, MMCX-20, MMCY-20, MMCX+20, MMCY, 20) then
GateOpen := True
else
begin
repeat
if (OpenTehGate(2)) then break;
if (OpenTehGate(-1)) then break;
inc(w);
until (GateOpen = True) or (w >= 5);
end;
if (GateOpen = False) then
begin
WriteLn('TPA failed, jus wing it!');
MMouse(MSCX+(RandomRange(10, 20)), MSCY+(RandomRange(8, 17)), 1, 1);
wait(75);
if IsUpText('pen') then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, true);
wait(200+random(100));
GateOpen:= True;
end else
exit;
end;
SetTheRun;
Result:= True;
exit;
end else
Result:= False;
end;
8: begin
GateOpen:= False;
w:= 0;
if (FindColorSpiralTolerance(x, y, 230, MMX1, MMY1+25, MMX2-30, MMY2, 20)) then
begin
Wait(35+random(15));
Mouse(x, y-3, 1, 1, true);
FFlag(2);
wait(500+random(250));
if FindColorTolerance(x, y, 230, MMCX-20, MMCY, MMCX+20, MMCY+20, 20) then
GateOpen := True
else
begin
repeat
OpenTehGate(2);
OpenTehGate(-1);
inc(w);
until (GateOpen = True) or (w >= 5);
end;
SetTheRun;
Result:= True;
exit;
end else
Result:= False;
end;
9: begin
FindDraynorRoadColor(TheRoad, MMX1, MMY1, MMX2, MMY2);
Wait(75+random(50));
RadialRoadWalk(TheRoad, 180, 360, 65, 3, 3);
Wait(35+random(15));
FFlag(3);
SetTheRun;
Result:= True;
exit;
end;
10: begin
RadialRoadWalk(TheRoad, 200, 300, 60, 3, 1);
Wait(35+random(15));
FFlag(2);
SetTheRun;
Result:= True;
exit;
end;
11: begin
RadialRoadWalk(TheRoad, 150, 220, 55, 3, 2);
Wait(35+random(15));
FFlag(3);
SetTheRun;
Result:= True;
exit;
end;
12: begin
RadialRoadWalk(TheRoad, 160, 210, 55, 3, 3);
Wait(35+random(15));
FFlag(2);
SetTheRun;
Result:= True;
exit;
end;
13: begin
RadialRoadWalk(TheRoad, 160, 200, 65, 2, 2);
Wait(35+random(15));
FFlag(3);
SetTheRun;
Result:= True;
exit;
end;
14: begin
RadialRoadWalk(TheRoad, 190, 230, 50, 3, 3);
Wait(35+random(15));
FFlag(2);
SetTheRun;
Result:= True;
exit;
end;
15: begin
If (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 2, 2, true);
FFlag(2);
Players[CurrentPlayer].strings[0] := 'Bank';
Result:= True;
exit;
end else
begin
Bankers := DTMFromString('78DA63CC626260086140017FFE30313003694' +
'620FE0F048C994035D10C6880118904D24940355104D480ECF227' +
'A02607A8260CBF1A0016B009CB');
Wait(250+random(100));
if (DTMRotated(Bankers, x, y, MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x, y, 2, 2, true);
FFlag(2);
Players[CurrentPlayer].strings[0] := 'Bank';
Inc(Loads);
Result:= True;
end;
end;
FreeDTM(Bankers);
end;
end;
end;
Function PickedCount: Integer; // Credits to Wizzy's ess counter
var
i: Integer;
TPA: TPointArray;
TB: TBox;
begin
Result := 0;
GameTab(4);
for i := 1 to 28 do
begin
TB := InvBox(i);
FindColorsTolerance(TPA, 65536, TB.X1, TB.Y1, TB.X2, TB.Y2, 0);
if (Length(TPA) = 53) then
Result := Result + 1;
end;
end;
Procedure CountEm;
begin
if not (loggedin) then exit;
Picked := PickedCount;
Total:= Total + Picked;
ReportVars[0]:= ReportVars[0] + Picked;
Players[CurrentPlayer].integers[1]:= Players[CurrentPlayer].integers[1] + Picked;
end;
////////////////////////////////////////////////////////////////////////////////
/////////////////////// --> Credits to TravisV10 <-- ///////////////////////////
////////////////////////////////////////////////////////////////////////////////
function FailSafeRadialWalk(rad1, rad2, extend, roadtype: integer): boolean;
var
searchtime: integer;
begin
MarkTime(searchtime);
if (not(RadialWalk(roadtype, rad1, rad2, extend, 0, 0))) then
begin
repeat
rad1 := rad1 - 3;
rad2 := rad2 + 3;
WriteLn('Increading the radius');
if (TimeFromMark(searchtime) >= 20000 + random(5550)) then
begin
WriteLn('Player got lost... bummer');
NextPlayer(false);
Break;
end;
until (RadialWalk(roadtype, rad1, rad2, extend, 0, 0));
end;
FFlag(0);
Wait(550 + random(250)); //Just to be safe!
Result := true;
end;
// Credits continued...
procedure LumbyToDraynor;
var
x, y, tries: integer;
begin
SetAngle(True);
MakeCompass('N');
SymbolAccuracy := 0.7;
FailSafeRadialWalk(74, 90, 70, FindLumbyRoadColor);
FailSafeRadialWalk(307, 332, 70, FindLumbyRoadColor);
FailSafeRadialWalk(341, 342, 70, FindLumbyRoadColor);
FailSafeRadialWalk(320, 359, 70, FindLumbyRoadColor);
FailSafeRadialWalk(340, 370, 70, FindLumbyRoadColor);
FailSafeRadialWalk(290, 230, 70, FindLumbyRoadColor);
FailSafeRadialWalk(295, 260, 70, FindLumbyRoadColor);
FailSafeRadialWalk(240, 302, 70, FindLumbyRoadColor);
FailSafeRadialWalk(300, 260, 70, FindLumbyRoadColor);
FailSafeRadialWalk(270, 230, 55, FindLumbyRoadColor);
FailSafeRadialWalk(285, 240, 70, FindRoadColor);
FailSafeRadialWalk(240, 200, 70, FindRoadColor);
FailSafeRadialWalk(190, 166, 70, FindRoadColor);
FailSafeRadialWalk(190, 150, 70, FindRoadColor);
FailSafeRadialWalk(240, 180, 40, FindRoadColor);
if (not(FindSymbol(x, y, 'bank'))) then
begin
Tries := 0;
repeat
Wait(500 + random(500));
if (Tries = 20) then
begin
WriteLn('Could not find bank sybmol.');
NextPlayer(False);
break;
end;
Tries := Tries + 1;
until (FindSymbol(x, y, 'bank'));
end;
Mouse(x, y, 2, 2, True);
FFlag(2);
Players[CurrentPlayer].strings[0] := 'Bank';
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////// ^^ Credits to TravisV10 ^^ //////////////////////////////
////////////////////////////////////////////////////////////////////////////////
procedure PwntFTL;
begin
If not (loggedin) then exit;
If not (Players[CurrentPlayer].strings[0] = 'Lost') then
If (not Players[CurrentPlayer].strings[0] = 'Dead') then exit;
HomeTelly;
LumbyToDraynor;
end;
Procedure BankIt;
begin
if not (loggedin) then exit;
if not (players[currentplayer].strings[0] = 'bank') then exit;
repeat
if (not(Loggedin)) then break;
OpenBank('db', false, false);
until(BankScreen);
if (bankscreen) then
begin
wait(100+random(100));
fixbank;
depositall;
wait(500+random(500));
CloseBank;
end;
end;
Procedure PickPotatoes;
var
c: Integer;
begin
if not (Loggedin) then exit;
if not (Players[CurrentPlayer].strings[0] = 'Potatoes') then exit;
c:= 0;
MakeCompass('n');
SetAngle(true);
repeat
PotatoFinder;
inc(c);
FindNormalRandoms;
SetTheRun;
until (InvFull) or (c >= 100);
end;
Procedure BankToPotatoes;
var
i: integer;
begin
if not (Loggedin) then exit;
if not (players[currentplayer].strings[0] = 'bank') then exit;
if (InvFull) then BankIt;
GateOpen:= False;
MakeCompass('n');
SetTheRun;
for i:= 1 to 7 do
begin
if not (RoadWalking(i)) then
begin
WriteLn('RoadWalking #' + inttostr(i) + ' Failed...');
AntiRandomz;
if (i >= 7) then
begin
WriteLn('Tryin to get closer to Gate.');
Mouse(MMCX+35, MMCY+5, 5, 5, true);
FFlag(2);
end else
break;
if not (RoadWalking(7)) then
break;
end;
end;
if (GateOpen = True) then
begin
WriteLn('Moving closer');
Mouse(MMCX+5, MMCY+25, 8, 8, true);
FFlag(3);
wait(250+random(100));
Players[CurrentPlayer].strings[0] := 'Potatoes';
end else
begin
WriteLn('Gate failed or We''re Lost :(');
Players[CurrentPlayer].strings[0] := 'Lost';
end;
AntiRandomz;
end;
Procedure PotatoesToBank;
var
i: integer;
TooFar: Boolean;
begin
if not (Loggedin) then exit;
if not (Players[CurrentPlayer].strings[0] = 'Potatoes') then exit;
CountEm;
Proggy;
TooFar:= False;
MakeCompass('n');
SetAngle(true);
SetTheRun;
if not (FindColorTolerance(x, y, 230, MMX1, MMY1+25, MMX2-30, MMY2, 20)) then
begin
TooFar := true;
WriteLn('Too Far South Moving Closer');
Mouse(MMCX-10, MMCY-40, 8, 8, true);
FFlag(3);
wait(250+random(100));
if not (FindColorTolerance(x, y, 230, MMX1, MMY1+25, MMX2-30, MMY2, 20)) then
TooFar:= True
else
TooFar:= False;
end;
if (TooFar = True) then
begin
WriteLn('Uh oh... We Fail...');
Players[CurrentPlayer].strings[0] := 'Lost';
end else
begin
For i:= 8 to 15 do
begin
If not (RoadWalking(i)) then
begin
WriteLn('RoadWalking #' + inttostr(i) + ' Failed...');
AntiRandomz;
if (i >=15) then
begin
WriteLn('Tryin to get closer to Bank.');
Mouse(MMCX-35, MMCY+10, 8, 8, true);
FFlag(2);
end else
continue;
if not (RoadWalking(15)) then
continue;
end;
end;
end;
if not (Players[CurrentPlayer].strings[0] = 'Bank') then
begin
WriteLn('We''re Lost...');
Players[CurrentPlayer].strings[0] := 'Lost';
end;
AntiRandomz;
BankIt;
end;
Procedure SetUpScript;
begin
ScriptID := '1070';
declareplayers;
RCMaster := RCMasterNick;
RCSetNick;
SRLID := Your_SRL_ID;
SRLPassword := Your_SRL_Pass;
If ( SRLID = '' ) Or ( SRLPassword = '' )Then
Begin
Writeln(' You Need a SRL Stats Account, Create One Fool..');
OpenWebPage('http://www.srl-forums.com');
TerminateScript;
End;
wait(50);
ActivateClient;
end;
Procedure MainLoop;
begin
Loads:= 0;
StopLoad:= Players[CurrentPlayer].integers[0];
if (StopLoad <= 0) then StopLoad:= 3;
repeat
repeat
SetAngle(true);
MakeCompass('n');
BankIt;
GECollector('db');
BankToPotatoes;
PickPotatoes;
PotatoesToBank;
until (Loads = StopLoad);
NextPlayer(true);
Loads:= 0;
Collector:= True;
until (PlayersActive <= 0);
end;
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Begin
ClearDebug;
SetUpSRL;
CheckVersion;
SetUpScript;
Collector:= True;
GateOpen:= False;
Loads:= 0;
Total:= 0;
Picked:= 0;
StopLoad:= Players[CurrentPlayer].integers[0];
if (StopLoad <= 0) then StopLoad:= 3;
ActivateClient;
if not(loggedin) then
begin
ActivateClient;
loginplayer;
AntiRandomz;
Loads := 0;
end;
repeat
MainLoop;
until(false);
terminatescript;
end.
——————————————————
<!– END TEMPLATE: formanswers –>