Помогите сделать скрипт

Тема в разделе "Вопросы", создана пользователем AngelLics, 10 янв 2019.

  1. AngelLics

    AngelLics Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    Помогите сделать скрипт, просто только начал этим заниматься. Нужно что бы скрипт включался на команду в чате. Потом отслеживал pay day и при нём нажимал сначала LAlt, потом Enter.
    Примерно:
    В чате пишу /startahk
    В ответ в чате: AHK включен
    *Ждёт PayDay*
    При PayDay нажимает LAlt, потом Enter
    Буду очень благодарен
     
  2. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    Не с того ты начал изучение AHK. Я бы тебе посоветовал для начала разобраться в тонкостях работы этого языка, а уже после прыгать на такого плана скрипты.

    
    Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)
    
    $~NumpadEnter::
    $~Enter::
    if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
       Return
    Sleep 250
    tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
    if (tempText == "/startahk")
    {
       addChatMessage("{ffffff}AHK включен.")
       ; Тут код чтения чатлога
       Return
    }
    Return
    Тут найдешь код для чтения чата: https://blast.hk/threads/23860/

    Потом напиши из чатлога строку, какую тебе необходимо найти, дальше помогу с кодом.
     
    #2 #darksoor, 10 янв 2019
    Последнее редактирование: 10 янв 2019
  3. Charls

    Charls Участник

    Регистрация:
    28 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    Щас ночь, не могу понять как работает чтение чат лога.
    Мне нужна строчка
    До следующего уровня: (здесь кол-во часов, оно всегда меняется)
     
  4. Carloson

    Carloson Местный житель

    Регистрация:
    27 июн 2017
    Сообщения:
    926
    Симпатии:
    264
    Может потому что его тут нету xD
     
  5. Charls

    Charls Участник

    Регистрация:
    28 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    я не тупой) Я по ссылке перешёл
     
  6. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    SetTimer`ом запускается.

    Регулярка нужна такая:
    save(chatlog) {  
       static logschat:=A_MyDocuments "\GTA San Andreas User Files\SAMP\ChatLogs\"  
       static chat:=A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"  
       FileCreateDir, % logschat A_MM "-" A_YYYY  
       FileAppend, % chatlog, % logschat A_MM "-" A_YYYY "\" A_DD "." A_MM "." A_YYYY ".txt"  
       FileDelete, % chat  
       return
    }
    
    Include SAMP-UDF.ahk ;подключаешь SAMP-UDF (создаёшь рядом со своим скриптом файлик SAMP-UDF.ahk, после переходишь в тему "https://blast.hk/threads/20318/"(без кавычек) и копируешь в данный файл код)
    global file_chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
    
    $~NumpadEnter::
    $~Enter::
    if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
       Return
    Sleep 250
    tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
    if (tempText == "/startahk")
    {
       save(chatlog)
       addChatMessage("{ffffff}AHK включен.")
       SetTimer, chat, 50
       Return
    }
    if (tempText == "/offahk")
    {
       addChatMessage("{ffffff}AHK выключен.")
       SetTimer, chat, off
       Return
    }
    Return
    
    Chat() {
      FileRead, chatlog, % file_chat
      if (RegExMatch(chatlog, "До следующего уровня\:\s(\d+)", var)) {
       save(chatlog)
       SendInput, {Alt}
       Sleep, 1500
       SendInput, {vkD}
       return
      }
    }
    Команда /offahk отключит чтение чатлога.
     
    #6 #darksoor, 10 янв 2019
    Последнее редактирование: 10 янв 2019
  7. AngelLics

    AngelLics Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    Получается мне нужно создать файл SAMP-UDF.ahk и в него скопировать весь текст от сюда "http://rebres.ru/AutoHotKey/SAMP-UDF-037-R2.ahk" ?
     
  8. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    Все верно.
     
  9. Charls

    Charls Участник

    Регистрация:
    28 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    Не работает

    Запускаю скрипт, выдаёт ошибку про SAMP-UDF. Хочу запустить SAMP-UDF не запускается
     
  10. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    SAMP-UDF и не нужно запускать.

    Скриншот ошибки кинь.
     
  11. AngelLics

    AngelLics Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    ты забыл в 10 строчке #Include
    Ты сделал без #

    Скрипт запустил, но не могу понять как его включить))
     
    #11 AngelLics, 11 янв 2019
    Последнее редактирование: 11 янв 2019
  12. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    Копировал код с телефона, бывает))

    В чат команду /startahk
     
  13. Charls

    Charls Участник

    Регистрация:
    28 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    Не работает
     
  14. SuSmer4Coder

    SuSmer4Coder Свой человек

    Регистрация:
    5 авг 2016
    Сообщения:
    312
    Симпатии:
    29
    Стоп это что, регистрация команды в чат??
     
  15. Charls

    Charls Участник

    Регистрация:
    28 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    Здесь, что-то не так?
     
  16. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    Это чтение из памяти игры того, что ты ввёл в чат. Обычно обзывают chatInput переменную.

    AHK установи в ANSI-32, версия SAM-UDF должна соответствовать версии клиента, если не получится - отключай антивирусник.
     
  17. AngelLics

    AngelLics Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    Установил в ANSI-32, при вводе /startahk вылетает самп
     
  18. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    Версия UDF не та.
     
  19. AngelLics

    AngelLics Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    Всё сделал, но когда строчка в чате появляется, Alt и Enter не нажимаются

    Текст точно тот, чатлог чекнул он очищается при этой строчке
    Но не нажимает кнопки

    Он Левый Alt не нажимает

    Не могу понять как поставить Alt
    {LAlt} ,{Alt},{sc38},{vkA4} не работают)) Помоги, как сделать что бы он нажимал Alt
     
  20. #darksoor

    #darksoor Знающий

    Регистрация:
    10 июл 2016
    Сообщения:
    268
    Симпатии:
    52
    Быдлокодом пробуй:
    SendInput, {vkA4 Down}
    Sleep, 10
    SendInput, {vkA4 Up}
     
  21. AngelLics

    AngelLics Участник

    Регистрация:
    10 янв 2019
    Сообщения:
    6
    Симпатии:
    0
    Не-а, не работает

    Или я рукожоп или что? Альт нажимается везде, но не в самп