Цитата:
Сообщение от animagus
Кто разбирается подскажите:
Если по теплейту создать просто моба, то скрипт для него работает как положенно. если же моб создается в качестве защитника игрока(речь идет про змей из ловушки)по томуже темплейту, скрипт отрубается. Где я что-то не так делаю?
|
не знаю что за темплейт(возможно ты про creature_template, таблицу в базе). В базе у каждого моба которого есть скрипт - вписан скрипт. Их два вида: EventAI и ScriptDev2. Первый через саму же базу, второй через С++ код. Если AI не вписан то скорее всего используется стандартный AI , то есть GuardianAI
UPD:
CreatureAI* selectAI(Creature *creature) в CreatureAISelector.cpp выбирает стандартные AI для петов и гвардов.
Код:
if ((creature->isPet() && ((Pet*)creature)->isControlled() &&
((owner=creature->GetOwner()) && owner->GetTypeId()==TYPEID_PLAYER)) || creature->isCharmed())
ai_factory = ai_registry.GetRegistryItem("PetAI");
else if (creature->isTotem())
ai_factory = ai_registry.GetRegistryItem("TotemAI");
// select by script name
if (!ai_factory && !ainame.empty())
ai_factory = ai_registry.GetRegistryItem( ainame.c_str() );
if (!ai_factory && creature->isGuard() )
ai_factory = ai_registry.GetRegistryItem("GuardAI");
Покури код в том направлении. Кстати AI в Pet.cpp выбирается через AIM_Initalize() ктороая шлет в selectAI, то что вписано в базе для петов/гвардов/тотемов/минипетов там и не учитывается