Показать сообщение отдельно
Старый 18.11.2005, 19:43   #1090
Sergius256

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2TycoooN:
А внутри instance орудия ратного труда self будет само орудие
Похоже на то. Причем другая глобальная переменная - other - оказывается неинициализированной. Зато self будет "указывать" на NPC, экипирующегося оружием при вызове функции, прописанной в on_equip. Проблема в том, что не могу прописать там функцию с параметрами - можно было бы передать переменную (структуру, вообще говоря?) типа C_Item, "указывающую" на именно тот экземпляр оружия, которым экипируется NPC. Ладно, есть Npc_GetEquippedMeleeWeapon, но в момент вызова функции on_equip оружие еще не экипировано! Соответственно, ничего не работает.

Плюс при таком подходе радиус поражения вычисляется один раз - при "надевании" оружия. А хотелось бы, чтобы радиус менялся динамически. Вот если бы была некая глобальная функция, постоянно проверяющая атрибуты NPC... Только для каждого NPC, экипированного таким оружием должен работать свой "экземпляр" этой функции. Можно написать обработчик состояния наподобие того же ZS_Pyro, вопрос только в том, в скольки состояниях может одновременно находиться NPC. Есть подозрение, что только в одном (int Npc_GetStateTime (c_npc self); возвращает время нахождения в последнем состоянии).
Ответить с цитированием