Кальви писал(а):
А насчет набора тригеров, так ведь, если событие уже было описано и сделано, то его можно уже вставить в редактор в папку тригеров. В конце концов какая разница, если тригер "перелезть", то это "перелезть" можно вставлять в любую клетку, все равно этот тригер уже есть. Даже если билдер его обзовет "перескочить", "пролезть" и так далее, событие все равно уже описано.
Особенность реализации триггеров не позволяет сделать этого.
Смысл триггера "перелезть" - это перемещение игрока из текущей клетки в какую то другую. Главная проблема в текущей реализации - это указать эту самую "другую" клетку. Вызов триггера - это обращение к статической функции с фиксированным набором параметров (один из которых - стандартное событие триггера).
Если нам надо передать какой то дополнительный параметр в триггер (к примеру id клетки, в которую надо перенести персонажа по триггеру), мы сразу же сталкиваемся с проблемой, у нас нет готовой механики для этого. У персонажа-игрока есть набор аддонов (используется для квестовой информации), а у комнаты такого набора дополнительных данных нет. Если с момента моего ухода механика триггеров не претерпела улучшений, то "стандартные триггеры" требуют нехилой доработки.
А теперь с практической точки зрения. Предположим у нас есть готовый триггер перемещения по какой-то команде. Мы прикрепляем этот триггер к комнате, задаем команду для перемещения и комнату-назначения. Еще не хватает сообщений о перемещении, их тоже надо задать (можно содрать формат с файла эмоций). Кажется готово, можно "перелазить", "нырять", "подтягиваться", все будет выглядеть достаточно "живо".
А ведь триггеры - это не только ввод спец команды, это еще и начало боя, вход персонажа в комнату, выброшенный предмет, произнесение заклинания и очень много других вариантов.