21:14 Rswow.ru - Worl... 3 Обычные сервера WoW от StaF
02:08 Бесплатный игро... 3 Обычные сервера WoW от morra
02:44 ^^Limit-WoW^^ ^... 3 Обычные сервера WoW от adidas9699
22:14 Xz-WoW.Ru [FUN]... 3 Обычные сервера WoW от Milko
Rareportal.com
Хочешь разместить тут рекламу бесплатно?

[ Главная страница ] [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » TrinityCore » Установка / Настройка TrinityCore » [Мануал]+Видео| Патчим ядро и исправляем конфликты
[Мануал]+Видео| Патчим ядро и исправляем конфликты
STALKER Дата: Вторник, 06.03.2012, 13:29 | Сообщение # 1 Offline





Гл. Администратор

Сообщений: 326

Репутация: 300 +

Статус: Offline
Патчим Ядро руками
Что нам для этого нужно?
1- Сам Патч
2- Сырци ядра
3- MVS 2005/2008/2010
4- Git
5- Глаза и руки
Небольшой пример накатывания руками, я покажу вам на примере патча

Code
kick_ban_mute_announce  
  --- a/src/server/game/Chat/Commands/Level2.cpp  
  +++ b/src/server/game/Chat/Commands/Level2.cpp  
  @@ -54,8 +54,16 @@ bool ChatHandler::HandleMuteCommand(cons  
  char *mutereason=strtok(NULL, "\r");  
  std::string mutereasonstr=No reason";  
  + std::string announce;  
  if (mutereason != NULL)  
  mutereasonstr=mutereason;  
  +  
  + if(!mutereason)  
  + {  
  + PSendSysMessage("You must enter a reason of mute");  
  + SetSentErrorMessage(true);  
  + return false;  
  + }  
  Player* target;  
  uint64 target_guid;  
  @@ -89,6 +97,16 @@ bool ChatHandler::HandleMuteCommand(cons  
  std::string nameLink=playerLink(target_name);  
  PSendSysMessage(LANG_YOU_DISABLE_CHAT, nameLink.c_str(), notspeaktime, mutereasonstr.c_str());  
  +  
  + announce=The character '";  
  + announce += nameStr;  
  + announce += "' was muted for ";  
  + announce += delayStr;  
  + announce += " minutes by the character '";  
  + announce += m_session-]GetPlayerName();  
  + announce += "'. The reason is: ";  
  + announce += mutereason;  
  + HandleAnnounceCommand(announce.c_str());  
  return true;  
  }  
  @@ -207,6 +225,7 @@ bool ChatHandler::HandleKickPlayerComman  
  {  
  Player* std::string playerName;  
  + std::string announce;  
  if (!extractPlayerTarget((char*)args, &target, NULL, &playerName))  
  return false;  
  @@ -227,6 +246,14 @@ bool ChatHandler::HandleKickPlayerComman  
  PSendSysMessage(LANG_COMMAND_KICKMESSAGE, playerName.c_str());  
  target-]GetSession()-]KickPlayer();  
  +  
  + announce=The character '";  
  + announce += target-]GetName();  
  + announce += "' was kicked by the character '";  
  + announce += m_session-]GetPlayerName();  
  + announce += "'.";  
  + HandleAnnounceCommand(announce.c_str());  
  +  
  return true;  
  }  
  --- a/src/server/game/Chat/Commands/Level3.cpp  
  +++ b/src/server/game/Chat/Commands/Level3.cpp  
  @@ -2932,6 +2932,7 @@ bool ChatHandler::HandleBanHelper(BanMod  
  return false;  
  std::string nameOrIP=cnameOrIP;  
  + std::string announce;  
  char* duration=strtok (NULL," ");  
  if (!duration || !atoi(duration))  
  @@ -2991,6 +2992,21 @@ bool ChatHandler::HandleBanHelper(BanMod  
  SetSentErrorMessage(true);  
  return false;  
  }  
  +  
  + if (mode == BAN_CHARACTER)  
  + announce=The character '";  
  + else if (mode == BAN_IP)  
  + announce=The IP '";  
  + else  
  + announce=Account '";  
  + announce += nameOrIP.c_str();  
  + announce += "' was banned for ";  
  + announce += duration;  
  + announce += " by the character '";  
  + announce += m_session-]GetPlayerName();  
  + announce += "'. The reason is: ";  
  + announce += reason;  
  + HandleAnnounceCommand(announce.c_str());  
   
  return true;  
  }


Открываем патч через MVS и видим там строки
--(красная строка) удаляем
++(зеленая строка) добавляем
Желтая строка - изменяемый файл(путь_)
@@ -54,8 +54,16 @@ какие строки изменяються
b/src/server/game/Chat/Commands/Level3.cpp путь к изменяемуму файлу

Начнем:
1- Открываем патч через MVS(чтоб было удобнее так как там все выделенно цветом)
2- Открываем фаил исходника который нужно изменить
Чтоб вам было проще искать в какой строке нужно изменить, можно воспользоваться поиском в программе.
Копировать вставить - строки перед -- или ++ найти и откорректировать
четко как в патче вписывая строки.

==================================================
Видео мануал патчим через GIT и исправляем конфликты.
==================================================

В Мануале пример на патче Warden+AC2 от Arcanum Core
 
Форум » TrinityCore » Установка / Настройка TrinityCore » [Мануал]+Видео| Патчим ядро и исправляем конфликты
  • Страница 1 из 1
  • 1
Поиск: