Revalto
Известный
- 531
- 225
Наченем с того, что за { и } за пределами активаций?, Так же при использовании второй проверки, вы не внесли данные для проверки. Формат: if(проверка) { ;code }Можете подсказать из-за чего не работает скрипт? И как его решить проблему.
Код:{ numpad0:: NearIdCar := NearPlayerInCar(90) ModelName :="" if (NearIdCar >= 0) { ModelName := getTargetVehicleModelNameById(NearIdCar) } if ModelName != { if (ModelName = "Coach") or (ModelName = "Bus") sendChat("/m Водитель автобуса, немедленно прижмитесь к обочине!") else if (ModelName = "Cabbie") or (ModelName = "Taxi") sendChat("/m Водитель такси, немедленно прижмитесь к обочине!") else if (ModelName = "Tanker") or (ModelName = "Linerunner") or (ModelName = "Roadtrain") sendChat("/m Водитель грузовика, немедленно прижмитесь к обочине!") else if (ModelName = "PCJ-600") or (ModelName = "Faggio") or (ModelName = "Freeway") or (ModelName = "Sanchez") or (ModelName = "FCR-900") or (ModelName = "NRG-500") or (ModelName = "BF-400") or (ModelName = "Wayfarer") sendChat("/m Водитель мотоцикла " ModelName " номер, немедленно прижмитесь к обочине!") else if (ModelName = "Quad") sendChat("/m Водитель квадроцикла " ModelName " немедленно прижмитесь к обочине!") else sendChat("/m Водитель автомобиля " ModelName " немедленно прижмитесь к обочине!" Return { }
Это выглядит как заказ. Не думаю, что есть желающие писать бесплатно...Здравствуйте.
У меня такая вот просьба. Мне нужен AHK скрипт чтобы он писал в чат доклад, потом для МЕНЯ в чате появлялась надпись в чате " Нажмите F3 для следующего поста", и когда я жму появляется следующий доклад. Надеюсь понятно объяснил. Самому сделать не получилось, т.к. в AHK 0.Буду очень благодарен
Не могу разобраться, как оптимизировать две кнопки в диалоге UDF. Вот код, кнопки "Открыть" и "Закрыть", все мои старания приводили к тому, что "Закрыть" действовало как "Открыть", и "Открыть" как "Закрыть", единственным вариантом было просто поменять их местами. Но это неудобно и непривычно, "Открыть" всегда делают слева, поэтому хочу чтобы две кнопки адекватно работали.
Код:checkdialogMenu: if (isDialogButton1Selected() == 1) { menu := 0 }
Код:
#include UDF_037.ahk ; UDF_037.ahk - это название файла UDF
;=============================================
; Обнуление переменной при нажатии ESC и F6
;=============================================
~ESC::
~F6::
menu:=0
return
;=============================================
; Кнопки вызова диалогов
;=============================================
F3::
menu := 1
ShowDialog(2, "Диалог 1", "Первая`nВторая", "X")
return
F4::
menu := 2
ShowDialog(2, "Диалог с подменю", "Лекции`nПункт без доп. меню", "X")
return
~LButton::
Time := A_TickCount
while(isDialogOpen())
{
if (A_TickCount - Time > 500)
{
Return
}
}
checkdialogMenu:
if (isDialogButton1Selected() == 1)
{
menu := 0
}
ifWinNotActive, GTA:SA:MP
{
return
}
;=============================================
; Проверка на активное меню
;=============================================
if (menu == 1)
{
menu := 0
line_num := getDialogLineNumber()
line_text := getDialogLine(line_num)
addChatMessage("Выбрано: " line_text)
return
}
else if (menu == 2)
{
menu := 0
line_num := getDialogLineNumber()
line_text := getDialogLine(line_num)
if (line_num == 1)
{
showDialog(2, "Подменю", "Первый пукнкт`nВторой пункт", "X")
menu := 3
}
else if (line_num == 2)
addChatMessage("Выбрано: " line_text)
return
}
else if (menu == 3)
{
menu := 0
line_num := getDialogLineNumber()
line_text := getDialogLine(line_num)
addChatMessage("В подменю выбрано: " line_text)
return
}
return
~Enter::
gosub, checkdialogMenu
return#include UDF_037.ahk ; UDF_037.ahk - это название файла UDF
;=============================================
; Обнуление переменной при нажатии ESC и F6
;=============================================
~ESC::
~F6::
menu:=0
return
;=============================================
; Кнопки вызова диалогов
;=============================================
F3::
menu := 1
ShowDialog(2, "Диалог 1", "Первая`nВторая", "X")
return
F4::
menu := 2
ShowDialog(2, "Диалог с подменю", "Лекции`nПункт без доп. меню", "X")
return
~LButton::
Time := A_TickCount
while(isDialogOpen())
{
if (A_TickCount - Time > 500)
{
Return
}
}
checkdialogMenu:
if (isDialogButton1Selected() == 1)
{
menu := 0
}
ifWinNotActive, GTA:SA:MP
{
return
}
;=============================================
; Проверка на активное меню
;=============================================
if (menu == 1)
{
menu := 0
line_num := getDialogLineNumber()
line_text := getDialogLine(line_num)
addChatMessage("Выбрано: " line_text)
return
}
else if (menu == 2)
{
menu := 0
line_num := getDialogLineNumber()
line_text := getDialogLine(line_num)
if (line_num == 1)
{
showDialog(2, "Подменю", "Первый пукнкт`nВторой пункт", "X")
menu := 3
}
else if (line_num == 2)
addChatMessage("Выбрано: " line_text)
return
}
else if (menu == 3)
{
menu := 0
line_num := getDialogLineNumber()
line_text := getDialogLine(line_num)
addChatMessage("В подменю выбрано: " line_text)
return
}
return
~Enter::
gosub, checkdialogMenu
return
Не могу помочь, без предоставления кода. P.S. скрин удален.Ребят такая проблема. Писал простой бинд для САМПа.
Было очень много ошибок, первый день с АХК, все исправил, кроме одной: Пишет: Unexpected "{"
Я не знаю с чём это может быть связано. При запуске АХК эта ошибка появляется в 3 строке.
А во 2 строке всё нормально. Помогите решить. Вот скрин.
Изображение загружено на фотохостинг Япикс(http://yapx.ru/v/BzrY1)
Всем привет. Хочу сделать скрипт, который будет работать только у игрока с определенным ником. Как-то у меня был такой код, но я его потерял, кто может подсказать ?
Код:
if(getUsername() != "Samuel_Revalto")
return
Зачем вы 2 раза открываете скобки при if? Уже грубая ошибка. А так чекайте чат на наличии фразы и все.как сделать что бы при том когда в чат напишет: [Ошибка] Вы ввели свой ID!, команда повторилась и выбрала другого человека от 0 до 299?if (chatInput="/rre") || if (chatInput="/rre ")
{
{
Random, rrer, 0, 299
SendInput, {F6}/re %rrer%{Enter}
return
}
else
{
IfInString, A_LoopReadLine, [Ошибка] Вы ввели свой ID!
}
}
Не понял вопроса...Как сделат так что бы при вводе /лекции высвечевалося окошко во всеми лекциямикоторые я забиндил???
Код:
:?:/лекция::
ShowDialog(2, "Диалог с подменю", "Лекции`nПункт без доп. меню", "X")
return
Зачем постоянно задавать вопрос, на который был уже ответ?Как сделать что бы нажатии к примеру на 1, в чат выводился текст, но после второго нажатия на 1, оно переставало действовать.
Код:!1:: addChatMessage("{ffffff}[ {00afff}Проверка {ffffff}] Выбрано: {1fff00}нажмите 1.") addChatMessage("{ffffff}[ {00afff}Проверка {ffffff}] Выбрано: {1fff00}нажмите 2.") addChatMessage("{ffffff}[ {00afff}Проверка {ffffff}] Выбрано: {1fff00}нажмите 3.") addChatMessage("{ffffff}[ {00afff}Проверка {ffffff}] Выбрано: {1fff00}нажмите 4.") addChatMessage("{ffffff}[ {00afff}Проверка {ffffff}] Выбрано: {1fff00}нажмите 5.") return
Код:
; для продолжения нажмите - 1, для отказа - 2
loop
{
if (getkeystate("1", "P"))
{
; действия
break
}
else if (getkeystate("2", "P"))
{
; вы нам не подходите..
return
}
}
; действия
А D указывают обычно снизу и это значит, что клавиша нажата от слова "Down(вниз)". U - "Up(вверх)" например:
Код:
GetKeyState, state, sc2F, P
If state = D
MsgBox, клавиша нажата
If state = U
MsgBox, клавиша отпущена
Плохое решение учиться на готовых решениях. Может быть это и показатель, как надо писать код. Лучше пробовать самому с 0 используя документации! А если вам просто нужен готовый код и не желаете учить AHK, то идите сразу заказывайте скрипт...
Последнее редактирование модератором: