
1. При появлении тела пишет что-то
2. Это повторяется бесконечно

набор слов какой-то....shinma wrote:можно через евент можно напрямую зациклить проверку
Code: Select all
var
Corpses: array of Word;//массив с типами трупов
procedure OnAddItemToContainer(ID, ContainerID: Cardinal);//собстно обработчик
var
i: Integer;//переменная-итератор
ItemType: Word;//переменная для типа
begin
if ContainerID = Ground then begin//если контейнер - земля
ItemType := GetType(ID);//получаем тип
for i := 0 to High(Corpses) do begin//проверяем массив на соответствие типов
if ItemType = Corpses[i] then begin//если появившийся предмет - труп
AddtosystemJournal('Появился: ' + GetName(ID));//выдаем сообщение
Break;//обрываем цикл
end;
end;
end;
end;
begin
Corpses = [$0000, $0000];//тут вместо $0000 указываются типы труппов через запятую.
SetEventProc(evAddItemToContainer, 'OnAddItemToContainer');//Подключили обработчик событий.
while not Dead do begin//повторяем всё пока не сдохнем
Wait(3600000);//ждем час
end;
SetEventProc(evAddItemToContainer, '');//снимаем обработчик событий
end.