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

#Rin

Известный
Всефорумный модератор
1,214
1,036
Как сделать проверку по ид, афк ли игрок?
Еще в прошлом месяце, спрашивали на другом форуме.
Я ответил:
Rinat_Namazov написал(а):
Найди функцию updateOScoreboardData(), после найдешь
dwRemoteplayer := readDWORD(hGTA, dwPlayers+SAMP_PREMOTEPLAYER_OFFSET+i*4)
dwRemoteplayer + какое-то смещение, по идее там должен статус храниться, правда смещение хз какое, ищи.
И через неделю он выполнил эту задачу. Его ник если что, Dworkin.
AutoHotKey:
isInAFKbyID(ID)
{
    if(!checkHandles())
        return -1
    dwAddress := readDWORD(hGTA, dwSAMP + SAMP_INFO_OFFSET)
    dwAddress := readDWORD(hGTA, dwAddress + SAMP_PPOOLS_OFFSET)
    dwPlayers := readDWORD(hGTA, dwAddress + SAMP_PPOOL_PLAYER_OFFSET)
    dwRemoteplayer := readDWORD(hGTA, dwPlayers+SAMP_PREMOTEPLAYER_OFFSET+ID*4) ;pRemotePlayer
    dwRemoteplayerData := readDWORD(hGTA, dwRemoteplayer + 0x0) ;pPlayerData
    isAFK := readDWORD(hGTA, dwRemoteplayerData + 462)
    if (isAFK != 0)
        return true
    else
        return false
}
Как сделать проверку на афк на игрока который в зоне стрима.
Получаешь статус афк функцией выше, а после проверяешь в стриме ли он.
Если сервер никак не может тебе сказать, афк или нет, но это нереализуемо, если игрок вне зоны стрима.
Данные об всех игроках хранятся в структуре dwRemoteplayer (Те что доступны всем ото всюду (Ид, ник, нпс ли и т.п)).
 

Di3

Участник
432
20
Код:
regmatch(chatinput, "^/crd (.*)",id)
crd:=getPlayerPosById("" id "" )
addchatmessage("" id "")
не выдает,корды,в чем проблема?
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Код:
regmatch(chatinput, "^/crd (.*)",id)
crd:=getPlayerPosById("" id "" )
addchatmessage("" id "")
не выдает,корды,в чем проблема?
Проблемы во всем, все твои строки не правильны.
AutoHotKey:
RegExMatch(chatinput, "^/crd (.*)", id)
addchatmessage(getPlayerPosById(id1))
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
можешь написать как?)
Я же показывал:
Через массив:
AutoHotKey:
str := "", coordinates := getCoordinates(), XYZ := ["X", "Y", "Z"]
for k, v in coordinates
    str .= XYZ[k] ": " v "`n"
FileAppend, %str%, Coordinates.txt
Еще так можно:
AutoHotKey:
test_var := функция_которая_возвращает_массив()
test_var[1] ; вместо 1, индекс значения в массиве
А так еще куча вариантов есть.
Двухмерные массивы и т.п
 

Di3

Участник
432
20
Я же показывал:

Еще так можно:
AutoHotKey:
test_var := функция_которая_возвращает_массив()
test_var[1] ; вместо 1, индекс значения в массиве
А так еще куча вариантов есть.
Двухмерные массивы и т.п
так это пооучение свотх, а я прошу по иду
 

™ ChipFamily

По ту сторону надежды.
5,144
1,980
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как сделать, чтобы автоматически отвечало в чат когда админ спросил "Вы тут"

FF9945FF
Администратор Blast_Hack[15] ответил Вам:{FFFFFF} Вы тут?
 

Di3

Участник
432
20
Как сделать, чтобы автоматически отвечало в чат когда админ спросил "Вы тут"

FF9945FF
Администратор Blast_Hack[15] ответил Вам:{FFFFFF} Вы тут?
Код:
^numpad5::
loop
{
text = (Вы тут?)
if RegExMatch( getChatLineEx() , ".*" text ".*", ok)
{
addChatMessage("+")
}
}
}
 

™ ChipFamily

По ту сторону надежды.
5,144
1,980
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
^numpad5::
loop
{
text = (Вы тут?)
if RegExMatch( getChatLineEx() , ".*" text ".*", ok)
{
addChatMessage("+")
}
}
}
8EWn5D.png