Приветствую, работая адвокатом, я постоянно получаю множество звонков: то нужно срочно приехать в ГАИ или ДПС для оказания юридической помощи, то звонят заключённые из ИВС с просьбой приехать в ИК и помочь. Эти звонки стали чрезмерно навязчивыми, но игнорировать их не могу — иначе заключённые начнут звонить другим адвокатам.
Кроме того, после недавнего обновления для лидеров и их заместителей ввели ограничение: нельзя выключать телефон, находясь при исполнении должностных обязанностей (в форме).
Чтобы упростить себе работу и не терять клиентов, я написал AHK-скрипт, который:
- считывает чатлог;
- при появлении входящего звонка автоматически принимает вызов;
- отправляет заранее заданный текст;
- сбрасывает звонок.
Пример работы:
![]()
Инструкция по установке автоответчика
1. Скачивание необходимых файлов
Для корректной работы скрипта потребуется AHK CRMP UDF (0.3.7 R3) от Максима Снегирёва.— Скачайте архив с библиотекой.
— Создайте на рабочем столе папку с названием на латинице (рекомендуется для избежания ошибок путей).
2. Подготовка библиотеки
— Откройте скачанный архив.
— Перейдите в папку src.
— Извлеките файлы common.ahk и UDF.ahk в ранее созданную папку.
3. Установка AutoHotkey
— Перейдите на официальный сайт AutoHotkey.
— Нажмите кнопку Download, затем выберите Download v1.1 (deprecated).
Если у вас уже установлен AutoHotkey:
— Откройте установщик;
— Нажмите Uninstall;
— После удаления снова откройте установщик.
При установке:
— Выберите Custom installation;
— Укажите ANSI 32-Bit;
— В дополнительных параметрах поставьте галочку Default to UTF-8.
4. Создание скрипта
— В ранее созданной папке, создайте новый .ahk файл.
— Откройте его любым текстовым редактором (можно использовать обычный блокнот).
— Вставьте в файл следующий код:
Код:
#NoEnv
#include UDF.ahk
#IfWinActive AMAZING ONLINE
addChatMessageEx(0x12A48B, "")
sleep 1000
addChatMessageEx(0x12A48B, "{CCCCFF}[Monkey Script] {efaf8c}Скрипт успешно запущен!")
global monitorCalls := false
CHATLOG_PATH := "ВАШ ПУТЬ"
return
F10::
addChatMessageEx(0xFFFFFF, "{CCCCFF}[Monkey Script] {FFC0CB} Перезапускаю скрипт.")
sleep 500
Reload
return
F11::
monitorCalls := !monitorCalls
if (monitorCalls) {
addChatMessageEx(0x12A48B, "{CCCCFF}[Monkey Script] {efaf8c}Отслеживание звонков включено!")
SetTimer, CheckForCalls, 100
} else {
addChatMessageEx(0x12A48B, "{CCCCFF}[Monkey Script] {efaf8c}Отслеживание звонков выключено!")
SetTimer, CheckForCalls, Off
}
return
CheckForCalls:
ll := GetNewLine(CHATLOG_PATH)
if (RegExMatch(ll, "Используйте {99CC00}/p{FFFFFF},")) {
SendChat("/p")
addChatMessageEx(0x12A48B, "{CCCCFF}[Monkey Script] {efaf8c}Обнаружен входящий звонок! Отправлен ответ.")
Sleep, 1000
SendChat("Здравствуйте, это автоответчик.")
Sleep, 1000
SendChat("В данный момент Етернити Дмитрий Ахмедович находится в исправительной колонии и выпускает заключённых.")
Sleep, 1000
SendChat("Если Вы звоните с просьбой приехать в ИК, то адвокат Вас ожидает в комнате свиданий.")
Sleep, 1000
SendChat("Если Вы звоните с другим вопросом, напишите смс. Всего доброго!")
Sleep, 1000
SendChat("/h")
}
return
GetNewLine(CRMP_CHATLOG_FILE) {
static CRMP_CHATLOG_OLD_SIZE
static CRMP_CHATLOG_NEW_SIZE
if !CRMP_CHATLOG_OLD_SIZE
{
FileGetSize, CRMP_CHATLOG_OLD_SIZE, %CRMP_CHATLOG_FILE%
CRMP_CHATLOG_NEW_SIZE := CRMP_CHATLOG_OLD_SIZE
}
while CRMP_CHATLOG_OLD_SIZE = CRMP_CHATLOG_NEW_SIZE
{
Sleep 3
FileGetSize, CRMP_CHATLOG_NEW_SIZE, %CRMP_CHATLOG_FILE%
}
CRMP_CHATLOG_OLD_SIZE := CRMP_CHATLOG_NEW_SIZE
Loop, read, %CRMP_CHATLOG_FILE%
{
if A_LoopReadLine
CRMP_CHATLOG_LAST_LINE := A_LoopReadLine
}
return CRMP_CHATLOG_LAST_LINE
}
Указание пути к чатлогу:
Найдите путь к вашей игре через лаунчер:
— Откройте лаунчер → нажмите на
— Откройте проводник, перейдите в указанную папку, затем пройдите путь: Amazing Games\Amazing Online\PC\amazing, скопируйте его, и в скрипте допишите "\chatlog.txt" чтобы у Вас получилось примерно как у меня (пути к игре у всех разные)
Настройка горячих клавиш:CHATLOG_PATH := "D:\Amazing Games\Amazing Online\PC\amazing\chatlog.txt"
В скрипте можно изменить клавиши, по умолчанию установлены следующие:
F10 — перезапуск скрипта;
F11 — запуск автоответчика (отслеживание звонков).
Пояснение необходимых функций и настройка текста автоответчика:
— SendChat("Здравствуйте, это автоответчик.")
Эта функция отправляет текст и команды в чат игры, даже если вы находитесь в AFK.
— Sleep, 1000
Эта функция задает задержку в миллисекундах (1000 = 1 секунда). Можно уменьшить, для меня 1000 - оптимально.
Хотите изменить сообщение — просто отредактируйте строку внутри SendChat("...").
Если строк много, просто удалите строку SendChat("..."), или добавьте, если мало.
Даже без глубоких знаний AHK вы легко разберётесь
6. Завершение
— Сохраните файл.
— Запустите его двойным щелчком.
— Зайдите в игру и протестируйте работу автоответчика.
Последнее редактирование: