#include <sourcemod>
#pragma semicolon 1
#pragma newdecls required
bool g_bFade[MAXPLAYERS + 1];
public Plugin myinfo =
{
name = "Blue Screen of Kill",
author = "johnspade, Faya™ (DS: Faya™#8514)",
description = "The plugin fades the screen to transparent blue for a second when you kill someone",
version = "1.2",
url = "http://johnspade.ru ; http://hlmod.ru"
}
// Получение события смерти
public void OnPluginStart()
{
HookEvent("player_death", Event_PlayerDeath);
RegConsoleCmd("sm_fade", fade);
}
public void OnClientConnected(int iClient)
{
g_bFade[iClient] = false;
}
// Функция затемнения
void PerformFade(int client, int duration, const color[4])
{
if(IsClientInGame(client) && g_bFade[client])
{
Handle message = StartMessageOne("Fade", client);
PbSetInt(message, "duration", duration);
PbSetInt(message, "hold_time", 0);
PbSetInt(message, "flags", 0x0001);
PbSetColor(message, "clr", color);
EndMessage();
}
}
// Получение игрока-убийцы, применение к нему функции затемнения
public void Event_PlayerDeath(Handle event, char[] name, bool dontBroadcast)
{
PerformFade(GetClientOfUserId(GetEventInt(event, "attacker")), 300, {0, 0, 200, 51});
// PerformFade(клиент, продолжительность, {красный, зеленый, синий, прозрачность})
}
public Action fade(int iClient, int args)
{
g_bFade[iClient] = !g_bFade[iClient];
}