Solved!
Code:
#include <sourcemod>
#include <sdktools>
#include <cstrike>
public OnPluginStart()
{
HookEvent("player_team", Event_OnPlayerChangeTeam, EventHookMode_Pre);
}
public Action:Event_OnPlayerChangeTeam(Event:hEvent, const String:name[], bool:dontBroadcast)
{
hEvent.SetBool("silent", true);
SetEventBroadcast(hEvent, true); // These two lines are optional to avoid spamming team change messages in chat.
new team = GetEventInt(hEvent, "team");
int client = GetClientOfUserId(hEvent.GetInt("userid"));
if(client == 0)
return Plugin_Changed;
Event fakeevent = CreateEvent("player_team");
fakeevent.SetInt("userid", GetClientUserId(client));
fakeevent.FireToClient(client);
CancelCreatedEvent(fakeevent);
if(team == CS_TEAM_SPECTATOR && IsPlayerAlive(client)) // Optional to make spectator team join kill you on the spot.
ForcePlayerSuicide(client);
return Plugin_Changed;
}
__________________
I am available to make plugins for pay.
Discord: Eyal282#1334