Simba Code:
program Deadlys_AirCrafter;
{$i SRL/SRL.simba}
{DEFINE SMART}
//{.Include SRL\SRL\Misc\Debug.simba}
//{$i SRL/SRL/misc/paintsmart.simba}
{$i ObjectDTM/ObjDTMInclude.Simba}
Const //Yoho's
SERVER = ('54'); // Enter "0" to pick a random server.
MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first char)
{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var
i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := 'Username'; //Player username.
Pass := 'Password'; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
end;
Procedure ObjSetup; //Euph's
begin;
ObjDTM_Setup;
end;
Procedure StatsGuise(wat:String); //Yoho's
Begin
Status(wat);
Disguise(wat);
End;
//Function CheckAndClick(X,Y:Integer):Boolean;
//By: YoHoJo
//Description: Moves mouse to x,y, checks for uptext, and clikcs if found
//*******************************************************************************}
Function CheckAndClick(X,Y:Integer):Boolean;
Begin
MMouse(x, y, 5, 5);
{Wait(100 + Random(50));
If CountUpColor('B', 41, 5, 86, 24, 70, 140) Then}
If WaitUpTextMulti(['Mine','ine'], 150) Then
Begin
Result:=True;
GetMousePos(x, y);
Mouse(x, y, 0, 0,True);
Wait(100+Random(50));
FFlag(0);
End;
End;
Procedure FailSafe(Reason:String); //Yoho's
begin
Players[CurrentPlayer].Loc:=reason;
Logout;
Terminatescript;
end;
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, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;
Procedure Loadvars;
begin;
MouseSpeed := RandomRange(14, 18);
end;
Procedure Antiban; //I liked a few of Yoho's antibans, I implemented them here
Begin
Case Random(192) Of
0: HoverSkill('runecrafting', False);
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
3: RandomAngle(1);
4: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
5: HoverSkill('random', False);
6: RandomMovement;
End;
end;
Procedure WithdrawEss;
var
x, y:integer; //esssdtm
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
SetAngle(SRL_ANGLE_HIGH);
If (FindObjCustom(x,y,['Bank','nk','booth','oot'], [5662832, 5927290, 6323335, 6584191], 2)) Then
Mouse(x, y, 5, 5, False);
Wait(300+random(250));
ChooseOption('Use-quickly');
Wait(2500+random(500));
Wait(300+random(400));
//EsssDTM := DTMFromString('mwQAAAHic42RgYDjAyMBwGIjPA/EhIN4MxDuB+DQQnwXibUCcDVQXwwChK4E4E4jjgTgRiIuAuBSI3ZydgSQTXgw0iioYDgALlQuK');
//if FindDTM(EsssDTM,x, y, 1, 1, 200, 200) then
If (FindObjCustom(x,y,['ithdraw'], [4408134, 5066065, 4802892], 1)) Then
Mouse(x, y, 5, 5, False);
Wait(300+random(250));
ChooseOption('All');
Wait(500+random(250));
//FreeDTM(EsssDTM);
end;
function Walking(Color, Tolerance: Integer; SortFrom: tpoint): Boolean;
var
i, x, y, rx, ry: Integer;
TPA: TPointArray;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, Tolerance);
SortTPAFrom(TPA, SortFrom);
for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;
rx := RandomRange(-6, 6);
ry := RandomRange(-6, 6);
if (not rs_OnMinimap(x + rx, y + ry)) then
Continue;
Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(200 + Random(500));
Result := True;
Break;
end;
end;
Procedure Walkies;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
if (Walking(2570554, 15, Point(583, 38))) then
Wait(3000+Random(500));
end;
procedure Resting;
var
X,Y: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
while not RunEnergy(50) do //WTF? This must be wrong ...
If FindObjCustom(x, y, ['Talk', 'alk'], [14464635, 9469760, 4297607], 10) then
begin
Writeln('Listening to the blissful music')
Getmousepos(x, y)
Mouse(x, y, 3, 3, False);
Waitoption('isten', 3000);
Wait(10000+Random(5000));
RunEnergy(70);
end;
end;
procedure WalkToAlter; //Mine, that's rare
var
Path: TStringArray;
I: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
Path:= ['570:108:4:1:7:584:129:1:7:610:111:1:7:602:150:1:7:623:133'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(3000+Random(500));
Resting;
Path:= ['572:124:4:5:7:569:77:1:7:558:100:1:7:579:95:1:7:557:78'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2500+Random(500));
Path:= ['566:117:4:1:7:576:103:3:7:582:128:1:7:593:103:1:7:606:115'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(5000+Random(1000));
end;
Procedure Enter;
var
X,Y: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
If FindObjCustom(x, y, ['Ent', 'Enter'], [16631951, 16629135, 16171659, 14925721, 16499851], 30) then
begin
Writeln('Entered into the Mysterious rock formation')
Getmousepos(x, y)
Case random(11) of
0..8: mouse(x, y, 8, 8, true);
9..10:
begin;
Mouse(x, y, 5, 5, False);
Waitoption('nter', 3000);
end;
end;
end;
end;
Procedure Crafting;
Var
x,y: integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
If FindObjCustom(x, y, ['raft', 'Rune'], [5591380, 5920344, 5723222, 5525587, 5525843, 5722966, 5723222], 3) then
begin
Writeln('Crafted Air runes')
Getmousepos(x, y)
Case random(11) of
0..8: mouse(x, y, 15, 15, True);
9..10:
begin;
Mouse(x, y, 15, 15, False)
Waitoption('raft', 3000);
end;
end;
end;
end;
Procedure Waiting;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
Wait(4500+random(600));
end;
Procedure Leave;
var
X,Y: Integer;
Begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
If FindObjCustom(x, y, ['Ent', 'Enter'], [6594721, 4884104], 10) then
begin
Writeln('Leaving the Mysterious rock formation')
Getmousepos(x, y)
Case random(11) of
0..8: mouse(x, y, 2, 2, true);
9..10:
begin;
Mouse(x, y, 2, 2, false)
Waitoption('nter', 3000);
end;
end;
end;
end;
Procedure BackToTheBank;
var
Path: TStringArray;
I: Integer;
Begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
Case Random(5) Of
0..4:
begin
Path:= ['685:61:4:3:7:631:39:1:7:673:69:1:7:676:39:1:7:661:77'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2500+Random(500));
Path:= ['684:52:4:1:7:693:78:5:7:634:38:1:7:643:56:1:7:623:39'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(3500+Random(500));
Resting;
Path:= ['675:49:4:1:7:666:69:1:7:678:90:1:7:642:85:1:7:658:104'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(1000+Random(200));
Path:= ['685:56:4:0:7:650:114:1:7:650:66:1:7:635:22:1:7:618:104'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(5500+Random(500));
end;
end;
end;
begin
//Here should be smart settings if I'm not mistaken.
SetupSRL;
Declareplayers;
Loadvars;
ObjSetup;
Repeat
Withdrawess;
Walkies;
WalkToAlter;
Enter;
Waiting;
Crafting;
Waiting;
Leave;
Waiting;
BackToTheBank;
Until(false)
end.