Главная Форум Файлы
Вы находитесь: Wow-Good.Ru » WoW » Mists of Pandaria




Страница 1 из 11
Модератор форума: Влад 
Форум » TrinityCore » Патчи » NPC-CUSTOMIZE (Скрипт)
NPC-CUSTOMIZE
root Дата: Четверг, 12.04.2012, 11:48 | Сообщение # 1
HellCore Dev
Сообщений: 100
Репутация: 27
Награды: 1
Code
#include "ScriptPCH.h"  

enum ActCustomizeMaster  
{  
ACTION_RENAME = 1001,  
ACTION_CUSTOMIZE = 1002,  
ACTION_CONFIRM_RENAME = 1003,  
ACTION_CONFIRM_CUSTOMIZE = 1004  
};  

#define RENAME_GOLD_COST 60000000000 // Цена за смену имени (Указывать в медных монетах)  
#define CUSTOMIZE_GOLD_COST 90000000000 // Цена за смену внешности (Указывать в медных монетах)  

#define GOSSIP_MENU_RENAME "Я Хочу Сменить Имя Персонажа"  
#define GOSSIP_MENU_CUSTOMIZE "Я хочу Сменить Внешность Персонажа"  
#define GOSSIP_MENU_RENAME_CONFIRM "Стоимость 100 очков арены Продолжить?" // Меню Стоимости смены имени  
#define GOSSIP_MENU_CUSTOMIZE_CONFIRM "Стоимость 200 очков арены Продолжить?" // Меню Стоимости смены внешности  

#define SEND_CHAT_MSG_NOT_ARENA "У Вас Не Достаточно Очков арены!"  
#define SEND_CHAT_MSG_RENAME_COMPLETE "Оплата Успешно Произведена Сделайте Логаут и Введите Новое Имя Персонажа.Не Забудьте После Смены Имени,Выйти Из Игры и Удалить Из Клиента Папку Cache!"  
#define SEND_CHAT_MSG_CUSTOMIZE_COMPLETE "Оплата Успешно Произведена Сделайте Логаут и Измените Внешность Персонажа.Не Забудьте После Смены Внешности,Выйти Из Игры и Удалить Из Клиента Папку Cache!"  

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

bool OnGossipHello(Player* player, Creature* creature)  
{  
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MENU_RENAME, GOSSIP_SENDER_MAIN, ACTION_RENAME);  
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MENU_CUSTOMIZE, GOSSIP_SENDER_MAIN, ACTION_CUSTOMIZE);  
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());  
return true;  
}  

bool OnGossipSelect(Player* player, Creature* creature, uint32 uiSender, uint32 uiAction)  
{  
if (uiSender != GOSSIP_SENDER_MAIN)  
return false;  

player->PlayerTalkClass->ClearMenus();  

switch (uiAction)  
{  
case ACTION_RENAME:  
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MENU_RENAME_CONFIRM, GOSSIP_SENDER_MAIN, ACTION_CONFIRM_RENAME);  
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());  
break;  
case ACTION_CUSTOMIZE:  
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MENU_CUSTOMIZE_CONFIRM, GOSSIP_SENDER_MAIN, ACTION_CONFIRM_CUSTOMIZE);  
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());  
break;  
case ACTION_CONFIRM_RENAME:  
if (player->GetArenaPoints() < 100) //ренейм за 100 очков арены.  
{  
creature->MonsterWhisper(SEND_CHAT_MSG_NOT_ARENA , player->GetGUID());  
}else{  
creature->MonsterWhisper(SEND_CHAT_MSG_RENAME_COMPLETE, player->GetGUID());  
// player->ModifyMoney(-RENAME_GOLD_COST);  
player->ModifyArenaPoints(-100);  
player->SetAtLoginFlag(AT_LOGIN_RENAME);  
}  
player->CLOSE_GOSSIP_MENU();  
break;  
case ACTION_CONFIRM_CUSTOMIZE:  
if (player->GetArenaPoints() < 200) // смена внешности за 200 очков арены  
{  
creature->MonsterWhisper(SEND_CHAT_MSG_NOT_ARENA , player->GetGUID());  
}else{  
creature->MonsterWhisper(SEND_CHAT_MSG_CUSTOMIZE_COMPLETE, player->GetGUID());  
//player->ModifyMoney(-CUSTOMIZE_GOLD_COST);  
player->ModifyArenaPoints(-200);  
player->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);  
}  
player->CLOSE_GOSSIP_MENU();  
break;  
default:  
player->CLOSE_GOSSIP_MENU();  
}  
return true;  
}  
};  

void AddSC_npc_customize_master()  
{  
new npc_customize_master();  
}

 
Форум » TrinityCore » Патчи » NPC-CUSTOMIZE (Скрипт)
Страница 1 из 11
Поиск: