Voici le script d'un PNJ qui change le lvl du joueur qui lui parle par 30.
Attention, il ne donne pas 30 lvl, il met le lvl à 30.
Pour changer le lvl, vous n'avez qu'à changer les 30 par le nombre que vous souhaitez !
[code=cpp]#include "precompiled.h"
#define MENU_1 "Je souhaiterais passer niveau 30"
#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 "Vous voilà de niveau 30 !"
bool GossipHello_macwarrior_lvl30(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_lvl30(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 passer niveau 30
player->CLOSE_GOSSIP_MENU();
player->SetLevel(30);
_Creature->MonsterSay(TEXTE_3, LANG_UNIVERSAL, NULL);
player->resetTalents(true);
player->SendTalentsInfoData(false);
player->InitStatsForLevel(true);
player->InitGlyphsForLevel();
player->SaveToDB();
break;
case 1001: // Au revoir !
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(TEXTE_2,player);
break;
}
}
bool GossipSelect_macwarrior_lvl30(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
// Main menu
if (sender == GOSSIP_SENDER_MAIN)
SendDefaultMenu_macwarrior_lvl30(player, _Creature, action);
return true;
}
void AddSC_macwarrior_lvl30()
{
Script *newscript;
newscript = new Script;
newscript->Name = "macwarrior_lvl30";
newscript->pGossipHello = &GossipHello_macwarrior_lvl30;
newscript->pGossipSelect = &GossipSelect_macwarrior_lvl30;
newscript->RegisterSelf();
}[/code]
Have Fun !
Cordialement,
MacWarrior.