Je vous partage ce script fait par moi et Riful.
[code=cpp]
#include "ScriptPCH.h"
class transpo : public GameObjectScript
{
public:
transpo() : GameObjectScript("transpo") { }
bool OnGossipHello(Player* pPlayer, GameObject* go)
{
pPlayer->ADD_GOSSIP_ITEM( 3, "Je veux rejoindre mon QG de guilde." , GOSSIP_SENDER_MAIN, 1000);
pPlayer->ADD_GOSSIP_ITEM( 3, "Quitter." , GOSSIP_SENDER_MAIN, 1001);
pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, go->GetGUID());
return true;
}
void SendDefaultMenu_transpo(Player* pPlayer, GameObject* go, uint32 uiAction) {
uint32 x, y, z, mapid;
pPlayer->PlayerTalkClass->ClearMenus();
if (pPlayer->isInCombat())
{
pPlayer->CLOSE_GOSSIP_MENU();
go->MonsterSay("Tu es en combat !", LANG_UNIVERSAL, NULL);
return;
}
switch(uiAction)
{
case 1000:
if (pPlayer->GetGuildId() != 0)
{
QueryResult* result = WorldDatabase.PQuery ("SELECT mapid, x, y, z, o FROM qg_guild WHERE id = '%s'", player->GetGuildId());
mapid = result->Fetch()[0].GetUInt8();
x = result->Fetch()[1].GetFloat();
y = result->Fetch()[2].GetFloat();
z = result->Fetch()[3].GetFloat();
o = result->Fetch()[4].GetFloat();
pPlayer->Teleport(mapid, x, y, z, o);
}
break;
case 1001:
pPlayer->CLOSE_GOSSIP_MENU();
break;
}
}
bool OnGossipSelect(Player* pPlayer, GameObject* go, uint32 uiSender, uint32 uiAction) {
if (uiSender == GOSSIP_SENDER_MAIN)
SendDefaultMenu_transpo(pPlayer, go, uiAction);
return true;
}
};
void AddSC_transpo()
{
new transpo;
}
[/code]
Un petit +1 peut me faire plaisir pour ce script
Crédit : Dernise, Riful.