Allied Modders en español

Versión completa: Problema con Admin TAG de Kikizon
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola,

tengo un problema que al poner el plugin y escribes, escribe dos veces ejemplo:

[VIP] test: HOLA
test : Hola

Hay alguna forma de solucionar eso ? probé compilandolo yo y el que baje compilado.

Código PHP:
#include <amxmodx>
#include <amxmisc>

enum _:__TagData SZTAG[32] , SZFLAG[2] };
new const 
__Tags[][__TagData] =
{
    { 
"[VIP]" "m" },
    { 
"[OWNER]" "l" },
    { 
"[TUGFA]" "r" }
}

new 
gSzTag33 ][ 32 ], gPlayerName33 ][ 32 ], gMaxPlayers;

public 
plugin_init()
{
    
register_plugin"Admin Tag(Para noobs)" "0.1" "kikizon" );
    
    
register_clcmd"say" "clcmdSay" );
    
register_clcmd"say_team" "clcmdSayTeam" );

    
gMaxPlayers get_maxplayers();
}

public 
client_putinserverindex )
{
    
get_user_nameindex gPlayerName[index], 31 );
    
gSzTag[index][0] = EOS;

    new 
i;
    for( 
sizeof __Tags ; ++)
    {
        if( 
has_flagindex __Tags[i][SZFLAG]))
        {
            
copygSzTag[index] , 31 __Tags[i][SZTAG] );
            break;
        }
    }
}

public 
client_infochangedindex )
{
    new 
oldname[32], newname[32];
    
get_user_nameindex oldname31 );
    
get_user_infoindex "name"newname31 );

    if( !
equal(oldnamenewname))
        
copygPlayerName[index], 31newname );
}

public 
clcmdSay(index)
{
    static 
said[191]; read_args(said190); remove_quotes(said); replace_all(said190"%"""); replace_all(said190"#""");

    if (!
ValidMessage(said1)) return PLUGIN_CONTINUE;

    static 
color[11], prefix[128]; get_user_team(indexcolor10);
    
formatex(prefix127"%s^x04%s^x03 %s"is_user_alive(index)?"^x01":"^x01*DEAD* "gSzTag[index], gPlayerName[index]);

    if (
is_user_admin(index)) format(saidcharsmax(said), "^x04%s"said);

    
format(saidcharsmax(said), "%s^x01 : %s"prefixsaid);

    static 
iteam[11];

    for (
1<= gMaxPlayers; ++i)
    {
        if (!
is_user_connected(i)) continue;

        
get_user_team(iteam10);
        
changeTeamInfo(icolor);
        
writeMessage(isaid);
        
changeTeamInfo(iteam);
    }
    
    return 
PLUGIN_HANDLED_MAIN;
}

public 
clcmdSayTeamindex )
{
    static 
said[191]; read_args(said190); remove_quotes(said); replace_all(said190"%"""); replace_all(said190"#""");

    if (!
ValidMessage(said1)) return PLUGIN_CONTINUE;

    static 
playerTeamplayerTeamName[20]; playerTeam get_user_team(index);

    switch (
playerTeam)
    {
        case 
1formatexplayerTeamName19"^x01(^x03 CT^x01 ) " );
        case 
2formatexplayerTeamName19"^x01(^x03 TT^x01 ) " );
        default: 
formatexplayerTeamName19"^x01(^x03 SPEC^x01 ) " );
    }

    static 
color[11], prefix[128]; get_user_team(indexcolor10); 
    
formatex(prefix127"%s%s^x04%s^x03 %s"is_user_alive(index)?"^x01":"^x01*DEAD* "playerTeamNamegSzTag[index], gPlayerName[index]);

    if (
is_user_admin(index)) format(saidcharsmax(said), "^x04%s"said);

    
format(saidcharsmax(said), "%s^x01 : %s"prefixsaid);

    static 
iteam[11];
    for (
1<= gMaxPlayers; ++i)
    {
        if (!
is_user_connected(i) || get_user_team(i) != playerTeam) continue;

        
get_user_team(iteam10);
        
changeTeamInfo(icolor);
        
writeMessage(isaid);
        
changeTeamInfo(iteam);
    }    

    return 
PLUGIN_HANDLED_MAIN;
}

stock ValidMessage(text[], maxcount
{
    static 
lenicount;
    
len strlen(text);
    
count 0;

    if (!
len) return false;

    for (
0len; ++i
    {
        if (
text[i] != ' '
        {
            ++
count;
            
            if (
count >= maxcount)
                return 
true;
        }
    }

    return 
false;
}

public 
changeTeamInfo(playerteam[])
{
    static 
msgteamInfo;
    if( !
msgteamInfo msgteamInfo get_user_msgid"TeamInfo" );

    
message_begin(MSG_ONEmsgteamInfo_player);
    
write_byte(player);
    
write_string(team);
    
message_end();
}

public 
writeMessage(playermessage[])
{
    static 
msgSayText;
    if( !
msgSayText msgSayText get_user_msgid"SayText" );

    
message_begin(MSG_ONEmsgSayText, {000}, player);
    
write_byte(player);
    
write_string(message);
    
message_end();

El plugin funciona bien, lo más probable es que tengas otro hooksay y no te hayas dado cuenta..

Saludos! Crab
(22/05/2020, 06:42 PM)digmanng escribió: [ -> ]
Código PHP:
public clcmdSay(index)
{
 
//...
    
 
return PLUGIN_HANDLED_MAIN;


-->

Código PHP:
return PLUGIN_HANDLED

Igual no te recomiendo ese plugin. Este es mejor: https://amxmodx-es.com/Thread-Dar-prefij...dores-v1-2 (versión por nombre: https://amxmodx-es.com/Thread-Dar-prefij...0#pid27020 )
(22/05/2020, 06:51 PM)Chema escribió: [ -> ]El plugin funciona bien, lo más probable es que tengas otro hooksay y no te hayas dado cuenta..

Saludos! Crab

Gracias debe de ser el antispam quizaaas !!

(22/05/2020, 08:50 PM)Mario AR. escribió: [ -> ]-->

Código PHP:
return PLUGIN_HANDLED

Igual no te recomiendo ese plugin. Este es mejor: https://amxmodx-es.com/Thread-Dar-prefij...dores-v1-2 (versión por nombre: https://amxmodx-es.com/Thread-Dar-prefij...0#pid27020 )

Ire a probarlo haber que onda, gracias !!