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

StenMarsh

Новичок
29
2
Подскажите пожалуйста как сделать рп авто оружие? Например...достал дигл и в чат пишет /me /me достал пистолет из кобуры, когда убрал - пишет что убрал
AutoHotKey:
#SingleInstance force
#NoEnv
#IfWinActive GTA:SA:MP
#Include SAMP.ahk

global TazerIn:=0
global TazerOut:=0
global TazerTo:=0
global WeaponDrawn:=0

UnloadGun:
if (WeaponDrawn = 1)
{
if not (getPlayerWeaponId() = 24) and (TazerOut = 2)
{
SendChat("/me поставив пистолет на предохранитель, убрал" Female " его в кобуру")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 3)  and (TazerOut = 3)
{
SendChat("/me повесил" Female " дубинку на пояс")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 23)  and (TazerOut = 4)
{
SendChat("/me убрал" Female " taser x-26 в кобуру на поясе")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 25)  and (TazerOut = 5)
{
SendChat("/me поставив дробовик на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 34) and (TazerOut = 6)
{
SendChat("/me поставив снайперскую винтовку на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 31)  and (TazerOut = 7)
{
SendChat("/me поставив автомат на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 30) and (TazerOut = 8)
{
SendChat("/me поставив автомат на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 17) and (TazerOut = 9)
{
SendChat("/me убирает газовую гранату в нагрудный карман бронежилета")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 33) and (TazerOut = 10)
{
SendChat("/me ставит винтовку на предохранитель, вешает её на плечо")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 29) and (TazerOut = 11)
{
SendChat("/me поставив пистолет-пулемёт на предохранитель, повесил" Female " его на плечо")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 1) and (TazerOut = 12)
{
SendChat("/me снял" Female " кастет.")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 14) and (TazerOut = 13)
{
SendChat("/me убрал" Female " цветы в маленькую сумку на поясе")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 5) and (TazerOut = 14)
{
SendChat("/me убрал" Female " биту в сумку на спине")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 43) and (TazerOut = 15)
{
SendChat("/me закрыл" Female " крышечкой объектив фотоаппарата")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 46) and (TazerOut = 16)
{
SendChat("/me снял" Female " парашют")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 8) and (TazerOut = 17)
{
SendChat("/me убрал" Female " катану в чехол на поясе")
TazerOut:=0
WeaponDrawn:=0
}
Sleep 1000
goto, UnloadGun
}
else
{
goto, TakeGun
}
return
TakeGun:
if (WeaponDrawn = 0)
{
if (getPlayerWeaponId() = 24)  and (TazerOut != 2)
{
SendChat("/me достав пистолет из кобуры, снял" Female " его с предохранителя")
TazerOut:=2
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 3) and (TazerOut != 3)
{
SendChat("/me резким движением правой руки снял" Female " дубинку с пояса")
TazerOut:=3
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 23)  and (TazerOut != 4)
{
SendChat("/me достав taser x-26 из кобуры, положил" Female " палец на курок")
TazerOut:=4
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 25)  and (TazerOut != 5)
{
SendChat("/me сняв дробовик с плеча, переключил" Female " предохранитель")
TazerOut:=5
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 34)  and (TazerOut != 6)
{
SendChat("/me сняв снайперскую винтовку с сплеча, переключил" Female " предохранитель")
TazerOut:=6
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 31)  and (TazerOut != 7)
{
SendChat("/me сняв автомат с плеча, переключил" Female " предохранитель")
TazerOut:=7
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 30)  and (TazerOut != 8)
{
SendChat("/me сняв автомат с плеча, переключил" Female " предохранитель")
TazerOut:=8
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 17)  and (TazerOut != 9)
{
SendChat("/me достал" Female " из нагрудного кармана бронежилета газовую гранат")
SendChat("/do Газовая граната в правой руке")
TazerOut:=9
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 33)  and (TazerOut != 10)
{
SendChat("/me сняв винтовку с плеча, снял" Female " её с предохранителя")
TazerOut:=10
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 29)  and (TazerOut != 11)
{
SendChat("/me сняв пистолет-пулемёт с плеча, снял" Female " его с предохранителя")
TazerOut:=11
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 1)  and (TazerOut != 12)
{
SendChat("/me надел" Female " кастет на правую руку")
TazerOut:=12
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 14)  and (TazerOut != 13)
{
SendChat("/me развернул" Female " букет цветов")
TazerOut:=13
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 5)  and (TazerOut != 14)
{
SendChat("/me завел" Female " правую руку за спину")
SendChat("/me достал" Female " биту из сумки на спине")
TazerOut:=14
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 43)  and (TazerOut != 15)
{
SendChat("/me достал" Female " фотоаппарат")
TazerOut:=15
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 46)  and (TazerOut != 16)
{
SendChat("/me одел" Female " парашют на плечи")
TazerOut:=16
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 8)  and (TazerOut != 17)
{
SendChat("/me вытащил" Female " катану из чехла на поясе")
TazerOut:=17
WeaponDrawn:=1
}
Sleep 1000
goto, TakeGun
}
else
{
goto, UnloadGun
}
return
автор MickeyShide
 
  • Нравится
Реакции: Cesar Ballard

Marker403

Новичок
10
0
AutoHotKey:
#SingleInstance force
#NoEnv
#IfWinActive GTA:SA:MP
#Include SAMP.ahk

global TazerIn:=0
global TazerOut:=0
global TazerTo:=0
global WeaponDrawn:=0

UnloadGun:
if (WeaponDrawn = 1)
{
if not (getPlayerWeaponId() = 24) and (TazerOut = 2)
{
SendChat("/me поставив пистолет на предохранитель, убрал" Female " его в кобуру")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 3)  and (TazerOut = 3)
{
SendChat("/me повесил" Female " дубинку на пояс")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 23)  and (TazerOut = 4)
{
SendChat("/me убрал" Female " taser x-26 в кобуру на поясе")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 25)  and (TazerOut = 5)
{
SendChat("/me поставив дробовик на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 34) and (TazerOut = 6)
{
SendChat("/me поставив снайперскую винтовку на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 31)  and (TazerOut = 7)
{
SendChat("/me поставив автомат на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 30) and (TazerOut = 8)
{
SendChat("/me поставив автомат на предохранитель, повесил" Female " его на плечо")
WeaponDrawn:=0
TazerOut:=0
}
if not (getPlayerWeaponId() = 17) and (TazerOut = 9)
{
SendChat("/me убирает газовую гранату в нагрудный карман бронежилета")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 33) and (TazerOut = 10)
{
SendChat("/me ставит винтовку на предохранитель, вешает её на плечо")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 29) and (TazerOut = 11)
{
SendChat("/me поставив пистолет-пулемёт на предохранитель, повесил" Female " его на плечо")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 1) and (TazerOut = 12)
{
SendChat("/me снял" Female " кастет.")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 14) and (TazerOut = 13)
{
SendChat("/me убрал" Female " цветы в маленькую сумку на поясе")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 5) and (TazerOut = 14)
{
SendChat("/me убрал" Female " биту в сумку на спине")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 43) and (TazerOut = 15)
{
SendChat("/me закрыл" Female " крышечкой объектив фотоаппарата")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 46) and (TazerOut = 16)
{
SendChat("/me снял" Female " парашют")
TazerOut:=0
WeaponDrawn:=0
}
if not (getPlayerWeaponId() = 8) and (TazerOut = 17)
{
SendChat("/me убрал" Female " катану в чехол на поясе")
TazerOut:=0
WeaponDrawn:=0
}
Sleep 1000
goto, UnloadGun
}
else
{
goto, TakeGun
}
return
TakeGun:
if (WeaponDrawn = 0)
{
if (getPlayerWeaponId() = 24)  and (TazerOut != 2)
{
SendChat("/me достав пистолет из кобуры, снял" Female " его с предохранителя")
TazerOut:=2
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 3) and (TazerOut != 3)
{
SendChat("/me резким движением правой руки снял" Female " дубинку с пояса")
TazerOut:=3
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 23)  and (TazerOut != 4)
{
SendChat("/me достав taser x-26 из кобуры, положил" Female " палец на курок")
TazerOut:=4
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 25)  and (TazerOut != 5)
{
SendChat("/me сняв дробовик с плеча, переключил" Female " предохранитель")
TazerOut:=5
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 34)  and (TazerOut != 6)
{
SendChat("/me сняв снайперскую винтовку с сплеча, переключил" Female " предохранитель")
TazerOut:=6
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 31)  and (TazerOut != 7)
{
SendChat("/me сняв автомат с плеча, переключил" Female " предохранитель")
TazerOut:=7
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 30)  and (TazerOut != 8)
{
SendChat("/me сняв автомат с плеча, переключил" Female " предохранитель")
TazerOut:=8
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 17)  and (TazerOut != 9)
{
SendChat("/me достал" Female " из нагрудного кармана бронежилета газовую гранат")
SendChat("/do Газовая граната в правой руке")
TazerOut:=9
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 33)  and (TazerOut != 10)
{
SendChat("/me сняв винтовку с плеча, снял" Female " её с предохранителя")
TazerOut:=10
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 29)  and (TazerOut != 11)
{
SendChat("/me сняв пистолет-пулемёт с плеча, снял" Female " его с предохранителя")
TazerOut:=11
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 1)  and (TazerOut != 12)
{
SendChat("/me надел" Female " кастет на правую руку")
TazerOut:=12
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 14)  and (TazerOut != 13)
{
SendChat("/me развернул" Female " букет цветов")
TazerOut:=13
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 5)  and (TazerOut != 14)
{
SendChat("/me завел" Female " правую руку за спину")
SendChat("/me достал" Female " биту из сумки на спине")
TazerOut:=14
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 43)  and (TazerOut != 15)
{
SendChat("/me достал" Female " фотоаппарат")
TazerOut:=15
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 46)  and (TazerOut != 16)
{
SendChat("/me одел" Female " парашют на плечи")
TazerOut:=16
WeaponDrawn:=1
}
if (getPlayerWeaponId() = 8)  and (TazerOut != 17)
{
SendChat("/me вытащил" Female " катану из чехла на поясе")
TazerOut:=17
WeaponDrawn:=1
}
Sleep 1000
goto, TakeGun
}
else
{
goto, UnloadGun
}
return
автор MickeyShide
Спасибо
 

StenMarsh

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

dima232_pro11

Новичок
61
0
мне нужно чтоб сработала команда /inv

Код:
if(Rank=="Стажер")
{
    rang=:1
}
if(Rank=="Офицер")
{
    rang:=2
}
if(Rank=="Младший сержант")
{
    rang:=3
}
if(Rank=="Сержант")
{
    rang:=4
}
if(Rank=="Детектив")
{
    rang:=5
}
if(Rank=="Лейтенант")
{
    rang:=6
}
if(Rank=="Капитан")
{
    rang:=7
}
if(Rank=="Командор")
{
    rang:=8
}
if(Rank=="Заместитель Шефа")
{
    rang:=9
}
if(Rank=="Шеф Полиции")
{
    rang:=10
}


Код:
if (isInChat() and !isDialogOpen())
{
    sleep 250
    dwAddress := dwSAMP + 0x12D8F8
    chatInput := readString(hGTA, dwAddress, 256)
    if chatInput contains /inv
    {
        RegExMatch(chatInput, "i)^(.*)/inv", ps)
        if (rang > 0 and rang < 9)
        {
        AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Вам недоступна эта функция!")
            return
        }
        else
        {
            If (ps1!="")
            {
                ps := []
                return
            }
            ps := []
            RegExMatch(chatInput, "i)^/inv ([0-9]*)", p)
            if p =
            {
            AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Введите команду /inv {FFFF00}[id].")
                return
            }
            if p !=
            {
                if(rplead==1)
                {
                    SendMessage, 0x50,, 0x4090409,, A
                    nick:=getPlayerNameById(p1)
                    Random, I, 1, 50
                    SendChat("/invite " p1)
                    SendChat("/me легким движением руки достал ключик от свободного шкафчика из кармана пиджака.")
                    sleep, 1000
                    SendChat("/todo Добро пожаловать к нам!*передавая ключ от шкафчика с одеждой")
                    Sleep, 1000
                    PDCOPY()
                    sleep, 100
                    FileAppend, %A_DD% %A_MMMM% %A_YYYY%  || %A_Hour%:%A_Min% || Принятый игрок  ||  %nick%`n, %A_AppData%\AHK\logfiles.txt
                AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Скриншот был сохранен в " A_ScriptDir "!")
                    return
                }
                sendchat("/invite " p1)
                SendMessage, 0x50,, 0x4090409,, A
                nick:=getPlayerNameById(p1)
                PDCOPY()
                sleep, 100
                FileAppend, %A_DD% %A_MMMM% %A_YYYY%  || %A_Hour%:%A_Min% || Принятый игрок  ||  %nick%`n, %A_AppData%\AHK\logfiles.txt
            AddChatMessageEx("{FFFFFF}", "[{FF6347}AHK{FFFFFF}]: Скриншот был сохранен в " A_ScriptDir "!")
            }
        }
    }
}
 

dima232_pro11

Новичок
61
0
У нас есть например 6 рангов
1.рядовой
2.сержант
3.капитан
4.майор
5.зам генерала
6.генерал

У нас имеется команда например /inv и эта команда доступна с 5 ранга

Если ранг меньше 5 ранга то пишется

AddChatMessageEx Вам недоступна эта функция!

если выше 5 ранга то пишется

AddChatMessageEx Введите команду /inv id

и дальше функция

Мне нужен код как это не звучало глупо или пример этой команды
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
У нас есть например 6 рангов
1.рядовой
2.сержант
3.капитан
4.майор
5.зам генерала
6.генерал
Даже на нубо рп такого нет.
Если ранг меньше 5 ранга то пишется

AddChatMessageEx Вам недоступна эта функция!

если выше 5 ранга то пишется

AddChatMessageEx Введите команду /inv id
AutoHotKey:
if (rang < 5)
addChatMessage("маленький ты ещё")
else if (rang > 5)
addChatMessage("а ты большой")
else
addChatMessage("я хз какой ранг")
 

dima232_pro11

Новичок
61
0
Даже на нубо рп такого нет.

AutoHotKey:
if (rang < 5)
addChatMessage("маленький ты ещё")
else if (rang > 5)
addChatMessage("а ты большой")
else
addChatMessage("я хз какой ранг")

Я просто пример дал с 6 рангами), а как привязать ранги я буду использовать DropDownList , или вот так
Код:
if(Rank=="Рядовой")
{
    rang=:1
}
if(Rank=="Сержант")
{
    rang:=2
}