Spiker
2012-01-25 20:02:17
How Long have You Played Runescape?
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
I know Java (~3 years experience), and I just learned PASCAL, very easy :) SRL, Scar/Simba, the good stuff :)
Are you a member of any other communities?
No
Tell us about yourself…
Please show us one (or multiple) of your scripts.
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
I know Java (~3 years experience), and I just learned PASCAL, very easy :) SRL, Scar/Simba, the good stuff :)
Are you a member of any other communities?
No
Tell us about yourself…
From: Spiker
My name is Lee. I'm an avid gamer, both console and PC. I'm 18, and should be going to Texas Tech university this upcoming Fall to major in computer engineering. I'm a nice guy, a fast learner, and a helpful member of any community that I'm in.
Please show us one (or multiple) of your scripts.
//For some reason wouldn't let me attach //Spiker_Fruitfaller.simba - let me know
//if you need the actual file
Program Spiker_Fruitfaller;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SRL/SRL/skill/summoning.simba}
{$i ObjectDTM/ObjDTMInclude.simba}
{==============================================================================}
{========== INSTRUCTIONS ==========}
{==============================================================================}
{========== Spiker Fruitfaller V1.0 by Leespiker ==========}
{==============================================================================}
{========== 1. Already have your bat summoned. ==========}
{========== 2. Start inside the Al-Kharid bank. ==========}
{========== 3. Post proggies and buggies please. ==========}
{==============================================================================}
Const
PapPrice = 1800; //current price of papayas
OraPrice = 950; //current price of oranges
BanPrice = 150; //current price of bananas
LimPrice = 40; //current price of limes
LemPrice = 40; //current price of lemons
PinPrice = 40; //current price of pineapples
ScrollPrice = 243; //current price of fruitfall scrolls
FBPouchPrice = 2271; //current price of fruit bat pouches
SumPotPrice = 1800; //current price of summoning potion(1)
Version = '1.0'; //current version
//SRL Stats
SRLStats_Username = 'Anonymous';
SRLStats_Password = 'anon1337';
World = 0; //0 for random
Members = True;
Signed = True;
Var
ScrollsUsed, PouchesUsed, Profit, FinalProfit, Trips, Papayas, Oranges,
Pineapples, Lemons, Limes, Bananas, TotalFruits: Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers)
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
Pin := '';
Nick := ''; // 3-4 lowercase letters from username; used for random event detection
Member := True;
BoxRewards := ['XP','xp','lamp'];
LampSkill := 'Summoning';
Active := True; // Set to true if you want to use Player 0
end;
end;
Procedure SetVars;
begin
ScrollsUsed := 0;
PouchesUsed := 0;
Trips := 0;
Papayas := 0;
Oranges := 0;
Pineapples := 0;
Lemons := 0;
Limes := 0;
Bananas := 0;
end;
Procedure StatsCommit;
begin
stats_IncVariable('Fruit Fall Scrolls Used', ScrollsUsed);
stats_IncVariable('Fruits Picked Up', TotalFruits);
stats_IncVariable('Total Trips', Trips);
stats_IncVariable('Total Profit', FinalProfit);
Stats_Commit;
end;
{*******************************************************************************
Procedure HumanMMouse(eX, eY: Integer);
By: Flight
Description: Human-like miss-and-correct mouse movement
*******************************************************************************}
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse(X, Y, X2, Y2, 9.0, 3.0, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;
Procedure HumanMouse(eX, eY, ranX, ranY: Integer; LeftClick: Boolean);
Var
x, y:integer;
begin
HumanMMouse(eX, eY, ranX, ranY);
GetMousePos(x, y);
Mouse(x, y, 0, 0, LeftClick);
end;
Function FamVanish:Boolean;
begin
if FindChatBoxText('before your familiar vanishes', 8, 127) then
begin
Result := True;
end
else
Result := False;
end;
Function ScrollAndSpecialCheck:Boolean;
begin
If FindChatBoxText('pecial', 8, 0) Or FindChatBoxText('nough scro', 8, 0) Then
begin
Result := True;
end
else
Result := False;
end;
Procedure Antiban;
begin
Case Random(20) Of
0: begin Writeln('Antiban') GameTab(tab_Stats) HoverSkill('Summoning', False); GameTab(28); end;
4: begin Writeln('Antiban') SleepAndMoveMouse(7000 + Random(500)); end;
9: begin Writeln('Antiban') GameTab(tab_Inv) ExamineInv; GameTab(28); end;
14:begin Writeln('Antiban') GameTab(tab_Stats); Wait(3000 + Random(500)); GameTab(28); end;
end;
end;
Procedure Setup;
begin
Smart_Server := World;
Smart_Members := Members;
Smart_Signed := Signed;
ClearDebug;
SetupSRL;
DeclarePlayers;
if not (LoggedIn) then
LoginPlayer;
ObjDTM_Setup;
ObjDTM_Debug := True;
end;
Procedure WalkNearBank;
Var
Path: TStringArray;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
Setup;
Path := ['606:69:3:7:7:569:67:7:7:565:79:7:7:638:72:4:603:67:610:68:610:73:604:71'];
ObjDTM_Walk(Path[0], 0, 500, 3, True)
Wait(500+Random(100));
end;
Procedure WalkOutside;
Var
Outside: TStringArray;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
Setup;
Outside := ['628:83:4:7:7:638:72:7:7:625:108:7:7:567:65:7:7:570:111:4:627:82:631:82:631:86:627:86'];
ObjDTM_Walk(Outside[0], 0, 500, 3, True);
Wait(500+Random(250));
end;
Function BanksColor(var rx, ry: Integer): Boolean;
Var
TPA: TPointArray;
ATPA: T2DPointArray;
CTS, i: Integer;
o: TPoint;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.56);
FindColorsTolerance(TPA, 6190982, MSX1, MSY1, MSX2, MSY2, 9);
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if(Length(TPA) = 0) then
begin
WriteLn('BanksColor could not find any points.');
Exit;
end;
SortTPAFrom(TPA, Point(MSCX, MSCY));
ATPA := TPAToATPA(TPA, 15);
for i := 0 to High(ATPA) do
begin
o := MiddleTPA(ATPA[i]);
HumanMMouse(o.x, o.y, 3, 3);
if(WaitUptextMulti(['ank boo'], 250+Random(500))) then
begin
Result := True;
GetMousePos(rx, ry);
Exit;
end;
end;
end;
Function PineappleColor(var rx, ry: Integer): Boolean;
Var
TPA: TPointArray;
ATPA: T2DPointArray;
CTS, i: Integer;
o: TPoint;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(1.04, 6.13);
FindColorsTolerance(TPA, 2321176, 175, 100, 350, 280, 2);
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if(Length(TPA) = 0) then
begin
WriteLn('PineappleColor could not find any points.');
Exit;
end;
SortTPAFrom(TPA, Point(MSCX, MSCY));
ATPA := TPAToATPA(TPA, 15);
for i := 0 to High(ATPA) do
begin
o := MiddleTPA(ATPA[i]);
HumanMMouse(o.x, o.y, 3, 3);
if(WaitUptextMulti(['apaya', 'range', 'anana', 'eapple', 'ime', 'emon'], 250+Random(500))) then
begin
Result := True;
GetMousePos(rx, ry);
Exit;
end;
end;
end;
Procedure CheckFeet;
Var
c:Integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
If(Not InvFull) Then
begin
Wait(50+Random(50));
HumanMouse(255, 182, 2, 2, False);
If OptionsExist(['ake Pap'], False) Then
begin
c := InvCount;
ChooseOption('ake Pap');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Papayas := Papayas + 1;
CheckFeet;
end
else If OptionsExist(['ake Ora'], False) Then
begin
c := InvCount;
ChooseOption('ake Ora');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Oranges := Oranges + 1;
CheckFeet;
end
else
begin
Case Random(8) Of
0: HumanMMouse(90, 90, 10, 10);
1: HumanMMouse(300, 50, 10, 10);
2: HumanMMouse(480, 60, 10, 10);
3: HumanMMouse(450, 220, 10, 10);
4: HumanMMouse(440, 310, 10, 10);
5: HumanMMouse(180, 315, 10, 10);
6: HumanMMouse(60, 240, 10, 10);
7: HumanMMouse(50, 180, 10, 10);
end;
end;
end;
end;
Procedure ClickFruit(var x, y: Integer);
Var
c:Integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
Wait(200+Random(50));
HumanMouse(x, y, 0, 0, False);
If OptionsExist(['ake Pap'], False) Then
begin
c := InvCount;
ChooseOption('ake Pap');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Papayas := Papayas + 1;
Wait(500+Random(50));
CheckFeet;
end
else If OptionsExist(['ake Ora'], False) Then
begin
c := InvCount;
ChooseOption('range');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Oranges := Oranges + 1;
Wait(500+Random(50));
CheckFeet;
end
else If OptionsExist(['eapple'], False) Then
begin
c := InvCount;
ChooseOption('eapple');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Pineapples := Pineapples + 1;
Wait(500+Random(50));
CheckFeet;
end
else If OptionsExist(['emon'], False) Then
begin
c := InvCount;
ChooseOption('emon');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Lemons := Lemons + 1;
Wait(500+Random(50));
CheckFeet;
end
else If OptionsExist(['anana'], False) Then
begin
c := InvCount;
ChooseOption('anana');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Bananas := Bananas + 1;
Wait(500+Random(50));
CheckFeet;
end
else If OptionsExist(['ime'], False) Then
begin
c := InvCount;
ChooseOption('ime');
repeat
Wait(50+Random(50));
until(ExistsItem(c+1));
Limes := Limes + 1;
Wait(500+Random(50));
CheckFeet;
end
else
begin
Case Random(8) Of
0: HumanMMouse(90, 90, 10, 10);
1: HumanMMouse(300, 50, 10, 10);
2: HumanMMouse(480, 60, 10, 10);
3: HumanMMouse(450, 220, 10, 10);
4: HumanMMouse(440, 310, 10, 10);
5: HumanMMouse(180, 315, 10, 10);
6: HumanMMouse(60, 240, 10, 10);
7: HumanMMouse(50, 180, 10, 10);
end;
end;
end;
Procedure ClickBank;
Var
F, x, y:Integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
ClickNorth(SRL_ANGLE_HIGH);
repeat
If BanksColor(x, y) Then
begin
HumanMouse(x, y, 2, 2, False);
WaitOption('-q', 300);
Wait(500+Random(100));
end;
until(BankScreen or PinScreen);
Wait(200+Random(100));
If PinScreen Then
begin
F := 0;
repeat
Writeln('Entering Pin');
InPin(Players[CurrentPlayer].Pin);
Inc(F);
until (BankScreen) or ( F > 5 )
if (F > 5) then
begin
Exit;
end;
end;
Wait(1500+Random(200));
end;
Procedure SpecialMoveLeftClickCheck;
Var
SumBut, SpecMove, ConBut, InvBut, x, y: integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
Repeat
HumanMMouse(250,250,30,30);
SumBut:= DTMFromString('mbQAAAHicY2VgYDjMxMBwDIj3QfERIJ4AFO8E4ilA3Aulpy9dz3Dz7V0wnZiVwdA8Yx4DP1AcHTNiwWAAAG3PEFw=');
FindDTM(SumBut, x, y, 680, 120, 755, 170);
FreeDTM(SumBut);
HumanMouse(x, y, 2, 2, False);
Wait(500+Random(50));
Until(OptionsExist(['S'], False));
ChooseOption('S');
Wait(1500+Random(100));
SpecMove:= DTMFromString('mQwAAAHicY2ZgYIhjYmDwBOIdQCzAyMBwGyh2D4j/z5Bn+H+GAYz5GRCYEQkDAQBdowiv');
FindDTM(SpecMove, x, y, 550, 210, 740, 465);
FreeDTM(SpecMove);
HumanMouse(x, y, 1, 1, True);
Wait(200+Random(100));
ConBut:= DTMFromString('mQwAAAHicY2ZgYKhlYmCIA+KVQHyEEYIPAfH/MwwMieFODNmJHgz8QHUwzIiEgQAAUnYH5A==');
FindDTM(ConBut, x, y, 550, 210, 740, 465);
FreeDTM(ConBut);
HumanMouse(x, y, 1, 1, True);
Wait(200+Random(100));
InvBut:= DTMFromString('mWAAAAHicY2FgYJjAxMAwHYj7ofRuoNhOID4ExAeA2E1FgOHCIgMGMwVOBhkeVgZ+oBgyZkTDIAAA8yUIOA==');
FindDTM(InvBut, x, y, 630, 155, 675, 210);
FreeDTM(InvBut);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end;
Procedure WithdrawAndDrinkPot;
Var
BankExit, EmptyInv, Sum1, Sum2, Sum3, Sum4, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
BankExit := DTMFromString('mbQAAAHicY2VgYHjJyMDwBoifItHKQHF5KFaDYi0VWQZRYUEwNtRSAmN+oDg6ZsSCwQAAYfMHag==');
EmptyInv := DTMFromString('mbQAAAHicY2VgYChjZGCoBuJ0IK6D0qZAbADEVkBsDmUrCfEyzI1RZHC47crAz8fLkBrhycAP1I+OGbFgMAAAE0EHjg==');
Sum1:= DTMFromString('mbQAAAHicY2VgYDjOxMBwCIj3AfFBID4KxK8ZIPgdEH8G4qdA7OTkypCVlc/Q/uw9kMcExvxAEh0zYsFgAADnzA01');
Sum2:= DTMFromString('mlwAAAHicY2dgYJjMBMFTgHg6EM+H0nOA+DlQ/hUQvwfiz0D8BogfA/ELIG46cYGh/c1XBrlrd4E8JjDOyMgB0/xAEhdmxIOhAAB14RKo');
Sum3:= DTMFromString('mWAAAAHicY2FgYMhmYmDIAuICIC4G4kdAsWdA/AmIXwBxRWUdg9y1u0AWExjzA0lkzIiGQQAAEKkI6w==');
Sum4:= DTMFromString('mWAAAAHicY2FgYHBiYmBwA2JvIHYB4odAsZtA/BaIPwOx3LW7QJIJjvmBJDJmRMMgAACb8wbV');
If FindDTM(Sum2, x, y, MSX1, MSY1, MSX2, MSY2) Then
begin
FreeDTM(Sum2);
Sum2:= DTMFromString('mlwAAAHicY2dgYJjMBMFTgHg6EM+H0nOA+DlQ/hUQvwfiz0D8BogfA/ELIG46cYGh/c1XBrlrd4E8JjDOyMgB0/xAEhdmxIOhAAB14RKo');
FindDTM(Sum2, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(Sum2);
HumanMouse(x, y, 2, 2, True);
Wait(500+Random(200));
FindDTM(BankExit, x, y, 477, 18, 500, 43);
FreeDTM(BankExit);
HumanMouse(x, y, 2, 2, True);
Wait(700+Random(200));
Sum2:= DTMFromString('mlwAAAHicY2dgYJjMBMFTgHg6EM+H0nOA+DlQ/hUQvwfiz0D8BogfA/ELIG46cYGh/c1XBrlrd4E8JjDOyMgB0/xAEhdmxIOhAAB14RKo');
FindDTM(Sum2, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(Sum2);
HumanMouse(x, y, 2, 2, True);
Wait(1000+Random(200));
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
ClickBank;
FindDTM(EmptyInv, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(EmptyInv);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end
else If FindDTM(Sum4, x, y, MSX1, MSY1, MSX2, MSY2) Then
begin
FreeDTM(Sum2);
FreeDTM(Sum4);
Sum4:= DTMFromString('mWAAAAHicY2FgYHBiYmBwA2JvIHYB4odAsZtA/BaIPwOx3LW7QJIJjvmBJDJmRMMgAACb8wbV');
FindDTM(Sum4, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(Sum4);
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
FindDTM(BankExit, x, y, 477, 18, 500, 43);
FreeDTM(BankExit);
HumanMouse(x, y, 2, 2, True);
Wait(700+Random(100));
Sum4:= DTMFromString('mWAAAAHicY2FgYHBiYmBwA2JvIHYB4odAsZtA/BaIPwOx3LW7QJIJjvmBJDJmRMMgAACb8wbV');
FindDTM(Sum4, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(Sum4);
HumanMouse(x, y, 2, 2, True);
Wait(1000+Random(100));
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
ClickBank;
FindDTM(EmptyInv, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(EmptyInv);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end
else If FindDTM(Sum3, x, y, MSX1, MSY1, MSX2, MSY2) Then
begin
FreeDTM(Sum2);
FreeDTM(Sum4);
FreeDTM(Sum3);
Sum3:= DTMFromString('mWAAAAHicY2FgYMhmYmDIAuICIC4G4kdAsWdA/AmIXwBxRWUdg9y1u0AWExjzA0lkzIiGQQAAEKkI6w==');
FindDTM(Sum3, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(Sum3);
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
FindDTM(BankExit, x, y, 477, 18, 500, 43);
FreeDTM(BankExit);
HumanMouse(x, y, 2, 2, True);
Wait(700+Random(100));
Sum3:= DTMFromString('mWAAAAHicY2FgYMhmYmDIAuICIC4G4kdAsWdA/AmIXwBxRWUdg9y1u0AWExjzA0lkzIiGQQAAEKkI6w==');
FindDTM(Sum3, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(Sum3);
HumanMouse(x, y, 2, 2, True);
Wait(1000+Random(100));
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
ClickBank;
FindDTM(EmptyInv, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(EmptyInv);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end
else If FindDTM(Sum1, x, y, MSX1, MSY1, MSX2, MSY2) Then
begin
FreeDTM(Sum2);
FreeDTM(Sum4);
FreeDTM(Sum3);
FreeDTM(Sum1);
Sum1:= DTMFromString('mbQAAAHicY2VgYDjOxMBwCIj3AfFBID4KxK8ZIPgdEH8G4qdA7OTkypCVlc/Q/uw9kMcExvxAEh0zYsFgAADnzA01');
FindDTM(Sum1, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(Sum1);
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
Sum1:= DTMFromString('mbQAAAHicY2VgYDjOxMBwCIj3AfFBID4KxK8ZIPgdEH8G4qdA7OTkypCVlc/Q/uw9kMcExvxAEh0zYsFgAADnzA01');
If FindDTM(Sum1, x, y, MSX1, MSY1, MSX2, MSY2) Then
begin
FreeDTM(Sum1);
Sum1:= DTMFromString('mbQAAAHicY2VgYDjOxMBwCIj3AfFBID4KxK8ZIPgdEH8G4qdA7OTkypCVlc/Q/uw9kMcExvxAEh0zYsFgAADnzA01');
FindDTM(Sum1, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(Sum1);
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
FindDTM(BankExit, x, y, 477, 18, 500, 43);
FreeDTM(BankExit);
HumanMouse(x, y, 2, 2, True);
Wait(700+Random(100));
Sum1:= DTMFromString('mbQAAAHicY2VgYDjOxMBwCIj3AfFBID4KxK8ZIPgdEH8G4qdA7OTkypCVlc/Q/uw9kMcExvxAEh0zYsFgAADnzA01');
FindDTM(Sum1, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(Sum1);
HumanMouse(x, y, 2, 2, True);
Wait(1000+Random(100));
Sum1:= DTMFromString('mbQAAAHicY2VgYDjOxMBwCIj3AfFBID4KxK8ZIPgdEH8G4qdA7OTkypCVlc/Q/uw9kMcExvxAEh0zYsFgAADnzA01');
FindDTM(Sum1, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(Sum1);
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(100));
ClickBank;
FindDTM(EmptyInv, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(EmptyInv);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end
else
begin
FreeDTM(Sum1);
FindDTM(EmptyInv, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(EmptyInv);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end;
end
else
begin
FreeDTM(Sum1);
FreeDTM(Sum2);
FreeDTM(Sum3);
FreeDTM(Sum4);
end;
end;
Procedure FruitFall;
Var
SumBut, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
SumBut:= DTMFromString('mbQAAAHicY2VgYDjMxMBwDIj3QfERIJ4AFO8E4ilA3Aulpy9dz3Dz7V0wnZiVwdA8Yx4DP1AcHTNiwWAAAG3PEFw=');
FindDTM(SumBut, x, y, 680, 120, 755, 170);
FreeDTM(SumBut);
HumanMouse(x, y, 2, 2, True);
Wait(250+Random(50));
end;
Procedure WithdrawScrolls;
Var
FfScroll, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
FfScroll:= DTMFromString('mbQAAAHicY2VgYIgD4lwozgDiTCDOAeJ0IM4D4mwgLgTilm0WQJIJjKffk2eIil7AwA/koWNGLBgMAGVgCNs=');
FindDTM(FfScroll, x, y, MSX1, MSY1+85, MSX2, MSY2);
FreeDTM(FfScroll);
HumanMouse(x, y, 2, 2, False);
If OptionsExist(['-15'], False) Then
begin
ChooseOption('-15');
Wait(300+Random(100));
end
else
begin
ChooseOption('-X');
Wait(500+Random(100));
TypeSend('15');
Wait(100+Random(100));
end;
end;
Procedure DepositBoB;
Var
DepositBoBItems, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
DepositBoBItems := DTMFromString('mbQAAAHicY2VgYDjAyMCwHog3AfFxRgjfFIgtgVgPiHWB2AKIZ647zuBw25UhNcITjMu6FjDwA/WjY0YsGAwAU1MMIw==');
FindDTM(DepositBoBItems, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(DepositBoBItems);
HumanMouse(x, y, 2, 2, True);
Wait(250+Random(500));
end;
Procedure DepositInv;
Var
DepositInvItems, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
DepositInvItems := DTMFromString('mbQAAAHicY2VgYChjZGCoBuJ0IK6D0qZAbADEVkBsDmUrCfEyzI1RZHC47crAz8fLkBrhycAP1I+OGbFgMAAAE0EHjg==');
FindDTM(DepositInvItems, x, y, MSX1, MSY1, MSX2, MSY2);
FreeDTM(DepositInvItems);
HumanMouse(x, y, 2, 2, True);
Wait(100+Random(100));
end;
Procedure PickUpFruit;
Var
Papaya, Papaya1, Papaya2, Papaya3, Papaya4, x, y:Integer;
aFound: Extended;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
Papaya := DTMFromString('mbQAAAHicY2VgYGBmgAA2KGaHisEwG1S+cbMZQ8t2c4bENg2GqFo1Bpd4WQYRoDg6ZsSCwQAAYyMGPA==');
Papaya1:= DTMFromString('mbQAAAHicY2VgYOhkZGDoAuJ+IG4E4g4gfgjEV4D4AZT9AohnrJFgmLxcnCGrQpBh/TEZht4FYgz8QP3omBELBgMAz5sN3Q==');
Papaya2:= DTMFromString('mbQAAAHicY2VgYLjGyMBwFYhvAvEFIL4NxFJMDAyCQKwAxNJALAnE01cYg3FelSrDsp0WDBWtmgz8QP3omBELBgMASDcLwQ==');
Papaya3:= DTMFromString('mWAAAAHicY2FgYDjPyMBwEoivAvFZIH4ExE+A+AEQXwPi6SuMGVbstmRIzFFkmLbcmIEfqAcZM6JhEAAA1hAMbw==');
Papaya4:= DTMFromString('mWAAAAHicY2FgYJjJyMAwA4gnAfF8ID4ExDuA+CAQHwDJrZFgWLpbimHzKRmGkmYhBn6gHmTMiIZBAAB3lgsi');
If(Not InvFull) Then
begin
Wait(100+Random(100));
If FindDTMRotated(Papaya, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) Then
begin
Writeln('Searching For Papaya!');
ClickFruit(x, y);
FreeDTM(Papaya);
PickUpFruit;
end
else If FindDTMRotated(Papaya1, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) Then
begin
FreeDTM(Papaya);
Writeln('Searching For Papaya1!');
ClickFruit(x, y);
FreeDTM(Papaya1);
PickUpFruit;
end
else If FindDTMRotated(Papaya2, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) Then
begin
FreeDTM(Papaya);
FreeDTM(Papaya1);
Writeln('Searching For Papaya2!');
ClickFruit(x, y);
FreeDTM(Papaya2);
PickUpFruit;
end
else If FindDTMRotated(Papaya3, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) Then
begin
FreeDTM(Papaya);
FreeDTM(Papaya1);
FreeDTM(Papaya2);
Writeln('Searching For Papaya3!');
ClickFruit(x, y);
FreeDTM(Papaya3);
PickUpFruit;
end
else If FindDTMRotated(Papaya4, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) Then
begin
FreeDTM(Papaya);
FreeDTM(Papaya1);
FreeDTM(Papaya2);
FreeDTM(Papaya3);
Writeln('Searching For Papaya4!');
ClickFruit(x, y);
FreeDTM(Papaya4);
PickUpFruit;
end
else If PineappleColor(x, y) Then
begin
FreeDTM(Papaya);
FreeDTM(Papaya1);
FreeDTM(Papaya2);
FreeDTM(Papaya3);
FreeDTM(Papaya4);
Writeln('Searching For Pineapple!');
ClickFruit(x, y);
PickUpFruit;
end
else
begin
Writeln('Did not find any papayas!');
FreeDTM(Papaya);
FreeDTM(Papaya1);
FreeDTM(Papaya2);
FreeDTM(Papaya3);
FreeDTM(Papaya4);
end;
end;
end;
Procedure WithdrawBatPouch;
Var
BankExit, FbPouch, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
FbPouch := DTMFromString('mbQAAAHicY2VgYDAGYksgtgdiFyB2BuJ8IM4B4nQgLgTiLCCu32DG0HvYhmHfziVAHhMY8wNJGIYBRiwYDABNuQiX');
FindDTM(FbPouch, x, y, MSX1, MSY1+85, MSX2, MSY2);
FreeDTM(FbPouch);
HumanMouse(x, y, 2, 2, True);
Wait(250+Random(250));
BankExit := DTMFromString('mbQAAAHicY2VgYHjJyMDwBoifItHKQHF5KFaDYi0VWQZRYUEwNtRSAmN+oDg6ZsSCwQAAYfMHag==');
FindDTM(BankExit, x, y, 477, 18, 500, 43);
FreeDTM(BankExit);
HumanMouse(x, y, 2, 2, True);
Wait(300+Random(200));
end;
Procedure RenewBat;
Var
FbPouch, SumBut, x, y:integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
SumBut:= DTMFromString('mbQAAAHicY2VgYDjMxMBwDIj3QfERIJ4AFO8E4ilA3Aulpy9dz3Dz7V0wnZiVwdA8Yx4DP1AcHTNiwWAAAG3PEFw=');
FindDTM(SumBut, x, y, 680, 120, 755, 170);
FreeDTM(SumBut);
HumanMouse(x, y, 2, 2, False);
If OptionsExist(['enew'], False) Then
begin
ChooseOption('enew');
end
else
begin
FbPouch := DTMFromString('mbQAAAHicY2VgYDAGYksgtgdiFyB2BuJ8IM4B4nQgLgTiLCCu32DG0HvYhmHfziVAHhMY8wNJGIYBRiwYDABNuQiX');
FindDTM(FbPouch, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(FbPouch);
HumanMouse(x, y, 2, 2, False);
WaitOption('S', 300);
end;
Wait(250+Random(250));
PouchesUsed := PouchesUsed + 1;
end;
Procedure WithdrawAndRenewBat;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
WalkNearBank;
ClickBank;
WithdrawBatPouch;
RenewBat;
end;
Procedure FruitfallPickUpLoop;
Var
FfScroll, x, y:Integer;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
FfScroll := DTMFromString('mbQAAAHicY2VgYIgD4lwozgDiTCDOAeJ0IM4D4mwgLgTilm0WQJIJjKffk2eIil7AwA/koWNGLBgMAGVgCNs=');
repeat
If FamVanish Then
begin
WithdrawAndRenewBat;
WalkOutside;
end;
FruitFall;
until(ScrollAndSpecialCheck or not ExistsItemDTM(FfScroll, x, y))
Wait(1000+Random(100));
PickUpFruit;
Wait(50+Random(50));
WalkOutside;
repeat
If FamVanish Then
begin
WithdrawAndRenewBat;
WalkOutside;
end;
FruitFall;
until(not ExistsItemDTM(FfScroll, x, y))
PickUpFruit;
end;
Procedure InitialLoop;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
SpecialMoveLeftClickCheck;
ClickBank;
end;
Procedure MainLoop;
begin
if not LoggedIn then Exit;
if FindNormalRandoms then Exit;
If FamVanish Then
begin
WithdrawAndRenewBat;
end;
WithdrawScrolls;
WalkOutside;
repeat
Writeln('Still Walking');
Wait(50+Random(50));
until(not IsMoving)
Writeln('Stopped Walking');
Wait(200+Random(100));
Antiban;
SetAngle(SRL_ANGLE_LOW);
MakeCompass(330);
FruitfallPickUpLoop;
WalkNearBank;
repeat
Writeln('Still Walking');
Wait(50+Random(50));
until(not IsMoving)
Writeln('Stopped Walking');
SetAngle(SRL_ANGLE_HIGH);
ClickBank;
DepositBoB;
DepositInv;
If FamVanish Then
begin
WithdrawAndRenewBat;
end;
WithdrawAndDrinkPot;
Trips := Trips + 1;
end;
Procedure Progress;
Var
SumPotsUsed, ScrollsUsed:integer;
begin
ClearDebug;
ScrollsUsed := Trips*15;
SumPotsUsed := Trips*2;
TotalFruits := Papayas+Pineapples+Bananas+Lemons+Limes+Oranges;
Profit := ((Papayas*PapPrice)+(Oranges*OraPrice)+(Pineapples*PinPrice)+
(Bananas*BanPrice)+(Lemons*LemPrice)+(Limes*LimPrice)-
(ScrollsUsed*ScrollPrice)-(SumPotsUsed*SumPotPrice)-(PouchesUsed*FBPouchPrice));
FinalProfit := (Profit*60/((GetTimeRunning/60000)+1));
Writeln('====================================================');
Writeln('===== Spiker Fruitfaller V'+Version+' by Leespiker =====');
Writeln('====================================================');
Writeln('===== Time Running: '+TimeRunning+' =====');
Writeln('===== Total Trips: '+IntToStr(Trips)+' =====');
Writeln('===== Total Fruits Gathered: '+IntToStr(TotalFruits)+' =====');
Writeln('===== Total Papaya Gathered: '+IntToStr(Papayas)+' =====');
Writeln('===== Profit Made: '+IntToStr(Profit)+'gp =====');
Writeln('===== Profit/Hour: '+IntToStr(FinalProfit)+'gp =====');
Writeln('====================================================');
StatsCommit;
end;
begin;
SMART_Server := World;
SMART_Members := Members;
SMART_Signed := Signed;
SMART_SuperDetail := False;
ClearDebug;
SetupSRL;
SetupSRLStats(578,SRLStats_Username, SRLStats_Password);
AddOnTerminate('Progress');
DeclarePlayers;
if not LoggedIn then LoginPlayer;
SetVars;
InitialLoop;
repeat
repeat
MainLoop;
Progress;
until (not LoggedIn)
NextPlayer(Players[CurrentPlayer].Active);
until False;
end.