Code:
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <amxmisc>
enum ePlayerGlow
{
GlowRGBA[ 16 ],
CsTeams:GlowTeam,
GlowAccess
}
new g_szGlow[ ][ePlayerGlow] =
{
{ "255 110 100 25", CS_TEAM_CT, ADMIN_BAN },
{ "255 255 20 20", CS_TEAM_T, ADMIN_KICK }
}
public plugin_init()
{
register_plugin("Glow", "1.0", "Supremache")
RegisterHam( Ham_Spawn, "player", "OnPlayerSpawn", 1 )
}
public OnPlayerSpawn( id )
{
if( ! is_user_alive( id ) )
{
return;
}
for( new i, iRed, iGreen, iBlue, iRenderAmount, CsTeams:iTeam = cs_get_user_team( id ); i < sizeof( g_szGlow ); i++ )
{
if( has_all_flags( id, g_szGlow[ i ][ GlowAccess ] ) && ( !g_szGlow[ i ][ GlowTeam ] || iTeam == g_szGlow[ i ][ GlowTeam ] ) )
{
ParseColor( g_szGlow[ i ][ GlowRGBA ], iRed, iGreen, iBlue, iRenderAmount )
set_user_rendering( id, kRenderFxGlowShell, iRed, iGreen, iBlue, kRenderNormal, iRenderAmount )
break;
}
else set_user_rendering( id )
}
}
ParseColor( const szColor[ ], &iRed, &iGreen, &iBlue, &iRenderAmount )
{
new szRGB[ 4 ][ 3 ];
parse( szColor, szRGB[ 0 ], charsmax( szRGB[ ] ), szRGB[ 1 ], charsmax( szRGB[ ] ), szRGB[ 2 ], charsmax( szRGB[ ] ), szRGB[ 3 ], charsmax( szRGB[ ] ) );
iRed = clamp( str_to_num( szRGB[ 0 ] ), -1, 255 );
iGreen = clamp( str_to_num( szRGB[ 1 ] ), -1, 255 );
iBlue = clamp( str_to_num( szRGB[ 2 ] ), -1, 255 );
iRenderAmount = clamp( str_to_num( szRGB[ 3 ] ), 12, 255 );
}