- 1,214
- 1,043
Еще в прошлом месяце, спрашивали на другом форуме.Как сделать проверку по ид, афк ли игрок?
Я ответил:
И через неделю он выполнил эту задачу. Его ник если что, Dworkin.Rinat_Namazov написал(а):Найди функцию updateOScoreboardData(), после найдешь
dwRemoteplayer := readDWORD(hGTA, dwPlayers+SAMP_PREMOTEPLAYER_OFFSET+i*4)
dwRemoteplayer + какое-то смещение, по идее там должен статус храниться, правда смещение хз какое, ищи.
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 (Те что доступны всем ото всюду (Ид, ник, нпс ли и т.п)).Если сервер никак не может тебе сказать, афк или нет, но это нереализуемо, если игрок вне зоны стрима.