Когда я пытаюсь создать NPC для сплетен с ИИ, sGossipSelect
приходит с неверным идентификатором действия.
Если я добавлю предмет сплетни:
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "testone", GOSSIP_SENDER_MAIN, 1);
, и когда sGossipSelect
срабатывает, он приходит с неправильным uint32
значением действия, поэтому он не будет работать.
Вот мой полный код:
class gossip_test : public CreatureScript
{
public:
gossip_test() : CreatureScript("gossip_test") { }
struct gossip_testAI : public ScriptedAI
{
gossip_testAI(Creature* creature) : ScriptedAI(creature) {}
void sGossipHello(Player* player)
{
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "testone", GOSSIP_SENDER_MAIN, 1);
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "testwo", GOSSIP_SENDER_MAIN, 2);
SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, me);
}
void sGossipSelect(Player* player, uint32 sender, uint32 action)
{
// UINT32 ACTION ALAWAYS HAVE WRONG VALUE
if (action == 1)
{
me->MonsterYell("testone, LANG_UNIVERSAL, me);
}
if (action == 2)
{
me->MonsterYell("testwo, LANG_UNIVERSAL, me);
}
ClearGossipMenuFor(player);
CloseGossipMenuFor(player);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new gossip_testAI(creature);
}
};