Так же в данной теме вы можете задать интересующий вас вопрос по поводу AutoHotkey скриптов в SAMP'e или поделиться с другими игроками своим скриптом.
Всевозможные инструкции:
FAQ по установке и запуску:
Известные проблемы и их решение:
Инструкции по написанию скриптов:
Готовые скрипты наших игроков:
1. Перейдя по ссылке и скачав AutoHotkey, запускаем установщик. Перед нами всплывает такое окно. Выбираем "Custom Installation"
2. Выбираем кодировку ANSI32 (Почему так объясню чуть ниже)
3. Выбираем путь установки
4. Выбираем нужные нам галочки (Я поставил только последнюю)
5. Нажимаем Install, и получаем вот такое вот окно, которое уведомляет нас о том, что установка прошла успешно.
Итак, сама программа для воспроизведения скриптов у нас установлена.
Но теперь нам нужно настроить под неё Windows, во избежании проблем с кодировкой отправляемых сообщений.
Возле часов выбираем "Языковая панель" - Параметры... - Язык ввода по умолчанию -> Английский (США). Всё, установка и настройка готова. Теперь главное сохранять все скрипты в кодировке ANSI (Об этом ниже)
Остаётся только написать под неё какой-нибудь скрипт и запустить его в работу.
Для этого на рабочем столе щёлкаем ПКМ (Правой кнопкой мыши) - Создать - AutoHotkey Script.
По создавшемуся файлу опять нажимаем ПКМ - Edit Script.
У нас открывается созданный скрипт в блокноте. Нам нужно его отредактировать под себя.
Для примера попробуем создать скрипт, который при нажатии клавиш Alt + 1 будет писать в OOC-Чат "Всем Привет"
Для этого нам нужно написать следующий код:
!1 - означает комбинацию нажатия клавиш Alt и 1;
SendInput - параметр ввода текста;
{F6} - параметр, открывающий игровой чат;
/o Всем Привет - команда, которая вводится в открывшийся игровой чат;
{enter} - завершающий параметр скрипта, который имитирует нажатие на клавишу {enter} (отправка сообщения)
Далее нажимаем Файл - Сохранить Как ... И выбираем кодировку ANSI (Это важно, потому что при установке Хоткея мы выбрали кодировку ANSI)
Скрипт готов. Теперь мы запускаем его с рабочего стола по двойному клику, или же через ПКМ - Run Script
2. Выбираем кодировку ANSI32 (Почему так объясню чуть ниже)
3. Выбираем путь установки
4. Выбираем нужные нам галочки (Я поставил только последнюю)
5. Нажимаем Install, и получаем вот такое вот окно, которое уведомляет нас о том, что установка прошла успешно.
Итак, сама программа для воспроизведения скриптов у нас установлена.
Но теперь нам нужно настроить под неё Windows, во избежании проблем с кодировкой отправляемых сообщений.
Возле часов выбираем "Языковая панель" - Параметры... - Язык ввода по умолчанию -> Английский (США). Всё, установка и настройка готова. Теперь главное сохранять все скрипты в кодировке ANSI (Об этом ниже)
Остаётся только написать под неё какой-нибудь скрипт и запустить его в работу.
Для этого на рабочем столе щёлкаем ПКМ (Правой кнопкой мыши) - Создать - AutoHotkey Script.
По создавшемуся файлу опять нажимаем ПКМ - Edit Script.
У нас открывается созданный скрипт в блокноте. Нам нужно его отредактировать под себя.
Для примера попробуем создать скрипт, который при нажатии клавиш Alt + 1 будет писать в OOC-Чат "Всем Привет"
Для этого нам нужно написать следующий код:
!1::SendInput{F6}/o Всем Привет{enter}Давайте разберём по частям данный скрипт:
!1 - означает комбинацию нажатия клавиш Alt и 1;
SendInput - параметр ввода текста;
{F6} - параметр, открывающий игровой чат;
/o Всем Привет - команда, которая вводится в открывшийся игровой чат;
{enter} - завершающий параметр скрипта, который имитирует нажатие на клавишу {enter} (отправка сообщения)
Далее нажимаем Файл - Сохранить Как ... И выбираем кодировку ANSI (Это важно, потому что при установке Хоткея мы выбрали кодировку ANSI)
Скрипт готов. Теперь мы запускаем его с рабочего стола по двойному клику, или же через ПКМ - Run Script
Известные проблемы и их решение:
1. Я отправляю сообщение на английской раскладке, а у меня вместо букв - "???? ??? ??"
Проблема в кодировке скрипта, нужно сделать следующее (Спасибо пользователю одного из форумов - Harry Mitchel):
2. Хоткей при отправке сообщений не срабатывает
Скорее всего выбрана не та функция при настройке хоткея.
Если у вас Windows XP - у вас должна стоять функция SendPlay
Если у вас Windows 7 - у вас должна стоять функция SendInput
На остальных операционных системах точно не знаю, но скорее всего тоже SendInput
Проблема в кодировке скрипта, нужно сделать следующее (Спасибо пользователю одного из форумов - Harry Mitchel):
1) В директории с ahk запускаем Installer.ahk -> Modify -> ANSI-32/64 -> Next -> Apply 2) Возле часов "Языковая панель" - Параметры... - Язык ввода по умолчанию -> Английский (США) 3) Пишем все скрипты в ANSI-32/64.
2. Хоткей при отправке сообщений не срабатывает
Скорее всего выбрана не та функция при настройке хоткея.
Если у вас Windows XP - у вас должна стоять функция SendPlay
Если у вас Windows 7 - у вас должна стоять функция SendInput
На остальных операционных системах точно не знаю, но скорее всего тоже SendInput
Инструкции по написанию скриптов:
Итак, для начала, если вы хотите чтобы Скрипт срабатывал у вас только в GTA San Andreas Multiplayer, вам необходимо в начало скрипта поставить следующую строчку:
Если вы хотите чтобы скрипт при нажатии на горячие клавиши отправлял сразу несколько команд, то достаточно после {enter} поставить ещё одну функцию {F6}, после которой уже идёт целевое сообщение.
Например:
Данное сочетание при нажатии на Alt+= моментально выполнит 3 действия, а именно:
Примет предложение механика о заправке, починке и установки нитро. Количество функций можно увеличить (Вписать туда Immo, Firex и тд).
Далее пойдут более усложненные скрипты.
Вы можете сделать скрипт в несколько строчек, например вам нужно отправить сообщение в несколько чатов, для этого вы пишите:
Таким образом у нас отправится 3 сообщения, каждое в указанный чат.
(ВАЖНО: Ни в коем случае не убирайте в конце скрипта return, иначе хоткей будет считать что скрипт не закончен)
Ещё одной интересной функцией вам может показаться следующий пример:
Если вам нужно срочно что-то сделать (Например, дать звёзды какому-то игроку), и у вас нет времени открывать чат, вы можете воспользоваться данным скриптом:
Объясню как это работает. На пульт Силовиков поступила жалоба от игрока об убийстве. Я нажимаю Alt+1 и на клавиатуре ввожу ID игрока. Но при этом у меня не открывается чат, что очень удобно во время ведения погони.
Функция Input, Ysearch,L3 T5 C I, поддерживает написание 3х значного ID, и срабатывает сразу же после его ввода. Если ID игрока двух/однозначный, то нам необходимо после написания ID либо подождать секунду, либо нажать на клавиатуре Enter, чтобы скрипт приступил в исполнение раньше.
Вот ещё пара примеров использования похожих скриптов:
При нажатии сочетания клавиш Ctrl+Alt+NumPad1 у меня запускается в действие скрипт, который вводит команды /locrep и /direct. И всё что нужно мне после его запуска - нажать на цифры, соответствующие ИДу игрока, и в случае надобности нажать на Enter.
Данный скрипт при нажатии сочетания клавиш Ctrl+NumPad8 заберет сразу наркотики, материалы, пакеты материалов у нужного мне игрока
Ну и напоследок моё любимое:
При нажатии клавиш Alt+NumPad3 скрипт предупредит игроков о проверке, и проверит документы и лицензии нужного мне игрока.
#IfWinActive GTA:SA:MP
Если вы хотите чтобы скрипт при нажатии на горячие клавиши отправлял сразу несколько команд, то достаточно после {enter} поставить ещё одну функцию {F6}, после которой уже идёт целевое сообщение.
Например:
!=::SendInput {F6}/accept refill{enter}{F6}/accept repair{enter}{F6}/accept nitro{enter}
Данное сочетание при нажатии на Alt+= моментально выполнит 3 действия, а именно:
Примет предложение механика о заправке, починке и установки нитро. Количество функций можно увеличить (Вписать туда Immo, Firex и тд).
Далее пойдут более усложненные скрипты.
Вы можете сделать скрипт в несколько строчек, например вам нужно отправить сообщение в несколько чатов, для этого вы пишите:
!1:: { SendInput {F6}/r Всем привет{enter} SendInput {F6}/s Всем привет{enter} SendInput {F6}/o Всем привет{enter} return }
Таким образом у нас отправится 3 сообщения, каждое в указанный чат.
(ВАЖНО: Ни в коем случае не убирайте в конце скрипта return, иначе хоткей будет считать что скрипт не закончен)
Ещё одной интересной функцией вам может показаться следующий пример:
Если вам нужно срочно что-то сделать (Например, дать звёзды какому-то игроку), и у вас нет времени открывать чат, вы можете воспользоваться данным скриптом:
!1:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/su %Ysearch% 5 Kill [Rep in 911]{enter} return }
Объясню как это работает. На пульт Силовиков поступила жалоба от игрока об убийстве. Я нажимаю Alt+1 и на клавиатуре ввожу ID игрока. Но при этом у меня не открывается чат, что очень удобно во время ведения погони.
Функция Input, Ysearch,L3 T5 C I, поддерживает написание 3х значного ID, и срабатывает сразу же после его ввода. Если ID игрока двух/однозначный, то нам необходимо после написания ID либо подождать секунду, либо нажать на клавиатуре Enter, чтобы скрипт приступил в исполнение раньше.
Вот ещё пара примеров использования похожих скриптов:
^!NumPad1:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/locrep %Ysearch%{enter}{f6}/direct %Ysearch%{enter} return }
При нажатии сочетания клавиш Ctrl+Alt+NumPad1 у меня запускается в действие скрипт, который вводит команды /locrep и /direct. И всё что нужно мне после его запуска - нажать на цифры, соответствующие ИДу игрока, и в случае надобности нажать на Enter.
^NumPad8:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/take drugs %Ysearch%{enter}{f6}/take materials %Ysearch%{enter}{f6}/take matpack %Ysearch%{enter} return }
Данный скрипт при нажатии сочетания клавиш Ctrl+NumPad8 заберет сразу наркотики, материалы, пакеты материалов у нужного мне игрока
Ну и напоследок моё любимое:
!NumPad3:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {F6}/s Уберите оружие и стойте спокойно. Сейчас я проведу обыск и проверю Ваши документы{enter}{f6}/frisk %Ysearch%{enter}{f6}/clk %Ysearch%{enter} return }
При нажатии клавиш Alt+NumPad3 скрипт предупредит игроков о проверке, и проверит документы и лицензии нужного мне игрока.
Готовые скрипты наших игроков:
1. Ezhevika (FBI)
2. Скрипт для прокачки детектива от ув. Teyson'a (Параметр Sleep заменен на параметр Stea4'a)
#IfWinActive GTA:SA:MP !1::SendInput {F6}/cvet 55{enter} !2::SendInput {F6}/og{enter} !3::SendInput {F6}/bk{enter} !4::SendInput {F6}/bka{enter} !5::SendInput {F6}/bkc{enter} !6:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/refill %Ysearch% 1{enter}{f6}/repair %Ysearch% 1{enter}{f6}/sell nitro %Ysearch% 1{enter} return } !=::SendInput {F6}/accept refill{enter}{F6}/accept repair{enter}{F6}/accept nitro{enter} ^1:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/su %Ysearch% 5 Kill [Rep in 911]{enter} return } ^2:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/su %Ysearch% 4 1{enter} return } ^3:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/su %Ysearch% 5 1{enter} return } ^4:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/su %Ysearch% 10 1{enter} return } !NumPad0::SendInput {F6}/mdco{space} !NumPad1::SendInput {F6}/r{space} !NumPad2::SendInput {F6}/m Внимание{!}{!}{!} Это обычная проверка. Остановитесь на обочине и выйдите из тс{enter}{F6}/s Внимание{!}{!}{!} Это обычная проверка. Остановитесь на обочине и выйдите из тс{enter} !NumPad3:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {F6}/s Уберите оружие и стойте спокойно. Сейчас я проведу обыск и проверю Ваши документы{enter}{f6}/frisk %Ysearch%{enter}{f6}/clk %Ysearch%{enter} return } !NumPad4::SendInput {F6}/s Вы свободны, счастливого пути. Не нарушайте Конституцию Штата.{enter} !NumPad5::SendInput {F6}/m Вы находитесь в федеральном розыске. Сдавайтесь, и Ваш срок уменьшится на половину{!}{enter}{F6}/s Вы находитесь в федеральном розыске. Сдавайтесь, и Ваш срок уменьшится на половину{!}{enter} !NumPad6::SendInput {F6}/s Вы арестованы. Проследуйте за мной в участок. В случае неподчинения я имею право Вас убить.{enter} !NumPad7::SendInput {F6}/m Внимание{!}{!}{!} Прекратите беспорядки. Стрельба в штате наказуема{!}{enter}{F6}/s Внимание{!}{!}{!} Прекратите беспорядки. Стрельба в штате наказуема{!}{enter} ^NumPad0::SendInput {F6}{up}{enter} ^NumPad1::SendInput {F6}/wanted{enter} ^NumPad2::SendInput {F6}/wanted2{enter} ^NumPad3:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/search %Ysearch%{enter} return } ^NumPad4:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/cuff %Ysearch%{enter} return } ^NumPad5:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/uncuff %Ysearch%{enter} return } ^NumPad6:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/arrest %Ysearch% 0 0{enter} return } ^NumPad7:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/take w %Ysearch%{enter} return } ^NumPad8:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/take drugs %Ysearch%{enter}{f6}/take materials %Ysearch%{enter}{f6}/take matpack %Ysearch%{enter} return } ^!NumPad0::SendInput {F6}{up}{up}{enter} ^!NumPad1:: { Input, Ysearch,L3 T5 C I, {enter} SendInput {f6}/locrep %Ysearch%{enter}{f6}/direct %Ysearch%{enter} return } ^!NumPad2::SendInput {F6}/locme{enter}
!0:: loop 1000 { sendinput {f6}/find bot_lv{enter} sleep 191000 return }
Сообщение отредактировал Ezhevika: 23 Ноябрь 2015 - 14:27