[DiscordArchive] How would we go about calling the script from the gossip?
[DiscordArchive] How would we go about calling the script from the gossip?
Archived author: Kitzunu • Posted: 2022-10-18T18:15:20.204000+00:00
Original source
yea
Archived author: Kitzunu • Posted: 2022-10-18T18:15:49.438000+00:00
Original source
```cpp
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
ClearGossipMenuFor(player);
switch (action)
{
case GOSSIP_ACTION_INFO_DEF+1:
AddGossipItemFor(player, GOSSIP_TEXT_CONTINUE, 1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
SendGossipMenuFor(player, SAY_QUEST_COMPLETED_END, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+11:
CloseGossipMenuFor(player);
player->CastSpell(player, SPELL_LEARN_SMELT, false);
break;
case GOSSIP_ACTION_INFO_DEF+2:
AddGossipItemFor(player, GOSSIP_TEXT_CONTINUE, 1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22);
SendGossipMenuFor(player, SAY_QUEST_ACCEPTED, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+22:
CloseGossipMenuFor(player);
if (InstanceScript* instance = creature->GetInstanceScript())
{
//are 5 minutes expected? go template may have data to despawn when used at quest
instance->DoRespawnGameObject(instance->GetGuidData(DATA_GO_CHALICE), MINUTE * 5);
}
break;
}
return true;
}
```
Archived author: Revision • Posted: 2022-10-18T18:16:12.223000+00:00
Original source
Yep. Even I should be able to do this.
Archived author: Kitzunu • Posted: 2022-10-18T18:16:18.752000+00:00
Original source
yeye
Archived author: Kitzunu • Posted: 2022-10-18T18:16:29.821000+00:00
Original source
just dont forget CloseGossipMenuFor(player)
Archived author: Kitzunu • Posted: 2022-10-18T18:16:37.158000+00:00
Original source
and then cast the spell