CORE 5xx npc_ChangeFactionPanda (quete finale by Noc)
#1
Thumbs Up 
npc_ChangeFactionPanda (quete finale by Noc)


Ce Script permet de choisir le camp Alliance ou Horde a la fin de la zone des Pandarens par le pnj "Esprit de maître Shang Xi" pour la quete31450 .

Un grand merci a maître Noc , auteur de ce script 

Bon jeu a vous Smile



Installation du script : 
  • Copier le fichier npc_ChangeFactionPanda.cpp dans les sources de votre core : \src\server\scripts\Custom
  • Éditez le fichier custom_script_loader.cpp dans ce même dossier 
  • Relancer Cmake puis recompilez votre core.
  • Editez le creature_template de votre pnj et renseignez le ScriptName avec npc_ChangeFactionPanda.



Editer custom_script_loader.cpp comme ci dessous :
Code :
// This is where scripts' loading functions should be declared:
void AddSC_npc_ChangeFactionPanda_quete(); // Choix de faction des panda pour la quete finale 31450 by monsieur Noc



// The name of this function should match:
// void Add${NameOfDirectory}Scripts()
void AddCustomScripts()
{
AddSC_npc_ChangeFactionPanda_quete();
}




Le listing de ce script :

Code :
//########################################################################################################################
//Stitch npc_ChangeFactionPanda - PNJ 56013 : choix de faction des panda pour la quete finale 31450 by monsieur Noc
//########################################################################################################################

#define GOSSIP_TEXT_EXP1           15000049
#define GOSSIP_CHOOSE_ALLIANCE "Je voudrais rejoindre l'alliance"
#define GOSSIP_CHOOSE_HORDE "Je voudrais rejoindre la horde"

#define GOSSIP_CHOOSE_FACTION "Je suis pret a choisir mon destin."
#define GOSSIP_TP_STORMIND "J'aimerais aller a Hurlevent"
#define GOSSIP_TP_ORGRI "J'aimerais aller a Orgrimmar"



class npc_ChangeFactionPanda : public CreatureScript
{
public:
npc_ChangeFactionPanda() : CreatureScript("npc_ChangeFactionPanda") {}

bool OnGossipHello(Player* player, Creature* creature) override
{
if (!player)
return true;

if (player->GetQuestStatus(31450) == QUEST_STATUS_INCOMPLETE)
{
uint8 _Race = player->getRace();
if (_Race == RACE_PANDAREN_HORDE || _Race == RACE_PANDAREN_NEUTRAL)
{
player->ADD_GOSSIP_ITEM(0, GOSSIP_CHOOSE_ALLIANCE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
}
if (_Race == RACE_PANDAREN_ALLIANCE || _Race == RACE_PANDAREN_NEUTRAL)
{
player->ADD_GOSSIP_ITEM(0, GOSSIP_CHOOSE_HORDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
}

player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXT_EXP1, creature->GetGUID());
}
return true;
}

bool OnGossipSelect(Player* player, Creature* Creature, uint32 /*uiSender*/, uint32 uiAction) override
{
if (!player)
return true;

// player->CLOSE_GOSSIP_MENU();

if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
{
player->ShowNeutralPlayerFactionSelectUI();
player->SetPandaFactionAlliance();

player->PlayerTalkClass->SendCloseGossip();
}
else if (uiAction == GOSSIP_ACTION_INFO_DEF + 2)
{
player->ShowNeutralPlayerFactionSelectUI();
player->SetPandaFactionHorde();

player->PlayerTalkClass->SendCloseGossip();
}

return true;
}

};

void AddSC_npc_ChangeFactionPanda_quete()
{
new npc_ChangeFactionPanda();
}


Pièces jointes
.cpp   npc_ChangeFactionPanda.cpp (Taille : 2,21 Ko / Téléchargements : 1)
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)