• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Расширенный патч на сброс КД
Dimitro
Praise the sun!
Вот решил написать расширенный патч на сброс КД в условиях дуэли.

Настраиваемые опции в конфиге:

DuelReset.Cooldown.OnStart - при включении, сбрасывает КД у игроков при старте дуэли, также, при старте мана, ярость и энергия рун устанавливаются на максимум.
DuelReset.Cooldown.OnFinish - при включении, сбрасывает КД у игроков по окончанию дуэли.
DuelReset.Cooldown.Only.in.Elwynn.and.Durotar - если включено, то сбрасывает КД ТОЛЬКО в Дураторе и Элвиннском Лесу.
DuelReset.Cooldown.Max.Energy.OnStart - если включено, то при начале дуэли ярость и энергия рун устанавливаются на максимум.
DuelReset.Cooldown.Reset.Energy.OnStart - если включено, то при начале дуэли ярость и энергия рун устанавливаются равными нулю.

Ясное дело, все опции можно включить одновременно.

Также патч НЕ ставиться напрямую в систему дуэлей, что не есть хорошо, а идет отдельным надстроечным кастомным скриптом.

Code
diff -r 2d23fc779565 src/server/game/Scripting/ScriptLoader.cpp
--- a/src/server/game/Scripting/ScriptLoader.cpp    Mon Sep 12 23:41:29 2011 -0700
+++ b/src/server/game/Scripting/ScriptLoader.cpp    Thu Sep 15 21:44:36 2011 +0300
@@ -23,6 +23,7 @@
    void AddSC_example_gossip_codebox();
    void AddSC_example_misc();
    void AddSC_example_commandscript();
+void AddSC_DuelReset();
       
    // spells
    void AddSC_deathknight_spell_scripts();
@@ -1229,6 +1230,6 @@
    {
    #ifdef SCRIPTS
        /* This is where custom scripts should be added. */
-
+    AddSC_DuelReset();
    #endif
    }
diff -r 2d23fc779565 src/server/game/World/World.cpp
--- a/src/server/game/World/World.cpp    Mon Sep 12 23:41:29 2011 -0700
+++ b/src/server/game/World/World.cpp    Thu Sep 15 21:44:36 2011 +0300
@@ -1184,6 +1184,11 @@
       
        // MySQL ping time interval
        m_int_configs[CONFIG_DB_PING_INTERVAL] = ConfigMgr::GetIntDefault("MaxPingTime", 30);
+       
+    //Reset Duel Cooldown
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.OnStart", false);
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.OnFinish", false);
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Only.in.Elwynn.and.Durotar", false);
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Max.Energy.OnStart", false);
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Reset.Energy.OnStart", false);
       
        sScriptMgr->OnConfigLoad(reload);
    }
diff -r 2d23fc779565 src/server/game/World/World.h
--- a/src/server/game/World/World.h    Mon Sep 12 23:41:29 2011 -0700
+++ b/src/server/game/World/World.h    Thu Sep 15 21:44:36 2011 +0300
@@ -163,6 +163,9 @@
        CONFIG_QUEST_IGNORE_AUTO_ACCEPT,
        CONFIG_QUEST_IGNORE_AUTO_COMPLETE,
        CONFIG_WARDEN_ENABLED,
+    CONFIG_DUEL_RESET_COOLDOWN_ON_START,
+    CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH,
+    CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR,
+    CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START,
+    CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START,
        BOOL_CONFIG_VALUE_COUNT
    };
       
diff -r 2d23fc779565 src/server/scripts/Custom/CMakeLists.txt
--- a/src/server/scripts/Custom/CMakeLists.txt    Mon Sep 12 23:41:29 2011 -0700
+++ b/src/server/scripts/Custom/CMakeLists.txt    Thu Sep 15 21:44:36 2011 +0300
@@ -10,6 +10,7 @@
       
    set(scripts_STAT_SRCS
      ${scripts_STAT_SRCS}
+  Custom/duel_reset.cpp
    )
       
    message("  -> Prepared: Custom")
diff -r 2d23fc779565 src/server/scripts/Custom/duel_reset.cpp
--- /dev/null    Thu Jan 01 00:00:00 1970 +0000
+++ b/src/server/scripts/Custom/duel_reset.cpp    Thu Sep 15 21:44:36 2011 +0300
@@ -0,0 +1,92 @@
+#include "ScriptPCH.h"
+#include "ScriptMgr.h"
+#include "Config.h"
+
+class duel_reset : public PlayerScript
+{
+public:
+    duel_reset() : PlayerScript("duel_reset") {}
+
+    void OnDuelEnd(Player *winner, Player *looser, DuelCompleteType type)
+    {
+        if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH))
+        {
+            if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR))
+            {
+                if(winner->GetZoneId() == 14 || winner->GetZoneId() == 12)
+                {
+                    if (type == DUEL_WON)
+                    {
+                        winner->RemoveArenaSpellCooldowns();
+                        looser->RemoveArenaSpellCooldowns();
+                        winner->SetHealth(winner->GetMaxHealth());
+                        looser->SetHealth(looser->GetMaxHealth());
+
+                        if (winner->getPowerType() == POWER_MANA)    
+                            winner->SetPower(POWER_MANA, winner->GetMaxPower(POWER_MANA));
+
+                        if (looser->getPowerType() == POWER_MANA)    
+                            looser->SetPower(POWER_MANA, looser->GetMaxPower(POWER_MANA));
+                    }
+                    winner->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
+                }
+            }
+
+            else
+                if (type == DUEL_WON)
+                {
+                    winner->RemoveArenaSpellCooldowns();
+                    looser->RemoveArenaSpellCooldowns();
+                    winner->SetHealth(winner->GetMaxHealth());
+                    looser->SetHealth(looser->GetMaxHealth());
+
+                    if (winner->getPowerType() == POWER_MANA)    
+                        winner->SetPower(POWER_MANA, winner->GetMaxPower(POWER_MANA));
+
+                    if (looser->getPowerType() == POWER_MANA)    
+                        looser->SetPower(POWER_MANA, looser->GetMaxPower(POWER_MANA));
+                }
+                winner->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
+        }
+    }
+
+    void OnDuelStart(Player *player1, Player *player2)
+    {
+        if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ON_START))
+        {
+            if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR))
+            {
+                if(player1->GetZoneId() == 14 || player1->GetZoneId() == 12)
+                {
+                    player1->RemoveArenaSpellCooldowns();
+                    player2->RemoveArenaSpellCooldowns();
+                    player1->SetHealth(player1->GetMaxHealth());
+                    player2->SetHealth(player2->GetMaxHealth());
+
+                    if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START))
+                    {
+                        switch (player1->getPowerType())
+                        {
+                        case POWER_RAGE:
+                            player1->SetPower(POWER_RAGE, 0);
+                            break;
+                        case POWER_RUNIC_POWER:
+                            player1->SetPower(POWER_RUNIC_POWER, 0);
+                            break;
+                        default:
+                            break;
+                        }
+
+                        switch (player2->getPowerType())
+                        {
+                        case POWER_RAGE:
+                            player2->SetPower(POWER_RAGE, 0);
+                            break;
+                        case POWER_RUNIC_POWER:
+                            player2->SetPower(POWER_RUNIC_POWER, 0);
+                            break;
+                        default:
+                            break;
+                        }
+                    }
+
+                    if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START))
+                    {
+                        switch (player1->getPowerType())
+                        {
+                        case POWER_MANA:
+                            player1->SetPower(POWER_MANA, player1->GetMaxPower(POWER_MANA));
+                            break;
+                        case POWER_RAGE:
+                            player1->SetPower(POWER_RAGE, player1->GetMaxPower(POWER_RAGE));
+                            break;
+                        case POWER_RUNIC_POWER:
+                            player1->SetPower(POWER_RUNIC_POWER, player1->GetMaxPower(POWER_RUNIC_POWER));
+                            break;
+                        default:
+                            break;
+                        }
+
+                        switch (player2->getPowerType())
+                        {
+                        case POWER_MANA:
+                            player2->SetPower(POWER_MANA, player2->GetMaxPower(POWER_MANA));
+                           break;
+                       case POWER_RAGE:
+                           player2->SetPower(POWER_RAGE, player2->GetMaxPower(POWER_RAGE));
+                            break;
+                        case POWER_RUNIC_POWER:
+                            player2->SetPower(POWER_RUNIC_POWER, player2->GetMaxPower(POWER_RUNIC_POWER));
+                            break;
+                        default:
+                            break;
+                        }
+                    }
+                }
+            }
+
+            else
+            {
+                player1->RemoveArenaSpellCooldowns();
+                player2->RemoveArenaSpellCooldowns();
+                player1->SetHealth(player1->GetMaxHealth());
+                player2->SetHealth(player2->GetMaxHealth());
+
+                if (sWorld->getBoolConfig(CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START))
+                {
+                    switch (player1->getPowerType())
+                    {
+                    case POWER_MANA:
+                        player1->SetPower(POWER_MANA, player1->GetMaxPower(POWER_MANA));
+                        break;
+                    case POWER_RAGE:
+                        player1->SetPower(POWER_RAGE, player1->GetMaxPower(POWER_RAGE));
+                        break;
+                    case POWER_RUNIC_POWER:
+                        player1->SetPower(POWER_RUNIC_POWER, player1->GetMaxPower(POWER_RUNIC_POWER));
+                        break;
+                    default:
+                        break;
+                    }
+
+                    switch (player2->getPowerType())
+                    {
+                    case POWER_MANA:
+                        player2->SetPower(POWER_MANA, player2->GetMaxPower(POWER_MANA));
+                        break;
+                    case POWER_RAGE:
+                        player2->SetPower(POWER_RAGE, player2->GetMaxPower(POWER_RAGE));
+                        break;
+                    case POWER_RUNIC_POWER:
+                        player2->SetPower(POWER_RUNIC_POWER, player2->GetMaxPower(POWER_RUNIC_POWER));
+                        break;
+                    default:
+                        break;
+                    }
+                }
+            }
+        }
+    }
+};
+
+void AddSC_DuelReset()
+{
+    new duel_reset();
+}
+
diff -r 2d23fc779565 src/server/worldserver/worldserver.conf.dist
--- a/src/server/worldserver/worldserver.conf.dist    Mon Sep 12 23:41:29 2011 -0700
+++ b/src/server/worldserver/worldserver.conf.dist    Thu Sep 15 21:44:36 2011 +0300
@@ -2771,3 +2771,33 @@
       
    #
    ###################################################################################################
+
+###################################################################################################
+# DUEL RESET COOLDOWN BY DIMITRO
+#
+#     DuelReset.Cooldown.OnStart
+#     Reseting cooldown and restore health to start of duel.
+#     Default: 0 - Disable
+#              1 - Enable
+#
+
+DuelReset.Cooldown.OnStart = 0
+
+#     DuelReset.Cooldown.OnFinish
+#     Reseting cooldown and restore health to finish of duel.
+#     Default: 0 - Disable
+#              1 - Enable
+#
+
+DuelReset.Cooldown.OnFinish = 0
+
+#     DuelReset.Cooldown.Only.in.Elwynn.and.Durotar
+#     Reseting cooldown only in Elwynn forest and Durotar locations.
+#     Default: 0 - Disable
+#              1 - Enable
+#
+
+DuelReset.Cooldown.Only.in.Elwynn.and.Durotar = 0
+
+#     DuelReset.Cooldown.Max.Energy.OnStart
+#     Sets rage, mana and runic power to max on duel start.
+#     Default: 0 - Disable
+#              1 - Enable
+#
+
+DuelReset.Cooldown.Max.Energy.OnStart = 0
+
+#     DuelReset.Cooldown.Reset.Energy.OnStart
+#     Resets rage and runic power on duel start.
+#     Default: 0 - Disable
+#              1 - Enable
+#
+
+DuelReset.Cooldown.Reset.Energy.OnStart = 0
+
+#
+###################################################################################################
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 1 отредактировано Dimitro - Суббота, 02.06.2012, 17:29
Dimitro
Praise the sun!
Патч исправлен и подходит под актуальные ревы TC.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 2 написано 02.06.2012 в 17:30
keonji
I ♥ S-PB
Dimitro, а что изменится, если интегрировать скрипт прямиком в систему дуэлей?
Сообщение # 3 написано 03.06.2012 в 21:53
Dimitro
Praise the sun!
Ничего кроме ухудшения читаемости и доступа к коду, он будет довольно таки разбросан.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 4 написано 03.06.2012 в 22:02
maliff
КОРОЛЬ АСЬКИ ИЗ КЗ
Что то не работает,когда последний раз тестили?
зы: ласт ревизия
Сообщение # 5 отредактировано maliff - Среда, 13.06.2012, 16:07
Dimitro
Praise the sun!
Все там работает.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 6 написано 13.06.2012 в 17:53
doomkas
Центурион
Dimitro, А под новую реву патч у тебя есть ?
Сообщение # 7 написано 27.06.2012 в 08:02
freeup
Сержант
doomkas, под какую новую?? вчера накатывал всё отлично работает!
Сообщение # 8 написано 28.06.2012 в 01:01
doomkas
Центурион
freeup, Эмм у меня не робит. С ошибками накатывает. Сейчас еще раз попробую.

Добавлено (28.06.2012, 10:25)
---------------------------------------------
Неа не заливает.

Сообщение # 9 написано 28.06.2012 в 10:25
Dimitro
Praise the sun!
Руками накатить никак?
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 10 написано 28.06.2012 в 23:01
doomkas
Центурион
Dimitro, Новенький в этом деле. Уже накатил и + сик кинул )

Добавлено (05.07.2012, 16:23)
---------------------------------------------
Dimitro
Твой патч еще робит на Skyfire

Сообщение # 11 написано 05.07.2012 в 16:23
Dimitro
Praise the sun!
Скайфаер недалеко от трини ушел, поэтому неудивительно.
Тем более, что патч был написан с расчетом на универсальность.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 12 написано 06.07.2012 в 00:08
bizZzon
Центурион
Скиньте кто нибудь ScriptLoader.cpp с накатаным патчем а то немного вот эта строчка не понятна
Quote (Dimitro)
    // spells
    void AddSC_deathknight_spell_scripts();
@@ -1229,6 +1230,6 @@
    {
    #ifdef SCRIPTS
        /* This is where custom scripts should be added. */
-
+    AddSC_DuelReset();
    #endif
    }
Бесплатный личный кабинет от симфонии
Накручиваю лайки в вконтакте писать сюда
Добавить меня в скайп
Планирую откывать новый проект все кто желает помоч добовляйте в скайп
Продаю дедики писать в лс
Сообщение # 13 написано 07.07.2012 в 10:42
Dimitro
Praise the sun!
Чем непонятна?
Добавляется AddSC_DuelReset(); после /* This is where custom scripts should be added. */.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 14 написано 07.07.2012 в 12:04
_Mehanick_
Скаут
Всем привет, меня интересует одно как и куда накатить патч?
Пробывал Гитом, но чет полезло нето, а как исправить не знаю.
И если руками накатывать, то куда именно вставлять данный код?
Сообщение # 15 написано 28.08.2012 в 21:55
Sandir
Сержант
_Mehanick_, покажу на примере, имеем часть кода патча:
Code
diff -r 2d23fc779565 src/server/game/Scripting/ScriptLoader.cpp  
  --- a/src/server/game/Scripting/ScriptLoader.cpp    Mon Sep 12 23:41:29 2011 -0700  
  +++ b/src/server/game/Scripting/ScriptLoader.cpp    Thu Sep 15 21:44:36 2011 +0300  
  @@ -23,6 +23,7 @@  
     void AddSC_example_gossip_codebox();  
     void AddSC_example_misc();  
     void AddSC_example_commandscript();  
  +void AddSC_DuelReset();  
  

Значит ищем файл
Quote
src/server/game/Scripting/ScriptLoader.cpp

после строки
Quote
void AddSC_example_commandscript();

добовляем
Quote
void AddSC_DuelReset();

И так правим каждый указанный файл, так же в нашем случае необходимо создать файл duel_reset.cpp и заполнить кодом из патча. Надеюсь максимально понятно.
Сообщение # 16 написано 28.08.2012 в 22:23
_Mehanick_
Скаут
Sandir, а где создать? в src/server/game/Scripting/ ? или где то в другом месте? с первым я понял, только 2-ое осталось и все

Добавлено (29.08.2012, 19:07)
---------------------------------------------
создал в /src/server/scripts/Custom/

Добавлено (29.08.2012, 19:17)
---------------------------------------------
Вот малость непонятно что тут делать
Code
diff -r 2d23fc779565 src/server/game/World/World.cpp   
   --- a/src/server/game/World/World.cpp    Mon Sep 12 23:41:29 2011 -0700   
   +++ b/src/server/game/World/World.cpp    Thu Sep 15 21:44:36 2011 +0300
Сообщение # 17 отредактировано _Mehanick_ - Среда, 29.08.2012, 19:18
Sandir
Сержант
Quote (_Mehanick_)
Вот малость непонятно что тут делать


В файле World.cpp после строк
Code
// MySQL ping time interval  
         m_int_configs[CONFIG_DB_PING_INTERVAL] = ConfigMgr::GetIntDefault("MaxPingTime", 30);

добавить

Code
+        
+    //Reset Duel Cooldown  
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.OnStart", false);  
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ON_FINISH] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.OnFinish", false);  
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_ONLY_IN_ELWYNN_AND_DUROTAR] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Only.in.Elwynn.and.Durotar", false);  
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_MAX_ENERGY_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Max.Energy.OnStart", false);  
+    m_bool_configs[CONFIG_DUEL_RESET_COOLDOWN_RESET_ENERGY_ON_START] = ConfigMgr::GetBoolDefault("DuelReset.Cooldown.Reset.Energy.OnStart", false);

без "+" естественно.
Сообщение # 18 написано 29.08.2012 в 23:30
_Mehanick_
Скаут
Sandir, а это куда пихать?
Code
diff -r 2d23fc779565 src/server/game/World/World.h   
   --- a/src/server/game/World/World.h    Mon Sep 12 23:41:29 2011 -0700   
   +++ b/src/server/game/World/World.h    Thu Sep 15 21:44:36 2011 +0300   
   @@ -163,6 +163,9 @@   
          CONFIG_QUEST_IGNORE_AUTO_ACCEPT,   
          CONFIG_QUEST_IGNORE_AUTO_COMPLETE,   
          CONFIG_WARDEN_ENABLED,   
   
?
часть кода я догадался куда вставить, вот только с этим разобратся
Сообщение # 19 отредактировано _Mehanick_ - Четверг, 30.08.2012, 20:21
Dimitro
Praise the sun!
Вы по каждой секции будете вопрос задавать?
У вас в первой строчке написано, куда пихать.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 20 написано 30.08.2012 в 20:21
_Mehanick_
Скаут
Dimitro, я только начал заниматся серверами, или вам так сложно объяснить человеку что да как

Добавлено (30.08.2012, 20:43)
---------------------------------------------
Ваще бред, матюгается файл duel_reset.cpp в visial studio

Добавлено (30.08.2012, 21:13)
---------------------------------------------
Вроде не матюгается больше duel_reset.cpp , но есть другое

Code
Ошибка    5742    error LNK1181: не удается открыть входной файл "..\scripts\Release\scripts.lib"    E:\Server\src\server\worldserver\LINK
Сообщение # 21 написано 30.08.2012 в 21:13
Sandir
Сержант
Смотри что ты накрутил, на ТС от 24 августа отлично компилилось, щас нам Дмитрий по шапке даст за офтоп killed
Сообщение # 22 написано 30.08.2012 в 22:36
Dimitro
Praise the sun!
Quote (_Mehanick_)
Dimitro, я только начал заниматся серверами, или вам так сложно объяснить человеку что да как

Да, сложно объяснять одно и то же сотни раз, особенно учитывая то, что в соседнем подразделе как минимум два мануала на эту тему, а от меня лично есть даже видеомануал.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 23 написано 31.08.2012 в 00:23
_Mehanick_
Скаут
Dimitro, скиньте видео-манул по накатыванию патчей
Сообщение # 24 написано 31.08.2012 в 20:08
Dimitro
Praise the sun!
http://wowjp.net/forum/120-172558-1 - второе видео.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 25 написано 31.08.2012 в 20:16
_Mehanick_
Скаут
Dimitro, не получается у меня сделать правильно..... при компиле вылазит прежняя ошибка, можешь накатить этот патч на исходники и дать мне, если тебя не затруднит, а дальше я сам уже буду...
Сообщение # 26 написано 31.08.2012 в 23:45
Shkrest
Сержант
Да =) А это куда, а это куда?АААааа, да он не робит =)
Школота =)
Все заработало на ура.Компил без проишествий =)
Спасибо с нас респект.
Извените без + репа в минусе !
Сообщение # 27 отредактировано Shkrest - Четверг, 03.01.2013, 11:16
Xamilion154
Капрал
спс всё работает!!
Установка любых WoW серверов на любые операционные системы.
Стучать в Skype: Xamelion154
Сообщение # 28 написано 04.03.2013 в 23:46
  • Страница 1 из 1
  • 1
Поиск: