|
|
Модератор форума: Dimitro |
Форум » TrinityCore » Патчи / Моды / Фиксы для Trinity » [PATCH] Разные патчи на сервер 3.3.5а (# патчи,trinity core,3.3.5a #) |
[PATCH] Разные патчи на сервер 3.3.5а |
Рылся на компе нашел следующие патчи :
Патч на иконку фракции после ника(полезно для серверов с общим чатом) Код #include "ScriptPCH.h" #include "Channel.h" #include "Player.h" #include <sstream> class channel_factions : public PlayerScript { public: channel_factions() : PlayerScript("channel_factions") { } void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Channel* channel) { if (!player || !channel) return; std::stringstream ssMsg; ssMsg << ((player->GetTeam() == HORDE) ? "|TInterface\\PVPFrame\\PVP-Currency-Horde:18:18:-3:-3|t" : "|TInterface\\PVPFrame\\PVP-Currency-Alliance:18:18:-3:-3|t") << msg; msg = ssMsg.str(); } }; void AddSC_channel_factions() { new channel_factions(); } Патч на мгновенное использование чарок и символов Код diff -r 4486d4917582 -r 933e6bdfd997 src/server/game/Spells/SpellMgr.cpp --- a/src/server/game/Spells/SpellMgr.cpp Wed Jun 06 23:49:24 2012 +0800 +++ b/src/server/game/Spells/SpellMgr.cpp Thu Jun 07 18:54:46 2012 +0800 @@ -1134,7 +1134,7 @@ return true; return false; - } + } } return true; @@ -2952,12 +2952,18 @@ if (!spellInfo->speed && !spellInfo->SpellFamilyName) spellInfo->speed = SPEED_CHARGE; break; + case SPELL_EFFECT_APPLY_GLYPH: + spellInfo->CastingTimeIndex=1; + break; + case SPELL_EFFECT_ENCHANT_ITEM: + spellInfo->CastingTimeIndex=1; + break; + } } if (spellInfo->activeIconID == 2158) // flight spellInfo->Attributes |= SPELL_ATTR0_PASSIVE; - switch (spellInfo->Id) { case 40244: case 40245: // Simon Game Visual Патч на нпс для смены имени/внешности Код #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() < 500) //ренейм за 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(-500); 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(); } Патч на анонс бана/кика/мута Код # HG changeset patch # User MaDo # Date 1326554394 -10800 # Node ID 66812d47f6bcca7a5dd58ebfdb2d5472f77c2b00 # Parent cb04a4a860fb5b33f03bb677ced3d0171efc33df Ba_Kick_Mute_Announce diff -r cb04a4a860fb5b33f03bb677ced3d0171efc33df -r 66812d47f6bcca7a5dd58ebfdb2d5472f77c2b00 src/server/game/Chat/Commands/Level2.cpp --- a/src/server/game/Chat/Commands/Level2.cpp Sun Jan 01 21:00:11 2012 +0300 +++ b/src/server/game/Chat/Commands/Level2.cpp Sat Jan 14 18:19:54 2012 +0300 @@ -46,6 +46,9 @@ //mute player for some times bool ChatHandler::HandleMuteCommand(const char* args) { + + std::string announce; + char* nameStr; char* delayStr; extractOptFirstArg((char*)args, &nameStr, &delayStr); @@ -57,6 +60,13 @@ if (mutereason != NULL) mutereasonstr = mutereason; + if(!mutereason) + { + PSendSysMessage("Вы должны ввести причину мута"); + SetSentErrorMessage(true); + return false; + } + Player* target; uint64 target_guid; std::string target_name; @@ -104,6 +114,16 @@ PSendSysMessage(target ? LANG_YOU_DISABLE_CHAT : LANG_COMMAND_DISABLE_CHAT_DELAYED, nameLink.c_str(), notspeaktime, mutereasonstr.c_str()); + announce = "Персонаж '"; + announce += nameStr; + announce += "' Получил мут на"; + announce += delayStr; + announce += "Выдал '"; + announce += m_session->GetPlayerName(); + announce += "'. Причина: "; + announce += mutereason; + HandleAnnounceCommand(announce.c_str()); + return true; } @@ -224,6 +244,9 @@ //kick player bool ChatHandler::HandleKickPlayerCommand(const char *args) { + + std::string announce; + Player* target = NULL; std::string playerName; if (!extractPlayerTarget((char*)args, &target, NULL, &playerName)) @@ -246,6 +269,14 @@ PSendSysMessage(LANG_COMMAND_KICKMESSAGE, playerName.c_str()); target->GetSession()->KickPlayer(); + + announce = "Персонаж '"; + announce += target->GetName(); + announce += "' Был исключен администратором '"; + announce += m_session->GetPlayerName(); + announce += "'."; + HandleAnnounceCommand(announce.c_str()); + return true; } diff -r cb04a4a860fb5b33f03bb677ced3d0171efc33df -r 66812d47f6bcca7a5dd58ebfdb2d5472f77c2b00 src/server/game/Chat/Commands/Level3.cpp --- a/src/server/game/Chat/Commands/Level3.cpp Sun Jan 01 21:00:11 2012 +0300 +++ b/src/server/game/Chat/Commands/Level3.cpp Sat Jan 14 18:19:54 2012 +0300 @@ -2919,6 +2919,8 @@ { if (!*args) return false; + + std::string announce; char* cnameOrIP = strtok ((char*)args, " "); if (!cnameOrIP) @@ -2984,6 +2986,21 @@ SetSentErrorMessage(true); return false; } + + if (mode == BAN_CHARACTER) + announce = "Персонаж '"; + else if (mode == BAN_IP) + announce = "IP-адресс '"; + else + announce = "Аккаунт '"; + announce += nameOrIP.c_str(); + announce += "' Забанен на "; + announce += duration; + announce += " Бан выдал '"; + announce += m_session->GetPlayerName(); + announce += "'. Причина: "; + announce += reason; + HandleAnnounceCommand(announce.c_str()); return true; } Патч на анонс когда любой игрок входит в игру Код #include "ScriptPCH.h" class Announce_OnPlayerLogin : public PlayerScript { public: Announce_OnPlayerLogin() : PlayerScript("Announce_OnPlayerLogin") {} void OnLogin(Player * player) { char msg[500]; sprintf(msg, "|CFF00FF00Игрок |cffffffff%s |CFF00FF00Входит в игру!",player->GetName()); sWorld->SendWorldText(LANG_SYSTEMMESSAGE, msg); } }; void AddSC_OnLogin() { new Announce_OnPlayerLogin; } Все патчи я нашел у себя на ПК, может кому-то будут нужны P.S. Авторов не знаю |
Сообщение # 2 написано 28.10.2013 в 03:23
|
Сообщение # 3 написано 28.10.2013 в 10:45
|
| |||
| |||