MxEMexico

Versión completa: Say Colors( Colores del Say )
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola papus, un aporte simple pero tal vez útil.

FUNCIÓN: Al escribir en say '/colores' se abrirá un menú para cambiar los colores del say, es solamente para admins.

Si quieren editar los prefijos, se hace desde esta línea:
Código PHP:
new const szPrefix[ ][ ] = { "\d[\y AMXX\d ]\w""^3[ AMXX ]^1" };
// \d[\y AMXX\d ]\w es el prefijo del menú.
// ^3[ AMXX ]^1 es el prefijo de los mensajes. 
Modo de uso: szPrefix[ 0 ] = prefijo de menú - szPrefix[ 1 ] = prefijo de say.

IMÁGENES:
  1. [Imagen: vJWWgVSXTaWXShbdteD_mg.png]
  2. [Imagen: nsJhx7BdRbqzC62rqgSG1w.png]
  3. [Imagen: bZgna8UrTTmunyHy6tZ0oQ.png]
  4. [Imagen: xBiurHZ_R3Go2tt7ya0pdA.png]
CÓDIGO:

Código PHP:
/* ===============================================================

        Créditos: roccoxx.

=============================================================== */

#include <amxmodx>
#include <amxmisc>

new const szRegisterPlugin[ ][ ] = { "Color Say""1.1""kikizon" }; // Edit: Sky^^
new const szPrefix[ ][ ] = { "\d[\y AMXX\d ]\w""^3[ AMXX ]^1" }; // 0 = Prefix Menu // 1 = Prefix Say

new gSayColors33 ];

/* =============================================================== */

public plugin_init( )
{
    
register_pluginszRegisterPlugin], szRegisterPlugin], szRegisterPlugin] );
    
    
register_clcmd"say /colores""openMenuColors" );
    
register_clcmd"say""clcmd_HookSay" );
}

public 
client_putinserverid gSayColorsid ] = 1;

/* =============================================================== */

public openMenuColorsid )
{
    if( !
is_user_adminid ) )
    {
        
ccid"%s Menú disponible solo para administradores."szPrefix] );
        return 
PLUGIN_HANDLED;
    }
    
    new 
iColor512 ], fMenu512 ], iMenu;
    switch( 
gSayColorsid ] )
    {
        case 
1iColor "Amarillo";
        case 
2
        {
            if( 
get_user_teamid ) == )
                
iColor "Rojo";
            else if( 
get_user_teamid ) == )
                
iColor "Azul";
        }
        case 
3iColor "Verde";
    }
    
    
formatexfMenucharsmaxfMenu ), "%s Menu de colores para el Say^n\dTu color actual es:\y %s"szPrefix], iColor );
    
iMenu menu_createfMenu"handMenuColors" );
    
    
menu_additemiMenu, ( gSayColorsid ] == ) ? "\dAmarillo" "Amarillo""1" );
    if( 
get_user_teamid ) == menu_additemiMenu, ( gSayColorsid ] == ) ? "\dRojo" "Rojo""2" );
    else if( 
get_user_teamid ) == menu_additemiMenu, ( gSayColorsid ] == ) ? "\dAzul" "Azul""2" );
    
menu_additemiMenu, ( gSayColorsid ] == ) ? "\dVerde" "Verde""3" );
    
    
menu_setpropiMenuMPROP_EXITNAME"Salir" );
    
menu_displayidiMenu);
    
    return 
PLUGIN_HANDLED;
}
public 
handMenuColorsidmenuitem )
{
    switch( 
item )
    {
        case 
0:
        {
            if( 
gSayColorsid ] == )
            {
                
ccid"%s Ya tienes este color."szPrefix] );
                
openMenuColorsid );
            }
            else
                
gSayColorsid ] = 1;
        }
        case 
1:
        {
            if( 
gSayColorsid ] == )
            {
                
ccid"%s Ya tienes este color."szPrefix] );
                
openMenuColorsid );
            }
            else
                
gSayColorsid ] = 2;
        }
        case 
2:
        {
            if( 
gSayColorsid ] == )
            {
                
ccid"%s Ya tienes este color."szPrefix] );
                
openMenuColorsid );
            }
            else
                
gSayColorsid ] = 3;
        }
        case 
MENU_EXIT: { menu_destroymenu ); return PLUGIN_HANDLED; }
    }
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

/* =============================================================== */

public clcmd_HookSayid )
{
    static 
iChat191 ];
    
read_argsiChatcharsmaxiChat ) );
    
remove_quotesiChat );
    
replace_alliChatcharsmaxiChat ), "%"" " );
    
    if( !
ValidMessageiChat) ) return PLUGIN_CONTINUE;
    
    new 
iName32 ], iMessage256 ], iSayColors];
    
get_user_nameidiName31 );
    
    switch( 
gSayColorsid ] )
    {
        case 
1iSayColors "^x01";
        case 
2iSayColors "^x03";
        case 
3iSayColors "^x04";
    }
    
    if( 
is_user_adminid ) )
    {
        
formatiMessage255"%s[^x04 ADMIN^x03 ] %s:%s %s"is_user_aliveid ) ? "^x03" "^x03[ MUERTO ] "iNameiSayColorsiChat );
        
color_chat0idiMessage );
        
console_print0iMessage );
    }
    else
    {
        
formatiMessage255"%s %s^x01: %s"is_user_aliveid ) ? "^x03" "^x03[ MUERTO ]"iNameiChat );
        
color_chat0idiMessage );
        
console_print0iMessage );
    }
    
    return 
PLUGIN_HANDLED_MAIN;
}
    
public 
color_chatplayeridcoloridmessage[ ] )
{
    
message_beginplayerid MSG_ONE MSG_ALLget_user_msgid"SayText" ), { 00}, playerid );
    
write_bytecolorid );
    
write_stringmessage );
    
message_end( );
}

/* =============================================================== */

stock ccid, const input[ ], any:... )
{
    static 
szMsg191 ], msgSayText;
    
    if( !
msgSayText )
        
msgSayText get_user_msgid"SayText" );
 
   
    vformat
szMsg190input);

    
replace_allszMsg190"!g""^4" );
    
replace_allszMsg190"!y""^1" );
    
replace_allszMsg190"!team""^3" );
 
   
    message_begin
id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id );
    
write_byteid id 33 );
    
write_stringszMsg );
    
message_end( );
}

stock ValidMessagetext[ ], maxcount )
{
    static 
lenicount;
    
len strlentext );
    
count 0;
    
    if( !
len ) return false;
    
    for( 
0leni++ )
    {
        if( 
text] != ' ' )
        {
            
count++;
            
            if( 
count >= maxcount ) return true;
        }
    }
    
    return 
false;



INSERTO EL CÓDIGO YA QUE EL TIPO DE ARCHIVO .SMA NO SE PUEDE SUBIR.
ALGÚN ERROR ME LO COMENTAN.
esta chido como soy admin xd lo quiero
@mxemexico