• Descriere: 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.

  • Autor: Adryyy

  • Conţinut: 1. Luam pluginul pe care vrem sa il facem color ( eu am ales un plugin pentu resetscore facut de mine )

    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" )

        }

    }

    2. La sfarsitul pluginului vom adauga urmatorul cod:

    Spoiler 

    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);

                    write_string(msg);

                    message_end();

                }

            }

        }

    }


    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:


    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 )

            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))

                {

                    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)

                    write_byte(players);

                    write_string(msg);

                    message_end();

                }

            }

        }

    }


    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