Чудо слово DualBoxing

Wow Dual-Boxing или  Двойное удовольствие


Приветсвую дорогой читатель, в этой статье я хочу поведать, о так называемом дуал-боксинге. Явлении, получившем большое распространение в игре World of warcraft. И к счастью не запрещенное близардами, что позволяет играть даже на офф-серверах.

К сожалению материалов на русском языке по этой теме пока что слишком мало. Сам я являюсь активным пользователем сего способа время препровождения. И могу поведать о том как и с чем это следует кушать, и особенно о том как готовить.

И так начнем.  Мульти-боксинг это одновременная игра 2-мя и более персонажами мира World of warcraft. Что  изменяет процесс игры,  с управления одним персонажем на нечто стратегическое управление несколькими персонажами. Сей процесс достаточно сложен и появляются некоторые другие аспекты игры. Но тем не менее очень интересен и дающий море удовольствия.

Проще всего, для начала, попробовать играть двумя персонажами (конфигурация называется Dual-boxing). В виду того что не требуется мощного железа компьютера и тем более использование нескольких компьютеров. Для двух персонажей подойдет даже один компьютер, и не будет лагать.

Способы управления несколькими окнами приложения Wow подразделяются на:  железный и программный, а также на совмещенный программно-железный где потребуются навыки программирования и радиодела. Но мы остановимся на доступном всем программном способе управления. Здесь подробней на английском http://www.wowwiki.com/Multiboxing

Для управления несколькими персонажами от нас  требуется:  передача команд персонажам с одной клавиатуры, и некоторые макросы для выбора одной цели-монстра, следования за мейном (основным персонажем) и т.д.

Передавать нажатия клавиш можно несколькими программами или же можно написать что-то свое при знании языков программирования. Наиболее популярны две программы:

Keyclone- платная http://www.solidice.com/keyclone/ но существуют лекарства, я ее не буду описывать так как не знакомился с ней.

Autohotkey-бесплатная http://www.autohotkey.com/ будем использовать ее так как не требует, материальных затрат.

Autohotkey представляет собой программу выполняющую скриптовые команды, написанные на ее внутреннем скрипто-языке помесь си+. Инструкции существуют и на русском  http://www.script-coding.info/AutoHotkeyTranslation.html .

Большинство скриптов для наших целей есть на англоязычном сайте dual-boxing.com , это уже для тех кто будет вникать во все тонкости этого дела.

Тут , я распишу пошаговую инструкцию по созданию дуалбокса на вашей единственной машинке…

 

 

Шаг 1. Создаем аккаунты.

Ищем какой нибудь приват-сервер (пиратку) без античита, он обычно запрещает запускать больше одного окна вов. И регистрируем два аккаунта, как правило на разные почтовые адресса. Или же можно создать триал-аккаунты на оффе. Этого будет достаточно, что бы понять, нравится вам это дело или нет.

К примеру :  логин: Mult1 пароль:wowka e-mail: Mult1@mail.ru  и логин: Mult2 пароль:wowka e-mail: Mult2@mail.ru

 

 Шаг 2.Autohotkey установка.

Качаем и устанавливаем http://www.autohotkey.com/download/AutoHotkeyInstall.exe

 

Шаг 3. Запуск окон

Создадим простенький скрипт который запустит два окна варкрафта и расставит их на экране так чтобы мы видели что происходит в окнах. Первое будет основное – большое и второе поменьше.

Открываем папку варкрафта, например c:\games\world of warcraft, жмем на пустом месте в папке правой кнопкой мыши в выпадающем меню выбираем Создать>AutoHotKey Script , обзываем его «RunDualWow». Правой кнопкой на нем и выбираем Edit Script. Откроется блокнотик с текстом, стираем весь текст.

Далее копируем туда этот  скрипт:

Script

^!w::RunWows()

; сочетание клавиш ctrl+alt+W запустит последовательно окна

^!o::SetPosWindows()

; сочетание клавиш ctrl+alt+O расставит окна на экране

 

SetPosWindows()

{

global instanceID1

global instanceID2

 

WinMove, ahk_pid %instanceID2%, , A_ScreenWidth-400, -3, 400, 300

WinMove, ahk_pid %instanceID1%, , -3, -3, (A_ScreenWidth - 400), (A_ScreenHeight -300)

}

RunWows()

{

MsgBox, Не производите, ни каких действий, пока не запустятся все окна.

Game1:= "c:\games\world of warcraft\wow.exe"

PATH1:= "c:\games\world of warcraft\"

global instanceID1

global instanceID2

Run, %Game1%, %PATH1%, , instanceID1

sleep 12000

WinSetTitle, World of Warcraft, ,WOW1

Run, %Game1%, %PATH1%, , instanceID2

sleep 6000

WinSetTitle, World of Warcraft, ,WOW2

}

 

Измените строчки путей, что в скрипте на свои пути

Game1:=Ваш путь к файлу Wow.exe

PATH1:=Ваш путь к папке Варкрафта

 

 

Шаг 4. Настройка клиента

Запустите варкрафт c:\games\world of warcraft\wow.exe

В появившемся окне жмите Параметры>Изображение

Разрешение 800х600 частота 60 сглаживание 24, 24х

Верт.синх. Откл;  Оконный режим Вкл;  Макс. Размер. Откл;  Пост.разм Откл; Апаратн.указ.Вкл;  Сниз задержк.ввода Откл.

Закладка Эффекты, ползунок на минимум. Жмем применить

Звук чекбокс Включить звук уберите галочку. Жмем применить

Это все для уменьшения лагов, потом опционально, если позволяет машина, можете улучшить качество и включить звук, кроме галочки на Оконный режим, она должна стоять.

Жмем Alt+F4.

Запускаем наш файлик c:\games\world of warcraft \RunDualWow.ahk

Не забудьте поставить англискую раскладку клавы.

Тыкаем последовательно и удерживая кнопки Ctrl+Alt+W Жмем ок курсором или энтер на клаве.

Ждем секунд 30 сек, пока запустятся два окна.

Окна запустились, жмем Ctrl+Alt+O, это сочетание клавиш, запустит процедуру расстановки окон, на экране. 

Теперь ищем на панели задач, внизу с права экрана, буковку H на зеленом фоне, это иконка запущенного скрипта. На ней, правой кнопкой>Exit.

Коли окна запустились, то теперь можно перейти к предварительной настройке интерфейсной внутри игровой части.

Разверните первое окно на весь экран, залогиньтесь,  создайте персонажей (желательно одной расы), отключите все адоны, и входите в игру. Потом повторите Шаг 5 и Шаг 6 для персонажа на втором аккаунте.

Шаг 5. Настройка управления и интерфейса.

В игре жмем Esc, Интерфейс:

 

Закладка Управление: Выключить все кроме. Автосбора добычи и авто отмены режима отсутсвует.

 

Закладка Бой: Выкл все кроме: Бл/дал бой, Цель цели, Автовыбор себя.

 

Закладка Графика: Уберите все галочки, это незначительно нагружает процессор и память, потом выставите по желанию.

 

Закладка Задачи:  Выключить все кроме Мгновенного отображения текста.

 

Закладка Панели команд: Поставить везде галочки.

 

Закладка Мышь: Перемещение по щелчку включить на втором аккаунте. (Будет возможность собирать лут без переключения во второе окно, играя за основного перса, нажатием кнопки второй перс побежит и соберет лут с моба)

 

Жмем ОК

 

Назначение клавиш:

Найдите «Взаимодействовать указателем мыши» и на втором аккаунте поставите F5. Теперь когда в игре вы укажите цель второму персу- труп моба и нажмете F5 он побежит и полутает его.

 

Ищем Назначение клавиш: панели команд.

Кнопки действий (слева внизу) с 1 по 10 ставим Shift+N где N=1..9,0; 11-я F9, 12-я F10

Кнопки действий (справа внизу) с 1 по 10 ставим Ctrl+N где N=1..9,0; 11-я F11, 12-я F12

Кнопки действий (справа) с 1 по 10 включаем NumLock (кнопка на клаве) и ставим клавиши цифровой клавиатуры 1..9,0; 11-я F4, 12-я F7

Кнопки действий (вторая колонка с права) включаем NumLock с 1 по 10 ставим Ctrl+N где N=1..9,0; 11-я F6, 12-я F8

 

Жмем ОК

 

Не хочу вдаваться в подробности как это делается для кучи персов, но для сообразительных не большая подсказка: макросы и кейбинды валяются в папке

World of Warcraft\WTF\Account\НазваниеАккаунта и их можно скопировать всем персонажам раскидав по папкам аккаунтов.

 

 

Шаг 6. Макросы.

 

Макрос: «Принять» Служит для принятия квестов, Соглашается на приглашения в группу и т.п.

Облегчает жизнь, ни будет, необходимости переключатся между окнами.

/script AcceptGroup();

/script AcceptQuest();

/script AcceptTrade();

/script RetrieveCorpse();

/script RepopMe();

/script ConfirmAcceptQuest();

/script StaticPopup_Hide("PARTY_INVITE");

/script StaticPopup_Hide("QUEST_ACCEPT");

 

Выносим на хотбар Ctrl+1 нижняя правая панелька.

 

Макрос: «Следовать» Следует за текущим «командиром отряда-Наводчиком»

/follow focus

Выносим на хотбар Shift +1 нижняя левая панелька.

 

Макрос: «Цель» Выбирает туже Цель что и у Наводчика-Мейна-Главного перса. Будьте внимательны, макрос «цель», должен обязательно стоять на слоте вызываемом кнопкой клавиатуры =

 

/assist focus

Выносим на основной хотбар (самая нижняя левая панелька.),крайняя с права в ней ячейка со значком =

 

 

Макрос: «Мэйн» Выбирает Наводчиком вашего Основного перса

/focus НикВашегоГлавногоПерсонажа

Выносим на хотбар Ctrl +NumLock1 первая правая панелька, дальше от края экрана.

 

Макрос: «Альт» Выбирает Наводчиком вашего Вторичного перса

/focus НикВашегоВторостепенногоПерсонажа

Выносим на хотбар Ctrl +NumLock2 первая правая панелька, дальше от края экрана.

 

Макрос: «Dance» Танцуем 8)

/Dance

Выносим на хотбар Ctrl+9 нижняя правая панелька.

 

Убираем с основного хотбара еду питье и ставим куда вам удобней, ставим камень возврата на хотбар любой удобный вам и т.д.

 

Если вы, это все проделали для двух персонажей, Шаг 5 и 6. То поздравляю, работа почти завершена! Можете закрывать окна варкрафта.

 

Шаг 7. Раздающий нажатия кнопок скрипт.

 

Создайте в папке вова новый скрипт Автохоткея, так же как мы создавали до этого RunDualWow в шаге 3. И обзовите его «DualBoxingScript».

С копируйте в него, следующий скрипт:
 

 

  

Script

;Grab unique window ID's

WinGet, WowWinIda, List, WOW1

WinGet, WowWinIdb, List, WOW2


; ******************

; ***Логин Пароль***

; ****************** 

Login1:="mult1"

Login2:="mult2"

Passw1:="wowka"

Passw2:="wowka"


; *****************************************************

; *** Раьотать дальше только если варкрафт в фокусе ***

; *****************************************************

#IfWinActive, ahk_class GxWindowClassD3d

 

; ********************Login********************

 

 

^Enter::EnterFunc()

EnterFunc()

{

ClonesPush("{Enter}")

}

 

; ***********Postroeniya

 

Vlevo()

{

            global WowWinIdb1                            

ControlSend, , {q down}{w down}, ahk_id %WowWinIdb1%

sleep 100

ControlSend, , {q up}{w up}, ahk_id %WowWinIdb1%                      

}

 

; ************************************************

^!l::LoginFunc()

LoginFunc()

{

;функция входа в игру

global WowWinIda1, WowWinIdb1

global Login1,Login2,Passw1,Passw2


;SetKeyDelay устанавливает задержку между нажатиями клавишь 100 мсек

;иногда, если будет неправильно вводить логин пароль 

;пропуская буквы, то задержку можно увеличить до 150-300


SetKeyDelay, 100

Sleep 50

ControlSend, , {end}, ahk_id %WowWinIda1%

Sleep 500

ControlSend, , {Shift down}{Home}, ahk_id %WowWinIda1%

Sleep 10

ControlSend, , {Shift up}, ahk_id %WowWinIda1%

Sleep 50

ControlSend, , {Delete}, ahk_id %WowWinIda1%

Sleep 50

ControlSend, , %Login1%, ahk_id %WowWinIda1%

Sleep 500

ControlSend, , {Tab}, ahk_id %WowWinIda1%

Sleep 50

ControlSend, , %Passw1%, ahk_id %WowWinIda1%

Sleep 50

ControlSend, , {Tab}, ahk_id %WowWinIda1%

Sleep 50

ControlSend, , {end}, ahk_id %WowWinIda1%

Sleep 50


Sleep 100

ControlSend, , {end}, ahk_id %WowWinIdb1%

Sleep 50

ControlSend, , {Shift down}{Home}, ahk_id %WowWinIdb1%

Sleep 10

ControlSend, , {Shift up}, ahk_id %WowWinIdb1%

Sleep 10

ControlSend, , {Delete}, ahk_id %WowWinIdb1%

Sleep 50

ControlSend, , %Login2%, ahk_id %WowWinIdb1%

Sleep 50

ControlSend, , {Tab}, ahk_id %WowWinIdb1%

Sleep 50

ControlSend, , %Passw2%, ahk_id %WowWinIdb1%

Sleep 50

ControlSend, , {Tab}, ahk_id %WowWinIdb1%

Sleep 50

ControlSend, , {end}, ahk_id %WowWinIdb1%

Sleep 50

SetKeyDelay, 0 

}



EnterNums()

{

            global WowWinIda1

            global WowWinIdb1

           

                        ControlSend, , 1, ahk_id %WowWinIa1%

                        ControlSend, , 2, ahk_id %WowWinIb1%    

}

 

ClonesLogin(strKeys)

{

            global WowWinIda1

            global WowWinIdb1

 

                        ControlSend, , %strKeys%, ahk_id %WowWinIda1%          

                        ControlSend, , %strKeys%, ahk_id %WowWinIdb1%          

}

 

ClonesPush(strKeys)

{

            global WowWinIda1

            global WowWinIdb1

            ;IfWinNotActive, ahk_id %WowWinIda1%

                        ControlSend, , %strKeys%, ahk_id %WowWinIda1%

            ;IfWinNotActive, ahk_id %WowWinIdb1%

                        ControlSend, , %strKeys%, ahk_id %WowWinIdb1%          

           

 

}

 

 

 

 

; *** Postroeniya ***

^t::Vlevo()

 

; *** Makes clones follow main ***

^-::ClonesPush("{- down}{- up}")

 

; *** Makes clones ingame keys ***

~Home::ClonesPush("{Home down}{Home up}")

~l::ClonesPush("{l down}{l up}")

 

; *** Makes clones assist main ***

^=::ClonesPush("{= down}{= up}")

 

; *** Makes clones jump with main ***

~Space::ClonesPush("{Space down}{Space up}")

 

; *** Suspends HotKeys while typing on main ***

~^!y::Suspend, Toggle

~/::Suspend, On

~Escape::Suspend, Off

 

;*** Makes stop follow ***

~v::ClonesPush("{s down}")

~v up::ClonesPush("{s up}")

~z::ClonesPush("{z down}{z up}")

~b::ClonesPush("{b down}{b up}")

~n::ClonesPush("{n down}{n up}")

 

;********************

;***Moves key****

;********************

~Left::ClonesPush("{Left down}")

~Left up::ClonesPush("{Left up}")

 

~Right::ClonesPush("{Right down}")

~Right up::ClonesPush("{Right up}")

~Up::ClonesPush("{Up down}")

~Up up::ClonesPush("{Up up}")

~Down::ClonesPush("{Down down}")

~Down up::ClonesPush("{Down up}")

; *******************

; *** Hotbars 1-0 ***

; *******************

~1::ClonesPush("{= down}{= up}{1 down}{1 up}")

~2::ClonesPush("{= down}{= up}{2 down}{2 up}")

~3::ClonesPush("{= down}{= up}{3 down}{3 up}")

~4::ClonesPush("{= down}{= up}{4 down}{4 up}")

~5::ClonesPush("{= down}{= up}{5 down}{5 up}")

~6::ClonesPush("{= down}{= up}{6 down}{6 up}")

~7::ClonesPush("{= down}{= up}{7 down}{7 up}")

~8::ClonesPush("{= down}{= up}{8 down}{8 up}")

~9::ClonesPush("{= down}{= up}{9 down}{9 up}")

~0::ClonesPush("{= down}{= up}{0 down}{0 up}")

 

; *******************

; *** F5-F8 ***

; *******************

~F5::ClonesPush("{= down}{= up}{F5 down}{F5 up}")

~F6::ClonesPush("{= down}{= up}{F6 down}{F6 up}")

~F7::ClonesPush("{= down}{= up}{F7 down}{F7 up}")

~F8::ClonesPush("{= down}{= up}{F8 down}{F8 up}")

~F9::ClonesPush("{F9 down}{F9 up}")

~F10::ClonesPush("{F10 down}{F10 up}")

~F11::ClonesPush("{F11 down}{F11 up}")

~F12::ClonesPush("{F12 down}{F12 up}")

; ***************************

; *** advance shotcuts  ***

; ***************************

~x::ClonesPush("{x down}{x up}")

 

 

; *******************

; *** Numpad 1-0 ***

; *******************

~Numpad1::ClonesPush("{= down}{= up}{Numpad1 down}{Numpad1 up}")

~Numpad2::ClonesPush("{= down}{= up}{Numpad2 down}{Numpad2 up}")

~Numpad3::ClonesPush("{= down}{= up}{Numpad3 down}{Numpad3 up}")

~Numpad4::ClonesPush("{= down}{= up}{Numpad4 down}{Numpad4 up}")

~Numpad5::ClonesPush("{= down}{= up}{Numpad5 down}{Numpad5 up}")

~Numpad6::ClonesPush("{= down}{= up}{Numpad6 down}{Numpad6 up}")

~Numpad7::ClonesPush("{= down}{= up}{Numpad7 down}{Numpad7 up}")

~Numpad8::ClonesPush("{= down}{= up}{Numpad8 down}{Numpad8 up}")

~Numpad9::ClonesPush("{= down}{= up}{Numpad9 down}{Numpad9 up}")

~Numpad0::ClonesPush("{= down}{= up}{Numpad0 down}{Numpad0 up}")

 

; *******************

; *** Ctrl+Numpad 1-0 ***

; *******************

~^Numpad1::ClonesPush("{Ctrl down}{Numpad1 down}{Numpad1 up}{Ctrl up}")

~^Numpad2::ClonesPush("{Ctrl down}{Numpad2 down}{Numpad2 up}{Ctrl up}")

~^Numpad3::ClonesPush("{Ctrl down}{Numpad3 down}{Numpad3 up}{Ctrl up}")

~^Numpad4::ClonesPush("{Ctrl down}{Numpad4 down}{Numpad4 up}{Ctrl up}")

~^Numpad5::ClonesPush("{= down}{= up}{Ctrl down}{Numpad5 down}{Numpad5 up}{Ctrl up}")

~^Numpad6::ClonesPush("{Ctrl down}{Numpad6 down}{Numpad6 up}{Ctrl up}")

~^Numpad7::ClonesPush("{Ctrl down}{Numpad7 down}{Numpad7 up}{Ctrl up}")

~^Numpad8::ClonesPush("{Ctrl down}{Numpad8 down}{Numpad8 up}{Ctrl up}")

~^Numpad9::ClonesPush("{Ctrl down}{Numpad9 down}{Numpad9 up}{Ctrl up}")

~^Numpad0::ClonesPush("{Ctrl down}{Numpad0 down}{Numpad0 up}{Ctrl up}")

 

~!Numpad1::ClonesPush("{Alt down}{Numpad1 down}{Numpad1 up}{Alt up}")

~!Numpad2::ClonesPush("{Alt down}{Numpad2 down}{Numpad2 up}{Alt up}")

~!Numpad3::ClonesPush("{Alt down}{Numpad3 down}{Numpad3 up}{Alt up}")

~!Numpad4::ClonesPush("{Alt down}{Numpad4 down}{Numpad4 up}{Alt up}")

~!Numpad5::ClonesPush("{Alt down}{Numpad5 down}{Numpad5 up}{Alt up}")

~!Numpad6::ClonesPush("{Alt down}{Numpad6 down}{Numpad6 up}{Alt up}")

~!Numpad7::ClonesPush("{Alt down}{Numpad7 down}{Numpad7 up}{Alt up}")

~!Numpad8::ClonesPush("{Alt down}{Numpad8 down}{Numpad8 up}{Alt up}")

~!Numpad9::ClonesPush("{Alt down}{Numpad9 down}{Numpad9 up}{Alt up}")

~!Numpad0::ClonesPush("{Alt down}{Numpad0 down}{Numpad0 up}{Alt up}")

 

~!1::ClonesPush("{Alt down}{1 down}{1 up}{Alt up}")

~!2::ClonesPush("{Alt down}{2 down}{2 up}{Alt up}")

~!3::ClonesPush("{Alt down}{3 down}{3 up}{Alt up}")

~!4::ClonesPush("{Alt down}{4 down}{4 up}{Alt up}")

~!5::ClonesPush("{Alt down}{5 down}{5 up}{Alt up}")

~!6::ClonesPush("{Alt down}{6 down}{6 up}{Alt up}")

~!7::ClonesPush("{Alt down}{7 down}{7 up}{Alt up}")

~!8::ClonesPush("{Alt down}{8 down}{8 up}{Alt up}")

~!9::ClonesPush("{Alt down}{9 down}{9 up}{Alt up}")

~!0::ClonesPush("{Alt down}{0 down}{0 up}{Alt up}")

 

; ***************************

; *** Hotbars SHIFT(+) 1-0 ***

; ***************************

~+1::ClonesPush("{Shift down}{1 down}{1 up}{Shift up}")

~+2::ClonesPush("{Shift down}{2 down}{2 up}{Shift up}")

~+3::ClonesPush("{Shift down}{3 down}{3 up}{Shift up}")

~+4::ClonesPush("{Shift down}{4 down}{4 up}{Shift up}")

~+5::ClonesPush("{Shift down}{5 down}{5 up}{Shift up}")

~+6::ClonesPush("{Shift down}{6 down}{6 up}{Shift up}")

~+7::ClonesPush("{Shift down}{7 down}{7 up}{Shift up}")

~+8::ClonesPush("{Shift down}{8 down}{8 up}{Shift up}")

~+9::ClonesPush("{Shift down}{9 down}{9 up}{Shift up}")

~+0::ClonesPush("{Shift down}{0 down}{0 up}{Shift up}")

 

; **************************

; *** Hotbars CTRL(^) 1-0 ***

; **************************

~^1::ClonesPush("{Ctrl down}{1 down}{1 up}{Ctrl up}")

~^2::ClonesPush("{Ctrl down}{2 down}{2 up}{Ctrl up}")

~^3::ClonesPush("{Ctrl down}{3 down}{3 up}{Ctrl up}")

~^4::ClonesPush("{Ctrl down}{4 down}{4 up}{Ctrl up}")

~^5::ClonesPush("{Ctrl down}{5 down}{5 up}{Ctrl up}")

~^6::ClonesPush("{Ctrl down}{6 down}{6 up}{Ctrl up}")

~^7::ClonesPush("{Ctrl down}{7 down}{7 up}{Ctrl up}")

~^8::ClonesPush("{Ctrl down}{8 down}{8 up}{Ctrl up}")

~^9::ClonesPush("{Ctrl down}{9 down}{9 up}{Ctrl up}")

~^0::ClonesPush("{Ctrl down}{0 down}{0 up}{Ctrl up}")

 

 

 

 

Найдите в скрипте «***Логин Пароль***» и измените пароли с логинами для ваших аккаунтов.
Сохраняем закрываем скрипт.

 

Шаг 8. Поехали…

Не забудьте поставить англискую раскладку клавы.

Запускаем наш скрипт RunDualWow. Жмем Ctrl+Alt+W ждем окна. Жмем Ctrl+Alt+O.

Закрываем скрипт (справа внизу экрана значок Н на зеленом фоне)

Запускаем DualBoxingScript.
Фокусим главное окно просто щелкните на нем мышкой.

Жмем Ctrl+Alt+L вводятся логин с паролем в окнах.

Жмем Ctrl+Enter окна логинятся. Жмем Ctrl+Enter персонажи входят в игру.

Ждем пока все загрузится.

Мейном приглашаем альта в группу, жмем ctrl+1 вы объединяетесь.

Жмем ctrl+NumLock1 Наводчиком станоится Мейн.

Shift+1 альт следует за мейном.

Ctrl+T альт, выбегает,  вперед и в лево.

Ctrl+Alt+Y скрипт ставится на паузу, теперь вы спокойно можете пообщаться, в чате.

Этим же сочетанием пауза снимается.

Попробуйте попрыгать пробелом, нажать X, V, Z,B,N,L

 

А теперь жмите Shift+1 и бегите к мобам раздирать их на кусочки..
 
Кушать подано... 
 
 Вопросы мне можно задать здесь http://www.dual-boxing.com/showthread.php?t=23703 
 или здесь 
 

website statistics