Simba Code:
program Tanner;
{$DEFINE WALKER}
{$i AeroLib/AeroLib.Simba}
Const
DHIDE = 'green'; //green/blue/red/black/Lowercase please
cBREAK_IN = 100; // How long before we take a break? (minutes)
cBREAK_FOR = 30; // How long will we break for? (minutes)
cR_BREAK_IN = 10; // Random minutes to add/subtract from how long until we break
cR_BREAK_FOR = 10; // Random minutes to add/subjtract from break duraction
P_USERNAME = '';
P_PASSWORD = '';
P_NICKNAME = '';
P_PIN = '';
P_MEMBER = true;
var
Coins,BlackDhide,BlueDhide,GreenDhide,RedDhide:TItem;
bRSW,RSW:TRSWalker;
bpath,path:TPointArray;
BDhide,GDhide:Tpoint;
Tanner,BankObject:TMSObject;
Procedure LoadItems;
begin
GDhide := Point(0, 0);
BDhide := Point(0, 0);
BankObject.create('Bank Banker', ['Bank', 'Banker'], [createCol(4605515, 14, 0.20, 0.11)], 50, 0, 0, 0);
Tanner.create('Talk-to Ellis', ['Talk', 'to','Ellis'], [createCol(2837887, 23, 0.09, 0.41)], 50, 0, 0, 0);
Coins.DTM := DTMFromString('maQEAAHicE2RgYHBkYmAIAGJ/JOwHxB5AbAzFlkBsC8QuQOwOxL5QPdZQ+inQnNdA/BiIHwDxXSC+AcQ3oWLvgPgDEH8E4s9Q/AkqBlL/DCR3RBZIMlKIKQeUugCrKwA2BBYr');
case lowercase(DHIDE) of
'green' :
begin
GreenDhide.DTM := DTMFromString('mKgEAAHic42NgYFjOyMCwCYpXMUL4c4F4NpReAMQrgXgtEG8A4nVAvBmIU4F64xggdD4QFwBxJhCnAHE8EEcCcQwQRwBxFlQ+G4g5o3kZOBOA2IOTgTOQk8HY2BgoyoiCQXJgOoUXSZw8wEgmRgUAVYMSAA==');
end;
'red' :
begin
RedDhide.DTM := DTMFromString('mfgEAAHicrc47CoAwEIThTToLG8/lAcRCISgGHyEqgvi4u7+Y0jILH2wxA5OJiNciGy79/RN6tDCBhcOOAyfu4O02b16JrOhQBCVqNLDwWDDDYYBBFbIj8jRhlYogzsVY8r/mAf3dD9s=');
end;
'blue' :
begin
BlueDhide.DTM := DTMFromString('mVAEAAHicE2BgYFjByMAwH4iXAPEqIF4LxOuBeCsQbwDibUC8BYjnAvE8qBqQ/CaoeBvQjE4g7gPiCUDcC8TNQFwPFQfJN0FpkJo6IK4G4olA3APEnLzRQJwCxQlgvqjJOqAMI4Oo0VIGY2NjMB8kDxLDxJQBbCaSgtEBAH8YGaE=');
end;
'black' :
begin
BlackDhide.DTM := DTMFromString('mfgEAAHicrc67CsJQEIThOT6CXZCghhj0eINoL4oiCApaqE1CioiN71/7J26h2GbhY5jdZtuSRi1pYMaYYY4FUizhMUWMDgLTRd9y76QL7rhZVv2EA3bYYI2V3Y522+KMKx55pmdR8JnTMEl+8lWW6oWh4iiqVbtvE+9rn97MuIb8zxs0zA8Q');
end;
end;
RSW.Init('WorldMap');
bRSW.Init('WorldMap');
end;
function randomsCheck(): Boolean;
begin if not isLoggedIn() then Exit(false);
if levelUpEx(False) then Exit(true);
if continueChat(false) then Exit(true);
// if getHealthPercent() <= 30 then
//begin
//Shutdown := True;
//sdReason := 'Critical health reached';
//result := True;
//end;
result := waitEx(50);
end;
/////////////////////////////////////////FREEDTMS//////////////////////////////////
{Procedure freeGlobals();
begin
RSW.Free();
freeDTM(GreenDhide.DTM);
//freeDTM(GreenDhide.DTM);
//freeDTM(BlueDhide.DTM);
//freeDTM(BlackDhide.DTM);
end;
}
//////////////////////////////////////////////////////////////////////////////////
procedure declarePlayer();
begin
Me.Name := P_USERNAME;
Me.Pass := P_PASSWORD;
Me.Pin := P_PIN;
Me.Nick := P_NICKNAME;
Me.Member := P_MEMBER;
Me.Active := True;
end;
///////////////////////////////////BANKING/START////////////////////////////////////////
procedure Banking;
var
BankPoint : TPoint;
pnt : Tpoint;
i:Integer;
begin
Writeln('Opening Bank..');
for i:=1 to 5 do
begin
randomsCheck();
if BankObject.find(BankPoint) then
if IsUpTextMulti(['Bank,Banker'])
or IsUpTextMulti(['Bank,Bank,booth'])
then wait(2000+random(750));
if openBankPoint(BankPoint, true) then
break;
wait(randomRange(1300,2700));
Writeln('Looking For Bank');
end;
///this is after we break///
Writeln('Deposting..');
Wait(2000+Random(750));
end;
///////////////////////////////////////////////////////////////CHECKING FOR DHIDE/////////////////////////////////////////////////////////////////////////////////////
procedure CheckingForCoins;
var
i:Integer;
begin
Writeln('Looking for Coins');
////
// Wait(300+Random(750));
if Coins.inInventory() then
exit;
if not Coins.inInventory() then
begin
for i:=1 to 5 do
begin
if Coins.inInventory() then
exit;
Wait(3000+Random(750));
if not Coins.inInventory() then
Writeln('Looking for coins');
if (i=2) then
begin
Writeln('cant find coins');
randomsCheck();
closeInterface();
logoutPlayer();
Writeln('Killing client');
terminateScript();
end;
end;
end;
end;
procedure LookingForHide;
var i:Integer;
begin
////////////////////////////////////////////////////
if (lowercase(DHIDE) = 'green') then
begin
if GreenDhide.inInventory() then
exit;
if not GreenDhide.inInventory() then
for i:=1 to 5 do
begin
if GreenDhide.inInventory() then
exit;
Writeln('Looking for RedDhihde');
Wait(3000+Random(750))
if not GreenDhide.inInventory() then
Writeln('Not found');
if (i=4) then
begin
randomsCheck();
closeInterface();
logoutPlayer();
Writeln('Killing client');
terminateScript();
end;
end;
end;
///////////////////////////////////////////////////
if (lowercase(DHIDE) = 'red') then
begin
if RedDhide.inInventory() then
exit;
if not RedDhide.inInventory() then
for i:=1 to 5 do
begin
if RedDhide.inInventory() then
exit;
Writeln('Looking for RedDhihde');
Wait(3000+Random(750))
if not RedDhide.inInventory() then
Writeln('Not found');
if (i=4) then
begin
randomsCheck();
closeInterface();
logoutPlayer();
Writeln('Killing client');
terminateScript();
end;
end;
end;
////////////////////////////////////////////////////////
if (lowercase(DHIDE) = 'blue') then
begin
if BlueDhide.inInventory() then
exit;
if not BlueDhide.inInventory() then
for i:=1 to 5 do
begin
if BlueDhide.inInventory() then
exit;
Writeln('Looking for RedDhihde');
Wait(3000+Random(750))
if not BlueDhide.inInventory() then
Writeln('Not found');
if (i=4) then
begin
randomsCheck();
closeInterface();
logoutPlayer();
Writeln('Killing client');
terminateScript();
end;
end;
end;
///////////////////////////////////////////////////////
if (lowercase(DHIDE) = 'black') then
begin
if BlackDhide.inInventory() then
exit;
if not BlackDhide.inInventory() then
for i:=1 to 5 do
begin
if BlackDhide.inInventory() then
exit;
Writeln('Looking for BlackDhihde');
Wait(3000+Random(750))
if not BlackDhide.inInventory() then
Writeln('Not found');
if (i=4) then
begin
randomsCheck();
closeInterface();
logoutPlayer();
Writeln('Killing client');
terminateScript();
end;
end;
end;
end;
///////////////////////////getting Hides/////////////////////////////////////////////////////////
procedure GetHide;
begin
Writeln('GET HIDE');
if (lowercase(DHIDE) = 'green') then
begin
withdrawItem(GreenDhide, -1);
wait(350+random(750));
// closeInterface();
end;
if (lowercase(DHIDE) = 'red') then
begin
withdrawItem(RedDhide, -1);
wait(1750+random(750));
closeInterface();
end;
if (lowercase(DHIDE) = 'blue') then
begin
withdrawItem(BlueDhide, -1);
wait(350+random(750));
// closeInterface();
end;
if (lowercase(DHIDE) = 'black') then
begin
withdrawItem(BlackDhide, -1);
wait(350+random(750));
// closeInterface();
end;
end;
///////////////////////////////WALKING///////////////////////////////////////////////////////
Procedure WalkingToTanner;
begin
//wait(1750+random(750));
if (getRunEnergy() > randomRange(35,60)) then
toggleRunning(True);
RSW.walkStyle := wsSPS;
RSW.anyAngle := True;
path:=[Point(4888,3769),Point(4893,3782),Point(4906,3782),Point(4914,3758),Point(4924,3735),Point(4938,3704),Point(4938,3686),Point(4905,3681)];
RSW.WalkPath(path);
end;
///////////////////////////////TANNING/////////////////////////////////////////////////////////////
Procedure Tanning;
var
i:Integer;
pntTan,gpnt,bpnt,rpnt,bbpnt:Tpoint;
begin
for i:=1 to 5 do
begin
randomsCheck();
Writeln('Find Tanner');
if Tanner.find(pntTan) then
HumanMMouse(pntTan,5,5);
if IsUpTextMulti(['Talk', 'to','Ellis']) then
FastClick(Mouse_RIGHT);
if chooseOption('Trade Ellis') then
break;
if (i=3) then
wait(1000 + Random(1000));
if (i=4) then
wait(1000 + Random(1000));
KeyDown(39);
wait(1400+RandomRange(50, 100));
KeyUp(39);
end;
wait(4000+Random(750));
begin
begin
if (lowercase(DHIDE) = 'green') then
begin
gpnt:=[92,230];
HumanMMouse(gpnt,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Tan All');
end;
end;
begin
if (lowercase(DHIDE) = 'red') then
begin
rpnt:=[315,231];
HumanMMouse(rpnt,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Tan All');
end;
end;
begin
if (lowercase(DHIDE) = 'blue') then
begin
bpnt:=[204,230];
HumanMMouse(bpnt,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Tan All');
end;
end;
begin
if (lowercase(DHIDE) = 'black') then
begin
bbpnt:=[426,232];
HumanMMouse(bbpnt,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Tan All');
end;
end;
end;
end;
/////////////////////////////TOTHEBANK/////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
Procedure WalkingToBank;
begin
wait(450+Random(750));
if (getRunEnergy() > randomRange(35,60)) then
toggleRunning(True);
bRSW.walkStyle := wsSPS;
bRSW.anyAngle := True;
bpath:=[Point(4912,3680),Point(4932,3686),Point(4938,3697),Point(4939,3709),Point(4932,3721),Point(4920,3742),Point(4910,3771),Point(4892,3788),Point(4886,3777)];
bRSW.WalkPath(bpath);
end;
//////////////////////////////Deposite//////////////////////////////////////////////////////////////////////
Procedure Deposite;
var
pnt1,pnt2,pnt3,pnt4,pnt5,pnt6:Tpoint;
begin
randomsCheck();
Writeln('Banking Hide Random');
case Random(6) of
0:begin
pnt1:=[622,226];
HumanMMouse(pnt1,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
1:begin
pnt1:=[622,226];
HumanMMouse(pnt1,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
2:begin
pnt2:=[619,264];
HumanMMouse(pnt2,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
3:begin
pnt3:=[576,262];
HumanMMouse(pnt3,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
4:begin
pnt4:=[577,300];
HumanMMouse(pnt4,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
5:begin
pnt5:=[580,336];
HumanMMouse(pnt5,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
6:begin
pnt6:=[619,337];
HumanMMouse(pnt6,5,5);
FastClick(Mouse_RIGHT);
chooseOption('Deposit-All');
end;
end;
end;
//////////////////////////////////////////////////////////////////////////////////////////
procedure antiban;
begin
case random(500) of
1:HoverSkill('random', False);
2:SleepAndMoveMouse(random(2500));
// 3:randomMovement;
4:compassMovement(0, 360, false);
//5:boredHuman;
6:sleep(500+random(5000));
8:randomTab(false);
//9:checkMovingObjs(false);
//10:checkMovingObjs(false);
11:MMouseOffClient('rand');
12:MMouseOffClient('top');
13:MMouseOffClient('bottom');
14:MMouseOffClient('left');
15:MMouseOffClient('right');
16:HoverSkill('runecrafting', False);
17:PickUpMouse
end;
end;
///////////////////////////LOOP/////////////////////////////////////////////////////////////////////////////////
Procedure MainLoop;
begin
GetHide();
CheckingForCoins();
LookingForHide();
WalkingToTanner();
MMouseOffClient('rand');
Tanning();
WalkingToBank();
breakHandler();
antiban ();
Banking();
Deposite();
randomsCheck();
Writeln('Total Runtime: ' + MsToTime(GetTimeRunning, 3));
end;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure Exit;
begin
Writeln('THANKS FOR THE USING MY SCRIPT');
Writeln('Total Runtime: ' + MsToTime(GetTimeRunning, 3));
end;
/////////////////////////////////////////////////////////////////////////
procedure Break();
begin
setupBreak(cBREAK_IN, cBREAK_FOR, cR_BREAK_IN, cR_BREAK_FOR);
writeln('Time until break: '+msToTime(getTimeUntilBreak(), Time_Bare));
end;
begin
declarePlayer();
initAL;
LoadItems();
Break();
//freeGlobals();
Banking();
repeat
MainLoop();
Until(False);
Exit();
end.