Завтра сделаюКак при появленние диалога ид 966 кликать на строку с названнием "Ак 47" и туда вводить число и там откроется диалог ид 977 в котрые нужно вводить инфо по типу диалога с паролем, как туда ввести 1?
966 - диалог с выбором вариантов? (как меню)Как при появленние диалога ид 966 кликать на строку с названнием "Ак 47" и туда вводить число и там откроется диалог ид 977 в котрые нужно вводить инфо по типу диалога с паролем, как туда ввести 1?
numpad1::
{
If (isDialogOpen() = 1 && getDialogID() = 966)
count := getDialogLineCount()
loop % count
text := getDialogLine(%A_Index%)
if(text contains Ак-47) ; тут на русском название, меняй на то, что нада
{
result := %A_index%
}
SetDialogIndex(result)
sendinput, {enter}
sleep 400
If (isDialogOpen() = 1 && getDialogID() = 977)
{
sendinput, 1
}
return
}
Да спасибо, диалог как с выбором.966 - диалог с выбором вариантов? (как меню)
Ща попробую накидать....
AutoHotKey:numpad1:: { If (isDialogOpen() = 1 && getDialogID() = 966) count := getDialogLineCount() loop % count text := getDialogLine(%A_Index%) if(text contains Ак-47) ; тут на русском название, меняй на то, что нада { result := %A_index% } SetDialogIndex(result) sendinput, {enter} sleep 400 If (isDialogOpen() = 1 && getDialogID() = 977) { sendinput, 1 } return }
попробуй так, я скобки забыл в loopДа спасибо, диалог как с выбором.
Но он не нажимает на диалог, а наводит на последнюю строчку, смотри мне нужно( беру за пример ) что бы когда открыл /mm и нажал на numpadd1 нажимало на Моя статистика, а он отправляет на последню строчку..
numpad1::
{
If (isDialogOpen() = 1 && getDialogID() = 966)
count := getDialogLineCount()
loop % count
{
text := getDialogLine(%A_Index%)
if(text contains Ак-47) ; тут на русском название, меняй на то, что нада
{
result := %A_index%
}
}
SetDialogIndex(result)
sendinput, {enter}
sleep 400
If (isDialogOpen() = 1 && getDialogID() = 977)
{
sendinput, 1
}
return
}
Смотри, вот действие с АК 47 закончено, его скрипт сделал, как сделать еще одно такое действие для м4?966 - диалог с выбором вариантов? (как меню)
Ща попробую накидать....
AutoHotKey:numpad1:: { If (isDialogOpen() = 1 && getDialogID() = 966) count := getDialogLineCount() loop % count text := getDialogLine(%A_Index%) if(text contains Ак-47) ; тут на русском название, меняй на то, что нада { result := %A_index% } SetDialogIndex(result) sendinput, {enter} sleep 400 If (isDialogOpen() = 1 && getDialogID() = 977) { sendinput, 1 } return }
Смотри, вот действие с АК 47 закончено, его скрипт сделал, как сделать еще одно такое действие для м4?
numpad2::
{
If (isDialogOpen() = 1 && getDialogID() = 966)
count := getDialogLineCount()
loop % count
text := getDialogLine(%A_Index%)
if(text contains M4) ; тут на русском название, меняй на то, что нада
{
result := %A_index%
}
SetDialogIndex(result)
sendinput, {enter}
sleep 400
If (isDialogOpen() = 1 && getDialogID() = ); тут id диалога с m4
{
sendinput, 1
}
return
}
Смотри, вот действие с АК 47 закончено, его скрипт сделал, как сделать еще одно такое действие для м4?
И еще нажимает на 1 строчку, а АК 47 может быть как и первой, так и 4, 3, 2, 1.
Смотри, еще 1 вопросс как в одной функцие запихнуть и АК 47, и М4?AutoHotKey:numpad2:: { If (isDialogOpen() = 1 && getDialogID() = 966) count := getDialogLineCount() loop % count text := getDialogLine(%A_Index%) if(text contains M4) ; тут на русском название, меняй на то, что нада { result := %A_index% } SetDialogIndex(result) sendinput, {enter} sleep 400 If (isDialogOpen() = 1 && getDialogID() = ); тут id диалога с m4 { sendinput, 1 } return }
Смотри, еще 1 вопросс как в одной функцие запихнуть и АК 47, и М4?
numpad2::
{
gun("M4") ; Вводи на нужной раскладке
sleep 400
If (isDialogOpen() = 1 && getDialogID() = ); тут id диалога с m4
sendinput, 1
gun("AK47") ; Вводи на нужной раскладке
return
}
gun(what)
{
If (isDialogOpen() = 1 && getDialogID() = 966)
loop % getDialogLineCount()
{
text := getDialogLine(A_Index)
if (text contains %what%)
{
SetDialogIndex(A_Index)
sendinput, {enter}
}
}
}
СделаюПривет. Помогите, пожалуйста.
Хочу сделать так, что при выборе диалогового окна у меня открывался чат, после чего было предложение ввести 2 цифры (1 или 2), при выборе 1 - идет одно действие, при выборе 2 - другое.
Заранее хочу поблагодарить. Надеюсь мне помогут :(
Диалоговое окно в скрипте или серверное?Привет. Помогите, пожалуйста.
Хочу сделать так, что при выборе диалогового окна у меня открывался чат, после чего было предложение ввести 2 цифры (1 или 2), при выборе 1 - идет одно действие, при выборе 2 - другое.
Заранее хочу поблагодарить. Надеюсь мне помогут :(
А не проще ещё один диалог вывести?В скрипте. Допустим, в диалоговом окне строчка: "Наказания", я выбираю ее - открывается чат, (В addchatmessage мне предлагается выбор "Нажмите 1 или 2"), если я ввожу 1 в чат - пишется, к примеру, заготовка для мута (/mute 30 MG); если ввожу 2 - заготовка для деморгана (/jail 30 DM) и т.д.
Ща, минут 5-10 и напишу тогдаНет, в этом то и загвоздка.
#IfWinActive GTA:SA:MP
#NoEnv
#SingleInstance, force
#Include SAMP.ahk
LineResult() {
if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
return false
while (isDialogOpen())
continue
if(GetKeyState("Esc", "P"))
return false
return getDialogLineNumber()
}
f2::
{
ShowDialog("2", "[AHK]: Admin-panel", "{800080}1. {66CDAA}Что-то`n{800080}2. {66CDAA}Наказания", "Выбрать")
Result := LineResult()
if (!Result)
return
if (Result == 1)
{
addChatMessageEx("800080", "[AHK]: {66CDAA}Что-то....")
return
}
if (Result == 2)
{
addChatMessageEx("800080", "[AHK]: {66CDAA} Нажмите соответствующую клавишу для заготовки наказания:")
addChatMessageEx("800080", "[AHK]: {66CDAA} 1 - ...")
addChatMessageEx("800080", "[AHK]: {66CDAA} 2 - ...")
if (GetKeyState("1", "P") == true)
{
sendinput {f6}/mute 30 MG
return
}
if (GetKeyState("2", "P") == true)
{
sendinput {f6}/jail 30 DM
return
}
else
return
}
return
}
f2::
{
ShowDialog("2", "[AHK]: Admin-panel", "{800080}1. {66CDAA}Что-то`n{800080}2. {66CDAA}Наказания", "Выбрать")
Result := LineResult()
if (!Result)
return
if (Result == 1)
{
addChatMessageEx("800080", "[AHK]: {66CDAA}Что-то....")
return
}
if (Result == 2)
{
addChatMessageEx("800080", "[AHK]: {66CDAA} Нажмите соответствующую клавишу для заготовки наказания:")
addChatMessageEx("800080", "[AHK]: {66CDAA} 1 - ...")
addChatMessageEx("800080", "[AHK]: {66CDAA} 2 - ...")
wait:
{
if (GetKeyState("1", "P") == true)
{
sendinput {f6}/mute 30 MG
return
}
if (GetKeyState("2", "P") == true)
{
sendinput {f6}/jail 30 DM
return
}
else
goto, wait
}
}
return
}
строчка с пояснением из юдфСпасибо большое! Но можете обьяснить как работает это:
addChatMessageEx("800080", "[AHK]: {66CDAA} Нажмите соответствующую клавишу для заготовки наказания:")
addChatMessageEx("800080", "[AHK]: {66CDAA} 1 - ...")
addChatMessageEx("800080", "[AHK]: {66CDAA} 2 - ...")
addChatMessageEx(Color, wText);- Локальное сообщение с изменением цвета timestamp'a