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

dima232_pro11

Новичок
61
0
Смысл этого?
if(Rank=="Рядовой")
{
rang=:1
}

Можно там, где тебе нужна переменная rang проверять
if (rank=="Рядовой")


Что именно у тебя не работает? Объясняй нормальным языком..
Когда я использую оно просто не проверяет ранг пишет просто "Я маленький еще "
 

dima232_pro11

Новичок
61
0
Код:
IniRead, name, settings.ini,SETTINGS, name
IniRead, grav, settings.ini,SETTINGS, grav
IniRead, rank, settings.ini,SETTINGS, rank

Gui, Font, S9 CDefault, Verdana
Gui, Add, Text, x22 y19 w150 h20 , Ваш игровой никнейм:
Gui, Add, Text, x22 y39 w150 h20 , Ваша должность:
Gui, Add, Text, x22 y59 w150 h20 , Гравировка часов:
Gui, Add, Edit, x172 y19 w170 h20 vName, %name%
Gui, Add, Edit, x172 y59 w170 h20 vGrav, %grav%
Gui, Add, DropDownList, x172 y39 w170 h100 vRank, Интерн|Участковый Врач|Терапевт|Нарколог
GuiControl, ChooseString, rank, %rank%
Gui, Add, Button, x90 y149 w130 h30 gSave, Сохранить
Gui, Font, S10 CRed Bold Underline, Verdana
Gui, Add, Text, x12 y109 w350 h30 , Все отсальные команди в игре на ALT+F2
; Generated using SmartGUI Creator for SciTE
Gui, Show, w367 h197, Ахк от Alex_Agesilay
return

GuiClose:
ExitApp


Save:
Gui, Submit, NoHide
IniWrite,%name%, settings.ini,SETTINGS,name
IniWrite,%grav%, settings.ini,SETTINGS,grav
IniWrite,%rank%, settings.ini,SETTINGS,rank
return

if(rank=="Интерн")
if(rank=="Участковый Врач")
if(rank=="Терапевт")
if(rank=="Нарколог")

:?:/inv::
if (rang < 2)
addChatMessage("маленький ты ещё")
else
if (rang > 3)
addChatMessage("а ты большой")
return
 

dima232_pro11

Новичок
61
0
Последнее редактирование модератором:

StenMarsh

Новичок
29
2
Как реализовать данную функцию? GuiControl, Move
Чтобы высовывалось доп. меню вниз
 

dima232_pro11

Новичок
61
0
Я тебе сразу об этом сказал -_-
Все сделал вот

Код:
:?:/inv::
if (rank=="Интерн")
addChatMessage("маленький ты ещё1")
else
if (rank=="Участковый Врач")
addChatMessage("маленький ты ещ2")
else
if (rank=="Терапевт")
addChatMessage("маленький ты ещё3")
else
addChatMessage("а ты большой")
 

dima232_pro11

Новичок
61
0
еще вопрос как сделать чтоб при команде /inv 234(id) сразу в писалось /invite 234 чтоб не было вот так

Код:
:?:/inv::
{
Random, var1, 1, 50
SendMessage, 0x50,, 0x4190419,, A
SendInput {F6}/invite {Space}
sleep 3500
 

dima232_pro11

Новичок
61
0
AutoHotKey:
$~Enter::
if (isInChat() && !isDialogOpen())
{
    Sleep, 200
    chatText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
    if (RegExMatch(chatText, "^\/inv (\d+)", out))
    {
        sendChat("/invite "out1)
    }
}
return
Как при отказе чтоб функция не выполнялась
Код:
$~Enter::
if (isInChat() && !isDialogOpen())
{
    Sleep, 200
    chatText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
    if (RegExMatch(chatText, "^\/inv (\d+)", out))
    {
        Random, var1, 1, 50
        SendMessage, 0x50,, 0x4190419,, A
        if (rank != "Интерн" && rank != "Участковый Врач" && rank != "Терапевт" && rank != "Нарколо" && rank != "Окулист" && rank != "Хирург" && rank != "Психолог" && rank != "Зав.Отделением")
        AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Вам недоступна эта функция!")
        else
        AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Вам доступна эта функция!")
        sendChat("/invite "out1)
        SendChat("/me легким движением руки достал ключик от свободного шкафчика из кармана пиджака.")
        sleep 1000
        SendChat("/do На ключике написан номер " var1 ".")
        sleep 1000
        SendChat("/time")
        sleep 500
        SendChat("/me Взглянул на часы с гравировкой «" grav "».")
        sleep 500
        SendChat("/do Время на часах | " ServerTime() ".")
        SendInput {F8}
    }
}
return
 

dima232_pro11

Новичок
61
0
Она и не будет выполняться.
AutoHotKey:
$~Enter::
if (isInChat() && !isDialogOpen())
{
    Sleep, 200
    chatText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
    if (RegExMatch(chatText, "^\/inv (\d+)", out))
    {
        Random, var1, 1, 50
        if (rank != "Интерн" && rank != "Участковый Врач" && rank != "Терапевт" && rank != "Нарколо" && rank != "Окулист" && rank != "Хирург" && rank != "Психолог" && rank != "Зав.Отделением")
            AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Вам недоступна эта функция!")
        else
    {
        AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Вам доступна эта функция!")
        sendChat("/invite "out1)
        SendChat("/me легким движением руки достал ключик от свободного шкафчика из кармана пиджака.")
        sleep 1000
        SendChat("/do На ключике написан номер " var1 ".")
        sleep 1000
        SendChat("/time")
        sleep 500
        SendChat("/me Взглянул на часы с гравировкой «" grav "».")
        sleep 500
        SendChat("/do Время на часах | " ServerTime() ".")
        SendInput {F8}
    }
    }
}
return
оно выполняеться пишет AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Вам недоступна эта функция!")
и идет дальше

sendChat("/invite "out1)
SendChat("/me легким движением руки достал ключик от свободного шкафчика из кармана пиджака.")
sleep 1000

Все я разобрался
там в поле
Код:
if (rank != "Интерн" && rank != "Участковый Врач" && rank != "Терапевт" && rank != "Нарколо" && rank != "Окулист" && rank != "Хирург" && rank != "Психолог" && rank != "Зав.Отделением")
это кому разрешено, а не запрещено
 
Последнее редактирование модератором:

dima232_pro11

Новичок
61
0
А как сделать если просто у вести команду /inv чтоб писалось ,если человеку разрешено использовать эту команду
Код:
   AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Введите команду /inv {FFFF00}[id].")
 

#Rin

Известный
Всефорумный модератор
1,214
1,043
А как сделать если просто у вести команду /inv чтоб писалось ,если человеку разрешено использовать эту команду
Код:
   AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Введите команду /inv {FFFF00}[id].")
Проверять текст после команды на пустату.