Сейчас занимаюсь геральдикой для лошадей
http://rusmnb.ru/index.php?topic=13486.0 и есть такая проблема. В файле module_items прописан триггер для лошади
[(ti_on_init_item, [(store_trigger_param_1, ":agent_no"),(store_trigger_param_2, ":troop_no"),
(try_begin), #for in missions
(agent_is_active, ":agent_no"),
(agent_get_rider, ":agent_no", ":agent_no"),
(try_end),
(call_script, "script_shield_item_set_banner", "tableau_wse_warhorse_chain", ":agent_no", ":troop_no")])]],
Проблема здесь случается тогда, когда заходишь на сервер и есть "ничейный" конь, то вылазиют ошибки что :agent_no = -1 и все такое, но тем не менее рисуется нормально задник и накладывается ничейный банер. Сделал вот-так:
[(ti_on_init_item, [(store_trigger_param_1, ":agent_no"),(store_trigger_param_2, ":troop_no"),
(try_begin), #for in missions
(agent_is_active, ":agent_no"),
(agent_get_rider, ":agent_no", ":agent_no"),
(call_script, "script_shield_item_set_banner", "tableau_wse_warhorse_chain", ":agent_no", ":troop_no"),
(try_end)
])]],
Ошибки больше не появляются, но в идвентаре и на поле когда есть ничейная лошадь, то триггер не срабатывает и лошадь получается прозрачной.
Вот как тут быть, чтобы и ошибки не возникало, но в то же время чтобы триггер срабатывал? Может быть в случае когда условие (agent_is_active, ":agent_no") не срабатывает сделать блок else и вызвать (call_script, "script_shield_item_set_banner", "tableau_wse_warhorse_chain", 0, 0) или как то так?