| Backstabnoob |
11-12-2013 17:11 |
Colorchat not working properly
Okay so I'm using Connor's API for colorchat and I'm getting a weird problem:
http://i.imgur.com/SMnJpim.jpg
Never encountered this before, no idea what's wrong. HLDS build hs the latest one, using windows 7 x64.
The code:
PHP Code:
#include < amxmodx >
#include < geoip >
#include < cstrike >
#include < chatcolor >
enum _:SteamIdData
{
_szName[ 32 ],
_szSteamId[ 34 ]
}
enum _:AdminRightsData
{
_szName[ 32 ],
_iBitFlags
}
// CONFIG START
new const g_SteamIdPrefixes[ ][ SteamIdData ] =
{
{ "Majitel", "STEAM_0:0:00000000" },
{ "Globalny Admin", "STEAM_0:0:00000000" }
}
new const g_AdminRightsPrefixes[ ][ AdminRightsData ] =
{
{ "Hl. Admin", ADMIN_IMMUNITY },
{ "Admin", ADMIN_BAN },
{ "Apprentice", ADMIN_KICK },
{ "VIP", ADMIN_LEVEL_H },
{ "ExtraVIP", ADMIN_LEVEL_G }
}
new const g_NormalPlayerPrefix[ ] = "Player"
// CONFIG END
/* COLORCHAT
enum {
Grey = 33,
Red,
Blue
}
*/
new const g_szTeamNames[ CsTeams ][ ] =
{
"Spectator",
"Terrorist",
"Counter-Terrorist",
"Spectator"
}
public plugin_init( )
{
register_plugin( "Prefix pred jmenem", "1.0", "IdiotStrike" )
register_clcmd( "say", "_cSay" )
register_clcmd( "say_team", "_cSayTeam" )
register_clcmd( "say /test", "client_putinserver" )
}
public _cSay( id )
{
new szMessage[ 192 ]
read_args( szMessage, charsmax( szMessage ) )
remove_quotes( szMessage )
if( !UTIL_IsMessageValid( szMessage ) )
return PLUGIN_HANDLED
new szName[ 32 ]
get_user_name( id, szName, charsmax( szName ) )
new bool: bAlive = bool: is_user_alive( id )
new szTag[ 9 ]
if( cs_get_user_team( id ) == CS_TEAM_SPECTATOR )
{
copy( szTag, charsmax( szTag ), "*SPEC* " )
}
else if( !bAlive )
{
copy( szTag, charsmax( szTag ), "*DEAD* " )
}
new szPrefix[ 32 ], szSteamId[ 34 ]
get_user_authid( id, szSteamId, charsmax( szSteamId ) )
new iSteamIdPrefixId = -1, iAdminRightsPrefixId = -1
for( new i; i < sizeof g_SteamIdPrefixes; i ++ )
{
if( equal( szSteamId, g_SteamIdPrefixes[ i ][ _szSteamId ] ) )
{
iSteamIdPrefixId = i
break
}
}
if( iSteamIdPrefixId == -1 )
{
new iBitFlags = get_user_flags( id )
for( new i; i < sizeof g_AdminRightsPrefixes; i ++ )
{
if( iBitFlags & g_AdminRightsPrefixes[ i ][ _iBitFlags ] )
{
iAdminRightsPrefixId = i
}
}
}
if( iSteamIdPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_SteamIdPrefixes[ iSteamIdPrefixId ][ _szName ] )
}
else if( iAdminRightsPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_AdminRightsPrefixes[ iAdminRightsPrefixId ][ _szName ] )
}
else
{
copy( szPrefix, charsmax( szPrefix ), g_NormalPlayerPrefix )
}
new szMessage2[ 192 ]
formatex( szMessage2, charsmax( szMessage2 ), "[^4%s^1] %s^3%s^1 : %s", szPrefix, szTag, szName, szMessage )
new aPlayers[ 32 ], iNum, idPlayer
get_players( aPlayers, iNum )
new bool: bAlive2
for( new i; i < iNum; i ++ )
{
idPlayer = aPlayers[ i ]
bAlive2 = bool: is_user_alive( idPlayer )
if( bAlive != bAlive2 )
continue
client_print_color( idPlayer, id, szMessage2 )
}
return PLUGIN_HANDLED_MAIN
}
public _cSayTeam( id )
{
new szMessage[ 192 ]
read_args( szMessage, charsmax( szMessage ) )
remove_quotes( szMessage )
if( !UTIL_IsMessageValid( szMessage ) )
return PLUGIN_HANDLED
new szName[ 32 ]
get_user_name( id, szName, charsmax( szName ) )
new bool: bAlive = bool: is_user_alive( id )
new CsTeams: iTeam = cs_get_user_team( id )
new szPrefix[ 32 ], szSteamId[ 34 ]
get_user_authid( id, szSteamId, charsmax( szSteamId ) )
new iSteamIdPrefixId = -1, iAdminRightsPrefixId = -1
for( new i; i < sizeof g_SteamIdPrefixes; i ++ )
{
if( equal( szSteamId, g_SteamIdPrefixes[ i ][ _szSteamId ] ) )
{
iSteamIdPrefixId = i
break
}
}
if( iSteamIdPrefixId == -1 )
{
new iBitFlags = get_user_flags( id )
for( new i; i < sizeof g_AdminRightsPrefixes; i ++ )
{
if( iBitFlags & g_AdminRightsPrefixes[ i ][ _iBitFlags ] )
{
iAdminRightsPrefixId = i
}
}
}
if( iSteamIdPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_SteamIdPrefixes[ iSteamIdPrefixId ][ _szName ] )
}
else if( iAdminRightsPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_AdminRightsPrefixes[ iAdminRightsPrefixId ][ _szName ] )
}
else
{
copy( szPrefix, charsmax( szPrefix ), g_NormalPlayerPrefix )
}
new szMessage2[ 192 ]
formatex( szMessage2, charsmax( szMessage2 ), "[^4%s^1] %s(%s) ^3%s^1 : %s", szPrefix, bAlive ? "" : "*DEAD* ", g_szTeamNames[ iTeam ], szName, szMessage )
new aPlayers[ 32 ], iNum, idPlayer
get_players( aPlayers, iNum )
new bool: bAlive2, CsTeams: iTeam2
for( new i; i < iNum; i ++ )
{
idPlayer = aPlayers[ i ]
bAlive2 = bool: is_user_alive( idPlayer )
iTeam2 = cs_get_user_team( idPlayer )
if( bAlive != bAlive2 || iTeam != iTeam2 )
continue
client_print_color( idPlayer, id, szMessage2 )
}
return PLUGIN_HANDLED_MAIN
}
public client_putinserver( id )
{
new szName[ 32 ], szIp[ 15 ], szSteamId[ 34 ], szCountry[ 45 ]
get_user_name( id, szName, charsmax( szName ) )
get_user_ip( id, szIp, charsmax( szIp ), 1 )
get_user_authid( id, szSteamId, charsmax( szSteamId ) )
geoip_country( szIp, szCountry, charsmax( szCountry ) )
new iSteamIdPrefixId = -1, iAdminRightsPrefixId = -1
for( new i; i < sizeof g_SteamIdPrefixes; i ++ )
{
if( equal( szSteamId, g_SteamIdPrefixes[ i ][ _szSteamId ] ) )
{
iSteamIdPrefixId = i
break
}
}
if( iSteamIdPrefixId == -1 )
{
new iBitFlags = get_user_flags( id )
for( new i; i < sizeof g_AdminRightsPrefixes; i ++ )
{
if( iBitFlags & g_AdminRightsPrefixes[ i ][ _iBitFlags ] )
{
iAdminRightsPrefixId = i
}
}
}
new szPrefix[ 32 ]
if( iSteamIdPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_SteamIdPrefixes[ iSteamIdPrefixId ][ _szName ] )
}
else if( iAdminRightsPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_AdminRightsPrefixes[ iAdminRightsPrefixId ][ _szName ] )
}
else
{
copy( szPrefix, charsmax( szPrefix ), g_NormalPlayerPrefix )
}
client_print_color( 0, Grey, "*^4[^3%s^4]^1* ^4%s^1 s IP ^3%s ^1 sa pripojil (^3%s^1)^1", szPrefix, szName, szIp, szCountry )
}
public client_disconnect( id )
{
new szName[ 32 ], szSteamId[ 34 ]
get_user_name( id, szName, charsmax( szName ) )
get_user_authid( id, szSteamId, charsmax( szSteamId ) )
new iSteamIdPrefixId = -1, iAdminRightsPrefixId = -1
for( new i; i < sizeof g_SteamIdPrefixes; i ++ )
{
if( equal( szSteamId, g_SteamIdPrefixes[ i ][ _szSteamId ] ) )
{
iSteamIdPrefixId = i
break
}
}
if( iSteamIdPrefixId == -1 )
{
new iBitFlags = get_user_flags( id )
for( new i; i < sizeof g_AdminRightsPrefixes; i ++ )
{
if( iBitFlags & g_AdminRightsPrefixes[ i ][ _iBitFlags ] )
{
iAdminRightsPrefixId = i
}
}
}
new szPrefix[ 32 ]
if( iSteamIdPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_SteamIdPrefixes[ iSteamIdPrefixId ][ _szName ] )
}
else if( iAdminRightsPrefixId != -1 )
{
copy( szPrefix, charsmax( szPrefix ), g_AdminRightsPrefixes[ iAdminRightsPrefixId ][ _szName ] )
}
else
{
copy( szPrefix, charsmax( szPrefix ), g_NormalPlayerPrefix )
}
client_print_color( 0, Red, "*^4[^3%s^4]^1* ^4%s^1 sa odpojil (^3%d^1 min.)^1", szPrefix, szName, get_user_time( id ) / 60 )
}
bool: UTIL_IsMessageValid( const said[ ] )
{
for( new i = 0; said[ i ]; i++ )
{
if( said[ i ] != ' ' )
{
return true
}
}
return false
}
Any ideas?
|