Wow как сделать

Обновлено: 04.07.2024

Ознакомьтесь с нашим Руководством для начинающих. Это пособие расскажет вам об основах игры World of Warcraft, чтобы вы смогли как можно скорее встать на защиту Азерота!

Чтобы получить полный доступ к World of Warcraft и World of Warcraft Classic, вам необходимо добавить игровое время на вашу учетную запись. Это автоматически даст вам доступ ко всему внутриигровому контенту за исключением последнего дополнения. Если вы хотите поиграть в текущем дополнении, вам необходимо приобрести его.

Если вы не можете зайти в World of Warcraft Classic после добавления игрового времени на вашу основную учетную запись WoW, пожалуйста, ознакомьтесь с нашей статьей Нет доступа к WoW Classic после добавления игрового времени.

Пишем AddOn к World of Warcraft


На хабре как-то писали о создании ботов к WoW, а вот статей о написании аддонов я не нашел и решил описать этот процесс на примере одной поделки, которую я писал когда-то давно, когда я был еще студентом и моего времени хватало на игру в World of Warcraft и создание аддонов к нему. С деньгами тогда было туго и играл я не на официальном сервере, а на одном из бесплатных, имеющем кучу недоделок, багов, фич и аномалий.



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

Я выложил аддон на Google Code и форум серевера и он стал достаточно популярным (как для пиратского сервера). Кому интересно, как делаются аддоны — велкам под кат.

Введение

Итак, начнём с определения. Аддон в WoW — это набор некоторых файлов, которые позволяют пользователю изменить интерфейс клиентской части игры, но никак не влияют на серверную игровую механику. Аддоны были в WoW изначально, что выгодно отличает эту ММОРПГ от некоторых других, кричащих о своём превосходстве, но не имеющих возможности создания официальных аддонов и по сей день. Аддонов есть тысячи, если не десятки тысяч. Почему так много? А потому, что стилей игры и игровых задач ровно столько же. И конечно же, разработчики молодцы, что с самого начала дали способ каждому создать что-то своё, а не навязывать единый интерфейс, требуя считать его удобным.

Инструментарий

Никаких специальных инструментов для создания аддонов не нужно. Все они представляют собой текстовые файлы, так что берите свой любимый текстовый редактор — и вперёд! Если он имеет подсветку синтаксиса языка Lua (именно на нём создаются аддоны) — вообще прекрасно. Этим требованиям отвечает, например, Notepad++.
А еще, энтузиасты создали на базе движка Free Visual Studio Shell специальную open-source IDE, которая называется AddOn Studio.


  • Дизайнер интерфейса
  • Просмотре интерфейса в виде XML-дерева
  • Браузер ресурсов WoW
  • Автодополнение по WoW API
  • Автогенерацию некоторых файлов
Пару концептуальных моментов
  • Есть такая штука, как политика Blizzard, требующая от аддона бесплатности, соответствия EULA, отсутствия вреда для других пользователей и пару других скучных, но идейно верных вещей. Так что о идеях написания ботов, хаков, читов и прочего мусора лучше забыть.
  • Хотите Вы того или нет, Ваш аддон будет opensource, потому что пишется на LUA+XML и распространяется в исходных кодах.
Из чего состоит аддон

1. TOC-файл (table of conteset). Это оглавление нашего аддона. Объясняет оболочке WoW кто мы такие, как называемся, кто автор, из чего состоим и пару других вещей. Вот, например, toc-файл моего аддона:


2. XML-файлы, описывающие изменения в интерфейсе, которые мы хотим внести (фреймы, кнопки, привязку событий в интерфейсе к определенным функциям в коде). Вот xml-файл моего аддона:


Что тут написано? Мы объявляем привязку этого файла интерфейса к файлу кода WnetFeaturer.lua, далее декларируем два фрейма — один чисто для возможности повесить на события загрузки плагина своё событие, второй будет использоваться в игре для показа собственных тултипов (подсказок) к определенным объектам игрового мира.

3. Lua-файлы. Это код на языке Lua. Надо признать, что Lua в WoW несколько урезанный (детали можно почитать в WoWWiki), но для большинства задач его хватает. Вот один из файлов кода аддона (самый короткий).

  • WnetFeaturer_Log — функция вывода в чат игроку всяких логов
  • WnetFeaturer_OnLoad — вызывается при загрузке аддона (помните, в хмл-файле выше мы привязывали вызов этой функции к событию загрузки аддона). Проверяет необходимые зависимости, регистрирует пару хуков, подписывается на пару событий (например, событие входа игрока в игровой мир).
  • WnetFeaturer_OnEvent — вызывается при возникновении некоторых событий, на которые мы подписались ранее. Внутри — обработчики каждого события.
  • Planner_TalentFrame_AfterUpdate — самая сложная функция в этом файле. Нужна для отрисовки в дереве талантов персонажа зеленых, желтых и красных квадратиков поверх работающих, частично работающих и полностью сломанных талантов.

  • checkIsItemValid, checkIsNPCValid, checkIsQuestNotValid — проверка того, является ли вещь или NPC валидно работающими на данном сервере. Эти функции вызываются из других мест кода, которые потом возле невалидных вещей рисуют вот такие картинки:
  • WnetChecker_GameTooltip_OnUpdate — это хук на функцию показа тултипа. Здесь мы анализируем текст тултипа и, если в первой строке находим упоминание некоторого объекта, который работает неверно, мы изменяем текст тултипа.

Буду рад, если кому-нибудь это поможет. Спрашивайте, если что-то непонятно.

Создание простого бота для онлайн-игры world of warcraft

Думаю, тема ботов не оставляет равнодушным ни одного игрока в онлайн-игры. Кого-то они раздражают, кто-то ими интересуется, а кто-то их использует. Существует и некоторое количество людей, довольно маленькое относительно остальных трех групп — это люди, которые этих ботов разрабатывают.
Я предлагаю присоединиться к этой небольшой касте людей и посмотреть изнутри процесс разработки бота.

Предыстория

Как-то раз в выходные я зашел за своего персонажа в world of warcraft. Делать было в игре нечего — все рейдовые боссы уже убиты, друзей для похода на арену нет, остается только выполнение квестов и неспешная добыча золота. Квесты я не очень люблю и свое свободное время в игре провожу обычно возле аукциона — с помощью специальных аддонов скупаю что подешевле и потом продаю подороже, выигрывая на разнице в цене.

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

В качестве инструмента для реализации был выбран Auto It, но потом оказалось что задача не такая тривиальная, как выглядит на первый взгляд, и пришлось подключать дополнительные инструменты. Сразу скажу, что никакие «грязные» методы вроде чтения памяти процесса или перехвата траффика я не использовал, только autoit для имитации кликов мышки и клавиатуры и чтения цветов пикселей с экрана.

Предупреждение

Все описанные действия вы производите на свой страх и риск, правилами игры это запрещено и может привести к перманентному бану аккаунта.

Передвижение

Собственно, наверное самая интересная тема при разработке бота — это реализация его перемещения по миру. Сначала я думал что проблем с этим не возникнет — путь у нас простой: аукцион это здание, в котором на такой площадке стоят NPC, с которыми необходимо поговорить чтобы начать торговлю, а почтовый ящик стоит прямо на выходе из аукциона, немного слева. Персонаж поэтому все время ходит как бы буквой «Г», туда и обратно


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


Но отчаиваться я не стал и начал думать что делать дальше. Казалось бы следующее решение — каким то образом определять где в данный момент находится персонаж, и в зависимости от этого расчитывать куда ему дальше двигаться. Только каким образом получить данные о позиции и угле поворота персонажа без чтения памяти процесса игры? Анализировать целиком картинку или какие то отдельные ее части довольно сложно, скриншот выхода из аукциона:

После недолгих раздумий было придумано решение проблемы: надо писать аддон для WoW, который будет получать данные о текущем положении персонажа (координаты и поворот персонажа) и давать команды, куда надо двигать персонажа. Внешне это должно выглядеть как цветной «семафор» который будет отображать необходимое действие: двигаться вперед, вправо или влево, или поворачиваться. Когда персонаж приходит в необходимую точку семафор должен символизировать что персонаж пришел на место и необходимо выполнять следующее действие. Так как у меня персонаж перемещается между двумя точками, то и семафоворов я решил делать 2: один будет командовать по дороге к аукционеру, а второй — по дороге к почте. С алгоритмом вроде разобрались, далее будут примеры кода (xml — шаблоны аддонов, lua — собственно исходники аддона, и autoit), местами кривоватые и грязноватые, но думаю простительно: на этих языках писал первый раз, и еще до конца не разобрался.

Для реализации семафоров пришлось изучить процесс разработки аддонов для WoW, он очень хорошо описан в WoWwiki


Самая первая версия семафора, она показывала только повернут ли я лицом к аукционеру в данный момент, и подсвечивала зеленым соответствующие блоки:

В качестве основы для своего аддона я взял hello world! аддон, описанный в воввики.
Изначально он не имел никаких графических элементов, соответственно понадобилось добавить в него вывод прямоугольников, а также повесить обработчик . В итоге мой HelloWorld.xml стал выглядеть примерно так:


Соответственно в HelloWorld.lua необходимо написать соответствующие обработчики. Для того, чтобы узнать, на какой угол в данный момент повернут персонаж, используется функция GetPlayerFacing, которая возвращает угол относительно севера в радианах. Экспериментальным путем было выяснено, что когда персонаж смотрит прямо на аукционера — это угол 5.42 радиана. Но повернуть персонажа точно на этот угол довольно сложно, поэтому допускаем небольшой разброс (5.35 — 5.5 радиана).


Теперь напишем скрипт на autoit, который будет смотреть какой цвет в данный момент у семафора, и поворачивать персонажа в необходимую сторону, и заодно создадим каркас нашего приложения для автоматической торговли на аукционе. Опытным путем было выяснено что цвет пикселя 65280 — это зеленый.


Всё, сохраняем аддон, запускаем WoW, запускаем скрипт AutoIt и смотрим на персонажа, который сам поворачивается лицом в нужное направление. Но кроме поворотов надо также реализовать перемещение персонажа вперед-назад и вправо-влево, чтобы он мог приходить к аукционеру от почтового ящика. Удачно, что на пути персонажа нет никаких препятствий, иначе задача была бы сложнее.

А так просто добавляем в наш xml дополнительные фреймы для еще 5 кнопок семафора: положение Ок!, двигаться вперед, двигаться назад, двигаться вправо и двигаться влево, и в lua файле дописываем код, который будет показывать, куда нам небходимо двигаться в данный момент. Эталонные координаты где нам нужно находится мы знаем. Казалось бы тоже все просто, но не тут то было — как мы видели по карте, и уже выяснили когда делали повороты, движение у нас идет под углом к северу. Т.е. при движении у нас постоянно меняются обе координаты персонажа. Считать при этом куда двигаться дальше не очень удобно, поэтому воспользуемся известными со школьного курса формулами для поворота системы координат на заданный угол (в нашем случае — 5.42 радиана)




Теперь при движении к/от аукционера и вправо-влево у нас будет меняться только одна координата. Допишем соответствущий код в наш lua файл и он примет примерно следующий вид:



Все, теперь у нас получился примерно вот такой семафор:

Осталось дописать по аналогии скрипт AutoIt чтобы когда загораются сигналы семафора он посылал соответствующие кнопки в игру. Единственное с чем я столкнулся — он не дает посылать нормально буквенные кнопки (A/D), поэтому пришлось забиндить стрейф на F6/F7.

Вот собственно и все, после этого мы получаем персонажа, который автоматически поворачивается, и потом бежит и встает возле аукционера.

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

Создаем скрипт автокик+авторотация для WoW, без программирования

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

Чего в этой статье нет: программирования, инжектов, работы с памятью.

Что в ней есть: картинки и примеры.

Скрипты\читы получают из игры информацию о состоянии (condition) и исходя из нее совершают действие (action). "Взрослые" читы читают кондишн из памяти игры и обеспечивают функционал, недоступный человеку. Для этого надо написать “инжект”, который обойдет защиту.

Нам это не подходит, будем брать кондишен из wowAPI (https://wowwiki.fandom.com/wiki/World_of_Warcraft_API) с которым работает интерфейс близард и аддоны. Идеальным вариантом было бы написать свой аддон, но в этой статье нет программирования, поэтому воспользуемся аддоном "викаура", предназначенным для отображения на экране статуса умений\бафов (и не только). Он будет обеспечивать сбор кондишена из игры.

За экшн будет отвечать программа AutoHotkey, позволяющая делать как простые скриптики, так и целые программы.

Осталось обеспечить передачу информации из аддона в автохоткей максимально простым способом. Со стороны аддона мы используем его прямой функционал, заставим его мигать цветными квадратиками, а со стороны автохоткея — воспользуемся функцией "PixelGetColor" которая определяет цвет нужного пикселя.

В качестве примера будем юзать безымянного охотника в специализации выживание. Охотник выбран не случайно, он обладает одним дебафом (ядом), киком, и короткой ротацией из двух скилов. Но поверьте, этим скриптом вы сможете реализовать любой класс, даже пальцеломателя энхшамана.

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

Настроим передачу информации из вова в скрипт, сделаем в викауре черный фон для наших сигналов.

1. Название текстуры tiktok (это зеленый квадрат цвета 0x00FF00)

2. По умолчанию текстура создается немного прозрачной, поэтому переходим в "цвет" и вытягиваем ползунок вверх делая ее непрозрачной. А цвет выставляем черный.

3. Режим отображения — "непрозрачность".

4. Ширина 5 и высота 100 сделана для наглядности и удобства, освоившись вы сможете сделать ее черточкой 1х3 пикселя которую никто не увидит на стриме.

Добавим еще одну текстуру, по которой скрипт будет определять что у нас в таргете враг. Создаем текстуру tiktok размером 5х5, цвет оставляем по умолчанию (зеленый). Объединяем фон и текстуру триггера енеми в одну группу.

Располагаем текстуру поверх фона на небольшом отступе от вершины. Должно получиться что-то подобное.

Настраиваем наш трекер на отображение только когда в таргете енеми. В закладке "триггер" выставляем тип=статус, характеристика единицы, единица=цель, отмечаем галочкой "можно атаковать".

Весь скрипт будет состоять только из одной многократно повторяющийся функции PixelGetColor.

Рассмотрим ее поподробнее , и применим в скрипте.

Пишем (скрипт пишется в обычный текстовый файл, только после сохранения смените ему разрешение на *.ahk) основную часть скрипта и сразу добавляем в него атаку петом установленную на "7" по триггеру енеми.

В координатах вставляем корды примерно середины нашей зеленой текстуры с триггером таргета, чтобы их узнать воспользуемся простеньким скриптом (запишите его в отдельный файл *.ahk). При нажатии "1" скрипт выдаст нам окно с координатами указателя и цветом пикселя

Теперь создадим текстуру, которая будет сообщать что на цели нет яда. Делаем такой же 5х5 tiktok выставляем его ниже нашей текстуры таргета. Заюзаем сразу 3 триггера

1. "аура-цель-дебаф" название дебафа или по id. Выставляем галочку "только свое" чтобы не тригерилось от чужих.

Обратите внимание на то, что отравленная стрела записана в тело функции таргета енеми, сначала скрипт убедится что в таргете враг, потом пошлет в атаку питомца (после неё нет return поэтому скрипт продолжит выполнение) и, убедившись, что на цели нет яда, выстрелит отравленной стрелой.

Теперь, когда наш скрипт умеет поддерживать яд на цели, добавим ему нехитрую хантерскую ротацию, состоящую из двух скилов. Скила накопителя энергии, и скила, которым мы энергию сливаем.

Создаем текстуру (ниже предыдущих) для накопителя "killcomand", выставляем в тригерах ему отображение когда скилл не на кулдауне + когда энергии меньше 50.

В текстуре для нашего филлера добавляем триггер по энергии как и в предыдущих, и больше ничего (так как скил не имеет кулдауна).

Добавим в скрипт пиксельсерчи для наших скилов в ротации:

Наш скрипт обновляет яд на таргете, юзает накопитель когда энергии мало, и сливает энергию на филлер когда много. Осталось добавить больную мозоль арены, автокик хила.

Создаем в вове внутриигровой макрос "/cast [target= focus] Намордник" и выставляем его на панель.

В списке добавляем 2 триггера текстуры, указываем в них

1. "статус-применение заклинания-фокус" тип каста+прерываемый. Теперь текстурка будет гореть когда фокус кастует что-то. Вы также можете указать списки заклинаний и добавить туда только хилы.

Добавляем блок кика в скрипт в самый верх первым по порядку после таргета, но убедитесь что в теле кика нет "return", так как у киков нет гкд и вместе с ними одновременно можно заюзать следующий скил.

Выкладываю свой пример скрипта + готовую настройку для викауры под него. Изучайте и дорабатывайте.

Код для импорта в викауру:

!LVz3UnUXvC8NLMR29IDHeLOSnqtaSCKZUBTLvmLDAYf0Ee5ijUMMuy4qBlFHrBYTfTaT31B7dqxGSfPiiP9vG6nQNz4Nd5qksVYfAtWA4vKAMHZhNZV)N5WX6T1hRR5PRP8Y2TFzpDTR11mz)a3DcY4ktI7IdCTDjWng2M)Jc)3D4)UR(WwVuvNcf2LyIj9JQIUwFBR7VhrmF4YXUU2ul4w3DY0PEyQ(H96OSZoD3T7oD6P2wPvx9PVOBhDnKJXCxYixlhO9oyWWXdonUD1NORTmU6VOBVEkQQQk71rrTtVo9y1xvxJGNz56mE5cSU2mIR)I4ARzDpg6U9IVUwdipdKnRw6A47wGCmXMSobLynBgM4fw7Xj3G9rt8e)PtdF(VAWrJo8SJGVNFjYNGuG2Cb22(1MSAZEc(tW3GDOAqTSUtx7Id2xB8fAJ3)uOX8DSGISWgTeACnh014OAXRc8aWiB680gzebZBeTrdo6iw58Ds7Au()Ig9rtJdHzmyMgtCq2NdJiyQdgsTz9vkSmCYckCNONjYX6Ae7AUXcfrO8HoFO546a)2egGScCr4n9WgUoW4eQ71ilN6x6PwowEZRD5HAyzYMei3m3NnT4ZU8lVDYrUD6EYxFomCMsG5oyzcrr8vZqRSdz3nCPs7Gthmyy8SZRD4toSjc4Hm1Aw0Af2EAKLz)tgp(KJpAWHqNezeplLmTW6sS1UXcdhExL1RTYmTA7I4oA(E4lmSrEEmZjFm3oXG9fx7dEoj1Mxc2tYYzMnZg7SqxeHs5XS1Zv1KL(bMZG6nKnNYAWeJ4cZrfnbmY4Z0I7Z0I7Z0I7Z0MVsBriUcUQW3k3Ro)mXeBSJ5XUMqVR)rdg(5PWcwtuLtxKfbfr99cNjr23Iw6XNi7VgNSy7kDT2XZVjZQr(zNbRLpC5bZreyTgtS8OwgrpiUlA)SlFtY73k6WNXlwUBlu7OhlSc4M(uS84n7e5mMCo756cz6PClbtlV367a2T3W4s22HgX3Ghh2a8fHHVODRCw9XRCYT4ZyNNA9dFMIVJ6tGhe16kk6orFkP0hO7zqWu8fexA4AtOrKmaujyHSOJmaO6v6uauTkFeaAIni8XwD8a7qOAy2AfYEX8q)PBTmbwnJ4kmQ4WQjpJE8n4(2(T)6kGtZXwZMZ4sTAf1iCR7IeKi7robPFkjjIzaESBqOswb34vAkJnibPK1F2Os93YyjmjEPWK0PJIyejKSQOjfD4ksu43zINlzc)jb3HGCaU6WDRclWQeLcwjiOtY7RGFS2C3BpbOpE8)F)iNsrKw1amzHCe6)dojZW01XXIGEAVA)J3FOu(dhHnewmJmNYWZyFD4yFIaClCoJnw6xkPll6voalEa8OayTddBPeVPMjB3CiMGxUeikZVhCnmUctE4sSd(6L1HDihnYHih(MB9MAC49p)aVT7O1I5yQ1jAOCSSAYQwdXRzSSoSIgcrI92ZU6lbVKUEjJHvwarzXJfPy1aykR)NHm2ql(QrKj0GQqtGjOXCSNiI7ylp26sHDXKZJhUAWDaIIJoz7DkgUWCic(hb)4QVB1F8Hld(HGFk4Ff8VJw2BuKwU36CIJ9s2WqylAce19p9yjbyrte5kno06h1z0eXPmmkJpJzXrKvgPK(Fi3vJzqLIH7lJDkrR6c3fyOpa2uA)2pnp1VsAmnXPO8yWf1qw4ElMK5b(zFQSUvuvgXkCfrWg2A8N3qL1mnViSTuAvE02qdhwQ(zUG369RuHQXbsNpAi5B8Um5QsuqgTVeTPuHdrbLkep02LoWx9zNFN70CsxBT06TyjogLVOOHW0AwyV4QujsgsH7YtxMeTJmlCH0CdoLjJpmZC5geXIhBkhvZU2gI3Di381yoJAK2arFhuRfeMNnDzSHhnzfQOYyHSm0STs(uPjfh2TujPegu1ss)ZG3dYrFFW7cE)Q)CWp(ekjjFp))AxsQrW4s5SsPYfiSLsJbFbJCHh2SO4pf9v34T8vdB)2R2Ut5rgDHTLCrS(qK593XB3tSprPRygShtILre3dUP4nIaHNIrMlRmyPK0zilXPP5qOG7Ent8rwgJK86kanYfLzAwkg2EVw7POUgGxuLpW112e4UpC5iI7mc2Z7HlFMgRTEEjjxHaYdAjpmTG)wW7w9hc(VR(UGFUz5lrmPrjPlHDbp1aSls1mkqaZmvv1IzXG3vAsW7cRZr89ovhqDErc5VDRS6dLQ3uhzcHH3gDJlYg77UDm0)Sgp0BqwZKedAh1sIbTzVhNurWuHXpW3Nax308BE7V7SrN)LJo(nn6TkuIs(mezHVtfXjKpqwXy4fEecrdilG9pwLs7vUu62rMgfEbI5nBKzJ3AZ86fengQ3EEEK5HBTA)sqyd3TEk8sdBOcP71i6NrFwrDVU7UNmmNioE9VAIAXB3yk9)9G)tWpb7W7NdEFW7E4Ypj4Vg8dR(lR(2v)PFZN0mP)kfSFmbdim5VUwpZ7sPzbdKptEmbyzBCmojERFhJfZZNObXAfstYExuY(2v9XNQUWS8XeamSFJ7Sd(MwhE4(Bc9KRSSTnkr9RmjMsfrKkdV1MNUAjLSdVHlo3vJ36X)33CuPVG3sSW3OeZCerrNvbprjWYg4zTfIm3o3Tu9ofpRLBgN4SgUlI0xDrbtPnXgmkfPUX3DXM5uIv(B7FZUzJ7rdONQU45FLZVOoctCvQhUmYwS6Oyl58m1eDQTLn7umcEkdZmwWSP6JdzjAtzTnLy1RO(OT6LDS8A2rDzZDE9(OYg)AW423JwFZ7kswF)p)CT(786R(IN9f)kkoKo7UZhHXHKEIrcJg57zxT6BdE3Vatz7J58wuJZOxblU8B9IPIN7WpxXA7h2U02c1rk58JThF9kpvnpW5XE(UKjR8KKglrk)gnhwgip64OJCtDqLnhWvW4VkVVmVMEykGEwr6yw3(yhICqpwDM6AWXHspHU1HYYkexYL4dlmrLt01VbCUkbTIGTccrXCyKhTaUjz5J)PMXtlKWXKz8j5OQIkoY3ps0e(Ml9xRDdysrQv)hMLOLcaPnGImpQkQQvMMto1vOg9Z1eFqVDSMMLSt6ovz(VV95Z6w(bAB791duAU6mUsPH5QtEqIzJC(XKFoqdI)3Wy0LmZcsSFrSIg3Bcw5VMh53tP8wMnZWV(gykPRcZyq))9

Готовый скрипт настроенный под викауру выше.

В результате буквально за вечер у вас должен получится скрипт, которые прожимает идеальную ротацию поражая ваших согильдийцев в рейде, и ещё и кикает хилов на арене. Читы с таким же функционалом продаются по 15долларов\мес.

Сфера применения ограничивается вашей фантазией. Это очень простой скриптик, который позволит вам облегчить почти любую игру. Создать себе автофласк в ПОЕ, или заставить ЕЕшку в л2 бегать за вами заливать ману лечить и бафать.

1. Настройка рейта:
"Мой сервер, мои правила", так ведь? Поэтому сейчас я объясню как ускорять набор опыта, увеличивать шанс дропа, кол-во выпадающих из мобов деняк и.т.д

Всё очень просто, все данные настройки хранятся в файле world.conf, вашего realm сервера (изначально он у вас один, это "Single Player Project" 1-ый realm). Идём по пути:
Папка с сервером/spp-legion/Realms/1(или другой если уже создали и юзаете другой realm)/Settings.
Далее открываем блокнотом world.conf и находим там "SERVER RATES".

Все что начинается с Rate это игровые параметры, а цифра коэффициент, и что логично, больше коэффициент больше значение. Найдем опыт:

Kill - сколько опыта вы получаете за убийство мобов.
Quest - за сдачу квестов.
Explore - за открытие новых локаций.

Нам нужно изменить коэффициент, объясню как это работает:
1 - обычный опыт. (320хр)
2 - удвоенный опыт.(640хр)
10 - больше в десять раз (3200хр)
ну и так далее.

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

2. Управление сервером и права доступа для аккаунтов

Команды вводятся либо в консоли WorldServer (без точки), либо в игровом чате через точку, но для этого у аккаунта должен быть уровень доступа (ГМ, Админ и.т.д)

На этом всё. Возможно есть и более удобные способы выдавать аккаунтам права и.т.д. Но я пишу как делаю.

Читайте также: