[Pnj] Xp Giver
Voici un NPC qui propose de l'expérience contre de l'or Clin Je ne crois pas encore avoir vu un script équivalent sur le forum donc voila Smile

Code :
/* ScriptData
SDName: xp_giver
SD%Complete:  100
SDComment: Offre de l'XP contre de l'or
SDCategory: PNJ
SDAuthor: PixelPirate
EndScriptData */
  
#include "precompiled.h"
#include "sc_creature.h"
#include "sc_gossip.h"
  
enum
{
     SAY_COMBAT             = -1960200,
     SAY_NOMONEY            = -1960201,
     SAY_FAILLEVEL          = -1960202,
  
     GOSSIP_XP01            = -3000060,
     GOSSIP_XP02            = -3000061,
     GOSSIP_XP03            = -3000062,
     GOSSIP_XP04            = -3000063,
     GOSSIP_XP05            = -3000064,
     GOSSIP_XP06            = -3000065,
     GOSSIP_MENU_XP_GIVER   = 11001,
};
  
bool GossipHello_xp_giver(Player* pPlayer, Creature* pCreature)
{
     pPlayer->ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_XP01, GOSSIP_SENDER_MAIN, 1000);
     pPlayer->ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_XP02, GOSSIP_SENDER_MAIN, 1001);
     pPlayer->ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_XP03, GOSSIP_SENDER_MAIN, 1002);
     pPlayer->ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_XP04, GOSSIP_SENDER_MAIN, 1003);
     pPlayer->ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_XP05, GOSSIP_SENDER_MAIN, 1004);
     pPlayer->ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_XP06, GOSSIP_SENDER_MAIN, 1005);  
     pPlayer->SEND_GOSSIP_MENU(GOSSIP_MENU_XP_GIVER, pCreature->GetGUID());  
     return true;
}
  
void SendDefaultMenu_xp_giver(Player* pPlayer, Creature* m_creature, uint32 uiAction)  
{
     if (!pPlayer->getAttackers().empty())
     {
         pPlayer->CLOSE_GOSSIP_MENU();
         DoScriptText(SAY_COMBAT, m_creature);
         return;
     }
  
     gold = pPlayer->GetMoney();
     costgold = 10000;
  
     if (gold < costgold)
     {
         pPlayer->CLOSE_GOSSIP_MENU();
         DoScriptText(SAY_NOMONEY, m_creature);
         return;
     }
  
     if (pPlayer->getLevel() >= 80)
     {
         pPlayer->CLOSE_GOSSIP_MENU();
         DoScriptText(SAY_FAILLEVEL, m_creature);
         return;
     }
  
     switch(uiAction)
     {
         case 1000:
             pPlayer->ModifyXPValue(+1000);
             pPlayer->ModifyMoney(-1*costgold);
             pPlayer->CLOSE_GOSSIP_MENU();
             break;
         case 1001:
             pPlayer->ModifyXPValue(+10000);
             pPlayer->ModifyMoney(-10*costgold);
             pPlayer->CLOSE_GOSSIP_MENU();
             break;
         case 1002:
             pPlayer->ModifyXPValue(+100000);
             pPlayer->ModifyMoney(-100*costgold);
             pPlayer->CLOSE_GOSSIP_MENU();
             break;
         case 1003:
             pPlayer->ModifyXPValue(+500000);
             pPlayer->ModifyMoney(-5000*costgold);
             pPlayer->CLOSE_GOSSIP_MENU();
             break;
         case 1004:
             pPlayer->ModifyXPValue(+1000000);
             pPlayer->ModifyMoney(-10000*costgold);
             pPlayer->CLOSE_GOSSIP_MENU();
             break;
         case 1005:
             pPlayer->ModifyXPValue(+5000000);
             pPlayer->ModifyMoney(-50000*costgold);
             pPlayer->CLOSE_GOSSIP_MENU();
             break;
     }
     pPlayer->CLOSE_GOSSIP_MENU();
}
  
bool GossipSelect_xp_giver(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
     // Main menu
     if (uiSender == GOSSIP_SENDER_MAIN)  
         SendDefaultMenu_xp_giver(pPlayer, pCreature, uiAction);
  
     return true;
}
  
void AddSC_xp_giver()  
{  
     Script* pNewScript;
  
     pNewScript = new Script;
     pNewScript->Name = "xp_giver";
     pNewScript->pGossipHello = &GossipHello_xp_giver;
     pNewScript->pGossipSelect = &GossipSelect_xp_giver;
     pNewScript->RegisterSelf();
}

Version PastBin

Enjoy Clin

[Image: 442532saythanks.gif]
plop

http://www.zone-emu.fr/thread-15453.html

enjoy
le mien est plus beau Heureux lol
(10-12-2011 23:00)PixelPirate a écrit :  le mien est plus beau Heureux lol
Moi je trouve que celui là est encore plus beau : WoWJP

Même pas foutu de changer la valeur de costgold !
Citation :costgold = 10000;
On retrouve la même valeur sur WoWJP

Bonne journée Heureux
Epic sur ce coup là Zevran Xd Langue
J'ai jamais dit que le script venait de moi il trainait sur mon pc et vu que je n'en ai pas l'utilité autant partager.
Et bah donnes la source ou précises qu'il n'est pas de toi Smile ...
"SDAuthor: PixelPirate"
(17-12-2011 16:41)PixelPirate a écrit :  J'ai jamais dit que le script venait de moi il trainait sur mon pc et vu que je n'en ai pas l'utilité autant partager.

(22-12-2011 18:33)Ashk a écrit :  "SDAuthor: PixelPirate"

... Smile
C'est ce que je voulais dire (A)

Retourner en haut Accueil