1

Тема: AHK: Поочередная отправка сообщений по команде

Доброго дня. Сразу скажу, что скриптер из меня никакой, поэтому обращаюсь к вам. Значит есть код для GTA SA:MP, которые помогает в работе водителем автобуса. Фрагмент выглядит примерно так:

numpad3::
     SendPlay, {F6}Остановка "Полиция LS"{enter}
     Sleep 10000
     SendPlay, {F6}Осторожно, двери закрываются. Следующая остановка "Клуб ALHAMBRA"{enter}
     Sleep 3000
     Random, I, 1, 5 
     SendPlay, % "{F6}" Mess%I% "  {enter}"
     Return
numpad4::
     SendPlay, {F6}Остановка "Клуб ALHAMBRA"{enter}
     Sleep 10000
     SendPlay, {F6}Осторожно, двери закрываются. Следующая остановка "Ж/Д вокзал LS"{enter}
     Sleep 3000
     Random, I, 1, 5 
     SendPlay, % "{F6}" Mess%I% "  {enter}"
Return

Мне, собственно, нужно, чтобы эти сообщения отправлялись не при нажатии отдельной клавиши, а переключались между собой по очереди кнопками "numpad1" - назад и "numpad2" - вперед. Кнопка "numpad3" - отправить само сообщение в чат. Кнопка "numpad0" возвращала бы в самое начало.
Заранее спасибо

2

Re: AHK: Поочередная отправка сообщений по команде

Мне кажется,или я намудрил.


Count=1
Text1={F6}Остановка "Полиция LS"{enter}
Text2={F6}Осторожно, двери закрываются. Следующая остановка "Клуб ALHAMBRA"{enter}
main(t,tt)
{
global Count
SendPlay,%t%
Sleep 10000
SendPlay,%tt%
Sleep 3000
Random, I, 1, 5 
SendPlay, % "{F6}" Mess%I% "  {enter}"

}
Numpad0::Count=1
Numpad1::Count -=2
Numpad2::Count +=2
Numpad3::
Text := Text%Count%
Count++
Textt := Text%Count%
Count--
main(Text,Textt)
return

3

Re: AHK: Поочередная отправка сообщений по команде

Насколько я понял из  этого скрипта, он рассчитан только на два текста, но на деле их около 30

4

Re: AHK: Поочередная отправка сообщений по команде

Должно так работать:


max := 30, i := 1

Loop % max
    Text%A_Index% := "Текст " A_Index 
  
0:: i := 1
1:: i := i = 1 ? max : --i
2:: i := i = max ? 1 : ++i 
3:: SendInput % "{Raw}" Text%i% 

но у меня почему то неработает... А у Вас?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Поочередная отправка сообщений по команде

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

6

Re: AHK: Поочередная отправка сообщений по команде

Всё дошло, не хватало директивы UseHook:


#UseHook
max := 30, i := 1

Loop % max
    Text%A_Index% := "Текст " A_Index  
    
0:: i := 1 
1:: i := i = 1 ? max : --i 
2:: i := i = max ? 1 : ++i  
3:: SendInput % "{Raw}" Text%i% 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: AHK: Поочередная отправка сообщений по команде

serzh82saratov, я не думаю что сударь, тобишь топик стартер, поймет.

8

Re: AHK: Поочередная отправка сообщений по команде

letopisec пишет:

Мне кажется,или я намудрил.

Так это Я Вам. А Вы уже Ему поможете.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Поочередная отправка сообщений по команде

Что то типа такого:


#UseHook
max := 2, i := 1 
 
Text_a_1 = Остановка "Полиция LS 
Text_b_1 = Осторожно, двери закрываются. Следующая остановка "Клуб ALHAMBRA" 

Text_a_2 = Остановка "Клуб ALHAMBRA" 
Text_b_2 = Осторожно, двери закрываются. Следующая остановка "Ж/Д вокзал LS"  
    
0:: i := 1 
1:: i := i = 1 ? max : --i 
2:: i := i = max ? 1 : ++i  
3:: SendPlay( Text_a_%i%, Text_b_%i%)
 
SendPlay(text1,text2)  {  
    SendPlay, {F6}%text1%{enter}
    Sleep 1000 
    SendPlay, {F6}%text2%{enter}
    Sleep 3000
    Random, I, 1, 5 
    SendPlay, % "{F6}" Mess%I% "{enter}" 
} 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui