Simba Code:
program JOEbotsSOfly;
{$DEFINE SMART}
{$Define Crashsmart}
{$Include SRL/SRL/Misc/SMART.simba}
{$i SRL/srl.simba}
{$i sps/sps.simba}
// This script is 80% JOEbot (20% Flight with his fly fishing procedure) Thanks Flight!
// What this script does is fishes, cooks, and banks fish from Barbarian Village to Edgeville.
// Feel free to use/take anything as long as you give credit.
var
GetIt: Extended;
X,Y: Integer;
Dist,Loc: Integer;
salmon, csalmon, trout, ctrout, fia, lode: Integer;
S: Array [1..2] of Integer;
T: Array [1..2] of Integer;
procedure DeclarePlayers; // Login information. You want to play, dont you?
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Enter your username in the blue things
Players[0].Pass := ''; // Enter your password in the blue things
Players[0].Nick := ''; // Enter 3-4 letters of your username
Players[0].Pin := 'Player_Bank_PIN'; //Enter your bank PIN here
Players[0].Active := True;
Players[0].BoxRewards := ['Xp', 'ostume', 'aphire'];
end;
procedure iNotBanned; // You won't get banned while this is around
begin
if(not(LoggedIn)) then Exit;
case Random(250) of
10:
begin
Hoverskill('Crafting', false);
wait(1551+Random(2111));
Hoverskill('Cooking',false);
wait(1111+Random(1111));
end;
20:
begin
Hoverskill ('Mining', false);
wait(1661+Random(2221));
end;
30:
begin
Hoverskill ('Fishing', false);
wait(1771+Random(2331));
end;
40:
begin
RandomRClick;
end;
50:
begin
PickUpMouse;
end;
end;
end;
procedure AntiRandoms; // Senses and completes random events. Failure isn't my fault.
begin
FindNormalRandoms;
LampSkill := 'Fishing'; // Change this to your desired skill!
LevelUp;
end;
Function IsMoving_F: Boolean; // By Flight
begin
Result := PixelShift(IntToBox(MMCX-30, MMCY-30, MMCX+30, MMCY+30), 200) > 200;
end;
procedure iFly; // By Flight (Some changes) Thanks Flight!
begin
S[1] := DTMFromString('mrAAAAHic42BgYPBjYmBwBGI3IA4H4kIgTgPiMCDOAeI4oJoUKM4E4gYgjgTiOiD2BuIDBw4w2BkIMbx+/pShuXc6GCuE8jOEOEqCxf4D1fDjwYxAzIQHwwAACoYUNA==');
S[2] := DTMFromString('mwQAAAHic42RgYChiYmDIB2InIHYF4nAgjgfiJCBOBWJ7IC4HqvMG4jQgTgHiLCAug/I7gDiZAQQYGV4/f8pgZyAEppt7p4NxmLMUQ4SLFFjsP1AVPwHMCMRMBDAcAADMSRXi');
GameTab(Tab_inv);
FindNormalRandoms;
MakeCompass('W');
{[Loc] (1 = south spot), (2 = north spot)}
if FindDTMRotated(S[1], X, Y, MMX1, MMY1, MMX2, MMY2, (-Pi/4), (Pi/4), (Pi/60), GetIt) then
begin
Dist := (Distance(MMCX, MMCY, X, Y));
if (Dist <= 11) then
Loc := 1;
end;
if FindDTMRotated(S[2], X, Y, MMX1, MMY1, MMX2, MMY2, (-Pi/4), (Pi/4), (Pi/60), GetIt) then
begin
Dist := (Distance(MMCX, MMCY, X, Y));
if (Dist <= 11) then
Loc := 2;
end;
if (Loc = 0) then
begin
if FindDTMRotated(S[2], X, Y, MMX1, MMY1, MMX2, MMY2, (-Pi/4), (Pi/4), (Pi/60), GetIt) then
begin
Mouse(X, Y, 2, 2, True);
WaitFunc(@IsMoving_F, 10, 1000);
While IsMoving_F do
Wait(1);
Wait(randomrange(900, 1500));
end else if FindDTMRotated(S[1], X, Y, MMX1, MMY1, MMX2, MMY2, (-Pi/4), (Pi/4), (Pi/60), GetIt) then
begin
Mouse(X, Y, 3, 3, True);
WaitFunc(@IsMoving_F, 10, 1000);
While IsMoving_F do
Wait(1);
Wait(randomrange(900, 1500));
end;
end else if (Loc = 1) then
begin
if FindDTMRotated(S[2], X, Y, MMX1, MMY1, MMX2, MMY2, (-Pi/4), (Pi/4), (Pi/60), GetIt) then
begin
Mouse(X, Y, 3, 3, True);
WaitFunc(@IsMoving_F, 10, 1000);
While IsMoving_F do
Wait(1);
Wait(randomrange(900,1500));
end;
end else if (Loc = 2) then
begin
if FindDTMRotated(S[2], X, Y, MMX1, MMY1, MMX2, MMY2, (-Pi/4), (Pi/4), (Pi/60), Getit) then
begin
Mouse(X, Y, 3, 3, True);
WaitFunc(@IsMoving_F, 10, 1000);
While IsMoving_F do
Wait(1);
Wait(randomrange(900,1500));
end;
end;
end;
procedure iChop; // Cuts a tree down
begin
T[1] := DTMFromString('mQwAAAHicY2ZgYGBiYmD4y8jA8B2ITwL514H4NBA72WjCMTJgRMJAAAAmeAZh');
T[2] := DTMFromString('mQwAAAHicY2ZgYPjHyMDwB4i/APFtIP89EP8BYicbTQYnR00GL0dDBhhgBmJGJAwEAHbwB9A=');
gametab(tab_inv);
DropItem(28);
repeat
if FindDTMRotated(T[1], x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
Mouse(X, Y, 2,1, False);
Chooseoption('hop')
Until not(IsUpText('ree')or(InvFull))
if not FindDTMRotated(T[2], x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
repeat
if FindDTMRotated(T[2], x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
Mouse(X, Y, 2,1, False);
Chooseoption('hop')
Until not(IsUpText('ree')or(InvFull))
end;
procedure iLite; // Lights a fire with your chopped logs
begin
gametab(tab_inv);
InvMouse(28, mouse_right);
ChooseOption ('ight')
end;
procedure iCook; // Cooks your raw salmon and trout (drops burnt fish)
begin
Salmon := DTMFromString('mlwAAAHicY2dgYHjIzMDwBog/APFVIH4AxM+B+C4QFzMyMKQDcTYQ1wBxDhCXAnEtELcGewF1M2HFPDhlGBgY8WAoAAAWlgrG');
Trout := DTMFromString('mggAAAHicY2NgYEhhZGCIBuIKIM6C4nggng2UWwTEE4F4HhBPAOKZIDxpEpBkwsBcDNgBIw4MAQDzQAfj');
Fia := DTMFromString('mQwAAAHicY2ZgYFjCyMCwFIgXAPE7IP8lEH8A4u+bNBn2LnJimFKpyYAMGJEwEAAAl8QJYw==');
if FindDTMRotated(Fia, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
FindDTM(Salmon, X, Y, MIX1, MIY1, MIX2, MIY2);
Mouse(X, Y, 2,1, True);
FindDTMRotated(Fia, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt);
Mouse(X, Y, 2,1, True);
wait(10000)
FindDTM(Trout, X, Y, MIX1, MIY1, MIX2, MIY2)
Mouse(X, Y, 2,1, True);
FindDTMRotated(Fia, X, Y, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt);
Mouse(X, Y, 2,1, True);
if not FindDTMRotated(Fia, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
iLite;
repeat
if FindDTMRotated(Fia, X, Y, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
FindDTM(Salmon, X, Y, MIX1, MIY1, MIX2, MIY2)
Mouse(X, Y, 2,1, True);
FindDTMRotated(Fia, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt)
Mouse(X, Y, 2,1, True);
wait(10000)
FindDTM(Trout, X, Y, MIX1, MIY1, MIX2, MIY2)
Mouse(X, Y, 2,1, True);
FindDTMRotated(Fia, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt);
Mouse(X, Y, 2,1, True);
if not FindDTMRotated(Fia, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt); then
iLite;
until (invcount = 1)
end;
procedure iTele; // Teleports from Barbarian Village to Edgeville
begin
Lode := DTMFromString('mLgAAAHicY2JgYEhiZGDwAOJCIC4G4qjIIIbqwmwGGGCEYgYGAG4eA/M=');
repeat
gameTab(tab_Magic);
LodestoneTeleport('Edgeville');
until FindDTMRotated(Lode, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt);
gameTab(tab_Inv);
FreeDTM(Lode);
end;
procedure iBank; // Banks the cooked Salmon and Trout in the Edgeville Bank (not burnt fish)
var
mypath: Tpointarray
begin
CSalmon := DTMFromString('mlwAAAHicY2dgYOAHYnEo5gZidiDmAWIRIBYEYj4kMQEglgRiISDeYSUFJJmwYl4giQsz4sFQAADhwAJe');
CTrout := DTMFromString('mWAAAAHicY2FgYOAFYmEglgZiLiBWAGIlIJYEYlkg7qoqB5JMcMzBgAoY0TAIAACB3AJP');
Lode := DTMFromString('mLgAAAHicY2JgYEhiZGDwAOJCIC4G4qjIIIbqwmwGGGCEYgYGAG4eA/M=');
if FindDTMRotated(Lode, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt); then
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE, [ '10_6' ]); // Worked better than radialwalk...
myPath := [Point(4105, 2604), Point(4122, 2628), Point(4143, 2639), Point(4165, 2631), Point(4184, 2640), Point(4183, 2657), Point(4185, 2672), Point(4192, 2683), Point(4206, 2668)];
SPS_WalkPath(myPath) ;
wait(4500)
OpenBankFast('eb');
if(PinScreen) then
InPin(Players[0].Pin);
if(BankScreen) then
FindDTM(CSalmon, X, Y, MIX1, MIY1, MIX2, MIY2)
Mouse(X, Y, 2,1, False);
ChooseOption('all')
Wait(3000)
FindDTM(CTrout, X, Y, MIX1, MIY1, MIX2, MIY2)
Mouse(X, Y, 2,1, False);
ChooseOption('all')
gameTab(tab_Inv);
FreeDTM(Lode);
end;
procedure iWalk;
var
mypath: Tpointarray
begin
SPS_Setup(RUNESCAPE_SURFACE, [ '10_6' ]);
myPath := [Point(4185, 2683), Point(4157, 2715), Point(4155, 2756), Point(4170, 2785), Point(4200, 2818), Point(4215, 2852), Point(4227, 2882), Point(4244, 2910), Point(4269, 2919)];
SPS_WalkPath(myPath) ;
end;
begin
Smart_server := 11;
Smart_Signed := TRUE;
Smart_Members := FALSE;
Smart_SuperDetail := FALSE;
SetupSRL;
DeclarePlayers;
LoginPlayer;
Wait(2000);
GameTab(tab_Inv);
repeat
iFly;
iChop;
iLite;
iCook;
iTele;
iBank;
iWalk;
until (not Loggedin);
end.