initial commit
This commit is contained in:
parent
121db6b607
commit
205bdd6d07
68
zombie_hunting_respawn/zh_respawn_stop.sp
Normal file
68
zombie_hunting_respawn/zh_respawn_stop.sp
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
#include <sourcemod>
|
||||||
|
#include <zombiereloaded>
|
||||||
|
int g_bBlockRespawn[MAXPLAYERS+1];
|
||||||
|
ConVar g_hRespawnTreshold;
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
public Plugin myinfo =
|
||||||
|
{
|
||||||
|
name = "zh stop zm respawn",
|
||||||
|
author = "jenz",
|
||||||
|
description = "Disables respawning on zombie hunting maps after some deaths",
|
||||||
|
version = "1.0.0",
|
||||||
|
url = "www.unloze.com"
|
||||||
|
};
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
public void OnPluginStart()
|
||||||
|
{
|
||||||
|
g_hRespawnTreshold = CreateConVar("zh_respawn_count", "5.0", "zombie hunting respawn count", 0, true, 0.0, true, 100.0);
|
||||||
|
for (int client; client < MaxClients; client++)
|
||||||
|
g_bBlockRespawn[client] = 0;
|
||||||
|
|
||||||
|
HookEvent("round_start", OnRoundStart);
|
||||||
|
HookEvent("player_death", OnClientDeath);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
public void OnClientDisconnect(int client)
|
||||||
|
{
|
||||||
|
g_bBlockRespawn[client] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
|
||||||
|
{
|
||||||
|
for (int client; client < MaxClients; client++)
|
||||||
|
g_bBlockRespawn[client] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
public void OnClientDeath(Event hEvent, const char[] sEvent, bool bDontBroadcast)
|
||||||
|
{
|
||||||
|
int victim = GetClientOfUserId(hEvent.GetInt("userid"));
|
||||||
|
if (g_bBlockRespawn[victim] > g_hRespawnTreshold.FloatValue)
|
||||||
|
return;
|
||||||
|
PrintToChat(victim, "\x04[ZR]\x01 You have %f respawns left for this round.", g_hRespawnTreshold.FloatValue - g_bBlockRespawn[victim]);
|
||||||
|
g_bBlockRespawn[victim]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
public Action ZR_OnClientRespawn(&client, &ZR_RespawnCondition:condition)
|
||||||
|
{
|
||||||
|
if (g_bBlockRespawn[client] > g_hRespawnTreshold.FloatValue)
|
||||||
|
return Plugin_Handled;
|
||||||
|
|
||||||
|
return Plugin_Continue;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user