Как сделать паузу скрипта ahk

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

Как приостановить основной цикл и нажать клавиши buff каждый мин? Но скрипт authotkey основного цикла кажется переопределяющим сценарий таймера на обоих запусках в одно и то же время? Как я могу сделать паузу основного цикла и сделать приоритет таймера для запуска нажатия клавиш каждый мин?

SetTimer выполняет свои задачи параллельно с остальной частью скрипта, поэтому вы не видите ожидающий цикл.

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

Но в лучшем случае это kludge и, следовательно, не на 100% надежнее. В стороне, похоже, вы перерабатываете проблему, если у вас есть четко определенные задачи и временные рамки для этого.

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

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

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

У AutoHotkey очень развитый скриптовый язык, но вам необязательно его изучать — вы можете воспользоваться готовыми скриптами.


Там представлено несколько несколько версий, разберёмся в них:

  • AutoHotkey 1.1.* - это актуальная версия, которая активно разрабатывается. Ранее была известна как AutoHotkey_L.
  • AutoHotkey 1.0.* - развитие этой версии остановлено несколько лет назад, ранее была известна как AutoHotkey Basic, Classic, Vanilla.
  • AutoHotkey 2.0-a* - альфа выпуск новой версии AutoHotkey v2.

Ветка AutoHotkey 2.0-a* является работоспособной, но в ней поменялся синтаксис языка по этой причине большинство готовых скриптов, которые вы можете найти в Интернете, в ней работать не будут.

Скачайте установщик, им проще пользоваться, чем портативной версией.

Установка AutoHotkey

Запускаем установочный файл:



Как запустить AutoHotkey

Необычность AutoHotkey в том, что нет смысла запускать программу без скрипта — в этом случае будет показана только справка.

Порядок запуска AutoHotkey следующий:

1. Сохранение скрипта в файл с расширением .ahk

2. Запуск этого файла — в этом случае автоматически откроется AutoHotkey и выполнит скрипт

По этой причине предпочтительнее скачать установочный файл, а не портативную версию, поскольку для портативной версии придётся вручную настраивать ассоциацию с файлами .ahk.

Скрипты AutoHotkey

Теперь, когда вы настроили AutoHotkey, пришло время получить ваш первый скрипт. Некоторые сценарии AutoHotkey настолько короткие, что публикуются в сети в виде коротких фрагментов текста. Выберите текст сценария и скопируйте его.



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


Некоторые сценарии содержат не только несколько строк; они часто предлагаются в виде файлов, а не вставляются на страницу. Щёлкните правой кнопкой мыши ссылку на файл AHK и выберите, чтобы сохранить его локально:

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

Опять же, убедитесь, что вы сохранили его как файл .ahk.

Запуск скрипта AutoHotkey

Теперь у вас должен быть файл .ahk в вашей системе, и AutoHotkey — всё настроено и готово к работе. Просто дважды щёлкните файл AHK, чтобы запустить его.

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

Если скрипт AutoHotkey не работает

Вы также можете попробовать сохранить скрипт с другой кодировкой символов.

Выход из скрипта


Где скачать скрипты AutoHotkey

Скрипты AutoHotKey для CS:GO

Bhop (распрыжка) — это крутой скрипт для отработки упражнений, когда вы освоите его, подумайте о распрыжке с колесом прокрутки.

F11 для включения и отключения. Кнопка End дял полного отключения.

VAC вас НИКОГДА не обнаружит.

Autofire

Autofire не очень практичен для конкурентного игрового процесса, но с DM и Casual это интересно.

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

Чтобы поставить скрипт на паузу нажмите F6.

Ultimate CS:GO Multiscript

Это НЕ чит, он не будет вводить или делать что-либо с CS:GO, он просто симулирует события мыши/клавиатуры.

FlewMo

Участник

Вообщем. Есть бинд на кнопку F3, в котором идёт три "развилки", а то есть от значения кое-какой переменной, это не так уж важно.
В каждой из них, есть разбитие по частям с ожиданием нажатия клавишы, а именно:

Мне нужно добавить, чтобы при нажатии допустим !F3 , которая прервёт именно этот скрипт, без перезагрузки всего АХК . Как Break в циклах, но именно тут.
Я не очень шарю в АХК. Так же не нашёл именно такой инфы на форумах, думаю тут не должно быть никаких сложностей, если уже задавали подобный вопрос - скиньте пожалуйста. Буду очень благодарен.
Ещё раз объясню, чтобы при нажатии !F3 просто прерывало действия дальше (после этой строки есть ещё код).


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

kaster

Мой Аватар, он лучший самый

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

andreitrane

Новичок

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

kaster

Мой Аватар, он лучший самый

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

andreitrane

Новичок

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

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

kaster

Мой Аватар, он лучший самый

крайне неудачный. такое большое кол-во слипов. приведи реальный свой скрипт. а то, че зря воду в ступе толочь

andreitrane

Новичок

скрипт длинный, ну ладно. очень часто надо выключить функцию _startfakebattle(в самом низу) и включить другую, но при нажатии на F9 эта функция просто ставится на паузу, а не выключается, и поэтому (из за отсутствия многопоточности) нельзя нажать на другую кнопку и включить другую функцию. даже нельзя тупо выключить программу, пока _startfakebattle() стоит на паузе.

kaster

Мой Аватар, он лучший самый

andreitrane
если есть какие-то действия, выполнение которых надо контролировать, то все действия засунь под условие. типа

andreitrane

Новичок

мне ничего контролировать не надо, мне надо просто чтобы можно было хоткеем остановить выполнение скрипта, но без exit

Garrett

Модератор

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


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

Изображение

1. Перейдя по ссылке и скачав AutoHotkey, запускаем установщик. Перед нами всплывает такое окно. Выбираем "Custom Installation"

Изображение

2. Выбираем кодировку ANSI32 (Почему так объясню чуть ниже)

Изображение

3. Выбираем путь установки

Изображение

4. Выбираем нужные нам галочки (Я поставил только последнюю)

Изображение

5. Нажимаем Install, и получаем вот такое вот окно, которое уведомляет нас о том, что установка прошла успешно.

Возле часов выбираем "Языковая панель" - Параметры. - Язык ввода по умолчанию -> Английский (США). Всё, установка и настройка готова. Теперь главное сохранять все скрипты в кодировке ANSI (Об этом ниже)

Остаётся только написать под неё какой-нибудь скрипт и запустить его в работу.
Для этого на рабочем столе щёлкаем ПКМ (Правой кнопкой мыши) - Создать - AutoHotkey Script.
По создавшемуся файлу опять нажимаем ПКМ - Edit Script.
У нас открывается созданный скрипт в блокноте. Нам нужно его отредактировать под себя.
Для примера попробуем создать скрипт, который при нажатии клавиш Alt + 1 будет писать в OOC-Чат "Всем Привет"

Далее нажимаем Файл - Сохранить Как . И выбираем кодировку ANSI (Это важно, потому что при установке Хоткея мы выбрали кодировку ANSI)

Скрипт готов. Теперь мы запускаем его с рабочего стола по двойному клику, или же через ПКМ - Run Script

Итак, для начала, если вы хотите чтобы Скрипт срабатывал у вас только в GTA San Andreas Multiplayer, вам необходимо в начало скрипта поставить следующую строчку:


Данное сочетание при нажатии на Alt+= моментально выполнит 3 действия, а именно:
Примет предложение механика о заправке, починке и установки нитро. Количество функций можно увеличить (Вписать туда Immo, Firex и тд).

Ещё одной интересной функцией вам может показаться следующий пример:
Если вам нужно срочно что-то сделать (Например, дать звёзды какому-то игроку), и у вас нет времени открывать чат, вы можете воспользоваться данным скриптом:


Объясню как это работает. На пульт Силовиков поступила жалоба от игрока об убийстве. Я нажимаю Alt+1 и на клавиатуре ввожу ID игрока. Но при этом у меня не открывается чат, что очень удобно во время ведения погони.
Функция Input, Ysearch,L3 T5 C I, поддерживает написание 3х значного ID, и срабатывает сразу же после его ввода. Если ID игрока двух/однозначный, то нам необходимо после написания ID либо подождать секунду, либо нажать на клавиатуре Enter, чтобы скрипт приступил в исполнение раньше.

Вот ещё пара примеров использования похожих скриптов:


При нажатии сочетания клавиш Ctrl+Alt+NumPad1 у меня запускается в действие скрипт, который вводит команды /locrep и /direct. И всё что нужно мне после его запуска - нажать на цифры, соответствующие ИДу игрока, и в случае надобности нажать на Enter.


Данный скрипт при нажатии сочетания клавиш Ctrl+NumPad8 заберет сразу наркотики, материалы, пакеты материалов у нужного мне игрока

Ну и напоследок моё любимое:


При нажатии клавиш Alt+NumPad3 скрипт предупредит игроков о проверке, и проверит документы и лицензии нужного мне игрока.

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