Code PHP :
npc_buff.cpp
npc_metier.cpp
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_buff.cpp(2) : fatal error C1083: Cannot open include file: '../../shared/Config/Config.h': No such file or directory
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(282) : error C2065: 'Script' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(282) : error C2065: 'newscript' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(283) : error C2065: 'newscript' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(283) : error C2061: syntax error : identifier 'Script'
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(284) : error C2065: 'newscript' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(284) : error C2227: left of '->Name' must point to class/struct/union/generic type
type is ''unknown-type''
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(285) : error C2065: 'newscript' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(285) : error C2227: left of '->pGossipHello' must point to class/struct/union/generic type
type is ''unknown-type''
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(286) : error C2065: 'newscript' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(286) : error C2227: left of '->pGossipSelect' must point to class/struct/union/generic type
type is ''unknown-type''
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(287) : error C2065: 'newscript' : undeclared identifier
..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_metier.cpp(287) : error C2227: left of '->RegisterSelf' must point to class/struct/union/generic type
type is ''unknown-type''
Édition :
Pour Le script le voici
Code PHP :
//#include "precompiled.h"
#include "ScriptPCH.h"
#include "ScriptedEscortAI.h"
//#include "sc_creature.h"
//#include "sc_gossip.h"
//#include "Player.h"
#define GOSSIP_CHAP_TO_ALCHIMIE "Changer 4 Tokens et apprendre Alchimie a 450"
#define GOSSIP_CHAP_TO_CALLIGRAPHIE "Changer 4 Tokenset apprendre Calligraphie a 450"
#define GOSSIP_CHAP_TO_CUISINIER "Changer 4 Tokens et apprendre Cuisinier a 450"
#define GOSSIP_CHAP_TO_DEPECEUR "Changer 4 Tokens et apprendre Dépeceur a 450"
#define GOSSIP_CHAP_TO_ENCHANTEUR "Changer 4 Tokens et apprendre Enchanteur a 450"
#define GOSSIP_CHAP_TO_FORGERON "Changer 4 Tokens et apprendre Forgeron a 450"
#define GOSSIP_CHAP_TO_HERBORISTE "Changer 4 Tokens et apprendre Herboriste a 450"
#define GOSSIP_CHAP_TO_INGENIEUR "Changer 4 Tokens et apprendre Ingénieur a 450"
#define GOSSIP_CHAP_TO_JOAILLIER "Changer 4 Tokens et apprendre Joaillier a 450"
#define GOSSIP_CHAP_TO_MINEUR "Changer 4 Tokens et apprendre Mineur a 450"
#define GOSSIP_CHAP_TO_PECHEUR "Changer 4 Tokens et apprendre Pêcheur a 450"
#define GOSSIP_CHAP_TO_SECOURISTE "Changer 4 Tokens et apprendre Secouriste a 450"
#define GOSSIP_CHAP_TO_TAILLEUR "Changer 4 Tokens et apprendre Tailleur a 450"
#define GOSSIP_CHAP_TO_TDC "Changer 4 Tokens et apprendre Travailleur du cuir a 450"
#define NOT_ENOUGH_CHAP "Vous n'avez pas assez de Tokens !"
#define FINISH "Bravo $N ! Vous avez changé 4 Tokens contre un métier 450"
bool GossipHello_npc_metier(Player *player, Creature *_Creature)
{
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_ALCHIMIE , GOSSIP_SENDER_MAIN, 1210); //alchimie
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_CALLIGRAPHIE , GOSSIP_SENDER_MAIN, 1211); //calligraphie
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_CUISINIER , GOSSIP_SENDER_MAIN, 1212); //cuisinier
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_DEPECEUR , GOSSIP_SENDER_MAIN, 1213); //depeceur
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_ENCHANTEUR , GOSSIP_SENDER_MAIN, 1214); //enchanteur
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_FORGERON , GOSSIP_SENDER_MAIN, 1215); //forgeron
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_HERBORISTE , GOSSIP_SENDER_MAIN, 1216); //herboriste
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_INGENIEUR , GOSSIP_SENDER_MAIN, 1217); //ingenieur
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_JOAILLIER , GOSSIP_SENDER_MAIN, 1218); //joaillier
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_MINEUR , GOSSIP_SENDER_MAIN, 1219); //mineur
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_PECHEUR , GOSSIP_SENDER_MAIN, 1220); //pecheur
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_SECOURISTE , GOSSIP_SENDER_MAIN, 1221); //secouriste
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_TAILLEUR , GOSSIP_SENDER_MAIN, 1222); //tailleur
player->ADD_GOSSIP_ITEM(3, GOSSIP_CHAP_TO_TDC , GOSSIP_SENDER_MAIN, 1223); //travail du cuir
player->SEND_GOSSIP_MENU(3961,_Creature->GetGUID()); //action de fermeture
return true;
}
bool GossipSelect_npc_metier(Player *player, Creature *_Creature, uint32 sender, uint32 action)
{
// En combat
if(!player->getAttackers().empty())
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper("Vous êtes en combat $N, revenez plus tard !", player->GetGUID());
}
switch(action)
{
case 1210:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51304, 171, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1211:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(45363, 773, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1212:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51296, 185, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1213:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(50305, 393, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1214:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51313, 333, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1215:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51300, 164, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1216:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(50300, 182, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1217:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51306, 202, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1218:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51311, 755, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1219:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(50310, 186, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1220:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51294, 356, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1221:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(45542, 129, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1222:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51309, 197, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
case 1223:
if (player->GetItemCount(60000,true) < 4)
{
player->CLOSE_GOSSIP_MENU();
_Creature->MonsterWhisper(NOT_ENOUGH_CHAP, player->GetGUID());
}
else
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(60000, 4, true, true);
player->SetSkill(51302, 165, 450, 450);
_Creature->MonsterWhisper(FINISH, player->GetGUID());
}
break;
}
return true;
}
void AddSC_npc_metier()
{
Script *newscript;
newscript = new Script;
newscript->Name="npc_metier";
newscript->pGossipHello = &GossipHello_npc_metier;
newscript->pGossipSelect = &GossipSelect_npc_metier;
newscript->RegisterSelf();
}