66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			SourcePawn
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			SourcePawn
		
	
	
	
	
	
| #pragma semicolon 1
 | |
| 
 | |
| #include <sourcemod>
 | |
| #include <sdktools>
 | |
| #include <zombiereloaded>
 | |
| #include <cstrike>
 | |
| #include <ccc>
 | |
| 
 | |
| ConVar g_iIncreasedKnockback;
 | |
| ConVar g_iDefineMaxPopulation;
 | |
| Handle CheckTimer;
 | |
| 
 | |
| public Plugin myinfo =
 | |
| {
 | |
| 	name = "IncreasedKnockback",
 | |
| 	author = "Dogan",
 | |
| 	description = "Increase the knockback during low population",
 | |
| 	version = "1.0.0",
 | |
| 	url = ""
 | |
| }
 | |
| 
 | |
| public void OnPluginStart()
 | |
| {
 | |
| 	g_iIncreasedKnockback = CreateConVar("sm_knockback_boost", "1.05", "knockback boost during low population");
 | |
| 	g_iDefineMaxPopulation = CreateConVar("sm_knockback_maxpopulation", "32", "max amount of players until the knockback should be increased");
 | |
| 
 | |
| 	AutoExecConfig(true, "plugin.IncreasedKnockback");
 | |
| 	GetConVars();
 | |
| }
 | |
| 
 | |
| public void GetConVars()
 | |
| {
 | |
| 	if (CheckTimer != INVALID_HANDLE && CloseHandle(CheckTimer))
 | |
| 		CheckTimer = INVALID_HANDLE;
 | |
| 
 | |
| 	CheckTimer = CreateTimer(30.0, CheckServerPopulation, _, TIMER_REPEAT);
 | |
| }
 | |
| 
 | |
| public void ConVarChange(ConVar convar, char[] oldValue, char[] newValue)
 | |
| {
 | |
| 	GetConVars();
 | |
| }
 | |
| 
 | |
| public Action CheckServerPopulation(Handle timer)
 | |
| {
 | |
| 	int Population = GetClientCount(true);
 | |
| 
 | |
| 	if(Population <= g_iDefineMaxPopulation.IntValue)
 | |
| 	{
 | |
| 		PerformKnockbackIncrease();
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		PerformKnockbackDecrease();
 | |
| 	}
 | |
| }
 | |
| 
 | |
| public void PerformKnockbackIncrease()
 | |
| {
 | |
| 	ServerCommand("zr_class_set_multiplier zombies knockback %f", g_iIncreasedKnockback.FloatValue);
 | |
| }
 | |
| 
 | |
| public void PerformKnockbackDecrease()
 | |
| {
 | |
| 	ServerCommand("zr_class_set_multiplier zombies knockback 1.0");
 | |
| } |