PNJ Titre
Bonjour,


Le patch est en Anglais, il faut le traduire :

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

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

bool OnGossipHello(Player *player, Creature *_creature)
{
if (player->isInCombat())
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Combat!", player->GetGUID());
return true;
}
else
{
player->ADD_GOSSIP_ITEM( 3, "General" , GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM( 8, "Event" , GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM( 1, "Dungeon & Raid" , GOSSIP_SENDER_MAIN, 3);
player->ADD_GOSSIP_ITEM( 6, "Reputation" , GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM( 9, "PvP & Arena" , GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM( 10, "Other" , GOSSIP_SENDER_MAIN, 6);
}

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
return true;
}
bool OnGossipSelect(Player *player, Creature *_creature, uint32 sender, uint32 uiAction)
{
if (sender == GOSSIP_SENDER_MAIN)
{
player->PlayerTalkClass->ClearMenus();
switch(uiAction)
{
case 1: //General
player->ADD_GOSSIP_ITEM( 0, "The Explorer [40 BT]" , GOSSIP_SENDER_MAIN, 8);
player->ADD_GOSSIP_ITEM( 0, "Chef [40 BT]" , GOSSIP_SENDER_MAIN, 9);
player->ADD_GOSSIP_ITEM( 0, "Salty [40 BT]" , GOSSIP_SENDER_MAIN, 10);
player->ADD_GOSSIP_ITEM( 0, "Loremaster [40 BT]" , GOSSIP_SENDER_MAIN, 11);
player->ADD_GOSSIP_ITEM( 0, "The Seeker [40 BT]" , GOSSIP_SENDER_MAIN, 12);
player->ADD_GOSSIP_ITEM( 0, "The Patient [40 BT]" , GOSSIP_SENDER_MAIN, 13);

player->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 7);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 2: //Event
player->ADD_GOSSIP_ITEM( 0, "Elder [25 BT]" , GOSSIP_SENDER_MAIN, 15);
player->ADD_GOSSIP_ITEM( 0, "The Love Fool [25 BT]" , GOSSIP_SENDER_MAIN, 16);
player->ADD_GOSSIP_ITEM( 0, "The Noble [25 BT]" , GOSSIP_SENDER_MAIN, 17);
player->ADD_GOSSIP_ITEM( 0, "Brewmaster [25 BT]" , GOSSIP_SENDER_MAIN, 18);
player->ADD_GOSSIP_ITEM( 0, "The Hallowed [25 BT]" , GOSSIP_SENDER_MAIN, 19);
player->ADD_GOSSIP_ITEM( 0, "Pilgrim [25 BT]" , GOSSIP_SENDER_MAIN, 20);
player->ADD_GOSSIP_ITEM( 0, "Merrymaker [25 BT]" , GOSSIP_SENDER_MAIN, 21);

player->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 7);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 3: //Dungeon & Raid
player->ADD_GOSSIP_ITEM( 0, "Jenkins [40 BT]" , GOSSIP_SENDER_MAIN, 22);
player->ADD_GOSSIP_ITEM( 0, "Scarab Lord [40 BT]" , GOSSIP_SENDER_MAIN, 23);
player->ADD_GOSSIP_ITEM( 0, "Champion of the Frozen Wastes [40 BT]" , GOSSIP_SENDER_MAIN, 24);
player->ADD_GOSSIP_ITEM( 0, "The Undying [40 BT]" , GOSSIP_SENDER_MAIN, 25);
player->ADD_GOSSIP_ITEM( 0, "The Immortal [40 BT]" , GOSSIP_SENDER_MAIN, 26);
player->ADD_GOSSIP_ITEM( 0, "of the Nightfall [40 BT]" , GOSSIP_SENDER_MAIN, 27);
player->ADD_GOSSIP_ITEM( 0, "Twilight Vanquisher [40 BT]" , GOSSIP_SENDER_MAIN, 28);
player->ADD_GOSSIP_ITEM( 0, "Starcaller [40 BT]" , GOSSIP_SENDER_MAIN, 29);
player->ADD_GOSSIP_ITEM( 0, "The Astral Walker [40 BT]" , GOSSIP_SENDER_MAIN, 30);
player->ADD_GOSSIP_ITEM( 0, "Herald of the Titans [40 BT]" , GOSSIP_SENDER_MAIN, 31);
player->ADD_GOSSIP_ITEM( 0, "Champion of Ulduar [40 BT]" , GOSSIP_SENDER_MAIN, 32);
player->ADD_GOSSIP_ITEM( 0, "Conqueror of Ulduar [40 BT]" , GOSSIP_SENDER_MAIN, 33);
player->ADD_GOSSIP_ITEM( 0, "Bane of the Fallen King [40 BT]" , GOSSIP_SENDER_MAIN, 34);
player->ADD_GOSSIP_ITEM( 0, "The Light of Dawn [40 BT]" , GOSSIP_SENDER_MAIN, 35);
player->ADD_GOSSIP_ITEM( 0, "The Kingslayer [40 BT]" , GOSSIP_SENDER_MAIN, 36);

player->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 7);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 4: //Reputation
player->ADD_GOSSIP_ITEM( 0, "of the Shattered Sun [30 BT]" , GOSSIP_SENDER_MAIN, 37);
player->ADD_GOSSIP_ITEM( 0, "Ambassador [30 BT]" , GOSSIP_SENDER_MAIN, 38);
player->ADD_GOSSIP_ITEM( 0, "Bloodsail Admiral [30 BT]" , GOSSIP_SENDER_MAIN, 39);
player->ADD_GOSSIP_ITEM( 0, "The Diplomat [30 BT]" , GOSSIP_SENDER_MAIN, 40);
player->ADD_GOSSIP_ITEM( 0, "Guardian of Cenarius [30 BT]" , GOSSIP_SENDER_MAIN, 41);
player->ADD_GOSSIP_ITEM( 0, "The Argent Champion [30 BT]" , GOSSIP_SENDER_MAIN, 42);
player->ADD_GOSSIP_ITEM( 0, "of the Ashen Verdict [30 BT]" , GOSSIP_SENDER_MAIN, 43);
player->ADD_GOSSIP_ITEM( 0, "The Exalted [30 BT]" , GOSSIP_SENDER_MAIN, 44);
player->ADD_GOSSIP_ITEM( 0, "The Insane [30 BT]" , GOSSIP_SENDER_MAIN, 45);

player->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 7);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 5: //PvP & Arena
player->ADD_GOSSIP_ITEM( 0, "Battlemaster [60 BT]" , GOSSIP_SENDER_MAIN, 46);
player->ADD_GOSSIP_ITEM( 0, "Arena Master [60 BT]" , GOSSIP_SENDER_MAIN, 47);
player->ADD_GOSSIP_ITEM( 0, "Duelist [60 BT]" , GOSSIP_SENDER_MAIN, 48);
player->ADD_GOSSIP_ITEM( 0, "Rival [60 BT]" , GOSSIP_SENDER_MAIN, 49);
player->ADD_GOSSIP_ITEM( 0, "Challenger [60 BT]" , GOSSIP_SENDER_MAIN, 50);
player->ADD_GOSSIP_ITEM( 0, "Vanquisher [60 BT]" , GOSSIP_SENDER_MAIN, 51);

player->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 7);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 6: //Other
player->ADD_GOSSIP_ITEM( 0, "Crusader [40 BT]" , GOSSIP_SENDER_MAIN, 52);
player->ADD_GOSSIP_ITEM( 0, "Archmage [40 BT]" , GOSSIP_SENDER_MAIN, 53);
player->ADD_GOSSIP_ITEM( 0, "Champion of the Naaru [40 BT]" , GOSSIP_SENDER_MAIN, 54);
player->ADD_GOSSIP_ITEM( 0, "Hand of A'dal [40 BT]" , GOSSIP_SENDER_MAIN, 55);
player->ADD_GOSSIP_ITEM( 0, "Flawless Victor [40 BT]" , GOSSIP_SENDER_MAIN, 56);

player->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 7);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 7: //<- [Main Menu]
player->ADD_GOSSIP_ITEM( 3, "General" , GOSSIP_SENDER_MAIN, 1);
player->ADD_GOSSIP_ITEM( 8, "Event" , GOSSIP_SENDER_MAIN, 2);
player->ADD_GOSSIP_ITEM( 1, "Dungeon & Raid" , GOSSIP_SENDER_MAIN, 3);
player->ADD_GOSSIP_ITEM( 6, "Reputation" , GOSSIP_SENDER_MAIN, 4);
player->ADD_GOSSIP_ITEM( 9, "PvP & Arena" , GOSSIP_SENDER_MAIN, 5);
player->ADD_GOSSIP_ITEM( 10, "Other" , GOSSIP_SENDER_MAIN, 6);

player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());
break;

case 8://The Explorer [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(78));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 9://Chef [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(84));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 10://Salty [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(83));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 11://Loremaster [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(125));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 12://The Seeker [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(81));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 13://The Patient [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(172));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 15://Elder [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(74));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 16://The Love Fool [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(135));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 17://The Noble [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(155));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 18://Brewmaster [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(133));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 19://The Hallowed [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(124));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 20://Pilgrim [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(168));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 21://Merrymaker [25 BT]
if (player->HasItemCount( 32569, 25, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 25, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(134));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 22://Jenkins [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(143));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 23://Scarab Lord [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(46));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 24://Champion of the Frozen Wastes [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(129));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 25://The Undying [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(142));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 26://The Immortal [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(141));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 27://of the Nightfall [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(140));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 28://Twilight Vanquisher [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(121));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 29://Starcaller [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(164));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 30://The Astral Walker [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(165));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 31://Herald of the Titans [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(166));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 32://Champion of Ulduar [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(161));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 33://Conqueror of Ulduar [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(160));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 34://Bane of the Fallen King [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(174));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 35://The Light of Dawn [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(173));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 36://The Kingslayer [40 BT]
if (player->HasItemCount( 32569, 40, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 40, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(175));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 37://of the Shattered Sun [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(63));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 38://Ambassador [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(130));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 39://Bloodsail Admiral [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(144));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 40://The Diplomat [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(79));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 41://Guardian of Cenarius [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(132));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 42://The Argent Champion [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(131));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 43://of the Ashen Verdict [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(176));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 44://The Exalted [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(77));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 45://The Insane [30 BT]
if (player->HasItemCount( 32569, 30, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 30, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(145));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 46://Battlemaster [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(72));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 47://Arena Master [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(82));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 48://Duelist [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(43));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 49://Rival [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(44));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 50://Challenger [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(45));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 51://Vanquisher [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(163));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 52://Crusader [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(156));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 53://Archmage [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(93));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 54://Champion of the Naaru [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(53));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 55://Hand of A'dal [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(64));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;

case 56://Flawless Victor [60 BT]
if (player->HasItemCount( 32569, 60, false ))
{
player->CLOSE_GOSSIP_MENU();
player->DestroyItemCount(32569, 60, true, false);
player->SetTitle(sCharTitlesStore.LookupEntry(128));
}
else
{
player->CLOSE_GOSSIP_MENU();
_creature->MonsterWhisper("Nedostatok Tokenov!", player->GetGUID());
return false;
}
break;
default:
break;
}
}
return true;
}
};

void AddSC_npc_title()
{
new npc_title();
}[/code]

Modifié et Adapté par : Dorian

Cordialement,
Nerice
salut,

Se type de patch, peux-t-il se faire avec un npc et des quêtes juste en sql ?

Sinon merci pour ce custom core.
Il me semble pas, cest a verifier mais je ne pense pas. Ajoute le script dans ton core Smile

Tu as des tuto sur le wiki
Je comprend pas.
Pourquoi s'être emm...bêter à coder tous les titres un par un comme un forcené alors que sCharTitlesStore contient toutes les informations nécessaires ?

Et au pire, si les noms par défaut des titres ne nous plaisent pas (et surtout si on veut pas rendre tous les titres disponibles), un simple tableau aurait fait l'affaire. Mais la, coder les fonctions une par une au copier/coller, c'est ultra crade.

Encore mieux qu'un tableau, une valeur dans le fichier de configuration serait préférable. Comme ça on peut même changer le contenu du PNJ à chaud avec reload conf.

EDIT : Et le message d'erreur en bosniaque c'est normal ?

Retourner en haut Accueil