[AHK] Автоответчик на телефон | Форум онлайн-игры – AMAZING ONLINE
Форум
AMAZING ONLINE

[AHK] Автоответчик на телефон

Bob_Vujicic

Когда лев спит, хозяйничает обезьяна
Пользователь
✔️Основная часть✔️
Приветствую, работая адвокатом, я постоянно получаю множество звонков: то нужно срочно приехать в ГАИ или ДПС для оказания юридической помощи, то звонят заключённые из ИВС с просьбой приехать в ИК и помочь. Эти звонки стали чрезмерно навязчивыми, но игнорировать их не могу — иначе заключённые начнут звонить другим адвокатам.

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

Чтобы упростить себе работу и не терять клиентов, я написал AHK-скрипт, который:

  • считывает чатлог;
  • при появлении входящего звонка автоматически принимает вызов;
  • отправляет заранее заданный текст;
  • сбрасывает звонок.
Пример работы:
akCRnzR-ume3qfgoEJQaHgi7mD9cjzFMA6mdyzF_y87Lg069jvhKhdiF7X2-3d9Bo0lqJL6JtyLNTL0KYENXeMMX.jpg
Инструкция по установке автоответчика
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
}
5. Настройка скрипта под себя
Указание пути к чатлогу:
Найдите путь к вашей игре через лаунчер:
— Откройте лаунчер → нажмите на ⚙️ (шестерёнку) в правом верхнем углу → пролистайте вниз до поля Путь к игре.
— Откройте проводник, перейдите в указанную папку, затем пройдите путь: 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. Завершение
— Сохраните файл.
— Запустите его двойным щелчком.
— Зайдите в игру и протестируйте работу автоответчика.


monkey-business-on-the-phone.gif
 
Последнее редактирование:

Timofey_Nevskiy

Активный пользователь
Пользователь
Лаков а я незнал что ты работаешь рапом для создания ахк
 
Вверх
Розыгрыш