Автоматизация рутины в Path of Exile
Теперь, когда вы познакомились с автохоткеем, вернёмся обратно к Path of Exile. Поиграв в ПоЕ недельку-другую, я стал замечать, что очень многие действия повторяются. А всё, что повторяется, нужно автоматизировать!
В первую очередь, это торговля. Как торгует простой человек?
/trade 1
$WTS [item]
/trade 2
$WTS [item]
/trade 3
$WTS [item]
...
И так на 10-15 каналов. Утомительно. И я написал простенький скрипт для торговли в пое:
F10::
Gosub, Timer_Spam
return
Timer_Spam:
num := 1
Loop, 15
{
SendInput {Enter}/trade %num%{Enter}
Sleep 1500
SendInput {Enter}{Up}{Up}{Enter}
Sleep 1500
num := num + 1
}
SendInput {Enter}/trade 0{Enter}
return
Теперь достаточно было отправить в любой трейд чат своё сообщение $WTB Orb of Regret = 1 chaos each
, нажать F10
и немного подождать. На каждые 2-3 сообщения lol good luck buying it this cheap retard!!!
, я получал инвайт my HO
, трейд.
Торговый скрипт очень сильно повысил моё качество жизни, теперь торговый канал стал удобным местом, чтобы быстро получить что-либо дёшево. Можно попытаться быстренько что-либо продать, но продавать нужно тоже дёшево. Всяко лучше, чем отдавать вендору.
Я даже написал скрипт, который непрерывно спамит трейд чаты, но он у меня как-то не прижился. Я был не настолько хардкорен.
^!F10::
toggle := !toggle
if (toggle)
{
SetTimer, Timer_Spam, 60000
Menu, Tray, Icon, shell32.dll, 44
Gosub, Timer_Spam
}
else
{
SetTImer, Timer_Spam, Off
Menu, Tray, Icon, *
}
return
Кроме того, я «забиндил» переход в хайдаут и подсчёт оставшихся монстров на карте (очень удобно это делать на Tab)
F3::
SendInput {Enter}/hideout{Enter}
return
F5::
~Tab::
SendInput {Enter}/remaining{Enter}
return
Начав программировать, сложно остановиться. Следующей жертвой были выбраны фласки. Я играл CI суммонером с тремя тотемами от Soul Mantle:
Каждый раз, когда я использовал новый тотем, старый умирал и мне было необходимо снимать с себя проклятия, которые стекались и были очень страшными. Иммунитет к проклятьям я брал от Quicksilver фласок, но каждый раз нажимать их вручную не только неэффективно, но и скучно. Поэтому был быстренько написан следующий скрипт:
~RButton::
if (!curseImmune)
{
DoCurse()
}
if (!armorUp)
{
DoArmor()
}
return
ExpireCurseImmune:
if GetKeyState("RButton")
DoCurse()
else
curseImmune = 0
return
ExpireArmorUp:
if GetKeyState("RButton")
DoArmor()
else
armorUp = 0
return
GetCurrentArmorButton(currentArmor)
{
if(currentArmor==1)
return 2
if(currentArmor==2)
return 3
if(currentArmor==3)
return 1
return 1
}
GetCurrentCurseButton(currentArmor)
{
if(currentArmor==4)
return 5
if(currentArmor==5)
return 4
return 4
}
DoCurse()
{
global curseImmune
global currentCurse
curseImmune = 1
currentCurse := GetCurrentCurseButton(currentCurse)
SendInput %currentCurse%
SetTimer, ExpireCurseImmune, -6720
}
DoArmor()
{
global armorUp
global currentArmor
armorUp = 1
currentArmor := GetCurrentArmorButton(currentArmor)
SendInput %currentArmor%
SetTimer, ExpireArmorUp, -4800
}
Таким вот нехитрым способом, мой герой всегда поддерживал нажатыми фласки на броню и квиксильвер фласки. Только когда я нажимал или держал правую кнопку мыши (там у меня каст тотема).
Работает идеально, очень рекомендую. Но играть становится скучно. Левой рукой я поддерживал голову, а правой нажимал две кнопочки: левую чтобы бегать, и правую чтобы делать всё остальное. Иногда лутал так же левой. Скука.
Побегав так пару дней, я понял, что хочу освободить себя и от нажатия кнопок мыши. Об этом в следующей статье.
Обсуждение
класс молодец) сколько полезности с макросов))
Дим было бы очень прекрасно еслиб ты ченить придумал с стешом чтоб вещи там компоновать а то все время бардак .мб есть какие идеи
спс заранее
Привет, кубба. Спасибо за добрые слова =)
Я уже с 2015 года в PoE не играл, но помню у меня действительно был скрипт для сортировки стеша. Насколько я помню, он был основан на https://github.com/Kokosoida/POEStashSort , с небольшими правками. Вот моя версия, не знаю, будет ли она работать сейчас: https://dima.stefantsov.com/wp-content/uploads/2017/04/poe-stash-sort.zip
Как и для всех остальных ahk скриптов, для её работы нужен Autohotkey https://dima.stefantsov.com/autohotkey-vviedieniie/
спасибо разобрался немного подправил и все более менее стало
Здравствуйте! пользуюсь этим скриптом и заметил что банки прожимаются все с 1-5, как мне сделать чтобы прожимались также все кроме первой? прост там банка на хп и плохо когда она вдруг пуста). спасибо.
Здравствуйте, Альб.
Соответственно, видите часть, где
? Вот здесь выбирается, какую кнопку скриптик будет использовать в следующий раз. Было 1, значит следующий 2, было 2, значит следующий 3, было 3, значит следующий 1.
Достаточно просто изменить содержимое на
и всегда будет начинаться с 2, потом 3, потом опять 2.
Я вообще рекомендую не запускать скрипты бездумно, я уверен если бы вы посмотрели на код скрипта пару минут, вы бы во всём разобрались сами. Кроме того, это отличная возможность прокачаться не только в игре, но и в логике и в программировании. Так молодые программисты и появляются, сегодня фласку в PoE выпить, а завтра уже зарплаты по 4000$ =)
Тёска ну подскажи пожалуйста — (нужно для POE) нужен макрос… смысл должен быть такой — при нажатии:
Макрос передачи лута.
Макрос активируется клавишей F4.
F4::
(Зажатая клавиша Ctrl) + MouseClick, Left, X, Y
(Зажатая клавиша Ctrl) + MouseClick, Left, X, Y
(Зажатая клавиша Ctrl) + MouseClick, Left, X, Y
return
По моему Дмитрий ты пиздобол — касаемо 1раз в месяц ответ от тебя
Здравствуйте, Дима. Давайте я раскрою для вас немного «внутренней кухни».
— о новых комментариях мне приходят оповещения. Удаляю спам, и если вопрос простой или интересный, сразу на него отвечаю. Всё это можно увидеть в моей активности.
— в противном случае, ведь я стараюсь не оставить без ответа ни одного комментария, они идут «в ящик», затем раз в месяц у меня есть напоминание ответить на комментарии из «ящика». Технически, я могу быть очень занят и не захотеть отвечать, тогда ждать ещё месяц, но практически такого не случается.
А в вашем случае, Дима, ситуация такая. Вы просите меня бесплатно написать для вас программу. Я программист и получаю за написание программ деньги, но для вас я должен написать её бесплатно. Это не уточняющий вопрос к статье, это «о, чувак видимо умеет программировать, ты ж программист, напиши мне программку как мне нужно». Поэтому интереса и, что важно, ценности для читателей мой ответ не принесёт.
Ну и вишенка на торте:

Слева, на первом уровне, идут комментарии/вопросы к статье. Справа, на втором уровне вложенности, идут, очевидно, комментарии/ответы к вопросу выше. Изредка, если вопрос интересный, я могу отступить от своего правила, но в большинстве случаев я просто не отвечаю на вопросы или комментарии, размещённые во втором уровне вложенности. Это такой небольшой тест на IQ, если хотите. Или это забота об авторе первого вопроса, чтобы ему не приходили оповещения об ответах, которые на самом деле не связаны с его вопросом (извините, Альб :) Можете убедиться в правдивости моих слов в комментариях к конспекту по Селуянову. Например Мистеру Миофибриллу я тоже не отвечу.
Я стараюсь соблюдать все сроки, не врать, и уж тем более не пиздеть. Получается, к слову, не всегда :)