#include <sourcemod>
#include <csgo_colors>
new bool:g_bPlayerEnable[MAXPLAYERS + 1] = {false, true,...};
public Plugin:myinfo =
{
name = "Blue Screen of Kill",
author = "johnspade",
description = "The plugin fades the screen to transparent blue for a second when you kill someone",
version = "1.1",
url = "http://johnspade.ru"
}
// Получение события смерти
public OnPluginStart()
{
HookEvent("player_death", Event_PlayerDeath);
HookEvent("player_disconnect", Event_PlayerDisconnect);
RegConsoleCmd("sm_fade", SwitchFade, "Enable/disable fade player.");
}
// Функция затемнения
PerformFade(client, duration, const color[4]) {
if (g_bPlayerEnable[client] && client) {
new Handle:message = StartMessageOne("Fade", client);
PbSetInt(message, "duration", duration);
PbSetInt(message, "hold_time", 0);
PbSetInt(message, "flags", 0x0001);
PbSetColor(message, "clr", color);
EndMessage();
}
}
// Получение игрока-убийцы, применение к нему функции затемнения
public Event_PlayerDeath(Handle:event, String:name[], bool:dontBroadcast)
{
PerformFade(GetClientOfUserId(GetEventInt(event, "attacker")), 500, {0, 0, 200, 51});
// PerformFade(клиент, продолжительность, {красный, зеленый, синий, прозрачность})
}
public Event_PlayerDisconnect(Handle:event, String:name[], bool:dontBroadcast) g_bPlayerEnable[GetClientOfUserId(GetEventInt(event, "userid"))] = true;
public Action:SwitchFade(client, args)
{
if (client)
{
CGOPrintToChat(client, " {GRAY}[{GREEN}FadeScreen{GRAY}] {OLIVE}Вы %sключили синий экран при убийстве.", (g_bPlayerEnable[client] = !g_bPlayerEnable[client]) ? "в":"от");
}
return Plugin_Handled;
}