мб потому что у тебя переменная пустая? Ты её никак не задалКто знает в чём проблема, не работает женская отыгровка...
Код:#SingleInstance Force #Persistent #NoEnv #IfWinActive GTA:SA:MP #Include udf.ahk global TazerIn:=0 global TazerOut:=0 global TazerTo:=0 global WeaponDrawn:=0 Menu, Tray, add, Gui, Add, CheckBox, vRPgun Checked0%RPgunVar% x150 w150 h150 , RPgun Gui, Add, CheckBox, vInfoCheck Checked0%InfoCheckVar% x150 y160 w140 h20, Женские отыгровки Gui, Add, Button, x150 w100 h20 gSave, Сохранить Gui, Show, w300 h300, RPgun return Save: Gui, Submit, NoHide TrayTip, Save,Save`nПриятной игры SetTimer, UnloadGun, On return UnloadGun: SetTimer, UnloadGun, Off while (RPgun = true) { if (WeaponDrawn = 1) { if not (getPlayerWeaponId() = 24) and (TazerOut = 2) { SendChat("/me поставив пистолет на предохранитель, убрал" Pol2 " его в кобуру") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 3) and (TazerOut = 3) { SendChat("/me повесил" Pol2 " дубинку на пояс") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 23) and (TazerOut = 4) { SendChat("/me убрал" Pol2 " taser x-26 в кобуру на поясе") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 25) and (TazerOut = 5) { SendChat("/me поставив дробовик на предохранитель, повесил" Pol2 " его на плечо") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 34) and (TazerOut = 6) { SendChat("/me поставив снайперскую винтовку на предохранитель, повесил" Pol2 " его на плечо") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 31) and (TazerOut = 7) { SendChat("/me поставив автомат на предохранитель, повесил" Pol2 " его на плечо") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 30) and (TazerOut = 8) { SendChat("/me поставив автомат на предохранитель, повесил" Pol2 " его на плечо") 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 поставив пистолет-пулемёт на предохранитель, повесил" Pol2 " его на плечо") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 1) and (TazerOut = 12) { SendChat("/me снял" Pol2 " кастет.") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 14) and (TazerOut = 13) { SendChat("/me убрал" Pol2 " цветы в маленькую сумку на поясе") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 5) and (TazerOut = 14) { SendChat("/me убрал" Pol2 " биту в сумку на спине") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 43) and (TazerOut = 15) { SendChat("/me закрыл" Pol2 " крышечкой объектив фотоаппарата") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 46) and (TazerOut = 16) { SendChat("/me снял" Pol2 " парашют") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 8) and (TazerOut = 17) { SendChat("/me убрал" Pol2 " катану в чехол на поясе") TazerOut:=0 WeaponDrawn:=0 } Sleep 1000 } else { goto, TakeGun } } return TakeGun: while (RPgun = true) { if (WeaponDrawn = 0) { if (getPlayerWeaponId() = 24) and (TazerOut != 2) { SendChat("/me достав пистолет из кобуры, снял" Pol2 " его с предохранителя") TazerOut:=2 WeaponDrawn:=1 } if (getPlayerWeaponId() = 3) and (TazerOut != 3) { SendChat("/me резким движением правой руки снял" Pol2 " дубинку с пояса") TazerOut:=3 WeaponDrawn:=1 } if (getPlayerWeaponId() = 23) and (TazerOut != 4) { SendChat("/me достав taser x-26 из кобуры, положил" Pol2 " палец на курок") TazerOut:=4 WeaponDrawn:=1 } if (getPlayerWeaponId() = 25) and (TazerOut != 5) { SendChat("/me сняв дробовик с плеча, переключил" Pol2 " предохранитель") TazerOut:=5 WeaponDrawn:=1 } if (getPlayerWeaponId() = 34) and (TazerOut != 6) { SendChat("/me сняв снайперскую винтовку с сплеча, переключил" Pol2 " предохранитель") TazerOut:=6 WeaponDrawn:=1 } if (getPlayerWeaponId() = 31) and (TazerOut != 7) { SendChat("/me сняв автомат с плеча, переключил" Pol2 " предохранитель") TazerOut:=7 WeaponDrawn:=1 } if (getPlayerWeaponId() = 30) and (TazerOut != 8) { SendChat("/me сняв автомат с плеча, переключил" Pol2 " предохранитель") TazerOut:=8 WeaponDrawn:=1 } if (getPlayerWeaponId() = 17) and (TazerOut != 9) { SendChat("/me достал" Pol2 " из нагрудного кармана бронежилета газовую гранат") SendChat("/do Газовая граната в правой руке") TazerOut:=9 WeaponDrawn:=1 } if (getPlayerWeaponId() = 33) and (TazerOut != 10) { SendChat("/me сняв винтовку с плеча, снял" Pol2 " её с предохранителя") TazerOut:=10 WeaponDrawn:=1 } if (getPlayerWeaponId() = 29) and (TazerOut != 11) { SendChat("/me сняв пистолет-пулемёт с плеча, снял" Pol2 " его с предохранителя") TazerOut:=11 WeaponDrawn:=1 } if (getPlayerWeaponId() = 1) and (TazerOut != 12) { SendChat("/me надел" Pol2 " кастет на правую руку") TazerOut:=12 WeaponDrawn:=1 } if (getPlayerWeaponId() = 14) and (TazerOut != 13) { SendChat("/me развернул" Pol2 " букет цветов") TazerOut:=13 WeaponDrawn:=1 } if (getPlayerWeaponId() = 5) and (TazerOut != 14) { SendChat("/me завел" Pol2 " правую руку за спину") SendChat("/me достал" Pol2 " биту из сумки на спине") TazerOut:=14 WeaponDrawn:=1 } if (getPlayerWeaponId() = 43) and (TazerOut != 15) { SendChat("/me достал" Pol2 " фотоаппарат") TazerOut:=15 WeaponDrawn:=1 } if (getPlayerWeaponId() = 46) and (TazerOut != 16) { SendChat("/me одел" Pol2 " парашют на плечи") TazerOut:=16 WeaponDrawn:=1 } if (getPlayerWeaponId() = 8) and (TazerOut != 17) { SendChat("/me вытащил" Pol2 " катану из чехла на поясе") TazerOut:=17 WeaponDrawn:=1 } Sleep 1000 } else { goto, UnloadGun } } return YourPol: if InfoCheck < 1 { Pol := "е" Pol2 := "" } Else { Pol := "" Pol2 := "а" } return
#IfWinActive GTA:SA:MP
#SingleInstance Force
#NoEnv
ListLines Off
SetBatchLines -1
chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
FileDelete, %chatlog%
Words = (kick|mute|jail|sethp|unmute|unjail|sban|spcar|ban|sban|warn|skick|setskin|ao|unban|unwarn|setskin|skick|banip|banoff|warnoff|plveh|sban)
F2::
FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
StringReplace, Str, Str, `r`n, `n, 1
StringReplace, Str, Str, `r, `n, 1
RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\[A].*?\[.*?]:\s*(/`*" Words "\s.*?)\n", Match)
ToolTip % Clipboard := Match1
FileAppend,%Match1%`n,logachat.ini
SendMessage, 0x50,, 0x4190419,, A
Sleep 150
SendInput,{F6}%match1% {space}
clipboard =
ToolTip
FileDelete,%A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Return
Это полный код, по поводу выговор не заморачивайся, лучше всего систему выдачи выговор будет написать на lua, на ахк будет много мороки с чекером диалога (RegExMatch).как сделат что бы при вводе /дбм выскакивало окошко с 3 действиями:
1.Увал
2.Выг
3.Увольнительная
Много раз пробовал но не полачалося
#Include samp udf.ahk
;--Функция LineResult()
LineResult() {
if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
return false
while (isDialogOpen())
continue
if(GetKeyState("Esc", "P"))
return false
return getDialogLineNumber()
}
;------------------------------
:?:/дбм::
showDialog(2, "Helper","[1]Уволить игрока`n[2]Выдать выговор`n[3]Увольнительный рапорт", "ОК")
Result := LineResult()
if (!Result)
return
Gosub, dil%Result%
return
dil1:
действия/отыгровки.
dil2:
действия/отыгровки.
dil3:
действия/отыгровки
return
А разве луа и АХК можно сочитать?Это полный код, по поводу выговор не заморачивайся, лучше всего систему выдачи выговор будет написать на lua, на ахк будет много мороки с чекером диалога (RegExMatch).
Код:#Include samp udf.ahk ;--Функция LineResult() LineResult() { if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3) return false while (isDialogOpen()) continue if(GetKeyState("Esc", "P")) return false return getDialogLineNumber() } ;------------------------------ :?:/дбм:: showDialog(2, "Helper","[1]Уволить игрока`n[2]Выдать выговор`n[3]Увольнительный рапорт", "ОК") Result := LineResult() if (!Result) return Gosub, dil%Result% return dil1: действия/отыгровки. dil2: действия/отыгровки. dil3: действия/отыгровки return
Нет, нельзя, но ты можешь написать диалоги на lua, и там изначально пожно сделать больше, из-за того что lua, не отдельный интерфейс а встроенный в игруА разве луа и АХК можно сочитать?
Уровень Ранг Телефон Имя{FFFFFF}
7 6 999292 Hate_You[31]-AFK
14 7 229999 Maksim_Gorech[53]
7 6 133311 Danya_Milkovich[89]
9 7 223345 Benz_Truck[101]
13 9 636667 Stan_Lamare[104]
6 1 1768922 Lesha_Ovchinnikov[139]
{00FF99}Всего в подразделении: 355
Из них онлайн: 6
На паузе: 1
F10::
{
sleep 100
ShowDialog(2, "Меню MST", "1.Function 1. `n2. Function 2.","Ок")
ResultFunc := LineResult()
sleep 50
if (!ResultFunc)
return
while(isDialogOpen()) {
sleep 100
}
if(ResultFunc == 1) ; Меню MST-TP
{
addChatMessage("LigneNumber = " ResultFunc)
}
if(ResultFunc == 2) ; Меню MST-TP
{
addChatMessage("LigneNumber = " ResultFunc)
}
else
{
addChatMessage("Error!")
addChatMessage("LigneNumber = " ResultFunc)
}
return
}
Мой ReturnLine()
LineResult() {
if (!isDialogOpen())
return false
if (getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
return false
while(!GetKeyState("LButton", "P") && !GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))
continue
if (GetKeyState("Enter", "P"))
return getDialogIndex()
else if (GetKeyState("Esc", "P"))
return false
else{
KeyWait, LButton
KeyWait, LButton, D T0.4
if (isDialogOpen())
return LineResult()
else
return getDialogIndex()
}
}
Вопрос по регуляркам
Есть текст диалога
Необходимо получить число из строки: "Из них онлайн: 6"Код:Уровень Ранг Телефон Имя{FFFFFF} 7 6 999292 Hate_You[31]-AFK 14 7 229999 Maksim_Gorech[53] 7 6 133311 Danya_Milkovich[89] 9 7 223345 Benz_Truck[101] 13 9 636667 Stan_Lamare[104] 6 1 1768922 Lesha_Ovchinnikov[139] {00FF99}Всего в подразделении: 355 Из них онлайн: 6 На паузе: 1
количество строк может быть любым, также как и число, но сама строка является неизменной
$~Enter::
if (IsInChat() = 1)
{
sleep, 200
dwAddress := dwSAMP + 0x12D8F8
chat := readString(hGTA, dwAddress, 256)
if (chat == "/find")
{
back:
if (isDialogOpen() = 1)
{
Dtext:=getDialogText()
RegExMatch(Dtext, "Из них онлайн:(.*)\n", out)
RegExMatch(out1, "[0-9]+", chel)
sendchat("/me достав КПК перешел во вкладку ""Список сотрудников""")
sleep 1500
sendchat("/do Количество сотрудников в штате: " chel ".")
return
}
if (isDialogOpen() = 0)
{
goto, back
}
}
}
Нажать f6)Забиндил я например лекцию,что нужно сделать что бы при отыгровки я мог открывать чат.
Сделать отыгровки через функцию SendChatЗабиндил я например лекцию,что нужно сделать что бы при отыгровки я мог открывать чат.
number := RegExReplace(number, "(\d)(\d)(\d)", "$1-$2-$3")Помню когда-то видел в этой темке ответ на этот вопрос, но сейчас ищу и не как не могу найти, поэтому опять задам его.
Как из к примеру 666 сделать 6-6-6?
Ты нигде не вызываешь метку YourPol.Кто знает в чём проблема, не работает женская отыгровка...
Код:#SingleInstance Force #Persistent #NoEnv #IfWinActive GTA:SA:MP #Include udf.ahk global TazerIn:=0 global TazerOut:=0 global TazerTo:=0 global WeaponDrawn:=0 Menu, Tray, add, Gui, Add, CheckBox, vRPgun Checked0%RPgunVar% x150 w150 h150 , RPgun Gui, Add, CheckBox, vInfoCheck Checked0%InfoCheckVar% x150 y160 w140 h20, Женские отыгровки Gui, Add, Button, x150 w100 h20 gSave, Сохранить Gui, Show, w300 h300, RPgun return Save: Gui, Submit, NoHide TrayTip, Save,Save`nПриятной игры SetTimer, UnloadGun, On return UnloadGun: SetTimer, UnloadGun, Off while (RPgun = true) { if (WeaponDrawn = 1) { if not (getPlayerWeaponId() = 24) and (TazerOut = 2) { SendChat("/me поставив пистолет на предохранитель, убрал" Pol2 " его в кобуру") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 3) and (TazerOut = 3) { SendChat("/me повесил" Pol2 " дубинку на пояс") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 23) and (TazerOut = 4) { SendChat("/me убрал" Pol2 " taser x-26 в кобуру на поясе") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 25) and (TazerOut = 5) { SendChat("/me поставив дробовик на предохранитель, повесил" Pol2 " его на плечо") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 34) and (TazerOut = 6) { SendChat("/me поставив снайперскую винтовку на предохранитель, повесил" Pol2 " его на плечо") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 31) and (TazerOut = 7) { SendChat("/me поставив автомат на предохранитель, повесил" Pol2 " его на плечо") WeaponDrawn:=0 TazerOut:=0 } if not (getPlayerWeaponId() = 30) and (TazerOut = 8) { SendChat("/me поставив автомат на предохранитель, повесил" Pol2 " его на плечо") 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 поставив пистолет-пулемёт на предохранитель, повесил" Pol2 " его на плечо") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 1) and (TazerOut = 12) { SendChat("/me снял" Pol2 " кастет.") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 14) and (TazerOut = 13) { SendChat("/me убрал" Pol2 " цветы в маленькую сумку на поясе") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 5) and (TazerOut = 14) { SendChat("/me убрал" Pol2 " биту в сумку на спине") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 43) and (TazerOut = 15) { SendChat("/me закрыл" Pol2 " крышечкой объектив фотоаппарата") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 46) and (TazerOut = 16) { SendChat("/me снял" Pol2 " парашют") TazerOut:=0 WeaponDrawn:=0 } if not (getPlayerWeaponId() = 8) and (TazerOut = 17) { SendChat("/me убрал" Pol2 " катану в чехол на поясе") TazerOut:=0 WeaponDrawn:=0 } Sleep 1000 } else { goto, TakeGun } } return TakeGun: while (RPgun = true) { if (WeaponDrawn = 0) { if (getPlayerWeaponId() = 24) and (TazerOut != 2) { SendChat("/me достав пистолет из кобуры, снял" Pol2 " его с предохранителя") TazerOut:=2 WeaponDrawn:=1 } if (getPlayerWeaponId() = 3) and (TazerOut != 3) { SendChat("/me резким движением правой руки снял" Pol2 " дубинку с пояса") TazerOut:=3 WeaponDrawn:=1 } if (getPlayerWeaponId() = 23) and (TazerOut != 4) { SendChat("/me достав taser x-26 из кобуры, положил" Pol2 " палец на курок") TazerOut:=4 WeaponDrawn:=1 } if (getPlayerWeaponId() = 25) and (TazerOut != 5) { SendChat("/me сняв дробовик с плеча, переключил" Pol2 " предохранитель") TazerOut:=5 WeaponDrawn:=1 } if (getPlayerWeaponId() = 34) and (TazerOut != 6) { SendChat("/me сняв снайперскую винтовку с сплеча, переключил" Pol2 " предохранитель") TazerOut:=6 WeaponDrawn:=1 } if (getPlayerWeaponId() = 31) and (TazerOut != 7) { SendChat("/me сняв автомат с плеча, переключил" Pol2 " предохранитель") TazerOut:=7 WeaponDrawn:=1 } if (getPlayerWeaponId() = 30) and (TazerOut != 8) { SendChat("/me сняв автомат с плеча, переключил" Pol2 " предохранитель") TazerOut:=8 WeaponDrawn:=1 } if (getPlayerWeaponId() = 17) and (TazerOut != 9) { SendChat("/me достал" Pol2 " из нагрудного кармана бронежилета газовую гранат") SendChat("/do Газовая граната в правой руке") TazerOut:=9 WeaponDrawn:=1 } if (getPlayerWeaponId() = 33) and (TazerOut != 10) { SendChat("/me сняв винтовку с плеча, снял" Pol2 " её с предохранителя") TazerOut:=10 WeaponDrawn:=1 } if (getPlayerWeaponId() = 29) and (TazerOut != 11) { SendChat("/me сняв пистолет-пулемёт с плеча, снял" Pol2 " его с предохранителя") TazerOut:=11 WeaponDrawn:=1 } if (getPlayerWeaponId() = 1) and (TazerOut != 12) { SendChat("/me надел" Pol2 " кастет на правую руку") TazerOut:=12 WeaponDrawn:=1 } if (getPlayerWeaponId() = 14) and (TazerOut != 13) { SendChat("/me развернул" Pol2 " букет цветов") TazerOut:=13 WeaponDrawn:=1 } if (getPlayerWeaponId() = 5) and (TazerOut != 14) { SendChat("/me завел" Pol2 " правую руку за спину") SendChat("/me достал" Pol2 " биту из сумки на спине") TazerOut:=14 WeaponDrawn:=1 } if (getPlayerWeaponId() = 43) and (TazerOut != 15) { SendChat("/me достал" Pol2 " фотоаппарат") TazerOut:=15 WeaponDrawn:=1 } if (getPlayerWeaponId() = 46) and (TazerOut != 16) { SendChat("/me одел" Pol2 " парашют на плечи") TazerOut:=16 WeaponDrawn:=1 } if (getPlayerWeaponId() = 8) and (TazerOut != 17) { SendChat("/me вытащил" Pol2 " катану из чехла на поясе") TazerOut:=17 WeaponDrawn:=1 } Sleep 1000 } else { goto, UnloadGun } } return YourPol: if InfoCheck < 1 { Pol := "е" Pol2 := "" } Else { Pol := "" Pol2 := "а" } return