Voici le script d'un PNJ qui permet aux joueurs de customiser leur personnage au prochain login.
[code=cpp]#include "precompiled.h"
#define MENU_1 "Je souhaiterais Customiser mon héros"
#define MENU_2 "Au revoir !"
#define TEXTE_1 "Je ne m'occuperais pas de vous tant que vous combattrez !"
#define TEXTE_2 "Au revoir, aventurier !"
#define TEXTE_3 "Il ne vous reste plus qu'à vous déconnecter !"
bool GossipHello_macwarrior_customize(Player *player, Creature *_Creature)
{
player->ADD_GOSSIP_ITEM( 4, MENU_1, GOSSIP_SENDER_MAIN, 1000);
player->ADD_GOSSIP_ITEM( 11, MENU_2, GOSSIP_SENDER_MAIN, 1001);
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
return true;
}
void SendDefaultMenu_macwarrior_customize(Player *player, Creature *_Creature, uint32 action )
{
if(!player->getAttackers().empty())
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterSay(TEXTE_1, LANG_UNIVERSAL, NULL);
return;
}
switch(action)
{
case 1000: // Je souhaiterais Customiser mon héros
player->CLOSE_GOSSIP_MENU();
player->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);
_Creature->MonsterWhisper(TEXTE_3,player);
break;
case 1001: // Au revoir !
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(TEXTE_2,player);
break;
}
}
bool GossipSelect_macwarrior_customize(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
// Main menu
if (sender == GOSSIP_SENDER_MAIN)
SendDefaultMenu_macwarrior_customize(player, _Creature, action);
return true;
}
void AddSC_macwarrior_customize()
{
Script *newscript;
newscript = new Script;
newscript->Name = "macwarrior_customize";
newscript->pGossipHello = &GossipHello_macwarrior_customize;
newscript->pGossipSelect = &GossipSelect_macwarrior_customize;
newscript->RegisterSelf();
}[/code]
Have Fun !
Cordialement,
MacWarrior.