Вопросы по AHK-скриптингу

Kolya_Kortez

Участник
49
3
можете подсказать, как использовать команду, ща расскажу в чём косяк
Код:
if (RegExMatch(chatInput, "^/fakeuval\s+(.*)\s+(.*)$", out))
{
addChatMessageEx("6495ed", "[Организация] {FFFFFF}" id_mynames " выгнал " out1 " из организации. Причина: " out2 "")
addChatMessageEx("6495ed", "Вы выгнали " out1 ". Причина: " out2 "")
}

Если использовать /fakeuval Loh_Lohov какашка , то увольняет с верным фейк текстом.
А если /fakeuval Loh_Lohov какашка тупая, в исходе получается криво.
Thomas_Moody выгнал Loh_Lohov какашка из организации. Причина: тупая

Мне нужно если /fakeuval Loh_Lohov какашка тупая, было:
Thomas_Moody выгнал Loh_Lohov из организации. Причина: какашка тупая

Скрины:
Imgur(https://imgur.com/a/5swDU)
 

Rental

Участник
60
1
можете подсказать, как использовать команду, ща расскажу в чём косяк
Код:
if (RegExMatch(chatInput, "^/fakeuval\s+(.*)\s+(.*)$", out))
{
addChatMessageEx("6495ed", "[Организация] {FFFFFF}" id_mynames " выгнал " out1 " из организации. Причина: " out2 "")
addChatMessageEx("6495ed", "Вы выгнали " out1 ". Причина: " out2 "")
}

Если использовать /fakeuval Loh_Lohov какашка , то увольняет с верным фейк текстом.
А если /fakeuval Loh_Lohov какашка тупая, в исходе получается криво.
Thomas_Moody выгнал Loh_Lohov какашка из организации. Причина: тупая

Мне нужно если /fakeuval Loh_Lohov какашка тупая, было:
Thomas_Moody выгнал Loh_Lohov из организации. Причина: какашка тупая

Скрины:
Imgur(https://imgur.com/a/5swDU)

(RegExMatch(chatInput, "^/fakeuval\s+(.*)\s+(.*)$", out))
Смотри, у тебя стоит в конце $ что значит, что он берет набор символов, перед которыми есть пробел и они в самом конце!
http://ahk-wiki.ru/regex написал(а):
$ можно ставить в конец шаблона, требуя, чтобы соответствие было найдено в конце строки. Например, abc$ ответит 123abc, но не ответит abc123.
Тоесть
/fakeuval [Loh_Lohov какашка] [тупая]
Убери $ и должно заработать, получается он привязывает что последнее слово только будет в out 2
Вот ссылки RegEx -Autohotkey(http://ahk-wiki.ru/regex) AutoHotkey: RegExMatch()(http://www.script-coding.com/AutoHotkey/RegExMatch.html)
 

Rental

Участник
60
1
AutoHotKey:
If (A_Hour == 10 and A_Min == 43) {
    MsgBox, Текущее время 10:43
}


Что тут объяснять ты в первом посту еще все расписал:
o.name
o.id
o.ped
o - Это название второй переменной в цикле for
Тоесть у нас есть как бы массив с ключом(ID) и данным в этом ключе равным ID, а когда мы добавляем к данному методы обработки(или как-то так, та самая .PED и т.д.)нам вместо ID выдается нужный результат, так? Как тогда узнать все доступные методы, не подбирать же их наугад?

Другой вопрос:
Здесь в 1 раз записывает, но потом не добавляет новых
Код:
list:=[]
!1::
play:=[]
play:=getStreamedInPlayersInfo()
for r, o in list
{
if r != play[r]*
{
list.push(play[r]*)
}
}
if !r
{
list.push(play*)
}
for r, o in list
{
addChatMessage(o.id)
}
return
Я хочу что б при нажатии запоминались все имена в массиве. И когда появятся новые он бы тоже добавлял их в массив. Как это сделать?
 

Kolya_Kortez

Участник
49
3
(RegExMatch(chatInput, "^/fakeuval\s+(.*)\s+(.*)$", out))
(RegExMatch(chatInput, "^/fakeuval\s+(.*)\s+(.*)$", out))
Смотри, у тебя стоит в конце $ что значит, что он берет набор символов, перед которыми есть пробел и они в самом конце!

Тоесть
/fakeuval [Loh_Lohov какашка] [тупая]
Убери $ и должно заработать, получается он привязывает что последнее слово только будет в out 2
Вот ссылки RegEx -Autohotkey(http://ahk-wiki.ru/regex) AutoHotkey: RegExMatch()(http://www.script-coding.com/AutoHotkey/RegExMatch.html)
нет. не помогло.
 

StenMarsh

Новичок
29
2
Помогите сделать так чтобы при открытом "/mn > Статистика игрока" Поле "Имя" считывалось и при нажатии Alt+1 выводилось в чат "Имя" с "/mn > Статистика игрока"

Вот код который я пытался сделать
!1::
addChatMessage()
for k, v in getDialogLines()
{
if else (RegExMatch(v, "^{FFFFFF}Имя:\s+{0099ff}(.*)$", out_pars))
; var := out_pars1
return
}
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Зачем тут цикл for ?
Я отвечал на форуме с примером считывания с диалога для дрп, ищи
 

StenMarsh

Новичок
29
2
upload_2018-2-17_23-42-35.png


1. {FFFFFF}Номер аккаунта: {0099ff}564372
2. {FFFFFF}Имя: {0099ff}Neyman_Street
3. {FFFFFF}Уровень: {0099ff}6
4. {FFFFFF}Очки опыта: {0099ff}8 из {0099ff}36
5. {FFFFFF}Предупреждений: {0099ff}0
6.
7. {FFFFFF}Номер телефона: {0099ff}252725
8. {FFFFFF}На счету телефона: {0099ff}470
9.
10. {FFFFFF}Законопослушность: {0099ff}98
11. {FFFFFF}Уровень розыска: {0099ff}0
12. {FFFFFF}Легких наркотиков: {0099ff}0 гр.
13. {FFFFFF}Тяжелых наркотиков: {0099ff}0 гр.
14. {FFFFFF}Патроны: {0099ff}469
15. {FFFFFF}Ед. Оружия: {0099ff}500
16. {FFFFFF}Сигареты: {0099ff}0
17.
18. {FFFFFF}Пол: {0099ff}Мужской
19. {FFFFFF}Возраст: {0099ff}26
20. {FFFFFF}Муж/Жена: {0099ff}Отсутствует
21. {FFFFFF}Национальность: {0099ff}Американец
22.
23. {FFFFFF}Организация: {0099ff}Министерство обороны
24. {FFFFFF}Работа/Должность: {0099ff}Сухопутные Войска / Младший лейтенант
25. {FFFFFF}Ранг: {0099ff}5
26. {FFFFFF}Выговоров: {0099ff}1
27.
28. {FFFFFF}Дом: {0099ff}Отсутствует
29. {FFFFFF}Бизнес: {0099ff}Отсутствует (0)
30. {FFFFFF}Отель: {0099ff}№ Вашей комнаты: 7
31.
32. {FFFFFF}Время: {0099ff}14:14:26
33. {FFFFFF}Дата: {0099ff}17.02.2018
34.
 

StenMarsh

Новичок
29
2
Как запустить данный скрипт, или как он работает. Как он вообще запускается?
SetTimer, Stat, 500
Stat:
If (isDialogOpen() = 1)
{
title := getDialogCaption()
If (title == "{cc9900}Статистика")
{
SetTimer, Stat, OFF
RegExMatch(getDialogLine(2), "{FFFFFF}Имя:\s+{0099ff}(.*)", name)
RegExMatch(getDialogLine(7), "{FFFFFF}Номер телефона:\s+{0099ff}(.*)", phone)
RegExMatch(getDialogLine(18), "{FFFFFF}Пол:\s+{0099ff}(.*)", sex)
RegExMatch(getDialogLine(23), "{FFFFFF}Организация:\s+{0099ff}(.*)", frak)
RegExMatch(getDialogLine(25), "{FFFFFF}Ранг:\s+{0099ff}(.*)", rang)
RegExMatch(getDialogLine(26), "{FFFFFF}Выговоров:\s+{0099ff}(.*)", war)
If RegExMatch(getDialogLine(24), "{FFFFFF}Работа/Должность:\s+{0099ff}(.*)/(.*)", dol) {
addchatmessageEx("0099ff", name1 " | " phone1 " | " sex1 " | " frak1)
addchatmessageEx("0099ff", dol1 " | " dol2 " | " rang1 " | " war1)
} else {
RegExMatch(getDialogLine(24), "{FFFFFF}Работа/Должность:\s+{0099ff}(.*)", dol)
addchatmessageEx("0099ff", name1 " | " phone1 " | " sex1 " | " frak1)
addchatmessageEx("0099ff", dol1 " | " rang1 " | " war1)
}
}
}
return
 

sswsx

Участник
65
6
Как запустить данный скрипт, или как он работает. Как он вообще запускается?
SetTimer, Stat, 500
Stat:
If (isDialogOpen() = 1)
{
title := getDialogCaption()
If (title == "{cc9900}Статистика")
{
SetTimer, Stat, OFF
RegExMatch(getDialogLine(2), "{FFFFFF}Имя:\s+{0099ff}(.*)", name)
RegExMatch(getDialogLine(7), "{FFFFFF}Номер телефона:\s+{0099ff}(.*)", phone)
RegExMatch(getDialogLine(18), "{FFFFFF}Пол:\s+{0099ff}(.*)", sex)
RegExMatch(getDialogLine(23), "{FFFFFF}Организация:\s+{0099ff}(.*)", frak)
RegExMatch(getDialogLine(25), "{FFFFFF}Ранг:\s+{0099ff}(.*)", rang)
RegExMatch(getDialogLine(26), "{FFFFFF}Выговоров:\s+{0099ff}(.*)", war)
If RegExMatch(getDialogLine(24), "{FFFFFF}Работа/Должность:\s+{0099ff}(.*)/(.*)", dol) {
addchatmessageEx("0099ff", name1 " | " phone1 " | " sex1 " | " frak1)
addchatmessageEx("0099ff", dol1 " | " dol2 " | " rang1 " | " war1)
} else {
RegExMatch(getDialogLine(24), "{FFFFFF}Работа/Должность:\s+{0099ff}(.*)", dol)
addchatmessageEx("0099ff", name1 " | " phone1 " | " sex1 " | " frak1)
addchatmessageEx("0099ff", dol1 " | " rang1 " | " war1)
}
}
}
return

Если диалоговое окно с заголовком "Статистика" открыто, он считывает строки. Насколько я знаю.
 

sswsx

Участник
65
6
Активация автоматическая.
Если открыт диалог с названием "Статистика", то он возьмет информацию с этого диалога, запишет в переменные, затем выведет их в чат.
Чтобы запустить, тебе нужно скачать АХК с офф сайта, создать .ahk файл, засунуть туда этот код, подключить САМП удф, запустить.
Настолько до мелких деталей, аж до скачивания ахк
 

Sparkyo

Известный
9
0
Нужно написать скрипт, который будет предназначен для любой игры, или рабочего стола, тобишь будет работать везде, извиняюсь сразу за, возможно, не правильное объяснение.

Сам скрипт: Активация\Деактивация клавишей F11, до нажатия данной клавишы, скрипт не должен воспроизводится, после нажатия скрипт скролит колесико мыши 4 раза вниз (mwheeldown), все 4 раза с задержкой в 370 миллисекунд, после этого нажатие ЛКМ, нажать 1 раз с той же задержкой, после этих действий задержка в 26000 миллисекунд, тобишь 26 секунд, и все это в цикле, то-есть после задержки в 26 секунд все по новой, вот и все.

Прошу вас помочь в написании данного скрипта, буду очень благодарен.
 
Последнее редактирование:

Sparkyo

Известный
9
0
Понятие "помогите" и "сделайте в готовом виде" разное.
Суды обрящяються обычно Работа и услуги(https://blast.hk/forums/16/)

Есть уже готовые заготовки?

Вот так пытался, не бейте, понимаю что довн. :(

Код:
#MaxThreadsPerHotkey, 2

F11::
    If A_IsPaused
    {
        Pause, Off
        Return
    }
    Else
    {
        If Running
        {
            Pause, On
        }
        Else
        {
            Running := True
Loop

{
   
Click, WheelDown, 4
   
Sleep, 350
   
Click, Left, 1
   
Sleep, 350

Sleep, 25000
}
        }
    }
Return
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Вот так пытался, не бейте, понимаю что довн. :(

Код:
#MaxThreadsPerHotkey, 2

F11::
    If A_IsPaused
    {
        Pause, Off
        Return
    }
    Else
    {
        If Running
        {
            Pause, On
        }
        Else
        {
            Running := True
Loop

{
  
Click, WheelDown, 4
  
Sleep, 350
  
Click, Left, 1
  
Sleep, 350

Sleep, 25000
}
        }
    }
Return
Через 4 часика буду, щяс занят.