initial commit

This commit is contained in:
neon 2018-07-23 10:59:45 +02:00
parent 02794a3366
commit 0845d7a88a

View File

@ -0,0 +1,120 @@
#include <sourcemod>
#include <cstrike>
#include <zombiereloaded>
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;
}