счётчик - это триггер в файле module_mission_templates.py.
Мне нравятся счётчики с использованием слотов.
Модернизируем предыдущий триггер.
перебрать_агентов, :агент (try_for_agents)
не|агент_не_игрок, :агент (neg|agent_is_non_player)
получить_защитное_действие_агента, :действие, :агент (agent_get_defend_action)
эквивалентно, :действие, 2 (eq)
взять_позицию_агента, поз1, :агент (agent_get_position)
установить_позицию_появления, поз1 (set_spawn_position)
создать_scene_prop, "spr_мой_объект_сцены" (spawn_scene_prop)
установить_агенту_слот, :агент, слот_время_щита, 20 (agent_set_slot)
закончить (try_end)
новые слоты прописываются в файле module_constants.py, для агентов ищи заголовок AGENT SLOTS.
далее пишем новый триггер
(1, 0, 0, [], - 1, 0, 0 - интервалы выполнения всего триггеры/условия/последствия
[
перебрать_агентов, :агент
получить_слот_агента, :время, :агент, слот_время щита(agent_get_slot)
пробовать (try_begin)
больше, :время, 0 (gt)
отнять, :время, 1 (val_sub)
установить_агенту_слот, :агент, слот_время_щита, :время
иначе(else_try)
меньше_или_равно, :время, 0 (le)
#*тут привожу кусок из своего кода*
(scene_prop_get_num_instances, ":count_of_fireball", spr_силовой_щит), - нашли кол-во щитов
(try_for_range, ":cur_fireball", 0, ":count_of_fireball"), - перебрали их
(scene_prop_get_instance, ":fireball_instance", ":prop_id", ":cur_fireball"), - взяли инстанцию отдельного
(prop_instance_get_position,pos2,":fireball_instance"), - взяли позицию
#*конец*
позиции_сместить_y, поз2, -500 (position_move_y)
инстанции_установить позицию,":fireball_instance", поз2 (prop_instance_set_position )
закончить (заканчиваем try_for_range)
закончить (try_begin)
закончить (перебор агентов)
]),