zdravím vytvoril som si portéra c++ nakompiloval bez chyb , vložil som script_name do npc ale v hre keď kliknem na npc tak sa nič nedeje proste ani sa neotvori gossip menu flag som nastavil..
#include "ScriptPCH.h"
class port_npc : public CreatureScript
{
public:
port_npc()
: CreatureScript("port_npc")
{
}
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
{
if (pPlayer->isInCombat())
{
pPlayer->CLOSE_GOSSIP_MENU();
pCreature->MonsterWhisper("Si v boji. Skus neskor!", pPlayer->GetGUID());
return true;
}
pPlayer->ADD_GOSSIP_ITEM(5, "Shop(Neutral)", GOSSIP_SENDER_MAIN, 1008);
pPlayer->ADD_GOSSIP_ITEM(5, "Gurubashi Arena(PvP)", GOSSIP_SENDER_MAIN, 1009);
if ( pPlayer->GetTeam() == ALLIANCE )
{
pPlayer->ADD_GOSSIP_ITEM(5, "Stormwind", GOSSIP_SENDER_MAIN, 1000);
pPlayer->ADD_GOSSIP_ITEM(5, "Darnassus", GOSSIP_SENDER_MAIN, 1001);
pPlayer->ADD_GOSSIP_ITEM(5, "Ironforge", GOSSIP_SENDER_MAIN, 1002);
pPlayer->ADD_GOSSIP_ITEM(5, "The Exodar", GOSSIP_SENDER_MAIN, 1003);
}
else
{
pPlayer->ADD_GOSSIP_ITEM(5, "Orgrimmar", GOSSIP_SENDER_MAIN, 1004);
pPlayer->ADD_GOSSIP_ITEM(5, "Thunder Bluff", GOSSIP_SENDER_MAIN, 1005);
pPlayer->ADD_GOSSIP_ITEM(5, "Undercity", GOSSIP_SENDER_MAIN, 1006);
pPlayer->ADD_GOSSIP_ITEM(5, "Silvermoon City", GOSSIP_SENDER_MAIN, 1007);
}
return true;
}
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
{
if (pPlayer->isInCombat())
{
pPlayer->CLOSE_GOSSIP_MENU();
pCreature->MonsterWhisper("Si v boji. Skus neskor!", pPlayer->GetGUID());
return true;
}
return true;
}
bool OnGossipSelectCode(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction, const char* code)
{
switch (uiAction)
{
case 1009: //Gurubashi
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(0,-13252.988281f,179.902145f,32.362926f,1.118780f);
break;
case 1008: //Shop
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(571,5744.11f,566.229f,651.31f,4.03405f);
break;
case 1004: // Orgrimmar
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(1,1629.36f,-4373.39f,31.2564f,3.54839f);
break;
case 1005: // Thunder Bluff
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(1,-1277.37f,124.804f,131.287f,5.22274f);
break;
case 1006: // Undercity
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(0,1584.07f,241.987f,-52.1534f,0.049647f);
break;
case 1007: // Sivlermoon
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(530,9487.69f,-7279.2f,14.2866f,6.16478f);
break;
case 1000: // Stormwind
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(0,-8833.38f,628.628f,94.0066f,1.06535f);
break;
case 1002: // Ironforge
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(0,-4918.88f,-940.406f,501.564f,5.42347f);
break;
case 1001: // Darnassus
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(1,9949.56f,2284.21f,1341.4f,1.59587f);
break;
case 1003: // Exodar
pPlayer->CLOSE_GOSSIP_MENU();
pPlayer->TeleportTo(530,-3965.7f,-11653.6f,-138.844f,0.852154f);
break;
return true;
}
return false;
}
};
void AddSC_port_npc()
{
new port_npc();
}