13.05.2015, 13:40
(
Last edited by Gammix; 17/05/2015 at 06:36 AM.
)
Here is my version:
Having functions for enabling or disabling class selection would be much meaningful according to the thread name!
pawn Code:
/*
FUNCTIONS:
native TogglePlayerClassSelection(playerid, bool:toggle);
native IsPlayerClassSelectionToggled(playerid);
*/
static bool:gPlayerClassSelection[MAX_PLAYERS] = true;
public OnPlayerRequestClass(playerid, classid)
{
if(! gPlayerClassSelection[playerid])
{
TogglePlayerSpectating(playerid, true);
SetTimerEx("OnPlayerSkipClassSelection", (GetPlayerPing(playerid) + 50), false, "i", playerid);
}
return CallLocalFunction("CLASS_OnPlayerRequestClass", "i", playerid);
}
#if defined _ALS_OnPlayerRequestClass
#undef OnPlayerRequestClass
#else
#define _ALS_OnPlayerRequestClass
#endif
#define OnPlayerRequestClass CLASS_OnPlayerRequestClass
forward CLASS_OnPlayerRequestClasst(playerid, classid);
forward OnPlayerSkipClassSelection(playerid);
public OnPlayerSkipClassSelection(playerid) return (TogglePlayerSpectating(playerid, false), SpawnPlayer(playerid));
stock TogglePlayerClassSelection(playerid, bool:toggle) return (gPlayerClassSelection[playerid] = toggle);
stock IsPlayerClassSelectionToggled(playerid) return gPlayerClassSelection[playerid];