#include #include #include new bool:G_bIsHuman[66]; new bool:G_bIsZombie[66]; new Handle:G_hCvar_Difficulty_Humans; new Handle:G_hCvar_Difficulty_Zombies; public Plugin:myinfo = { name = "HLstatsX CE Difficulty", description = "Grant points to the winning team. (zombies/humans)", author = "zaCade + Neon", version = "1.1", url = "" }; public OnPluginStart() { G_hCvar_Difficulty_Humans = CreateConVar("hlx_difficulty_humans", "0", "", 0, true, 0.0, true, 3.0); G_hCvar_Difficulty_Zombies = CreateConVar("hlx_difficulty_zombies", "0", "", 0, true, 0.0, true, 3.0); HookEvent("round_start", Event_RoundStart, EventHookMode:1); HookEvent("round_end", Event_RoundEnd, EventHookMode:1); AutoExecConfig(true, "plugin.hlstatsx_difficulty"); } public ZR_OnClientInfected(client, attacker, bool:motherinfect, bool:respawnoverride, bool:respawn) { G_bIsHuman[client] = 0; G_bIsZombie[client] = 1; } public void ZR_OnClientHumanPost(int client, bool respawn, bool protect) { G_bIsHuman[client] = 1; G_bIsZombie[client] = 0; } public Action:Event_RoundStart(Handle:event, String:name[], bool:dontBroadcast) { new client = 1; while (client <= MaxClients) { G_bIsHuman[client] = 1; G_bIsZombie[client] = 0; client++; } return Action:0; } public Action:Event_RoundEnd(Handle:event, String:name[], bool:dontBroadcast) { switch (GetEventInt(event, "winner")) { case 2: { CreateTimer(0.2, OnZombiesWin, any:0, 2); } case 3: { CreateTimer(0.2, OnHumansWin, any:0, 2); } default: { } } return Action:0; } public Action:OnHumansWin(Handle:timer) { new client = 1; while (client <= MaxClients) { new var1; if (IsClientInGame(client) && IsPlayerAlive(client) && !IsClientObserver(client) && !IsFakeClient(client)) { new var2; if (G_bIsHuman[client] && !G_bIsZombie[client]) { //CS_SetMVPCount(client, CS_GetMVPCount(client) + 1); new String:sAuthID[64]; if (!GetClientAuthString(client, sAuthID, 64, true)) { Format(sAuthID, 64, "UNKNOWN"); } LogToGame("\"%N<%d><%s><%s>\" triggered \"human_win_%i\"", client, GetClientUserId(client), sAuthID, "CT", GetConVarInt(G_hCvar_Difficulty_Humans)); } } client++; } return Action:0; } public Action:OnZombiesWin(Handle:timer) { new client = 1; while (client <= MaxClients) { new var1; if (IsClientInGame(client) && IsPlayerAlive(client) && !IsClientObserver(client) && !IsFakeClient(client)) { new var2; if (G_bIsZombie[client] && !G_bIsHuman[client]) { new String:sAuthID[64]; if (!GetClientAuthString(client, sAuthID, 64, true)) { Format(sAuthID, 64, "UNKNOWN"); } LogToGame("\"%N<%d><%s><%s>\" triggered \"zombie_win_%i\"", client, GetClientUserId(client), sAuthID, "TERRORIST", GetConVarInt(G_hCvar_Difficulty_Zombies)); } } client++; } return Action:0; }