Simba Code:
Program Al_Kharid_Warrior_Killer;
{$i srl\srl\misc\smart.simba}
{$i SRL\SRL.simba}
{$i srl\srl\skill\fighting.simba}
Var
x, y: Integer;
B: Array [0..5] of Integer;
aFound: Extended;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].Pin := ''; // Bankpin Here
Players[0].BoxRewards := ['Xp'];
end;
Procedure Attackwarrior;
Var
x, y: Integer;
Begin
If FindObjCustom( x, y, ['att', 'warrior'], [4414565, 4083794, 7639448], 3) Then
Begin
GetMousePos (x, y);
Case Random (0) Of
0: Mouse (x, y, 2, 2, True)
End;
End;
End;
Procedure SetDTM;
Begin
B[0] := DTMFromString('mrAAAAHic42BgYChhYmAIAuJVQLwSiu2h2AmI7YBqUoA4EYiDgdgTiKOBOByI/YB4em8qQ7ghG4NBkgiDQoQAg5U1Kxw7JEkxiADV4MOMBDAMAACI9AxR');
B[1] := DTMFromString('mlwAAAHicY2dgYDBkYmBwAmJHKHYAYj8gjgfiQKC8CxCHAXE8EOcDsTMQOwHxzJ5UBqdEKQYbK1Y4NkoUYVAKF2AQAcrjwox4MBQAAKFHCbE=');
B[2] := DTMFromString('mlwAAAHicY2dgYIhiYmDwAOJ6NOwOxJVA+Xwg9gXiHCCuBeIJQGwJxFt70hi+/+ZmMEoUYbCxYgVjENu70IRBBCiPCzPiwVAAABJQDU0=');
B[3] := DTMFromString('mlwAAAHicY2dgYOBgZGD4DqTFgPQfIC0IpP9B6RIgHQXEkUBcCcW5QFwIxEnBTgz21uYMtpYmDBVpgQxx/vYMt3ZOZqjJDGYQAcrjwox4MBQAAF81DpI=');
B[4] := DTMFromString('mwQAAAHic42RgYOhnYmCYg4RnA3E4EJcAcQUQpwKxCVCdGxBHA3EGEGsCsS4QqwFxCRALAPHU7jQGS0s2BvkwQTjd15IIFvcoMGWY3pHOIAJURwgzEoHhAAAP1hCq');
B[5] := DTMFromString('mlwAAAHicY2dgYJjAxMBQD8QNUAxirwDiHiCOAMpXAXEeEIcDsTUQWwCxJRBv6kpjMNLkYtBPEGWQDxME0zAsApTHhRnxYCgAALMIC8s=');
end;
procedure FrDTM;
begin
FreeDTM(B[0]);
FreeDTM(B[1]);
FreeDTM(B[2]);
FreeDTM(B[3]);
FreeDTM(B[4]);
FreeDTM(B[5]);
end;
///// Credit goes to Tickyy
Procedure Bankit;
Begin
MakeCompass ('w')
repeat
Wait(50 + Random(25));
until FindDTMRotated(B[3], x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, aFound);
If FindDTMRotated(B[3], x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, False);
ChooseOption('bank');
if (bankscreen) then
Withdraw(0, 0, 28);
CloseBank;
FreeDTM(B[3])
end;
end;
Procedure ToBank;
begin
MakeCompass ('n')
if FindDTMRotated(B[0], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FreeDTM(B[0]);
repeat
Wait(50 + Random(25));
until FindDTMRotated(B[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(B[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FreeDTM(B[1]);
repeat
Wait(50 + Random(25));
until FindDTMRotated(B[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(B[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FreeDTM(B[2]);
End;
End;
Procedure FromBank;
begin
MakeCompass ('n')
if FindDTMRotated(B[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FreeDTM(B[3]);
repeat
Wait(50 + Random(25));
until FindDTMRotated(B[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(B[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FreeDTM(B[4]);
repeat
Wait(50 + Random(25));
until FindDTMRotated(B[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(B[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FreeDTM(B[5]);
End;
End;
Function LowHPLetsEat(What: String): Boolean;
var
I, x, y: Integer;
begin
Result := (HPPercent < 70) and (LoggedIn);
If(not(Result)) then
Exit;
if Result then
If InvEmpty then
begin
ToBank;
Bankit;
FromBank;
end else
for i := 1 to 28 do
begin
InvMouse(I, 3);
Wait(RandomRange(150, 250));
if WaitUpText(What, RandomRange(250, 300)) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
Exit
end else
Continue;
end;
end;
begin
MouseSpeed := 18;
Smart_Server := 136;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
ClearDebug;
SetupSRL;
DeclarePlayers;
LoginPlayer;
SetDTM;
MakeCompass ('n')
SetAngle(SRL_ANGLE_HIGH);
If InvEmpty Then
ToBank;
Bankit;
FromBank;
repeat
SetAngle(SRL_ANGLE_HIGH);
Attackwarrior;
While(Infight)do
Wait(300);
LowHPLetsEat('Lobster');
FrDTM;
Until not LoggedIn;
end.