1

Тема: [SA:MP] Ahk помогите написать скрипт.

Добрый день, я в ahk полный 0,но мне надо скрипт для SAMP + возможно под черпнуть знание.
И так ближе к сути, нужно написать скрипт в таком стиле: Я в чате пишу команду /команда мне открывается диалоговое окно с заданным за ранее текстом.

2

Re: [SA:MP] Ahk помогите написать скрипт.

:?:/команда::
{ 
help = 
( 
Всякий заданный текст
В несколько строк.							   
) 
showDialog(0, "Название диалога", help, " Закрыть ") 
} 
Return

Ну это в очень простом использовании ибо больше расписывать лень. Так тоже будет работать.
Для работы нужен SAMP UDF.

3

Re: [SA:MP] Ahk помогите написать скрипт.

slavafedora пишет:
:?:/команда::
{ 
help = 
( 
Всякий заданный текст
В несколько строк.							   
) 
showDialog(0, "Название диалога", help, " Закрыть ") 
} 
Return

Ну это в очень простом использовании ибо больше расписывать лень. Так тоже будет работать.
Для работы нужен SAMP UDF.

Спасибо, буду думать что и как и до чего.

4

Re: [SA:MP] Ahk помогите написать скрипт.

slavafedora пишет:
:?:/команда::
{ 
help = 
( 
Всякий заданный текст
В несколько строк.							   
) 
showDialog(0, "Название диалога", help, " Закрыть ") 
} 
Return

Ну это в очень простом использовании ибо больше расписывать лень. Так тоже будет работать.
Для работы нужен SAMP UDF.

а вот еще вопрос,как сделать диалоговое окно с возможностью выбора.
тоисть: есть строчка 1.Текст строчки, когда нажимаю на эту строку откриваеться другое окно с текстом.

5

Re: [SA:MP] Ahk помогите написать скрипт.

#include SAMP.ahk
~ESC::
~F6::
menu:=0 ; Обнуляем меню при нажатии ESC и F6
return

F3:: ; Кнопка вызова диалога
menu:=1
ShowDialog("2", "Диалог 1", "Первая`nВторая","Отмена") ; Диалог
return
F4:: ; Кнопка вызова диалога
menu:=2
ShowDialog("2", "Диалог 2", "Первая`nВторая","Отмена") ; Диалог
return

~LButton::
if (A_PriorHotkey <> "~LButton" or A_TimeSincePriorHotkey > 500) ; Проверяем нажато ли два раза ЛКМ за 500мс, если нет ждем второе нажатие и ретурним
{
KeyWait, LButton
return
}
; Если нажато два раза, то делаем то что ниже
if (menu==1) ; Если "menu" равно 1
{
menu:=0 ; деактивирует меню
line:=getDialogLineNumber() ; В переменную "line" будет номер выбранной строки
sleep, 100 ; задержка перед телепортом на метку (можно делать под себя)
Gosub, menu_1_%line% ; переходит на мету выбранного пункта
return
}
if (menu==2) ; Если "menu" равно 2
{
menu:=0 ; деактивирует меню
line:=getDialogLineNumber() ; В переменную "line" будет номер выбранной строки
sleep, 100 ; задержка перед телепортом на метку (можно делать под себя)
Gosub, menu_2_%line% ; переходит на мету выбранного пункта
return
}
return

$~Enter:: ; при нажатии на Entrer
if (menu==1) ; Если "menu"равно 1
{
menu:=0 ; деактивирует меню
line:=getDialogLineNumber() ; В переменную "line" будет номер выбранной строки
sleep, 500 ; задержка перед телепортом на метку (можно делать под себя)
Gosub, menu_1_%line% ; переходит на мету выбранного пункта
return
}
if (menu==2) ; Если "menu" равно 2
{
menu:=0 ; деактивирует меню
line:=getDialogLineNumber() ; В переменную "line" будет номер выбранной строки
sleep, 500 ; задержка перед телепортом на метку (можно делать под себя)
Gosub, menu_2_%line% ; переходит на мету выбранного пункта
return
}
return

menu_1_1: ; это Первая строка в 1 диалоге
addChatMessage("Вы выбрали первую строку в диалоге №1")
return
menu_1_2: ; это Вторая строка в 2 диалоге
addChatMessage("Вы выбрали вторую строку в диалоге №1")
return

menu_2_1: ; это Первая строка в 2 диалоге
addChatMessage("Вы выбрали первую строку в диалоге №2")
return
menu_2_2: ; это Вторая строка в 2 диалоге
addChatMessage("Вы выбрали вторую строку в диалоге №2")
return

Небольшой урок. Изучайте.

6

Re: [SA:MP] Ahk помогите написать скрипт.

5alamander
Прочтите правила форума, приведите в порядок заголовок и свои посты (уберите избыточное цитирование и выделение текста всего поста жирным шрифтом, проставьте отсутствующие заглавные буквы). На исправления даётся 3 дня.
До исправлений ответы запрещены.


slavafedora
Уже который раз замечаю, что отвечаете в темах с нарушениями. Прошу больше этого не делать.


5alamander
Замечание за неисполнение требований администрации. Тема закрыта.