Page 1 of 1

Временный интервал

Posted: 29.03.2011 16:21
by Venom
Подскажите плс, как указать временный интервал ?
Т.е. если на протяжении определенного времени не произошло событие, то движемся по скрипту/процедуре далее.

К примеру.

Code: Select all

[временный интервал] if (InJournalBetweenTimes('System: Вы нанесли', FBegin, Now) <> -1) then begin
....

Posted: 29.03.2011 16:28
by Vizit0r
я нудный. поиск уже не интересен?

поиск по InJournalBetweenTimes спасет тебя.

Posted: 04.04.2011 20:50
by Venom
и все же..

Code: Select all

if (InJournalBetweenTimes('System: Вы нанесли', FBegin, Now) <> -1) then begin
ignore(finditem); <<- вот здесь нужно выполнить игнор на протяжении 10 секунд и снова повторять то, что идет до игнора.
спс.

Posted: 04.04.2011 21:44
by Vizit0r
помедленнее

Posted: 04.04.2011 22:27
by Venom
Vizit0r wrote:помедленнее
Атакую цель.
Если не нанес урон, заношу в игнор на определенное время, по прошествии которого его(игнор) обнуляю.
В то время, пока длится игнор недоступной цели - ищу следующую и пытаюсь атаковать.

Posted: 05.04.2011 7:33
by Fenix
Venom wrote:Атакую цель.
Если не нанес урон, заношу в игнор на определенное время, по прошествии которого его(игнор) обнуляю.
В то время, пока длится игнор недоступной цели - ищу следующую и пытаюсь атаковать.
Крутая задумка. Если бы я такое в делфаке писал, то полюбасу использовал бы виндовые таймеры.
Но для тебя простейший способ - создать глобальный динамический массив из структур с ID объекта и временем добавления в игнор. Затем установить обработчик одного из двух таймеров, заставив проверять в цикле не вышло ли время игнора какой либо записи. Если время вышло - снимаем игнор, а запись удаляем из массива (не забываем сдвигать записи по старшим адресам и высвобождать не нужную запись массива). Если хорошо кодишь и не боишься работать с указателями - можно воспользоваться односвязным/двусвязным динамическим списком, т.к. в нем не будет необходимости передвигать все записи по старшим индексам.

Posted: 05.04.2011 8:54
by Vizit0r
Fenix - в ПС нет указателей :(

впрочем, тут и без указателей будет нескучно.

если б те одно-двухсвязные списки в ПС хоть кому-то нужны были бы, то давно бы сделал экспорт функциями. А так если 1-2 маньякам и надо было - давно уже через DLL сделали.