PHP Code:
#include <sourcemod>
#pragma semicolon 1
#define PLUGIN_VERSION "1.0"
#pragma newdecls required
ConVar g_cDifficulty;
public Plugin myinfo =
{
name = "[L4D2] Difficulty Adjuster",
author = "Tak (Chaosxk)",
description = "Adjusts difficulty based on number of clients in server.",
version = PLUGIN_VERSION,
url = "https://forums.alliedmods.net/showthread.php?t=297009"
}
public void OnPluginStart()
{
if ((g_cDifficulty = FindConVar("z_difficulty")) == null)
{
LogError("[SM] Can not find convar z_difficulty");
SetFailState("Can not find convar z_difficulty");
}
UpdateClientCount(GetSurvivorCount());
}
public void OnClientPostAdminCheck(int client)
{
if (IsFakeClient(client))
return;
UpdateClientCount(GetSurvivorCount());
}
public void OnClientDisconnect(int client)
{
if (IsFakeClient(client))
return;
UpdateClientCount(GetSurvivorCount());
}
void UpdateClientCount(int count)
{
switch (count)
{
case 4:
g_cDifficulty.SetString("easy");
case 8:
g_cDifficulty.SetString("normal");
case 12:
g_cDifficulty.SetString("hard");
case 16:
g_cDifficulty.SetString("impossible");
}
}
int GetSurvivorCount()
{
int iCount = 0;
for(int iClient = 1; iClient <= MaxClients; iClient++) {
if(!IsClientInGame(iClient) || IsFakeClient(iClient) || GetClientTeam(iClient) != 2)
continue;
iCount++;
}
return iCount;
}
Maybe work? :O
__________________