Показать сообщение отдельно
Непрочитано 12.04.2011, 12:16   #4
Пользователь

По умолчанию Re: Подбор дропа с нпц

Можно сделать, только NON_ATTACKABLE тут часть общего плана. И кстати для теграка и геры будет достаточно прописать именно NON_ATTACKABLE, я так и сделал у ся на серве, и всё прекрасно работает. Для остальных нпс чуть повозится надо будет.
Вобщем вся фишка в MonsterController и NpcController , а именно в методе doReward, в контролере для нпс он небыл переопределён, а значит остался таким же как и для обшего класса CreatureController, а вот в монстер контролере он был переопределён, посему все объекты которые спавнятся как монстры и наследуют монстер контролер могут выдавать ревард(дроп).
Собсно тут есть два пути:
1) глобальный , поскольку MonsterController extends NpcController тобиш расширяет класс нпсконтролера, можно перенести метод doReward из монстерконтролера в нпсконтролер, далее придётся править нюансы во всей иерархии использования монстерконтролера.
В результате получим возможность сбора дропа с любого нпс.
2) локальный , больше подходит для обработки отдельных нпс, например боссов, порталов и других специфичных объектов. Т.е. просто в при спавне указать какие npcid мы хочем сделать монстрами, и тогда только с них можно будет собрать дроп.
Это уже делается в SpawnEngine в методе SpawnObject .
__________________
Дверь запили!
flashman вне форума Ответить с цитированием