Train
2010-12-02 17:55:37
Today I learned about Simba!
It's so amazing, I love whoever made it!!!!!
Anyway, I made my first script, a bone burier, so I can go outside and have some fun. This is an amazing program!!! <333333
It only took me a few hours and some tutorial reading. :)
Version 2.0 released! :D
It's so amazing, I love whoever made it!!!!!
Anyway, I made my first script, a bone burier, so I can go outside and have some fun. This is an amazing program!!! <333333
It only took me a few hours and some tutorial reading. :)
Version 2.0 released! :D
program Bone_Burier;
{$DEFINE SMART}
{.include SRL\SRL.scar}
{
ONLY SUPPORTS [NORMAL] BONES.
Have normal bones in first bank slot, be at bank you set in BankLocation const below.
Enjoy!
}
var
BoneDTM: LongInt;
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Integers[0] := 1000;//Bones to bury
Players[0].Strings[0] := Bank_VW;//Bank location
Players[0].Member := False;
Players[0].Active := True;
BoneDTM := DTMFromString('mrAAAAHic42BgYLBlZGCwAGIPIDZihPCdgdgciO2BOAuopgiI84A4G4gLgTgDys4F4sO7dwNJJpxYhAETiCBhRgIYBgDI5Af7');
end;
function Bank: Boolean;
var
TimeOut, x, y: LongInt;
begin
if (not LoggedIn) then
Exit;
Result := False;
if (not BankScreen) then
begin
if (OpenBankFast(Players[CurrentPlayer].Strings[0])) then
begin
MarkTime(TimeOut);
while (not BankScreen) and (TimeFromMark(TimeOut) < 6000) do
Wait(50 + Random(40));
Wait(1500 + Random(800));
end else
begin
Flag;
FindNormalRandoms;
Wait(5000 + Random(3000));
if (OpenBankFast(Players[CurrentPlayer].Strings[0])) then
Bank;
end;
end;
if (BankScreen) then
begin
if (InvCount > 0) then
DepositAll;
if (FindDTM(BoneDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 5, 5, False);
Wait(150 + Random(51));
ChooseOption('All');
Result := True;
CloseBank;
Wait(1500 + Random(300));
end;
end;
end;
procedure BuryBones;
var
i, x, y: Integer;
box: TBox;
begin
if (not LoggedIn) then
Exit;
for i := 1 to 28 do
begin
box := InvBox(i);
if (FindDTM(boneDTM, x, y, box.X1, box.Y1, box.X2, box.Y2)) then
begin
MouseItem(i, True);
if (i < 28) then
MMouseItem(i + 1);
Wait(250 + Random(120));
Inc(Players[CurrentPlayer].Integers[1]);
Inc(Players[CurrentPlayer].Integers[2]);
end;
end;
end;
function ArePlayersActive: Boolean;
var
i, h: Integer;
begin
Result := False;
h := High(Players);
for i := 0 to h do
if (Players[i].Active) then
begin
Result := True;
Exit;
end;
end;
function TimeForNewAccount: Boolean;
begin
if (Players[CurrentPlayer].Integers[1] >= Players[CurrentPlayer].Integers[0]) then
Result := True
else
Result := False;
end;
function TotalBonesBuried: Integer;
var
i: Integer;
begin
Result := 0;
for i := 0 to HowManyPlayers - 1 do
Result := Result + Players[i].Integers[2];
end;
procedure Report;
var
i: Integer;
begin
ClearDebug;
WriteLn('=-=-=-=-= Trains Super Bone =-=-=-=-=');
WriteLn('Time Running: ' + TimeRunning);
WriteLn('Bones Buried: ' + IntToStr(TotalBonesBuried) + ' bones!');
for i := 0 to HowManyPlayers - 1 do
Writeln(Players[i].Name + ' buried ' + IntToStr(Players[i].Integers[2]) + ' bones!');
WriteLn('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
end;
procedure NP;
begin
if (LoggedIn) then
if (not Logout) then
begin
WriteLn('Problem!');
TerminateScript;
end;
Players[CurrentPlayer].Integers[1] := 0;
NextPlayer(False);
end;
begin
Smart_Server := 1;
Smart_Members := False;
Smart_SuperDetail := False;
Smart_Signed := True;
SetupSRL;
DeclarePlayers;
if (not LoggedIn) then
begin
LogInPlayer;
SetAngle(True);
end;
repeat
BuryBones;
if (TimeForNewAccount) then
NP;
if (not LoggedIn) then
begin
LogInPlayer;
SetAngle(True);
end;
if (not Bank) then
NP;
Report;
until (not ArePlayersActive);
FreeDTM(BoneDTM);
Report;
WriteLn('All players inactive!');
end.