Теперь проблема с определением ID, бинд говорит и выводит то что нужно(хоть и с небольшой задержкой), только теперь вместо ID пишет "-1". Поискав в SAMP.udf я изменил строки при ошибках, чтобы выдавало не только "-1", но и "-2", "-3", и "-4".
Вот код из SAMP.udf
getPlayerIdByName(wName) {
wName := "" wName
if(StrLen(wName) < 1 || StrLen(wName) > 24)
return -1
if(iRefreshScoreboard+iUpdateTick > A_TickCount)
{
For i, o in oScoreboardData
{
if(InStr(o.NAME,wName)==1)
return i
}
return -2
}
if(!updateOScoreboardData())
return -3
For i, o in oScoreboardData
{
if(InStr(o.NAME,wName)==1)
return i
}
return -4
}
Когда я представляюсь с этим кодом:
SendChat("Здраствуйте, я адвокат. Покажите мне свой паспорт (( /showpass " myid " )) " )
Вместо ID выводит "-1".
А когда я показываю себе паспорт и пытаюсь вывести свое имя и ID. Вывод имени правильный, но вместо ID показывает "-4".
Numpad2::
SendMessage, 0x50,, 0x4190419,, A
log := {str:"",find:0,num:0} , log.str := []
Loop, read, %path_log%
log.str.Insert(A_LoopReadLine) ,log.num := A_Index
loop 30
if RegExMatch( log.str[log.num + 1 - A_Index]
,"\[(.*)\] Имя: (.*)"
, name) and (log.find:=log.num + 1 - A_Index)
break
if (name2 != "") {
idplayer := getPlayerIdByName(name2)
lvlplayer := getPlayerScoreById(idplayer)
SendChat(name2 . idplayer . lvlplayer)
} else {
msgbox, Error
}
return
Я не знаю в чем ошибка, так как даже заменив значение "-x", я не понимаю. Возможно вы поймете?