Evitar que escriban en verde
#1
Exclamación 
uso el Admin Chat Colors y reemplace el remove_quotes por el de Mario AR. pero igualmente siguen escribiendo el verde sin ser admin...

Código PHP:
public hook_say(id)
{
    
read_args(messagecharsmax(message))
    
un_mejor_remove_quotes(message)
    
trim(message)
    
//...
}
//...
stock un_mejor_remove_quotes(str[])
{
    static 
lenlen strlen(str)
    
    if (
len <= 1)
        return 
0
        
    
// No comprobamos que sea comilla, asi el maximo len siempre sera igual, con comilla o no
    
    
str[--len] = EOS
    
    
for (new 0leni++)
    {
        if (
str[i] == '"')
        {
            
copy(strlenstr[++i])
            
            return 
len-i
        
}
    }
    return 
0


algun fix? Proud
Responder
#2
Muestra el hook completo
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#3
Código PHP:
public hook_say(id)
{
    if( !
is_user_connected(id) )
        return 
PLUGIN_CONTINUE
        
    read_args
(messagecharsmax(message))
    
remove_quotes(message)
    
    if(
message[0] == '@' 
    
|| message[0] == '/' 
    
|| message[0] == '!' 
    
|| equal (message"")) // Ignores Admin Hud Messages, Admin Slash commands, 
                // Gungame commands and empty messages
        
return PLUGIN_CONTINUE

    
new name[32]; get_user_name(idnamecharsmax(name))
    
    new 
bool:admin false
    
    
if(get_user_flags(id) & ACCESS_LEVEL)
        
admin true
        
    
new isAlive
    
    
if(is_user_alive(id))
    {
        
isAlive 1
        alive 
"^x01"
    
}
    else {
        
isAlive 0
        alive 
"^x01*DEAD* "
    
}
    
    static 
color[10]
    
    if(
admin)
    {
        
// Name
        
switch(get_pcvar_num(g_NameColor))
        {
            case 
1formatex(strNamecharsmax(strName"%s%s"alivename)
            case 
2formatex(strNamecharsmax(strName"%s^x04%s"alivename)
            case 
3:
            {
                
color "SPECTATOR"
                
formatex(strNamecharsmax(strName"%s^x03%s"alivename)
            }            
            case 
4:
            {
                
color "CT"
                
formatex(strNamecharsmax(strName"%s^x03%s"alivename)
            }
            case 
5:
            {
                
color "TERRORIST"
                
formatex(strNamecharsmax(strName"%s^x03%s"alivename)
            }
            case 
6:
            {
                
get_user_team (idcolor9)
                
formatex(strNamecharsmax(strName"%s^x03%s"alivename)
            }
        }
        
// Message
        
switch(get_pcvar_num(g_MessageColor))
        {
            case 
1:    // Yellow
            
formatex(strTextcharsmax(strText"%s"message)
            case 
2:    // Green
            
formatex(strTextcharsmax(strText"^x04%s"message)
            case 
3:    // White
            
{
                
copy(color9"SPECTATOR")
                
formatex(strTextcharsmax(strText"^x03%s"message)
            }
            case 
4:    // Blue
            
{
                
copy(color9"CT")
                
formatex(strTextcharsmax(strText"^x03%s"message)
            }
            case 
5:    // Red
            
{
                
copy(color9"TERRORIST")
                
formatex(strTextcharsmax(strText"^x03%s"message)
            }
        }
    }
    else     
// Player is not admin. Team-color name : Yellow message
    
{
        
get_user_team (idcolor9)
        
        
formatex(strNamecharsmax(strName), "%s^x03%s"alivename)
        
formatex(strTextcharsmax(strText), "%s"message)
    }

    
formatex(messagecharsmax(message), "%s^x01 :  %s"strNamestrText)    
    
sendMessage(colorisAlive)    // Sends the colored message
    
    
return PLUGIN_CONTINUE

Responder
#4
hay alguna diferencia entre el ^x01 y ^1 ?

probá ^1,3,4
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#5
estoy probando este stock...

Código PHP:
static const chars[][]= 
{
    
"^1""^3""^4""^0""#""%"
}

stock FixBug(msg[], smax)
{
    for(new 
0sizeof(chars); i++) 
    {
        if(
containi(msgchars[i]) != -1)
        {
            
replace_all(msgsmaxchars[i], "")
        }
    }


despues del if(message[0] == '@' ... return PLUGIN_CONTINUE
Responder
#6
Haz intentado bloquear el carácter especial?
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#7
parece funcionar testeado con esta cfg espero no alla otros metodos, esto tambien los filtra ETX and EOT
Responder
#8
Bloquea esos 3 caracteres que en notepad te figuran asi

Código PHP:
"""","" 

[Imagen: 20181011073845.png]
Responder
#9
esto tambien puede servir https://forums.alliedmods.net/showpost.p...ostcount=1
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)