Simba Code:
program TestBed;
//{$DEFINE SMART}
//{$DEFINE PAINT}
{$i SRL\SRL.simba}
//{$i SRL\SRL\Misc\PaintSmart.simba}
{$i sps\sps.simba}
{$I SRL\SRL\Skill\magic.simba}
{$i ObjectDTM\ObjDTMInclude.simba}
// Declare Constants Used
const
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = False;
NumbOfPlayers = 1;
StartPlayer = 0;
WorldSwitching = False; // Switch world after the break
ChooseActivity = 2; // Choose Option To run
// Valid Options:
// 0 = Mine Clay And Bank It
// 1 = Mine Clay And Soften It Then Bank It
// 2 = Get Soft Clay From Bank And Craft It Then Bank It
// 3 = Get Soft Clay From Bank And Craft It And Drop It
// 4 = Mine Clay,Soften It,Craft It,Bank It
// 5 = Mine Clay,Soften It,Craft It,Drop It
// Declare Variables
var
BreakTime: Integer;
Drops: TStringArray;
WalkToBank:TPointArray;
WalkToWaterWell:TPointArray;
WalkToPottery:TPointArray;
GoToMinery:TPointArray;
BankLocation, WellLocation, PotteryLocation,
MineLocation, ArrivalLocation:Boolean;
// Setup Players
procedure DeclarePlayers;
begin
WriteLn('Declaring Player');
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Member := False;
Players[0].Active := True;
end;
// Status Update in PinBar
procedure StatsGuise(wat:string);
Begin
Status(wat);
DisGuise(wat);
End;
// GlobalFailSafe
Procedure GlobalFailSafe(Reason:String);
Begin
WriteLn('We Have A Bug. Kill IT !!');
Players[CurrentPlayer].Loc := Reason;
Logout;
Stats_Commit;
// ProgressReport;
TerminateScript;
End;
// FailSafe
Procedure FailSafe(Reason:String);
Begin
WriteLn('We Have A Bug. Kill IT !!');
Players[CurrentPlayer].Loc := Reason;
Logout;
Stats_Commit;
// ProgressReport;
TerminateScript;
End;
// Find Current Location Coordinates, Check against Destination Location
// If not in destination Location Then Start Transport Destination
procedure FindLocation;
Begin
WriteLn('Find Current Location');
// if CurrentPos = Mine Location then // Mining Location
Begin
// MineLocation = True;
// BankLocation = False;
// WellLocation = False;
// PotteryLocation = False;
End;
End;
// Create Pottery
procedure MakePottery;
var
x, y , PlusOne, PotteryCounter: Integer;
Wheel: Boolean;
Begin
// Setup Pottery For Finding Item To Use
// If Pottery Then Find Wheel
// If Pottery Is made Find Oven
WriteLn('In Pottery Shop');
// Wheel := False;
SetAngle(SRL_ANGLE_HIGH); // Set Camera Angle
MakeCompass('W');
x:=MSCX; // This is the Center Of the Main Screen Where Your Character is standing at the moment
y:=MSCY; // The Search for your object will start from this location outwards in a spiral
WriteLn('Looking For Pottery Wheel');
If FindObjTPA(x, y, 9079697, 6, 1, 15, 60, 600, ['Pott']) then
Begin
Case random(2) of
0: Begin
WriteLn('Left Clicked Potters Wheel');
GetMousePos(x,y); // Get Mouse Current Position
mouse(x, y, 5, 5, True); // Left Click On Potters Wheel
End;
1: Begin
WriteLn('Right Clicked Potters Wheel');
GetMousePos(x,y); // Get Mouse Current Position
mouse(x, y, 5, 5, False); // Right Click To Bring Up Options
WaitOption('Form', 500); // Wait A Certain X Amount Of Seconds Before Clicking Option
End;
End;
End;
End;
// Choose Activity To Implement
procedure Activity(Choice:Integer);
Begin
WriteLn('Choose Activity to Do');
Case Choice of
0: Begin
DisGuise('Mine Clay And Bank It');
// Mine Clay And Bank It
// ArriveAtLocation;
// Check If InvFull, If Full, Then Bank, If empty Then Get PickAxe And Go To Mine
if InvFull then
Begin
End;
End;
1: Begin
DisGuise('Mine Clay And Soften It Then Bank It');
// Mine Clay And Soften It Then Bank It
// ArriveAtLocation;
// Check If InvFull, If Full, Then Bank, If empty Then Get PickAxe And Go To Mine And then Wet Clay And Then Bank
End;
2: Begin
DisGuise('Get Soft Clay From Bank And Craft It Then Bank It');
// Get Soft Clay From Bank And Craft It Then Bank It
// ArriveAtLocation;
// Check If InvFull, If Full, Then Bank, If empty Then Get Soft Clay Go To Craft Shop, Then Bank Crafted Item
if InvFull then
Begin
// DepositInventory;
End;
MakePottery;
End;
3: Begin
DisGuise('Get Soft Clay From Bank And Craft It And Drop It');
// Get Soft Clay From Bank And Craft It And Drop It
// ArriveAtLocation;
// Check If InvFull, If Full, Then Bank, If empty Then Get Soft Clay Go To Craft Shop, Then Drop Crafted Item
End;
4: Begin
DisGuise('Mine Clay,Soften It,Craft It,Bank It');
// Mine Clay,Soften It,Craft It,Bank It
// ArriveAtLocation;
// Check If InvFull, If Full, Then Bank, If empty Then Get PickAxe And Go To Mine, Soften Clay Go To Craft Shop, Then Bank Crafted Item
End;
5: Begin
DisGuise('Mine Clay,Soften It,Craft It,Drop It');
// Mine Clay,Soften It,Craft It,Drop It
// ArriveAtLocation;
// Check If InvFull, If Full, Then Bank, If empty Then Get PickAxe And Go To Mine, Soften Clay Go To Craft Shop, Then Drop Crafted Item
End;
End;
End;
// Setup Client For Run
procedure SetupClient;
begin
WriteLn('Start Bot Client');
// Smart_Signed := TRUE;
// Smart_Members := FALSE;
// Smart_SuperDetail := FALSE;
// Smart_Server := 120;
ClearDebug;
// ActivateClient;
SetupSRL;
ObjDTM_Setup;
ObjDTM_Debug := True;
DeclarePlayers;
if not (LoggedIn) then
LoginPlayer;
Wait(4000+random(400));
// ResetBreakTimer;
// SetAngle(SRL_ANGLE_HIGH);
end;
// Begin Main Loop
begin
SetupClient;
// ArriveAtLocation;
// repeat
// Findlocation;
// CompareLocation;
Activity(ChooseActivity);
// AntiBan;
// Until AllPlayersInactive;
end.