/**
*
* No Team Flash SourceMOD Plugin
* Copyright (c) 2008 SAMURAI
*
* If you don't have what to to visit http://www.cs-utilz.net
* Thanks to Kigen for fixing some issues
*
* Fordította: BBk
*
**/
#include <sourcemod>
#include <sdktools>
public Plugin:myinfo =
{
name = "No Team Flash",
author = "SAMURAI and Kigen",
description = "Amikor eldobja a flasht a jatekos, a csapata tobbi tagja nem vakul be tole",
version = "0.3",
url = "www.cs-utilz.net"
}
new g_FlashOwner = -1;
#define ALPHA_SET 0.5
new g_iFlashAlpha = -1;
new Handle:g_iConVar = INVALID_HANDLE;
public OnPluginStart()
{
HookEvent("flashbang_detonate", Event_Flashbang_detonate);
HookEvent("player_blind", Event_Flashed);
g_iFlashAlpha = FindSendPropOffs("CCSPlayer", "m_flFlashMaxAlpha");
if ( g_iFlashAlpha == -1 )
SetFailState("Failed to find \"m_flFlashMaxAlpha\".");
g_iConVar = CreateConVar("no_team_flash","1"); // 0 - plugin disabled ; 1 - enabled
}
public Action:Event_Flashbang_detonate(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event,"userid"));
if( !client || !IsClientConnected(client) || !IsClientInGame(client) || !IsPlayerAlive(client) )
{
g_FlashOwner = -1;
return Plugin_Continue;
}
g_FlashOwner = client;
return Plugin_Continue;
}
public Action:Event_Flashed(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event,"userid"));
if ( !GetConVarBool(g_iConVar) || !client || !IsClientInGame(client) )
return Plugin_Continue;
if ( !IsPlayerAlive(client) )
{
//PrintToChat(client, "Flash!");
SetEntDataFloat(client, g_iFlashAlpha, ALPHA_SET);
return Plugin_Continue;
}
CreateTimer(0.01, BlindTime, client);
return Plugin_Continue;
}
public Action:BlindTime(Handle:timer, any:client)
{
if ( g_FlashOwner != -1 && client != g_FlashOwner && IsClientInGame(client) && IsPlayerAlive(client) && IsClientInGame(g_FlashOwner) && IsPlayerAlive(g_FlashOwner) && GetClientTeam(client) == GetClientTeam(g_FlashOwner) )
SetEntDataFloat(client, g_iFlashAlpha, ALPHA_SET);
return Plugin_Stop;
}