Simba Code:
program Deadlys_Powder_Creator;
{$i srl/srl/misc/smart.simba}
{$i SRL/SRL.simba}
//{.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)
Version = 1.1;
Var
Powder: integer;
Powd: Integer;
Powders: Integer;
aFound: Extended;
{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(1);
CurrentPlayer := 0;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Member := False;
Players[0].Active := True;
Players[0].Pin := '';
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(554) Of
0: HoverSkill('Constitution', False);
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
3: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
4: HoverSkill('random', False);
5: RandomMovement;
End;
end;
Procedure ProgressReport;
begin
Cleardebug;
Writeln('You have been making that powder for : ' + TimeRunning);
Writeln('Powder made: ' + IntToStr(Powders*28));
WriteLn('Profit made: ' + IntToStr(Powders*28*66));
end;
Procedure WithDrawChocolate;
Var
Banker,Chocolatebar, X, Y: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
Inc(Powders);
begin
SetAngle(SRL_ANGLE_High);
MakeCompass('N');
end;
begin
Banker := DTMFromString('mwQAAAHic42RgYPBiYmCwBuJIILYB4ggmiJgnEFtBxdUYGRikoNgcis2gfFVGiHxvexODo709g4ujI0NtfgIYt5algcUCnE0ZglzNGPiB9hHCjERgOAAAcvEOGA==');
if FindDTMRotated(Banker, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
begin
WriteLn('Banking');
MMouse(X, Y, 3, 3);
ClickMouse2(False);
Waitoption('uickly', 3000);
end;
begin
Wait(2000+random(500));
If invfull then
begin
Depositall;
Wait(500+random(500));
end;
begin
ChocolateBar := DTMFromString('mrAAAAHic42BgYHjHyMDwAoi/QfFzRojYIyD+DcTlQFwCxIVAXAXEdUDcCGWXArGPjgTQFCacmB9I4sOMBDAMAACwSgxv');
begin
If not FindDTM(ChocolateBar, x, y, 35, 85, 480, 295) then
begin
WriteLn('No chocolatebars left');
Logout;
TerminateScript;
end;
ChocolateBar := DTMFromString('mrAAAAHic42BgYHjHyMDwAoi/QfFzRojYIyD+DcTlQFwCxIVAXAXEdUDcCGWXArGPjgTQFCacmB9I4sOMBDAMAACwSgxv');
if FindDTM(ChocolateBar, x, y, 35, 85, 480, 295) then
begin
WriteLn('Withdrawing the chocolate');
MMouse(X, Y, 3, 3);
ClickMouse2(False);
Wait(300+random(500));
Waitoption('All', 3000);
Wait(400+random(500));
begin
MouseBox(481, 27, 496, 42, 1);
begin
Wait(300+random(250));
end;
FreeDTM(ChocolateBar);
end;
end;
end;
end;
end;
Procedure PowderCreater;
Var
Chocolatebar, X, Y: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
ChocolateBar := DTMFromString('mlwAAAHicY2dgYMhmYmDIBeJKIE4E4hwgLgbidCB+DJS/BcQPgfgpEL8F4udAfB+I7VVFgCQTVswPJHFhRjwYCgB42Qo4');
if FindDTM(ChocolateBar, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
WriteLn('Making Powder');
MMouse(X, Y, 3, 3);
ClickMouse2(False);
Wait(300+random(500));
Waitoption('owder', 3000);
end;
FreeDTM(ChocolateBar);
end;
Procedure PrecautionaryWait;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
Wait(400+random(250));
end;
Procedure DatPowder;
var
Powder, X, Y: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
MouseBox(218, 400, 300, 458, 1);
begin
Wait(1000+random(500));
begin
Wait(27000+random(10000));
Begin
Powder := DTMFromString('mggAAAHicY2NgYHBkYmBwBmJfKG0JxDZA/AwodxeIHwPxayB+CWUH6ksCSSYMzA8ksWFGHBgCAOmFB/w=');
Powd:= CountItems('dtm', Powder, []);
If Powd=28 then
ProgressReport;
end;
FreeDTM(Powder);
end;
end;
end;
begin
Smart_Server := 54;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
Loadvars;
ObjSetup;
Declareplayers;
if not (LoggedIn) then
LoginPlayer;
Repeat
WithdrawChocolate;
PowderCreater;
PrecautionaryWait;
DatPowder;
Until(false);