checksave.inc
Code: Select all
procedure CheckSave;
var Time : TDateTime;
begin
Time:= Now - (0.5 / 1440);
if InJournalBetweenTimes('Saving World State',Time,Now) >= 0 then Wait(30000)
end;
checktargeterror.inc
Code: Select all
procedure CheckTargetError(lines, checktime : integer);
var D : TDateTime;
begin
{5 minutes in DateTime = (1.0 * checktime) / 1440 = 0.00347}
D := Now - ((1.0 * checktime) / 1440.0);
InJournalBetweenTimes('I am already performing another action|doing something',D,Now);
if LineCount > lines then
begin
AddToSystemJournal('Error with target. Disconnected');
ClearJournal;
Disconnect;
end;
end;
hungry.inc
Code: Select all
procedure Hungry(NeededLevel : Integer; Container : Cardinal);
var HArray : array [0..10] of String;
CurrentLevel : Integer;
HasError : Boolean;
TimeSayHungry : TDateTime;
FoodID : Cardinal;
i,c,difference : Integer;
begin
if Not Connected then Exit;
if (NeededLevel < 0) or (NeededLevel > 10) then Exit;
HArray[0] := 'You are absolutely stuffed!';
HArray[1] := 'You are stuffed';
HArray[2] := 'hungry at all';
HArray[3] := 'You are a little hungry';
HArray[4] := 'You are somewhat hungry';
HArray[5] := 'You are REALLY hungry';
HArray[6] := 'Your stomash hurts';
HArray[7] := 'Your stomash hurts and you feel dizzy';
HArray[8] := 'You are starving';
HArray[9] := 'You are almost dying of hunger';
HArray[10] := 'You are DYING of hunger...';
HasError := true;
TimeSayHungry := Now;
UOSay('.hungry');
wait(100);
i:=0;
while i < 100 do
begin
for c := 0 to 10 do
if InJournalBetweenTimes(HArray[c],TimeSayHungry,Now) >= 0 then
begin
CurrentLevel := c;
HasError := false;
i := 100;
end;
wait(100);
i := i + 1;
end;
if HasError then
begin
AddToSystemJournal('Error with Hungry: Lag? Conection error? Something else?');
Exit;
end;
difference := CurrentLevel - NeededLevel;
FindType($097B,Container);
if (difference > 0) and (FindCount > 0) then for i := 1 to difference do
begin
FoodID := FindType($097B,Container);
if FoodID <> $00 then UseObject(FoodID);
wait(200);
end;
if FindType($097B,Container) = 0 then AddToSystemJournal('No Food');
end;
waitconnection.inc
Code: Select all
procedure WaitConnection(WaitTime : Integer);
begin
if Connected then Exit;
while not Connected do Wait(1000);
{WaitTime - Waiting After Connected}
wait(WaitTime);
end;
stack.inc
Code: Select all
procedure stack(ObjType, Color : word);
var PackItem, GroundItem : Cardinal;
begin
PackItem := 0;
GroundItem := 0;
Findtype(ObjType,backpack);
IF FindFullQuantity > 0 then PackItem := finditem;
Findtype(ObjType,ground);
IF FindFullQuantity > 0 then IgnoreReset;
repeat
FindtypeEx(ObjType,Color,ground,false);
IF FindCount > 0 then
if FindQuantity > 55000 then Ignore(finditem)
else GroundItem := finditem;
FindtypeEx(ObjType,Color,ground,false);
until (FindCount = 0) or (GroundItem <> 0);
if (PackItem <> 0) and (GroundItem <> 0) then MoveItems(backpack,ObjType,Color,GroundItem,0,0,0,1000)
else DropHere(PackItem);
end;
all.inc
Code: Select all
{$Include 'checksave.inc'}
{$Include 'hungry.inc'}
{$Include 'checktargeterror.inc'}
{$Include 'WaitConnection.inc'}
{$Include 'stack.inc'}
Код будет дополняться и изменяться. Следите за изменениями