Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScriptPCH.h"
- #define TEXT_HI "Привет"
- #define TEXT_NO "У тебя нету столько валюты"
- #define TEXT_COMBAT "Ты в режиме боя"
- #define TEXT_YES "Поменял"
- #define GOSSIP_TEXT_1 "Поменят 50к хонора на 1к апа"
- #define GOSSIP_TEXT_2 "Поменят 1к апа на 50к хонорa"
- #define GOSSIP_TEXT_3 "Купить 1к апа за 10к голдов"
- #define GOSSIP_TEXT_4 "Купить 15к хонора за 3к голдов"
- #define HONOR 50000
- #define HONOR_GOLD 15000 //сколько хонора меняем
- #define ARENA 1000 //сколько апа
- #define GOLD_AP 100000000 //сколько голда на ап
- #define GOLD_HONOR 30000000 //сколько голда на хонор
- class npc_modify_price : public CreatureScript
- {
- public:
- npc_modify_price() : CreatureScript("npc_modify_price") { }
- bool OnGossipHello(Player *player, Creature *creature)
- {
- creature->MonsterWhisper(TEXT_HI, player->GetGUID());
- player->PlayerTalkClass->ClearMenus();
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_1, GOSSIP_SENDER_MAIN, 1);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_2, GOSSIP_SENDER_MAIN, 2);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_3, GOSSIP_SENDER_MAIN, 3);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_4, GOSSIP_SENDER_MAIN, 4);
- player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,creature->GetGUID());
- return true;
- }
- bool OnGossipSelect(Player *player, Creature *creature, uint32 sender, uint32 action )
- {
- if (!player->getAttackers().empty())
- {
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterTextEmote(TEXT_COMBAT, 0, true);
- return false;
- }
- switch(action)
- {
- case 1:
- if (player->GetHonorPoints() < HONOR || player->GetArenaPoints() == sWorld->getIntConfig(CONFIG_MAX_ARENA_POINTS) || player->GetHonorPoints() == 0)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterWhisper(TEXT_NO, player->GetGUID());
- }else{
- player->ModifyArenaPoints(+ ARENA);
- player->ModifyHonorPoints(- HONOR);
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterTextEmote(TEXT_YES, 0, true);
- break;
- }
- case 2:
- if (player->GetArenaPoints() < ARENA || player->GetHonorPoints() == sWorld->getIntConfig(CONFIG_MAX_HONOR_POINTS) || player->GetArenaPoints() == 0)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterWhisper(TEXT_NO, player->GetGUID());
- }else{
- player->ModifyArenaPoints(- ARENA);
- player->ModifyHonorPoints(+ HONOR);
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterTextEmote(TEXT_YES, 0, true);
- break;
- }
- case 3:
- if (player->GetMoney() < GOLD_AP || player->GetArenaPoints() == sWorld->getIntConfig(CONFIG_MAX_ARENA_POINTS) || player->GetMoney() == 0)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterWhisper(TEXT_NO, player->GetGUID());
- }else{
- player->ModifyMoney(- GOLD_AP);
- player->ModifyArenaPoints(+ ARENA);
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterTextEmote(TEXT_YES, 0, true);
- break;
- }
- case 4:
- if (player->GetMoney() < GOLD_HONOR || player->GetHonorPoints() == sWorld->getIntConfig(CONFIG_MAX_HONOR_POINTS)|| player->GetMoney() == 0)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterWhisper(TEXT_NO, player->GetGUID());
- }else{
- player->ModifyMoney(- GOLD_HONOR);
- player->ModifyHonorPoints(+ HONOR_GOLD);
- player->CLOSE_GOSSIP_MENU();
- creature->MonsterTextEmote(TEXT_YES, 0, true);
- break;
- }
- }
- return false;
- }
- };
- void AddSC_npc_modify_price()
- {
- new npc_modify_price;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement