Salut. O sa incerc sa va invat cat mai simplu cum se poate colora ( fara un include pentru culori ) un plugin cu un stock foarte simplu/eficient si usor de folosit mereu.
1. Luam pluginul pe care vrem sa il facem color ( eu am ales un plugin pentu resetscore facut de mine )
- Resetscore Fct de mine:
#include < amxmodx >
#include < fun >
#include < cstrike >
#define PLUGIN "Reset Score"
#define VERSION "0.0.1"
#define AUTHOR " "
new pcvar_Display
public plugin_init( )
{
register_plugin( PLUGIN, VERSION, AUTHOR)
register_clcmd( "say /resetscore", "reset_score" )
register_clcmd( "say_team /resetscore", "reset_score" )
register_clcmd( "say /rs", "reset_score" )
register_clcmd( "say_team /rs", "reset_score" )
pcvar_Display = register_cvar( "sv_rsdisplay", "0" )
}
public reset_score( id )
{
cs_set_user_deaths( id, 0 )
set_user_frags( id, 0 )
cs_set_user_deaths( id, 0 )
set_user_frags( id, 0 )
if( get_pcvar_num( pcvar_Display) == 1 )
{
new name[ 33 ];
get_user_name( id, name, 32 )
client_print( 0, print_chat, "%s si-a resetat cu succes scorul !", name )
}
else
{
client_print( id, print_chat, "Acuma scorul tau este 0" )
}
}
2. La sfarsitul pluginului vom adauga urmatorul cod:
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!n", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
3. Ar trebui sa arate asa:
Spoiler
#include < amxmodx >
#include < fun >
#include < cstrike >
#define PLUGIN "Reset Score"
#define VERSION "0.0.1"
#define AUTHOR " "
new pcvar_Display
public plugin_init( )
{
register_plugin( PLUGIN, VERSION, AUTHOR)
register_clcmd( "say /resetscore", "reset_score" )
register_clcmd( "say_team /resetscore", "reset_score" )
register_clcmd( "say /rs", "reset_score" )
register_clcmd( "say_team /rs", "reset_score" )
pcvar_Display = register_cvar( "sv_rsdisplay", "0" )
}
public reset_score( id )
{
cs_set_user_deaths( id, 0 )
set_user_frags( id, 0 )
cs_set_user_deaths( id, 0 )
set_user_frags( id, 0 )
if( get_pcvar_num( pcvar_Display) == 1 )
{
new name[ 33 ];
get_user_name( id, name, 32 )
client_print( 0, print_chat, "%s si-a resetat cu succes scorul !", name )
}
else
{
client_print( id, print_chat, "Acuma scorul tau este 0" )
}
}
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!n", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
[i]4. In primul cod de sus vom gasi " client_print( 0, print_chat, " si " client_print( id, print_chat, " ( ce este cu rosu )
5. Acum noi va intrebui sa le inlocuim cu " chat_color( 0, " respectiv " chat_color( id, " iar dupa sa le coloram dupa bunul plac ! Priviti codul de jos:
[i]Spoiler
[i]#include < amxmodx >
#include < fun >
#include < cstrike >
#define PLUGIN "Reset Score"
#define VERSION "0.0.1"
#define AUTHOR " "
new pcvar_Display
public plugin_init( )
{
register_plugin( PLUGIN, VERSION, AUTHOR)
register_clcmd( "say /resetscore", "reset_score" )
register_clcmd( "say_team /resetscore", "reset_score" )
register_clcmd( "say /rs", "reset_score" )
register_clcmd( "say_team /rs", "reset_score" )
pcvar_Display = register_cvar( "sv_rsdisplay", "0" )
}
public reset_score( id )
{
cs_set_user_deaths( id, 0 )
set_user_frags( id, 0 )
cs_set_user_deaths( id, 0 )
set_user_frags( id, 0 )
if( get_pcvar_num( pcvar_Display) == 1 )
{
new name[ 33 ];
get_user_name( id, name, 32 )
chat_color( 0, "!g%s!n si-a resetat cu succes !tscorul!n !", name )
}
else
{
chat_color( id, "!nAcuma scorul tau este!g 0" )
}
}
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!n", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
[i]Culori:
!g = reprezinta culoarea verde
!n = reprezinta culoarea pe care respectil jucator o are setata din con_color ( default acel portocaliu )
!t = reprezinta culoarea respectivei echipe. Pentru CT = albastru iar pentru T = rosu