Hi,
I have problem with gossip menu leveling. I dont know how to return to specific gossip menu level from another level. More info in code below:
[CODE]
…
bool OnGossipHello(Player* player, Creature* creature)
{
// Main Menu
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, “Level 1 >>>|r”, GOSSIP_SENDER_MAIN, 1);
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
return true;
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
{
ClearGossipMenuFor(player);
if (sender == GOSSIP_SENDER_MAIN)
{
switch (action)
{
case 0:
OnGossipHello(player, creature);
break;
case 1: // Menu Level 1
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "SubItem1 Level 1|r", GOSSIP_SENDER_MAIN, 3);
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "SubItem2 Level 1|r", GOSSIP_SENDER_MAIN, 4);
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "<<< Back to Main Menu|r", GOSSIP_SENDER_MAIN, 0); // Back to Main Menu
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
break;
case 3: // Menu Level 2
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "SubItem1 Level 2|r", GOSSIP_SENDER_MAIN, 5);
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "<<< Back to Level 1"|r", GOSSIP_SENDER_MAIN, 1); // Back To Level 1
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
break;
case 5:
do something();
// !!!THIS I DONT KNOW!!! how to back to Menu Level 1 from here?
break;
…
[/CODE]