From 260a6ec6aec85ecc49975f9d5703b10f4804518b Mon Sep 17 00:00:00 2001 From: Dogan Date: Sat, 19 Oct 2019 15:08:48 +0200 Subject: [PATCH] PlaytimeStats: ignore nosteamers --- PlaytimeStats/scripting/PlaytimeStats.sp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/PlaytimeStats/scripting/PlaytimeStats.sp b/PlaytimeStats/scripting/PlaytimeStats.sp index fee4c996..24d84d63 100644 --- a/PlaytimeStats/scripting/PlaytimeStats.sp +++ b/PlaytimeStats/scripting/PlaytimeStats.sp @@ -1,10 +1,12 @@ #pragma semicolon 1 #include +#include Database g_hDatabase; int g_iConnectionTime[MAXPLAYERS + 1]; +bool g_bPlayerValid[MAXPLAYERS + 1]; public Plugin myinfo = { @@ -43,17 +45,22 @@ public Action Command_TopTime(int client, int args) return Plugin_Handled; } -public void OnClientConnected(int client) +public void OnClientAuthorized(int client) { if(IsValidClient(client)) + { + g_bPlayerValid[client] = true; g_iConnectionTime[client] = GetTime(); + } } public void OnClientDisconnect(int client) { - if(g_iConnectionTime[client] == 0 || !IsValidClient(client)) + if(g_iConnectionTime[client] == 0 || !g_bPlayerValid[client]) return; + g_bPlayerValid[client] = false; + int iPlayTime = GetTime() - g_iConnectionTime[client]; int iAuthID = GetSteamAccountID(client); @@ -207,5 +214,5 @@ public int Handler_Menu(Menu menu, MenuAction action, int param1, int param2) stock bool IsValidClient(int client) { - return (client >= 1 && client <= MaxClients && !IsFakeClient(client)); + return (client >= 1 && client <= MaxClients && !IsFakeClient(client) && PM_IsPlayerSteam(client)); } \ No newline at end of file