Simba Code:
program GraniteChiseller; //By Divina Commedia!
////////////////////////////////////////////////////////////////////////////////
{$DEFINE SMART}
{$Define CRASHSMART}
{$include srl/srl/misc/smart.simba}
{$include srl/srl.simba}
////////////////////////////////////////////////////////////////////////////////
Const
Version = '1.2'; //Now with SMART
////////////////////////////////////////////////////////////////////////////////
var
x, y, GraniteDTM,Granite2DTM,CraftDTM,Craft2DTM : Integer;
////////////////////////////////////////////////////////////////////////////////
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active:=True;
end;
////////////////////////////////////////////////////////////////////////////////
procedure SetDTM;
begin
GraniteDTM := DTMFromString('mbQAAAHicY2VgYFjEyMAwDYjnAPFSIF4PxO1A3APEE4G4H4i7gHhWaRhQNRMK5mfADhiRMBwAAGhDB3Q=');
Granite2DTM := DTMFromString('mlwAAAHicY2dgYFjHysCwFoiXAfE2IN4ExSuBuJaRgaENiBuAuA6IK4G4BYgrgHhyfhBQNxMG7sr0ZeBnwA5g4ow4MBQAAOQmCy4=');
CraftDTM := DTMFromString('mggAAAHicY2NgYJAEYjMg1gRiWSAWYkAAEF8aDS+simL4P0MeA/MzYAeMSDQyhgAAJfkLTg==');
Craft2DTM := DTMFromString('mggAAAHicY2MAAkYGhqdA6hsQswDZ/EAsC8SLgHgfEO9HwoeAuD83gOH/DHkMzA/Ujw0z4sAQAAAv2BC1');
end;
////////////////////////////////////////////////////////////////////////////////
procedure WithdrawGranite;
begin
begin
OpenBankChestEdge(SRL_BANK_SW);
if BankScreen then
wait(1000 + random(200));
if InvFull then
DepositAll;
end;
begin
if FindDTM(GraniteDTM,x,y,MBX1,MBY1,MBX2,MBY2) then
begin
Mouse(x,y, 4, 4,False);
WaitOption('Withdraw-7',5000);
else
begin
FindDTM(Granite2DTM,x,y,MBX1,MBY1,MBX2,MBY2);
Mouse(x,y, 4, 4,False);
WaitOption('Withdraw-7',5000);
end;
end;
begin
CloseBank;
wait(1000 + random(200));
end;
end;
////////////////////////////////////////////////////////////////////////////////
procedure CraftGranite;
begin
if FindDTM(GraniteDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
MouseItem(RandomRange(1,7),mouse_Left);
wait(1500 + random(200));
FindDTM(CraftDTM,x,y,MCX1,MCY1,MCX2,MCY2);
Mouse(x,y,30,30,True);
else
begin
FindDTM(Granite2DTM,x,y,MIX1,MIY1,MIX2,MIY2);
MouseItem(RandomRange(1,7),mouse_Left);
wait(1500 + random(200));
findDTM(Craft2DTM,x,y,MCX1,MCY1,MCX2,MCY2);
Mouse(x,y,30,30,True);
end;
repeat
wait(3000);
case random(100) of
1: SetAngle(SRL_ANGLE_LOW);
2: SetAngle(SRL_ANGLE_HIGH);
end;
until InvFull;
end;
////////////////////////////////////////////////////////////////////////////////
procedure FreeDTMs;
begin
FreeDTM(GraniteDTM);
FreeDTM(CraftDTM);
FreeDTM(Granite2DTM);
FreeDTM(Craft2DTM);
end;
////////////////////////////////////////////////////////////////////////////////
begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
ClearDebug;
SetupSRL;
DeclarePlayers;
LoginPlayer;
ActivateClient;
SetDTM;
MouseSpeed := 20;
Repeat
WithdrawGranite;
CraftGranite;
until(false);
writeln('Freeing DTMs')
FreeDTMs;
end.
////////////////////////////////////////////////////////////////////////////////