Implement Steamworks_GetClientSteamID.

This commit is contained in:
Ryan Stecker
2014-06-02 16:56:24 -05:00
parent 93406fa2d5
commit f996e24370
2 changed files with 24 additions and 0 deletions
+22
View File
@@ -180,6 +180,27 @@ static cell_t sm_UserHasLicenseForApp(IPluginContext *pContext, const cell_t *pa
return pServer->UserHasLicenseForApp(checkid, params[2]);
}
static cell_t sm_GetClientSteamID(IPluginContext *pContext, const cell_t *params)
{
int client = gamehelpers->ReferenceToIndex(params[1]);
IGamePlayer *pPlayer = playerhelpers->GetGamePlayer(client);
if (pPlayer == NULL || pPlayer->IsConnected() == false)
{
return pContext->ThrowNativeError("Client index %d is invalid", params[1]);
}
CSteamID steamId = CreateCommonCSteamID(pPlayer, params, 4, 5);
char *steamIdBuffer;
pContext->LocalToString(params[2], &steamIdBuffer);
int numBytes = g_pSM->Format(steamIdBuffer, params[3], "%llu", steamId.ConvertToUint64());
numBytes++; // account for null terminator
return numBytes;
}
static sp_nativeinfo_t gsnatives[] = {
{"SteamWorks_IsVACEnabled", sm_IsVACEnabled},
{"SteamWorks_GetPublicIP", sm_GetPublicIP},
@@ -191,6 +212,7 @@ static sp_nativeinfo_t gsnatives[] = {
{"SteamWorks_ClearRules", sm_ClearRules},
{"SteamWorks_ForceHeartbeat", sm_ForceHeartbeat},
{"SteamWorks_HasLicenseForApp", sm_UserHasLicenseForApp},
{"SteamWorks_GetClientSteamID", sm_GetClientSteamID},
{NULL, NULL}
};
+2
View File
@@ -183,6 +183,7 @@ native bool:SteamWorks_ClearRules();
native bool:SteamWorks_ForceHeartbeat();
native EUserHasLicenseForAppResult:SteamWorks_HasLicenseForApp(client, app);
native SteamWorks_GetClientSteamID(client, String:sSteamID[], length);
native bool:SteamWorks_RequestStatsAuthID(authid, appid);
native bool:SteamWorks_RequestStats(client, appid);
@@ -277,6 +278,7 @@ public __ext_SteamWorks_SetNTVOptional()
MarkNativeAsOptional("SteamWorks_ForceHeartbeat");
MarkNativeAsOptional("SteamWorks_HasLicenseForApp");
MarkNativeAsOptional("SteamWorks_GetClientSteamID");
MarkNativeAsOptional("SteamWorks_RequestStatsAuthID");
MarkNativeAsOptional("SteamWorks_RequestStats");