PHP Code:
public OnSV_GetIDString( const id )
{
server_print("%d", id );
}
thats how the function parameters should look like, where id is a player index assumingly ?
also thats linux function address is too short ( 0x47C50 ) try finding a longer address, this address can be invalid.
also here's the function that you're trying catch.
Code:
char* EXT_FUNC SV_GetIDString_internal(USERID_t *id)
{
static char idstr[64];
idstr[0] = 0;
if (!id)
{
return idstr;
}
switch (id->idtype)
{
case AUTH_IDTYPE_STEAM:
if (sv_lan.value != 0.0f)
{
Q_strncpy(idstr, "STEAM_ID_LAN", ARRAYSIZE(idstr) - 1);
}
else if (!id->m_SteamID)
{
Q_strncpy(idstr, "STEAM_ID_PENDING", ARRAYSIZE(idstr) - 1);
}
else
{
TSteamGlobalUserID steam2ID = Steam_Steam3IDtoSteam2(id->m_SteamID);
Q_snprintf(idstr, ARRAYSIZE(idstr) - 1, "STEAM_%u:%u:%u", steam2ID.m_SteamInstanceID, steam2ID.m_SteamLocalUserID.Split.High32bits, steam2ID.m_SteamLocalUserID.Split.Low32bits);
}
break;
case AUTH_IDTYPE_VALVE:
if (sv_lan.value != 0.0f)
{
Q_strncpy(idstr, "VALVE_ID_LAN", ARRAYSIZE(idstr) - 1);
}
else if (!id->m_SteamID)
{
Q_strncpy(idstr, "VALVE_ID_PENDING", ARRAYSIZE(idstr) - 1);
}
else
{
TSteamGlobalUserID steam2ID = Steam_Steam3IDtoSteam2(id->m_SteamID);
Q_snprintf(idstr, ARRAYSIZE(idstr) - 1, "VALVE_%u:%u:%u", steam2ID.m_SteamInstanceID, steam2ID.m_SteamLocalUserID.Split.High32bits, steam2ID.m_SteamLocalUserID.Split.Low32bits);
}
break;
case AUTH_IDTYPE_LOCAL:
Q_strncpy(idstr, "HLTV", ARRAYSIZE(idstr) - 1);
break;
default:
Q_strncpy(idstr, "UNKNOWN", ARRAYSIZE(idstr) - 1);
break;
}
// Don't be paranoid
//idstr[ARRAYSIZE(idstr) - 1] = 0;
return idstr;
}
__________________