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

BH:Pchela

Участник
41
0
Ты указал в начале скрипта переменную Activate = 1?
Я уже сам решил проблему.

Последний вопрос: как сделать автоматическую отыгровку дубинки. Пожалуйста, скиньте код.
 
Последнее редактирование модератором:

Adam_Rockwell

Активный
143
25
Последний вопрос: как сделать автоматическую отыгровку дубинки. Пожалуйста, скиньте код.
Если ты имеешь ввиду автоматическую отыгровку при доставании оружия, то найди в интернете авто отыгровку оружия, написанную на ахк. Открой её unpacker-ом и разберись в коде, он там не шибко сложный.
 
  • Нравится
Реакции: BH:Pchela

BH:Pchela

Участник
41
0
Нашел скрипт отыгровки для дубинки и хочу вставить его в свой код. Куда это нужно вставлять? Если устанавливаю с самого начала - не отображается GUI. Если в конце - ничего не работает.

Код:
#include %A_ScriptDir%\SAMP-UDF-Developer.ahk
#SingleInstance force
#NoEnv
#IfWinActive GTA:SA:MP

;----------- [ Считывание конфига ] -----------
IniRead, Name, settings.ini, CHARACTER, Name
IniRead, Rang, settings.ini, CHARACTER, Rang
IniRead, Fraction, settings.ini, CHARACTER, Fraction

;----------- [ Интерфейс ] -----------
TrayTip, AutoSecurity AHK, Скрипт успешно загружен!
Gui, Font, S16 CDefault Bold, Verdana
Gui, Add, Text, x37 y14 w210 h30 , AutoSecurity AHK
Gui, Font, S8 CDefault Default, Verdana
Gui, Add, Text, x22 y71 w90 h20 +Left, Имя Фамилия
Gui, Add, Edit, x122 y69 w140 h20 vName
Gui, Add, Text, x22 y111 w90 h20 +Left, Должность
Gui, Add, Edit, x122 y109 w140 h20 vRang
if Fraction in Правительство
{
    Gui, Add, DropDownList, R3 Choose1 x122 y149 w140 h30 vFraction, Правительство|Банк
}
else if Fraction in Банк
{
    Gui, Add, DropDownList, R3 Choose2 x122 y149 w140 h30 vFraction, Правительство|Банк
}
else
{
    Gui, Add, DropDownList, R3 Choose0 x122 y149 w140 h30 vFraction, Правительство|Банк
}
Gui, Add, Text, x22 y151 w90 h20 +Left, Фракция
Gui, Add, Button, x148 y189 w120 h30 gSave, Сохранить
Gui, Add, Button, x17 y189 w120 h30 , Настройки
Gui, Font, S8 CDefault Default, Verdana
Gui, Add, Text, x80 y223 w130 h20 , Created by #Mitchel
Gui, Show, x608 y197 h240 w294, AutoSecurity AHK
if Name in ERROR
{
  
}
else
{
    GuiControl,, Name, %Name%
}
if Rang in ERROR
{
  
}
else
{
    GuiControl,, Rang, %Rang%
}

return
GuiClose:
ExitApp

;----------- [ Записть конфига ] -----------

Save:
GuiControlGet, Name
GuiControlGet, Rang
GuiControlGet, Fraction
IniWrite, %Name%, settings.ini, CHARACTER, Name
IniWrite, %Rang%, settings.ini, CHARACTER, Rang
IniWrite, %Fraction%, settings.ini, CHARACTER, Fraction
TrayTip, AutoSecurity AHK, Настройки успешно сохранены!

if Fraction in Правительство
    HFraction = Правительства
else if Fraction in Банк
    HFraction = Центрального Банка

;----------- [ Управление ] -----------
^0::
ShowDialog("0", "{0066CC}AutoSecurity AHK {FFFFFF}| {0066CC}Горячие клавиши", "{0066CC}Клавиша {FFFFFF}| {0066CC}Описание `n`n{0066CC}CTRL + 0 {FFFFFF}| {0066CC}Горячие клавиши ( этот диалог ) `n{0066CC}CTRL + 1 {FFFFFF}| {0066CC}Начать диалог `n{0066CC}CTRL + 2 {FFFFFF}| {0066CC}Сделать замечание игроку `n{0066CC}CTRL + 3 {FFFFFF}| {0066CC}Выгнать игрока из здания `n{0066CC}CTRL + 4 {FFFFFF}| {0066CC}Настройки скрипта", "Закрыть")
return

^1::
if Fraction in Правительство
    HFraction = Правительства
else if Fraction in Банк
    HFraction = Центрального Банка
SendChat("/do На пиджаке прикреплен бейджик:")
Sleep, 1000
SendChat("/do "Name " || "Rang ".")
Sleep, 1000
SendChat("Здравствуйте! Меня зовут "Name ", я "Rang " "HFraction ".")
Sleep, 1000
AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 1 чтобы предложить помощь.")
Sleep, 100
AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 2 чтобы сделать замечание.")
Sleep, 100
AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 3 чтобы выгнать игрока из здания.")
Sleep, 100
AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 4 чтобы закончить диалог.")
Active := 1
return

~1::
if Active in 1
{
    Active := 0
    SendChat("Могу ли я вам чем-то помочь?")
    Sleep, 1000
    AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Если игроку нужна помощь - отвечайте вручную, потом нажмите 1.")
    Sleep, 100
    AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 2, если игрок отказался от помощи.")
    Active2 := 1
}
else if Active2 in 1
{
    Active2 := 0
    SendChat("Рад был помочь, обращайтесь!")
}
else if Active3 in 1
{
    Active3 := 0
    SendChat("Спасибо за понимание, удачного дня!")
}
return

~2::
if Active in 1
{
    Active := 0
    SendChat("/todo Вы ведёте себя неподобающе. Прекратите, иначе я применю силу.*держась правой рукой за поясной держатель")
    Sleep, 1000
    AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 1, если игрок вас послушался.")
    Sleep, 100
    AddChatMessage("{0066CC}[Подсказка] {FFFFFF}Нажмите 2, если игрок продолжает вести себя неподобающе.")
    Active3 := 1
  
}
else if Active2 in 1
{
    Active2 := 0
    SendChat("В случае надобности обращайтесь. Удачного дня!")
}
else if Active3 in 1
{
    Active3 := 0
    SendChat("Извините, но я вынужден насильно вывести вас из здания.")
    Sleep, 1000
    SendChat("/do Телескопическая дубинка висит на поясе")
    Sleep, 1000
    SendChat("/me резким движением правой руки снял дубинку с поясного держателя, раскрыл дубинку, приведя её в боевое положение")
    Sleep, 1000
    SendChat("/me замахнувшись дубинкой, ударил нарушителя по ноге")
    Sleep, 1000
    SendChat("/me заломал руки нарушителю и повел его в сторону входной двери")
    Sleep, 1000
    SendChat("/me открыв дверь, вытолкнал нарушителя на улицу")
    Sleep, 1000
    SendChat("/me закрыл дверь, повешал дубинку на поясной держатель")
    Sleep, 1000
    SendChat("/do Телескопическая дубинка висит на поясе")
    Sleep, 1000
    Send, {F6}/expel{space}
}
return

~3::
if Active in 1
{
    Active := 0
    SendChat("Извините, но я вынужден насильно вывести вас из здания.")
    Sleep, 1000
    SendChat("/do Телескопическая дубинка висит на поясе")
    Sleep, 1000
    SendChat("/me резким движением правой руки снял дубинку с поясного держателя, раскрыл дубинку, приведя её в боевое положение")
    Sleep, 1000
    SendChat("/me замахнувшись дубинкой, ударил нарушителя по ноге")
    Sleep, 1000
    SendChat("/me заломал руки нарушителю и повел его в сторону входной двери")
    Sleep, 1000
    SendChat("/me открыв дверь, вытолкнал нарушителя на улицу")
    Sleep, 1000
    SendChat("/me закрыл дверь, повешал дубинку на поясной держатель")
    Sleep, 1000
    SendChat("/do Телескопическая дубинка висит на поясе")
    Sleep, 1000
    Send, {F6}/expel{space}
}
return

~4::
if Active in 1
{
    Active := 0
}
return

Код:
#SingleInstance force
#NoEnv
#IfWinActive GTA:SA:MP
#Include SAMP-UDF-Developer.ahk

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

UnloadGun:
if (WeaponDrawn = 1)
{
if not (getPlayerWeaponId() = 3)  and (TazerOut = 3)
{
SendChat("/me повесил" Female " дубинку на пояс")
WeaponDrawn:=0
TazerOut:=0
}
Sleep 2000
goto, UnloadGun
}
else
{
goto, TakeGun
}
return
TakeGun:
if (WeaponDrawn = 0)
{
if (getPlayerWeaponId() = 3) and (TazerOut != 3)
{
SendChat("/me резким движением правой руки снял"Female "дубинку с пояса")
TazerOut:=3
WeaponDrawn:=1
}
Sleep 2000
goto, TakeGun
}
else
{
goto, UnloadGun
}
return


P.S. Не обращайте внимания на мой ужасный неоптимизированный код.
 

Gveman

Новичок
3
0
Здравствуйте,я в ахк не шарю,но мне нужен ахк МО,вот нашел я 1,но проблема,жаловались люди что открывает миллион окон,я же решил рискнуть,и запустил скрипт,открылось 2357235897892 окон,комп чуть на орбиту не улетел,это чувак специально вирусную команду написал? Короче,удалите пожалуйста окно которое вылетает 58239089025 раз,если нажимаешь "ок" еще больше вылетает и до бесконечности



Код:
#Persistent
#ifwinactive GTA:SA:MP
#include SAMP.ahk

;ini
IniRead, army, info.ini,INFO,army
IniRead, tag, info.ini,INFO,tag
IniRead, post1, info.ini,INFO,post1
IniRead, post2, info.ini,INFO,post2
IniRead, post3, info.ini,INFO,post3
IniRead, zvanie, info.ini,INFO,zvanie
IniRead, gravirovka, info.ini,INFO,gravirovka

lastarm:=getPlayerArmor()
file = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Loop
{
; Ники и прочее...
Nick:= getUsername()
RPNick:= getUsername()
StringReplace, RPNick, RPNick,_,{SPACE}, All
Fama:= getUsername()
RegExMatch(Fama, "\Q_\E(.*)\Q\E", Fama)
StringReplace, Fama, Fama,_,, All
id:= getId()
; >> Броня
arm:=getPlayerArmor()
hp:= getPlayerHealth()
if ( hp = 0 ){
sleep 10000
} else {
if ( arm > lastarm )
{
Я тут чет удалил,но окно есть,и ахк включает 52389789 раз
 
Последнее редактирование модератором:

#Rin

Известный
Всефорумный модератор
1,214
1,036
Здравствуйте,я в ахк не шарю,но мне нужен ахк МО,вот нашел я 1,но проблема,жаловались люди что открывает миллион окон,я же решил рискнуть,и запустил скрипт,открылось 2357235897892 окон,комп чуть на орбиту не улетел,это чувак специально вирусную команду написал? Есть у кого АХК для армии Адванс.
У них на сервере как минимум 2 ахк есть.
чувак специально вирусную команду написал
Що за вирусные команды?
проблема,жаловались люди что открывает миллион окон,я же решил рискнуть,и запустил скрипт,открылось 2357235897892 окон,комп чуть на орбиту не улетел
Код конечно быдлокодский, но какие окна, там один msgbox в начале и все.
 

Gveman

Новичок
3
0
У них на сервере как минимум 2 ахк есть.

Що за вирусные команды?

Код конечно быдлокодский, но какие окна, там один msgbox в начале и все.
Я вообще не шарю)))) Вот АХК где я окно не удалял,могу весь скрипт кинуть,но он большой оч

; - Auto-МО by Dobryak v.1.0 -
; Все функции Вы сможете увидеть при вводе комманды "/helpmo"
; Удачного использования!

Код:
#Persistent
#ifwinactive GTA:SA:MP
#include SAMP.ahk

;ini
IniRead, army, info.ini,INFO,army
IniRead, tag, info.ini,INFO,tag
IniRead, post1, info.ini,INFO,post1
IniRead, post2, info.ini,INFO,post2
IniRead, post3, info.ini,INFO,post3
IniRead, zvanie, info.ini,INFO,zvanie
IniRead, gravirovka, info.ini,INFO,gravirovka

msgbox, Auto-MO by Dobryak v.1.1 запущен! Рекомендуется запускать скрипт до запуска GTA, иначе могут не работать некоторые функции. Список функций: "/helpmo". Удачного пользования!
lastarm:=getPlayerArmor()
file = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Loop
{
; Ники и прочее...
Nick:= getUsername()
RPNick:= getUsername()
StringReplace, RPNick, RPNick,_,{SPACE}, All
Fama:= getUsername()
RegExMatch(Fama, "\Q_\E(.*)\Q\E", Fama)
StringReplace, Fama, Fama,_,, All
id:= getId()
; >> Броня
arm:=getPlayerArmor()
hp:= getPlayerHealth()
if ( hp = 0 ){
sleep 10000
} else {
if ( arm > lastarm )

И получается включаю и вылазит 5 окон Auto-MO by Dobryak v.1.1 запущен! Рекомендуется запускать скрипт до запуска GTA, иначе могут не работать некоторые функции. Список функций: "/helpmo". Удачного
нажимаю "ОК" вылазит +25,и потом лаг и около 1000 окон вылетело
 
Последнее редактирование модератором:

RellaX

Известный
80
9
Я вообще не шарю)))) Вот АХК где я окно не удалял,могу весь скрипт кинуть,но он большой оч

; - Auto-МО by Dobryak v.1.0 -
; Все функции Вы сможете увидеть при вводе комманды "/helpmo"
; Удачного использования!

#Persistent
#ifwinactive GTA:SA:MP
#include SAMP.ahk

;ini
IniRead, army, info.ini,INFO,army
IniRead, tag, info.ini,INFO,tag
IniRead, post1, info.ini,INFO,post1
IniRead, post2, info.ini,INFO,post2
IniRead, post3, info.ini,INFO,post3
IniRead, zvanie, info.ini,INFO,zvanie
IniRead, gravirovka, info.ini,INFO,gravirovka

msgbox, Auto-MO by Dobryak v.1.1 запущен! Рекомендуется запускать скрипт до запуска GTA, иначе могут не работать некоторые функции. Список функций: "/helpmo". Удачного пользования!
lastarm:=getPlayerArmor()
file = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Loop
{
; Ники и прочее...
Nick:= getUsername()
RPNick:= getUsername()
StringReplace, RPNick, RPNick,_,{SPACE}, All
Fama:= getUsername()
RegExMatch(Fama, "\Q_\E(.*)\Q\E", Fama)
StringReplace, Fama, Fama,_,, All
id:= getId()
; >> Броня
arm:=getPlayerArmor()
hp:= getPlayerHealth()
if ( hp = 0 ){
sleep 10000
} else {
if ( arm > lastarm )

И получается включаю и вылазит 5 окон Auto-MO by Dobryak v.1.1 запущен! Рекомендуется запускать скрипт до запуска GTA, иначе могут не работать некоторые функции. Список функций: "/helpmo". Удачного
нажимаю "ОК" вылазит +25,и потом лаг и около 1000 окон вылетело
Ищи reload, goto, gosub, или кидай фулл код скрипта
 

BH:Pchela

Участник
41
0
Сделал команду /apost для автоматического доклада с поста. Как сделать так, чтобы при вводе /apostoff доклады останавливались?
Lua:
:?:/apost::
Send, /apost {Space}
Input, Number, V, {Enter}
Loop
{
    SendChat("/r Докладывает: "Name ". Пост: "Number ". Код: Зеленый.")
    Sleep, 600000
}
return
 

Vlad Horii

Известный
Проверенный
310
171
Сделал команду /apost для автоматического доклада с поста. Как сделать так, чтобы при вводе /apostoff доклады останавливались?
Lua:
:?:/apost::
Send, /apost {Space}
Input, Number, V, {Enter}
Loop
{
    SendChat("/r Докладывает: "Name ". Пост: "Number ". Код: Зеленый.")
    Sleep, 600000
}
return
AutoHotKey:
:?:/apost::
Send, /apost {Space}
Input, Number, V, {Enter}
setTimer,report,on
report:
SendChat("/r Докладывает: "Name ". Пост: "Number ". Код: Зеленый.")
Sleep, 600000
return
:?:/apostoff:: setTimer,report,off
(Да да расскажите мне что можно сделать на много проще, всё равно буду делать так)
 
Последнее редактирование:
  • Нравится
Реакции: Cesar Ballard

#Rin

Известный
Всефорумный модератор
1,214
1,036
AutoHotKey:
:?:/apost::
Send, /apost {Space}
Input, Number, V, {Enter}
setTimer,report,on
report:
SendChat("/r Докладывает: "Name ". Пост: "Number ". Код: Зеленый.")
Sleep, 600000
return
:?:/apost::setTimer,report,off
(Да да расскажите мне что можно сделать на много проще, всё равно буду делать так)
Не проще сразу таймер на 600000 миллисекунд ставить?
 

TopMo3

Участник
121
7
Привет всем, кому не жалко могут сделать автоматическую отыгровку таких оружий как дубинка, и SD-Pistol
Например: Я взял оружие "SD-Pistol", через секунду написано: /me достал электрошокер из кобуры.
И когда я убираю оружие "SD-Pistol" писало: /me убрал электрошокер в кобуру
И также с дубинкой.
 

TopMo3

Участник
121
7
Я нашел какой-то скрипт с отыгровкой оружием, что не так, если можете отпишите исправленный код, а то не знаю из-за чего не работает.

Код:
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
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Я нашел какой-то скрипт с отыгровкой оружием, что не так, если можете отпишите исправленный код, а то не знаю из-за чего не работает.

Код:
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
Че велосипед придумываете?
Скачай "Gun List" и все, не парься.