• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
[patch] Платный ЛФГ
DeimosLand
Сержант
Представляю вашему вниманию патч, который делает общение в ЛФГ платным (хонор) и если у Вас недостаточно хонора, то сообщаем Вам об этом.

Настройка кол-во хонора за сообщение в файле worldserver.conf

Code
diff -r 0aa7b4961541 -r fe99770612e0 src/server/game/Miscellaneous/Language.h

--- a/src/server/game/Miscellaneous/Language.h  Tue Apr 19 15:24:31 2011 +0300

+++ b/src/server/game/Miscellaneous/Language.h  Tue Apr 19 16:20:04 2011 +0300

@@ -1070,6 +1070,7 @@

        // Use for custom patches             11000-11999

        LANG_AUTO_BROADCAST                 = 11000,

        LANG_INVALID_REALMID                = 11001,

+    LANG_NOT_ENOUGHT_HONOR              = 11002,

       

        // NOT RESERVED IDS                   12000-1999999999

        // `db_script_string` table index     2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)

diff -r 0aa7b4961541 -r fe99770612e0 src/server/game/Server/Protocol/Handlers/ChatHandler.cpp

--- a/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp  Tue Apr 19 15:24:31 2011 +0300

+++ b/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp  Tue Apr 19 16:20:04 2011 +0300

@@ -422,6 +422,18 @@

                    {

                        sScriptMgr->OnPlayerChat(_player, type, lang, msg, chn);

       

+                    if (chn->IsLFG())

+                    {

+                        uint32 cost = sWorld->getIntConfig(CONFIG_LFG_COST);

+

+                        if (_player->GetHonorPoints() < cost)

+                        {

+                            ChatHandler(this).PSendSysMessage(LANG_NOT_ENOUGHT_HONOR);

+                            break;

+                        }

+                        _player->ModifyHonorPoints(-(int32)cost);

+                    }

+

                        chn->Say(_player->GetGUID(), msg.c_str(), lang);

                    }

                }

diff -r 0aa7b4961541 -r fe99770612e0 src/server/game/World/World.cpp

--- a/src/server/game/World/World.cpp   Tue Apr 19 15:24:31 2011 +0300

+++ b/src/server/game/World/World.cpp   Tue Apr 19 16:20:04 2011 +0300

@@ -585,6 +585,7 @@

        m_int_configs[CONFIG_INTERVAL_SAVE] = sConfig->GetIntDefault("PlayerSaveInterval", 15 * MINUTE * IN_MILLISECONDS);

        m_int_configs[CONFIG_INTERVAL_DISCONNECT_TOLERANCE] = sConfig->GetIntDefault("DisconnectToleranceInterval", 0);

        m_bool_configs[CONFIG_STATS_SAVE_ONLY_ON_LOGOUT] = sConfig->GetBoolDefault("PlayerSave.Stats.SaveOnlyOnLogout", true);

+    m_int_configs[CONFIG_LFG_COST] = sConfig->GetIntDefault("LFGMsg.Cost", 0);

       

        m_int_configs[CONFIG_MIN_LEVEL_STAT_SAVE] = sConfig->GetIntDefault("PlayerSave.Stats.MinLevel", 0);

        if (m_int_configs[CONFIG_MIN_LEVEL_STAT_SAVE] > MAX_LEVEL)

diff -r 0aa7b4961541 -r fe99770612e0 src/server/game/World/World.h

--- a/src/server/game/World/World.h     Tue Apr 19 15:24:31 2011 +0300

+++ b/src/server/game/World/World.h     Tue Apr 19 16:20:04 2011 +0300

@@ -266,6 +266,7 @@

        CONFIG_TICKET_LEVEL_REQ,

        CONFIG_AUCTION_LEVEL_REQ,

        CONFIG_MAIL_LEVEL_REQ,

+    CONFIG_LFG_COST,

        CONFIG_CORPSE_DECAY_NORMAL,

        CONFIG_CORPSE_DECAY_RARE,

        CONFIG_CORPSE_DECAY_ELITE,

diff -r 0aa7b4961541 -r fe99770612e0 src/server/worldserver/worldserver.conf.dist

--- a/src/server/worldserver/worldserver.conf.dist      Tue Apr 19 15:24:31 2011 +0300

+++ b/src/server/worldserver/worldserver.conf.dist      Tue Apr 19 16:20:04 2011 +0300

@@ -2777,6 +2777,12 @@

    LevelReq.Mail = 1

       

    #

+#     LFGMsg.Cost

+#        Default:     0

+

+LFGMsg.Cost = 5

+

+#

    ###################################################################################################

       

    ######################################################################


sql

Code
DELETE FROM `trinity_string` WHERE `entry` = 11002;
    INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc8`) VALUES    
    ('11002', 'not enought honor.', 'недостаточно хонора.');


Патч создан для уменьшения флуда в ЛФГ

Источник
Сообщение # 1 отредактировано Dimitro - Суббота, 28.04.2012, 22:16
Cactus
Капрал
Норм пригодиться лови+

WOWflag.ru
Я могу указать дверь войти в неё ты должен сам(Я могу дать совет решить задачу должен ты сам...)
Видео мануал по компиляции ядра SkyFire
Сообщение # 2 написано 01.05.2012 в 05:04
yct9
Капрал
Quote (DeimosLand)
sConfig->GetIntDefaul

давно изменено..
Сообщение # 3 написано 01.05.2012 в 13:19
Neket007
Core Developer
Хех, интересный патч, кто его писал? Он работать не будет, даже если хонора недостаточно. break? К чему это? Где вывод в конфиг на вкл/выкл?
Сообщение # 4 написано 01.05.2012 в 14:31
Evrial
Маршал
Quote (Neket007)
даже если хонора недостаточно. break?

с этим вроде как согласен.

Quote (Neket007)
Где вывод в конфиг на вкл/выкл?

а вот тут не согласен. в конфиге ставим 0 - и вуаля - выключено.
Сообщение # 5 написано 05.05.2012 в 23:48
  • Страница 1 из 1
  • 1
Поиск: