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