скрипт ахк

bogdanads2018

Новичок
Автор темы
2
0
Доброго времени суток! Помогите ребята пожалуйста сделать скрипт на AHK, т.к. никак не получается.
Хочу сделать следующее:
У меня запущен SAMP
Когда в чат вылетает строка например: Тестировение 1, Autotkey автоматически пишет в чат определенную команду, например:/sms.
Желательно и я думаю по факту, что это должно считываться с чатлога. Буду очень благодарен, кто поможет написать данный скрипт!
 

Adam_Rockwell

Активный
143
25
братан в ахк нет многопоточности)
Ну я же подметил - мнимую многопоточность.
Запустил setTimer. AHK будет выполнять и его и другие действия.
Если делать цикл Loop, он полностью заглушит скрипт (горячие клавиши может только выполняться будут от силы)
 

Randewoo

Потрачен
110
33
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну я же подметил - мнимую многопоточность.
Запустил setTimer. AHK будет выполнять и его и другие действия.
Если делать цикл Loop, он полностью заглушит скрипт (горячие клавиши может только выполняться будут от силы)
ну вот и подумай теперь, а может дело в тебе, у меня почему-то все прекрасно работало при запуске одного главного цикла.
 

Adam_Rockwell

Активный
143
25
ну вот и подумай теперь, а может дело в тебе, у меня почему-то все прекрасно работало при запуске одного главного цикла.
А ты попробуй помимо своего цикла с чатлогом какие-нибудь другие действия поделать.
 

Randewoo

Потрачен
110
33
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Adam_Rockwell

Активный
143
25
ну вот и подумай теперь, а может дело в тебе, у меня почему-то все прекрасно работало при запуске одного главного цикла.
Пример:
AutoHotKey:
#SingleInstance Force
#Persistent
#NoEnv
#Include SAMP_API.ahk

global path := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
global old := ""

Loop {
    FileRead, chatlog, % path
    chatlog := StrSplit(chatlog, "`n")
   
    if ((string := chatlog[chatlog.MaxIndex() - 1]) != old) {
        old := string
        FileAppend, % string "`n", trt.txt
    }
}
return

F9::
Loop
{
    addChatMessage("1")
    sleep 500
    addChatMessage("2")
    sleep 500
}
return
P.S: Чат лог чекаться перестаёт.
 

Randewoo

Потрачен
110
33
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пример:
AutoHotKey:
#SingleInstance Force
#Persistent
#NoEnv
#Include SAMP_API.ahk

global path := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
global old := ""

Loop {
    FileRead, chatlog, % path
    chatlog := StrSplit(chatlog, "`n")
 
    if ((string := chatlog[chatlog.MaxIndex() - 1]) != old) {
        old := string
        FileAppend, % string "`n", trt.txt
    }
}
return

F9::
Loop
{
    addChatMessage("1")
    sleep 500
    addChatMessage("2")
    sleep 500
}
return
P.S: Чат лог чекаться перестаёт.
а нахуя мне создавать второй цикл то скажи)
и да, вроде от addChatMessage() строки не летят в chatlog.txt
 

Randewoo

Потрачен
110
33
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Это мне говорит человек, заявляющий о своём пятилетнем опыте) Поняятно :)))
ахахах, бляяяять)))))))))))))
причем тут опыт и работа с udf?
я пишу на ahk макросы, работы с dll, десктопные приложения
под самп не писал уже так месяцев 5-6
такой ты валенок бля конечно)
 

Adam_Rockwell

Активный
143
25
Ну вот есть у нас чекер чата. Также в коде ещё косарь строк на разные там штучки дрючки. И что? Как быть?

ахахах, бляяяять)))))))))))))
причем тут опыт и работа с udf?
я пишу на ahk макросы, работы с dll, десктопные приложения
под самп не писал уже так месяцев 5-6
такой ты валенок бля конечно)
Так валенок то тут ты скорее. Только и можешь как без весомых аргументов называть чужой код быдлом, хотя сам не в состоянии придумать что-то лучше, эффективней и без багов и без оговорок аля «а нахер мне это надо, валенок ты, работает кое как и сойдёт»

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

Моё же решение исключает все эти косяки. И я тут не пытаюсь выпендриться, я просто отвечаю за то, что ты назвал быдлокодом)
 

Вложения

  • 2020-02-10_0-15-57.png
    2020-02-10_0-15-57.png
    16.4 KB · Просмотры: 182
  • mg 10-02-2020 00-15-49 [1].png
    mg 10-02-2020 00-15-49 [1].png
    343.3 KB · Просмотры: 182
Последнее редактирование:

Randewoo

Потрачен
110
33
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну вот есть у нас чекер чата. Также в коде ещё косарь строк на разные там штучки дрючки. И что? Как быть?


Так валенок то тут ты скорее. Только и можешь как без весомых аргументов называть чужой код быдлом, хотя сам не в состоянии придумать что-то лучше, эффективней и без багов и без оговорок аля «а нахер мне это надо, валенок ты, работает кое как и сойдёт»

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

Моё же решение исключает все эти косяки. И я тут не пытаюсь выпендриться, я просто отвечаю за то, что ты назвал быдлокодом)
ладно ладно заебал давай проведем турнир письками померимся с тебя тз вне сампа жду какой нить сверх сложный алгоритм
 

Adam_Rockwell

Активный
143
25
ладно ладно заебал давай проведем турнир письками померимся с тебя тз вне сампа жду какой нить сверх сложный алгоритм
разработаешь, опираясь на алгоритм IDA*, систему сбора пятнашек?) Размер доски 4х4, 5х5, 6х6. Я бы и заплатил даже. Реализация на php в идеале.
Вот тебе даже сурсы для частных случаев