Improved handling of invalid handle errors (maybe not fixed). Added a debug switch and a log function. Added debug messages on zspawn. Fixed zr_spawn not spawning spectactors (when using @all).

This commit is contained in:
richard
2008-10-29 22:02:46 +01:00
parent a56e89b907
commit cf8bd3aead
8 changed files with 62 additions and 10 deletions

View File

@ -73,9 +73,15 @@ public Action:Command_Respawn(client, argc)
return Plugin_Handled;
}
new team;
for (new x = 0; x < tcount; x++)
{
RespawnPlayer(targets[x]);
team = GetClientTeam(client);
if (team == CS_TEAM_T || team == CS_TEAM_CT)
{
ZR_DebugPrintToConsole(x, "ZSpawn: Spawned player");
RespawnPlayer(targets[x]);
}
}
return Plugin_Handled;

View File

@ -9,6 +9,7 @@
enum ZRSettings
{
Handle:CVAR_ENABLE,
Handle:CVAR_DEBUG,
Handle:CVAR_ALLOW_PLAYER_TEAM,
Handle:CVAR_AMBIENCE,
Handle:CVAR_AMBIENCE_FILE,
@ -79,6 +80,7 @@ new gCvars[ZRSettings];
CreateCvars()
{
gCvars[CVAR_ENABLE] = CreateConVar("zr_enable", "1", "Enable zombie gameplay (0: Disable)");
gCvars[CVAR_DEBUG] = CreateConVar("zr_debug", "0", "Debug switch, for developers. Usually enables logging of messages and events to a console. (0: Disable)");
gCvars[CVAR_ALLOW_PLAYER_TEAM] = CreateConVar("zr_allow_player_team", "0", "This will allow the player_team event to be fired on first team join, enable when using mani model menu (0: Disable)");
gCvars[CVAR_AMBIENCE] = CreateConVar("zr_ambience", "1", "Enable creepy ambience to be played throughout the game (0: Disable)");
gCvars[CVAR_AMBIENCE_FILE] = CreateConVar("zr_ambience_file", "ambient/zr/zr_ambience.mp3", "Path to ambient sound file that will be played throughout the game, when zr_ambience is 1");

View File

@ -439,7 +439,7 @@ public Action:PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
if (tHandles[index][x] != INVALID_HANDLE)
{
CloseHandle(tHandles[index][x]);
KillTimer(tHandles[index][x]);
tHandles[index][x] = INVALID_HANDLE;
}
}

View File

@ -183,27 +183,37 @@ public Market_PostOnWeaponSelected(client, &bool:allowed)
ZSpawn(client)
{
if (GetConVarBool(gCvars[CVAR_DEBUG])) ZR_DebugPrintToConsole(client, "ZSpawn: Spawn request:");
new bool:spawn = GetConVarBool(gCvars[CVAR_ZSPAWN]);
if (!spawn)
{
ZR_PrintToChat(client, "Feature is disabled");
if (GetConVarBool(gCvars[CVAR_DEBUG])) ZR_DebugPrintToConsole(client, "ZSpawn: Not enabled.");
return;
}
new team = GetClientTeam(client);
if (team != CS_TEAM_T && team != CS_TEAM_CT)
{
if (GetConVarBool(gCvars[CVAR_DEBUG])) ZR_DebugPrintToConsole(client, "ZSpawn: Player is not a T or CT.");
return;
}
if (IsPlayerAlive(client) || IsPlayerInList(client))
if (IsPlayerAlive(client))
{
if (GetConVarBool(gCvars[CVAR_DEBUG])) ZR_DebugPrintToConsole(client, "ZSpawn: Player appears to be alive.");
return;
}
if (IsPlayerInList(client))
{
if (GetConVarBool(gCvars[CVAR_DEBUG])) ZR_DebugPrintToConsole(client, "ZSpawn: Player is already in the list (= maybe spawned, or bug).");
return;
}
if (GetConVarBool(gCvars[CVAR_DEBUG])) ZR_DebugPrintToConsole(client, "ZSpawn: Spawned player");
RespawnPlayer(client);
AddPlayerToList(client);
}

View File

@ -202,3 +202,17 @@ bool:IsClientPlayer(client)
return false;
}
}
ZR_DebugPrintToConsole(client, String:message[])
{
if (client)
{ /* Client console */
PrintToConsole(client, message);
LogMessage("Debug log (client %i) -- %s", client, message);
}
else
{ /* Server console */
PrintToServer(message);
LogMessage("Debug log (client %i) -- %s", client, message);
}
}