I haven't tried the event but otherwise you could do something like this. Also if you ask me, I have no idea why a simple forward like this don't exist in SM.
Code:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#pragma newdecls required
bool firstConnection[MAXPLAYERS+1];
public void OnClientConnected(int client)
{
if (IsFakeClient(client)) return;
firstConnection[client] = false; // reset the boolean just in case.
int connectionTime = RoundFloat(GetClientTime(client));
if (connectionTime > 1) return;
firstConnection[client] = true; // A client just made a connection.
}
public void OnClientPostAdminCheck(int client)
{
if (IsFakeClient(client)) return;
if (firstConnection[client]) // The client is in game for the first time. Do all the necessary checks below.
{
firstConnection[client] = false; // Reset the boolean so this OnClientPostAdminCheck call won't reoccour
// Do stuff
}
}