Это начало скрипта.
Code: Select all
program XXX;
const
sunduk = $0000000;
gold = $0EED;
MadrakeRoots = $0F86;
BloodMosss = $0F7B;
BlackPearls = $0F7A;
Garlick = $0F84;
Ginseng = $0F85;
NightShades = $0F88;
SulphuruosAshs = $0F8C;
SpiderSilks = $0F8D;
var
r,i,p : integer;
s : string;
MissingReg : cardinal;
Reags : array[1..8] of cardinal;
ctime : TDateTime;
players : array[0..35] of cardinal;
эту функцию мне нужно переделать что бы он ожидал команду например stats и выводил всю информацию
Code: Select all
function CheckReags : boolean;
begin
Result := True;
Reags[1] := $0F7B // BloodMosss
Reags[2] := $0F7A // BlackPearls
Reags[3] := $0F84 // Garlick
Reags[4] := $0F85 // Ginseng
Reags[5] := $0F86 // Madrake Roots
Reags[6] := $0F88 // NightShades
Reags[7] := $0F8C // Sulphuruos Ashs
Reags[8] := $0F8D // Spider Silks
for r := 1 to 8 do
begin
findtypeEx(Reags[r], $FFFF, BackPack, true);
if findcount = 0 then
begin
MissingReg := Reags[r];
Result := False;
end;
end;
end;
procedure Waiting;
begin
if MissingReg = $0F7B then s := 'BloodMosss';
if MissingReg = $0F7A then s := 'BlackPearls';
if MissingReg = $0F84 then s := 'Garlick';
if MissingReg = $0F85 then s := 'Ginseng';
if MissingReg = $0F86 then s := 'Madrake Roots';
if MissingReg = $0F88 then s := 'NightShades';
if MissingReg = $0F8C then s := 'Sulphuruos Ashs';
if MissingReg = $0F8D then s := 'Spider Silks';
uosay('KoH4uJIucb ' + s);
while (not CheckReags) do
begin
ctime := now;
wait(10000);
if InJournalBetweenTimes('dispel!|hunt!|macro!', ctime, Now) <> -1 then uosay('KoH4uJIucb ' + s );
uosay(' ');
findtype(MissingReg,sunduk);
if findcount > 0 then MoveItems(sunduk, MissingReg, $FFFF, backpack, 0, 0, 0, 500);
end;
end;
вот что набросал но что то не стыкуется.
Code: Select all
if InJournalBetweenTimes('stats', ctime, Now) <> -1 then
begin
Reags[1] := $0F7B // BloodMosss
Reags[2] := $0F7A // BlackPearls
Reags[3] := $0F84 // Garlick
Reags[4] := $0F85 // Ginseng
Reags[5] := $0F86 // Madrake Roots
Reags[6] := $0F88 // NightShades
Reags[7] := $0F8C // Sulphuruos Ashs
Reags[8] := $0F8D // Spider Silks
for r := 1 to 8 do
begin
findtypeEx(Reags[r], $FFFF, BackPack, true);
if findcount = 0 then
begin
MissingReg := Reags[r];
end;
end;
end;
begin
if MissingReg = $0F7B then s := 'BloodMosss';
if MissingReg = $0F7A then s := 'BlackPearls';
if MissingReg = $0F84 then s := 'Garlick';
if MissingReg = $0F85 then s := 'Ginseng';
if MissingReg = $0F86 then s := 'Madrake Roots';
if MissingReg = $0F88 then s := 'NightShades';
if MissingReg = $0F8C then s := 'Sulphuruos Ashs';
if MissingReg = $0F8D then s := 'Spider Silks';
uosay ( 'Отладка: найдено ' + inttostr(GetQuantity(s)));
wait(2000);
end;