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

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

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

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

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

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

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

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

  • https://www.curseforge.com/wow/addons/weakauras-2
  • https://www.autohotkey.com

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

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

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

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

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

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

Создаем текстуру
Создаем текстуру

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

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

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

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

<p><br /></p>


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

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

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

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

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

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

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

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

get_x = 1677 ; переменная обозначающая положение нашей текстуры по оси Х нужна для примера и не обязательна loop ; обеспечивает цикличность нашего скрипта позволяя ему проигрываться снова и снова #IfWinActive World of Warcraft ; скрипт работает только в окне вов, вместо вов можете вбить название любого окна какое вам нужно e:: ; запуск скрипта на кнопке Е, ставьте удобную вам SendInput {e} ; поскольку ахк блокирует кнопку на которую назначен старт скрипта, простой и понятный способ вернуть ее работоспособность это сразу же добавить ее через SendInput { ; открываем скобками тело скрипта PixelGetColor, Color, %get_x%, 625 if (Color = 0x00FF00) { SendInput {7} } } return ; возвращаем положение скрипта к "loop"

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

y:=0 loop { if y = 1 { mousegetpos MX, MY Pixelgetcolor, Color, %MX%, %MY% msgbox x = %MX%, y = %MY%, Color = %Color% y:= 0 } sleep 100 } 1:: { y:= 1 return }

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

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

  • 2. поскольку наш яд умение дальнего боя, ставим триггер на проверку дистанции "статус-проверка дистанции-цель" ближе 40 метров.
  • 3. Умение потребляет 20 энергии, добавим триггер чтобы следил что у нас больше 20 энергии. "статус-энергия-игрок".

Дописываем скрипт:

get_x = 1677 loop #IfWinActive World of Warcraft e:: SendInput {e} { PixelGetColor, Color, %get_x%, 625 if (Color = 0x00FF00) { SendInput {7} ; автоатака питомца ; укус змеи PixelGetColor, Color, %get_x%, 630 if (Color = 0x00FF00) { SendInput {-} sleep 150 return } } } return

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

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

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

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

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

get_x = 1677 loop #IfWinActive World of Warcraft e:: SendInput {e} { PixelGetColor, Color, %get_x%, 625 if (Color = 0x00FF00) { SendInput {7} ; автоатака питомца ; укус змеи PixelGetColor, Color, %get_x%, 630 if (Color = 0x00FF00) { SendInput {-} sleep 150 return } ; килкоманд PixelGetColor, Color, %get_x%, 640 if (Color = 0x00FF00) { SendInput {9} sleep 150 return } ; мангуст PixelGetColor, Color, %get_x%, 647 if (Color = 0x00FF00) { SendInput {8} sleep 150 return } } } return

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

Делать мы будем это через функцию фокуса https://wow.gamepedia.com/Focus_target потому что хилы на арене в 90% фокусы. Цель и фокус это разные вещи в вове.

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

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

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

  • 2. Чтобы скрипт не кикал все подряд, а только когда цель под жестким прессингом, выставляем второй триггер на "статус-здоровье-цель" здоровье меньше 55% .

Добавляем блок кика в скрипт в самый верх первым по порядку после таргета, но убедитесь что в теле кика нет "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

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

get_x = 1677 loop #IfWinActive World of Warcraft e:: SendInput {e} { PixelGetColor, Color, %get_x%, 625 ; тригер енеми if (Color = 0x00FF00) { SendInput {7} ; кик PixelGetColor, Color, %get_x%, 652 if (Color = 0x00FF00) { SendInput {6} sleep 150 return } ; укус змеи PixelGetColor, Color, %get_x%, 630 if (Color = 0x00FF00) { SendInput {-} sleep 150 return } ; гарпун PixelGetColor, Color, %get_x%, 635 if (Color = 0x00FF00) { SendInput {0} sleep 150 return } ; килкоманд PixelGetColor, Color, %get_x%, 640 if (Color = 0x00FF00) { SendInput {9} sleep 150 return } ; мангуст PixelGetColor, Color, %get_x%, 647 if (Color = 0x00FF00) { SendInput {8} sleep 150 return } } } return

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

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

3939
31 комментарий

Лайкнул, так как это лучше чем еще одно "мнение о старом/новом/существовании фильме/игре/EGS"

12
Ответить

За автофласку банят. Это я так, к слову.

6
Ответить

Играю уже не первый год, еще не забанили.

1
Ответить

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

7
Ответить

Комментарий недоступен

2
Ответить

Комментарий недоступен

Ответить