PNJ talents DK
Voici le script d'un PNJ permettant de donner les points de talent manquant aux DK.
ATTENTION, lors du dernier test effectué, le DK était bien crédité du bon nombre de points de talents, mais une vérification côté mangos réinitialise ce nombre à chaque utilisation d'un point de talent.
Une modification core est nécessaire pour le bon fonctionnement de ce script, sauf si mangos a changé depuis.

[code=cpp]#include "precompiled.h"

#define MENU_1 "Je souhaiterais avoir mes points de talent"
#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 "Vos points de talents vous ont étés attribués !"
#define TEXTE_4 "Désolé, je ne m'occupe que des chevaliers de la mort."

int level;

bool GossipHello_macwarrior_talent(Player *player, Creature *_Creature)
{
if (player->getClass() == CLASS_DEATH_KNIGHT) {
player->ADD_GOSSIP_ITEM( 4, MENU_1, GOSSIP_SENDER_MAIN, 1000);
} else {
player->ADD_GOSSIP_ITEM( 11, TEXTE_4, GOSSIP_SENDER_MAIN, 1001);
}
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_talent(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 avoir mes points de talent
level = player->getLevel();
if (player->getClass() == CLASS_DEATH_KNIGHT) {
player->CLOSE_GOSSIP_MENU();
player->resetTalents(true);
player->SetFreeTalentPoints(level-9);
player->SendTalentsInfoData(false);
} else {
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(TEXTE_4, player);
}
break;
case 1001: // Au revoir !
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(TEXTE_2,player);
break;

}
}

bool GossipSelect_macwarrior_talent(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
// Main menu
if (sender == GOSSIP_SENDER_MAIN)
SendDefaultMenu_macwarrior_talent(player, _Creature, action);
return true;
}

void AddSC_macwarrior_talent()
{
Script *newscript;

newscript = new Script;
newscript->Name = "macwarrior_talent";
newscript->pGossipHello = &GossipHello_macwarrior_talent;
newscript->pGossipSelect = &GossipSelect_macwarrior_talent;
newscript->RegisterSelf();
}[/code]

Have Fun !
Cordialement,
MacWarrior.
Mise à jour du script pour mangos 10761+ !

Have Fun !
Cordialement,
MacWarrior.

Retourner en haut Accueil