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

#Rin

Известный
Всефорумный модератор
1,214
1,043
В чем проблема может быть ? Не выводиться в /m переменная " CarName ". При работе с 0-евым id
Потому, что UDF писался 'гениями'.
AutoHotKey:
getVehiclePointerById(dwId) {
    if(!dwId)
        return 0
Это же гениально возвратить 0, когда ID будет равно нулю.
 

dan1654

Новичок
16
0
Я тебе кинул кусок кода, убрать проверку на ноль и все.
Либо я не понял о чем ты, убрав в юдфе 0 на -1, либо в коде что-то не то, потому-что я перепробовал уже все изменить на -1 с 0-я и наоборот и код у меня не заработал.
 

RellaX

Известный
80
9

TopMo3

Участник
121
7
Здравствуйте, почему не работает данный код, и пожалуйста скажите почему, а не говорите, то что это было ранее, я не собираюсь тратить 2 часа, чтобы все разглядеть, вот код.

Код:
SingleInstance force
#NoEnv
ListLines Off
SetBatchLines -1
SetKeyDelay 0
sampchatlog = %a_myDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
#Persistent
global TazerTo:= -1
global TazerIn := 0
global TazerOut:=0
Loop
{
    TempWeapon := getPlayerWeaponId()
    if (TempWeapon = 23) or(TempWeapon = 3)
    if not TazerIn
    {
        TazerIn := 1
        if TazerSleep
        SetTimer TakeGun, 100
        else
        SetTimer TakeGun, %SleepOn%
    }
    if (TempWeapon = 24) or (TempWeapon = 25) or (TempWeapon = 29) or (TempWeapon = 31) or (TempWeapon = 17) or (TempWeapon = 1) or (TempWeapon = 5) or (TempWeapon = 14) or (TempWeapon = 30) or (TempWeapon = 33) or (TempWeapon = 34) or (TempWeapon = 43) or (TempWeapon = 46) or (TempWeapon = 15) or (TempWeapon = 36) or (TempWeapon = 2) {
        if not TazerIn
        {
            TazerIn := 1
            SetTimer TakeGun, %SleepOn%
        }
    }
    if (TempWeapon = 0)
    {
        if (TazerOut > 1) and (TazerTo)
        {
            TazerTo := 0
            SetTimer UnloadGun, %SleepOff%
        }
    }
    Sleep 2000
}
TakeGun:
TempWeapon := getPlayerWeaponId()
if (TempWeapon = 3) and (TazerOut != 3) {
    SendChat("/me резким движение снял" Female " дубинку с поясного держателя")
    TazerOut:=3
}
if (TempWeapon = 23) and (TazerOut != 4) {
    SendChat("/me резким движением руки вытащил из кобуры шокер")
    TazerOut:=4
}
TazerIn := 0
TazerTo := 1
SetTimer TakeGun, Off
return
UnloadGun:
TempWeapon := getPlayerWeaponId()
if not (TempWeapon = 3) and (TazerOut = 3)
{
    SendChat("/me повесил" Female " дубинку на пояс")
}
if not (TempWeapon = 23) and (TazerOut = 4)
{
    SendChat("/me повесил" Female " шокер на пояс")
}
TazerOut:=0
SetTimer UnloadGun, Off
return
 

TeOdooR

Новичок
24
1
Здравствуйте, почему не работает данный код, и пожалуйста скажите почему, а не говорите, то что это было ранее, я не собираюсь тратить 2 часа, чтобы все разглядеть, вот код.

Код:
SingleInstance force
#NoEnv
ListLines Off
SetBatchLines -1
SetKeyDelay 0
sampchatlog = %a_myDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
#Persistent
global TazerTo:= -1
global TazerIn := 0
global TazerOut:=0
Loop
{
    TempWeapon := getPlayerWeaponId()
    if (TempWeapon = 23) or(TempWeapon = 3)
    if not TazerIn
    {
        TazerIn := 1
        if TazerSleep
        SetTimer TakeGun, 100
        else
        SetTimer TakeGun, %SleepOn%
    }
    if (TempWeapon = 24) or (TempWeapon = 25) or (TempWeapon = 29) or (TempWeapon = 31) or (TempWeapon = 17) or (TempWeapon = 1) or (TempWeapon = 5) or (TempWeapon = 14) or (TempWeapon = 30) or (TempWeapon = 33) or (TempWeapon = 34) or (TempWeapon = 43) or (TempWeapon = 46) or (TempWeapon = 15) or (TempWeapon = 36) or (TempWeapon = 2) {
        if not TazerIn
        {
            TazerIn := 1
            SetTimer TakeGun, %SleepOn%
        }
    }
    if (TempWeapon = 0)
    {
        if (TazerOut > 1) and (TazerTo)
        {
            TazerTo := 0
            SetTimer UnloadGun, %SleepOff%
        }
    }
    Sleep 2000
}
TakeGun:
TempWeapon := getPlayerWeaponId()
if (TempWeapon = 3) and (TazerOut != 3) {
    SendChat("/me резким движение снял" Female " дубинку с поясного держателя")
    TazerOut:=3
}
if (TempWeapon = 23) and (TazerOut != 4) {
    SendChat("/me резким движением руки вытащил из кобуры шокер")
    TazerOut:=4
}
TazerIn := 0
TazerTo := 1
SetTimer TakeGun, Off
return
UnloadGun:
TempWeapon := getPlayerWeaponId()
if not (TempWeapon = 3) and (TazerOut = 3)
{
    SendChat("/me повесил" Female " дубинку на пояс")
}
if not (TempWeapon = 23) and (TazerOut = 4)
{
    SendChat("/me повесил" Female " шокер на пояс")
}
TazerOut:=0
SetTimer UnloadGun, Off
return
Зачем тебе код автогана ? Если хочешь нормальный код, то поищи его на сайте и в интернете. Его скопировали очень много раз, поэтому поиск будет не сложным...
 

TopMo3

Участник
121
7
Зачем тебе код автогана ? Если хочешь нормальный код, то поищи его на сайте и в интернете. Его скопировали очень много раз, поэтому поиск будет не сложным...
Я искал и там одна фигня, мне нужен именно данный код
 

frankie

Новичок
3
0
Не понимаю почему при нажатии нампад5 полностью игнорируется команда где задействовано Ф2. Помогите если это возможно.
Грубо говоря, на ф2 забинджено клео, далее меняется размер чата, после него идет скриншот, возвращается размер чата и выключается клео. Скорее всего я что-то не так сделал.
Код:
#IfWinActive, GTA:SA:MP
Numpad5::
SendInput {F2}
sleep 250
SendInput t/pagesize 20{enter}
sleep 250
SendInput {F8}
sleep 1000
SendInput {F2} {enter}
sleep 250
SendInput t/pagesize 10{enter}
return
 

TeOdooR

Новичок
24
1
Где ошибка? я что-то не догоняю
Код:
!1::
{
name := getUsername()
usname := RegExReplace(name, "_", " ")
SendChat("/do В руках у " usname " пистолет марки "Desert Eagle"")
sleep 2400
}

Я искал и там одна фигня, мне нужен именно данный код
  • Код:
    #SingleInstance force 
    #NoEnv 
    #include SAMPMAXnew.ahk 
    #IfWinActive GTA:SA:MP 
    ListLines Off 
    SetBatchLines -1 
    SetKeyDelay 0 
    Chat := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt" 
    #Persistent 
    global TazerTo:= -1 
    global TazerIn := 0 
    global TazerOut:=0 
    Loop 
    { 
    TempWeapon := getPlayerWeaponId() 
    if (TempWeapon = 23) or(TempWeapon = 3) 
    if not TazerIn 
    { 
    TazerIn := 1 
    if TazerSleep 
    SetTimer TakeGun, 100 
    else 
    SetTimer TakeGun, %SleepOn% 
    } 
    if (TempWeapon = 24) or (TempWeapon = 25) or (TempWeapon = 29) or (TempWeapon = 31) or (TempWeapon = 17) or (TempWeapon = 1) or (TempWeapon = 5) or (TempWeapon = 14) or (TempWeapon = 30) or (TempWeapon = 33) or (TempWeapon = 34) or (TempWeapon = 43) or (TempWeapon = 46) or (TempWeapon = 15) or (TempWeapon = 36) or (TempWeapon = 2) { 
    if not TazerIn 
    { 
    TazerIn := 1 
    SetTimer TakeGun, %SleepOn% 
    } 
    } 
    if (TempWeapon = 0) 
    { 
    if (TazerOut > 1) and (TazerTo) 
    { 
    TazerTo := 0 
    SetTimer UnloadGun, %SleepOff% 
    } 
    } 
    Sleep 100 
    } 
    TakeGun: 
    TempWeapon := getPlayerWeaponId() 
    if (TempWeapon = 24) and (TazerOut != 2) { 
    SendChat("/do Пистолет в кобуре.") 
    SendChat("/me быстрым движением правой руки открыл" Female " кобуру и вытащил" Female " пистолет.") 
    SendChat("/me снял" Female " пистолет с предохранителя.") 
    TazerOut:=2 
    } 
    if (TempWeapon = 3) and (TazerOut != 3) { 
    SendChat("/do Дубинка висит на поясе.") 
    SendChat("/me резким движение снял" Female " дубинку с поясного держателя.") 
    TazerOut:=3 
    } 
    if (TempWeapon = 23) and (TazerOut != 4) { 
    SendChat("/me снял" Female " электрошокер с пояса") 
    TazerOut:=4 
    } 
    if (TempWeapon = 25) and (TazerOut != 5) { 
    SendChat("/me вытащил " Female " дробовик из-за спины") 
    SendChat("/me снял" Female " дробовик с предохранителя") 
    TazerOut:=5 
    } 
    if (TempWeapon = 29) and (TazerOut != 6) { 
    SendChat("/me взял" Female " MP-5 в руки.") 
    TazerOut:=6 
    } 
    if (TempWeapon = 31) and (TazerOut != 7) { 
    SendChat("/me достал" Female " карабин M4 из-за плеча") 
    SendChat("/me снял" Female " M4 с предохранителя") 
    TazerOut:=7 
    } 
    if (TempWeapon = 17) and (TazerOut != 8) { 
    SendChat("/me надел" Female " противогаз.") 
    Sleep 2000 
    SendChat("/me достал" Female " светошумовую гранату.") 
    TazerOut:=8 
    } 
    if (TempWeapon = 1) and (TazerOut != 9) { 
    SendChat("/me надел" Female " кастет на руку.") 
    TazerOut:=9 
    } 
    if (TempWeapon = 5) and (TazerOut != 10) { 
    SendChat("/me взял" Female " бейсбольную биту в руки.") 
    TazerOut:=10 
    } 
    if (TempWeapon = 14) and (TazerOut != 11) { 
    SendChat("/me развернул" Female " букет цветов.") 
    TazerOut:=11 
    } 
    if (TempWeapon = 30) and (TazerOut != 12) { 
    SendChat("/me взял" Female " автомат АК-47 в руки.") 
    TazerOut:=12 
    } 
    if (TempWeapon = 33) and (TazerOut != 13) { 
    SendChat("/me взял" Female " винтовку в руки.") 
    TazerOut:=13 
    } 
    if (TempWeapon = 34) and (TazerOut != 14) { 
    SendChat("/me достал" Female " снайперскую винтовку из-за плеча") 
    SendChat("/me снял" Female " снайперскую винтовку с предохранителя") 
    TazerOut:=14 
    } 
    if (TempWeapon = 43) and (TazerOut != 15) { 
    SendChat("/me достал" Female " фотоаппарат.") 
    TazerOut:=15 
    } 
    if (TempWeapon = 46) and (TazerOut != 16) { 
    SendChat("/me одел" Female " парашют на плечи.") 
    TazerOut:=16 
    } 
    if (TempWeapon = 15) and (TazerOut != 17) { 
    SendChat("/me достал" Female " элегантную трость.") 
    TazerOut:=17 
    } 
    if (TempWeapon = 36) and (TazerOut != 18) { 
    SendChat("/me взял" Female " Stinger в руки.") 
    TazerOut:=18 
    } 
    if (TempWeapon = 2) and (TazerOut != 19) { 
    SendChat("/me взял" Female " клюшку в руки.") 
    TazerOut:=19 
    } 
    TazerIn := 0 
    TazerTo := 1 
    SetTimer TakeGun, Off 
    return 
    
    UnloadGun: 
    TempWeapon := getPlayerWeaponId() 
    if not (TempWeapon = 24) and (TazerOut = 2) 
    { 
    SendChat("/me поставил" Female " пистолет на предохранитель.") 
    SendChat("/me быстрым движением руки засунул" Female " пистолет в кобуру и застегнул" Female " ее.") 
    } 
    if not (TempWeapon = 3) and
    [*](TazerOut = 3) 
    { 
    SendChat("/me повесил" Female " дубинку на пояс.") 
    SendChat("/do Дубинка на поясе.") 
    } 
    if not (TempWeapon = 23) and (TazerOut = 4) 
    { 
    SendChat("/me повесил" Female " электрошокер на пояс.") 
    } 
    if not (TempWeapon = 3) and (TazerOut = 5) 
    { 
    SendChat("/me поставил" Female " дробовик на предохранитель") 
    SendChat("/me повесил" Female " дробовик на плечо") 
    } 
    if not (TempWeapon = 3) and (TazerOut = 6) 
    { 
    SendChat("/me повесил" Female " MP-5 на плечо.") 
    } 
    if not (TempWeapon = 31) and (TazerOut = 7) 
    { 
    SendChat("/me поставил" Female " М4 на предохранитель") 
    SendChat("/me повесил" Female " M4 на плечо") 
    } 
    if not (TempWeapon = 1) and (TazerOut = 9) 
    { 
    SendChat("/me снял" Female " кастет.") 
    } 
    if not (TempWeapon = 5) and (TazerOut = 10) 
    { 
    SendChat("/me спрятал" Female " биту.") 
    } 
    if not (TempWeapon = 14) and (TazerOut = 11) 
    { 
    SendChat("/do Цветы не в руках.") 
    } 
    if not (TempWeapon = 30) and (TazerOut = 12) 
    { 
    SendChat("/me убрал" Female " АК-47 за спину.") 
    } 
    if not (TempWeapon = 33) and (TazerOut = 13) 
    { 
    SendChat("/me убрал" Female " винтовку.") 
    } 
    if not (TempWeapon = 34) and (TazerOut = 14) 
    { 
    SendChat("/me поставил" Female " снайперскую винтовку на предохранитель") 
    SendChat("/me повесил" Female " снайперскую винтовку на плечо") 
    } 
    if not (TempWeapon = 43) and (TazerOut = 15) 
    { 
    SendChat("/me закрыл" Female " крышечкой объектив фотоаппарата.") 
    } 
    if not (TempWeapon = 46) and (TazerOut = 16) 
    { 
    SendChat("/me снял" Female " парашют.") 
    } 
    TazerOut:=0 
    SetTimer UnloadGun, Off 
    return
    Это рабочий код!
 
Последнее редактирование модератором:

Vlad Horii

Известный
Проверенный
310
172
Где ошибка? я что-то не догоняю
Код:
!1::
{
name := getUsername()
usname := RegExReplace(name, "_", " ")
SendChat("/do В руках у " usname " пистолет марки "Desert Eagle"")
sleep 2400
}
AutoHotKey:
!1::
usname := RegExReplace(getUsername(), "_", A_Space)
SendChat("/do В руках у " usname " пистолет марки ""Desert Eagle""")
return
 
  • Нравится
Реакции: TeOdooR

TopMo3

Участник
121
7
AutoHotKey:
!1::
usname := RegExReplace(getUsername(), "_", A_Space)
SendChat("/do В руках у " usname " пистолет марки ""Desert Eagle""")
return
А можно ли обойтись без SendChat, используя SendInput, просто у меня скрипте одна такая строка, вот например, как я хочу сделать, чтобы ник писался в данном скрипте, если поможете буду благодарен.

Код:
Numpad1::
targ:=getClosestPlayerId()
name:=getPlayerNameById(targ) ; SendChat(""targ)
myID := getId()
SendMessage, 0x50,, 0x4090409,, A ; английский
SendMessage, 0x50,, 0x4190419,, A ; русский
IniRead, PDOTag,config.ini, Text, PDOTag
IniRead, PDGTag,config.ini, Text, PDGTag
IniRead, ZTag,config.ini, Text, ZTag
IniRead, NTag,config.ini, Text, NTag
Sleep 300
SendChat("/me передал удостоверение сотрудника МВД человеку напротив")
Sleep 2100
SendChat("/ud "targ)
Sleep 2100
SendInput,{F6}Здравствуйте, я %ZTag% *Ник* полиции %PDGTag%{.}{Enter}
Sleep 2100
SendChat("Предьявите ваши документы. Не бойтесь, это всего лишь проверка.")
Sleep 2100
SendChat("/n /pass "myID)
return
 

#Rin

Известный
Всефорумный модератор
1,214
1,043
А можно ли обойтись без SendChat, используя SendInput
Можно.
чтобы ник писался в данном скрипте, если поможете буду благодарен.
В данном случае, это не скрипт, а код.
AutoHotKey:
name := RegExReplace(getPlayerNameById(getClosestPlayerId()), "_", " ")