[Ayuda] Como evitar que puedan hablar con Colores -
Manuel7284 - 04.02.2012
Hola tengo un problema Alguien sabe como puedo Evitar que hablen en colores en el chat? por ejemplo asi: {{FFFFFF}FF0000}Hola, Yo quiero que no salgan los colores al hablar una foto de prueba:

Alguien sabe como puedo hacer para que no puedan hacer eso?
Re: [Ayuda] Como evitar que puedan hablar con Colores -
digman - 04.02.2012
en OnPlayerText:
pawn Код:
if(strfind(text, "{{FFFFFF}", true) == 0)
{
SendClientMessage(playerid, 0xE60000FF, "Nose permite hablar en Color!");
return 0;
}
y me dices si te funca.
Respuesta: [Ayuda] Como evitar que puedan hablar con Colores -
Manuel7284 - 04.02.2012
Sigue Igual xD
Re: [Ayuda] Como evitar que puedan hablar con Colores -
digman - 04.02.2012
Proba con esta:
pawn Код:
text[strfind(text,"{{FFFFFF}")] = ' ';
Respuesta: [Ayuda] Como evitar que puedan hablar con Colores -
Manuel7284 - 04.02.2012
pawn Код:
C:\Users\****\Documents\****\****\gamemodes\****.pwn(2632) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Warning.
Tira un Warning!
PD: Ahora no puedo hablar en el chat de Equipo y No puedo hablar en el Chat Normal
Re: [Ayuda] Como evitar que puedan hablar con Colores -
digman - 04.02.2012
Che ahora que me doy cuenta nose puede quitar esto ya q es normal de SAMP :S...
Respuesta: [Ayuda] Como evitar que puedan hablar con Colores -
Manuel7284 - 04.02.2012
No creo porque en otro servidor no se puede hacer eso Solo aparece un espacio pero no sale el color
Re: [Ayuda] Como evitar que puedan hablar con Colores -
LuisGraph - 04.02.2012
Con macro
#define ROJO "{Color}"
#define AZUL "{Color}"
pawn Код:
public OnPlayerText(playerid, text[])
{
new str[256], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), ""ROJO"%s: "AZUL"%s", name, text);
SendClientMessageToAll(playerid, -1, str);
return 0;
}
O
pawn Код:
public OnPlayerText(playerid, text[])
{
new str[256], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), "{Color}%s: {Color}%s", name, text);
SendClientMessageToAll(playerid, -1, str);
return 0;
}
Saludos.
Respuesta: [Ayuda] Como evitar que puedan hablar con Colores -
OPremium - 04.02.2012
Intenta con esto... Es parecido a lo que usaba en mi server antes de pasar a 0.3d
pawn Код:
#define strcpy(%0,%1,%2) \
strcat((%0[0] = '\0', %0), %1, %2)
public OnPlayerText(playerid, text[])
{
new color, msg[128];
strcpy(msg, text, sizeof(msg)); //Copia el texto a otra variable
color = FindColourInStr(msg, sizeof(msg)) //Busca un color :P
while(color != -1)
{
strdel(msg, color, color+7); //Quita el color
color = FindColourInStr(msg, sizeof(msg)); //Busca otro color
}
//Ahora "msg" tiene el mensaje sin codigos de color
#define text msg //Asi te evitas cambiar todos los "text" a "msg" :P
//Lo que ya tenias en OnPlayerText aqui
#undef text
SendPlayerMessageToAll(playerid, msg); //Envia el mensaje con los colores removidos
return 0; //Recuerda esto... Asн no se envia el mensaje que tiene los colores
}
stock FindColourInStr(string[], len)
{
for(new i; i < len; i++)
{
if(string[i] == EOS) break;
if(string[i] == 0x7B && i+7 < len)
{
new hex[7];
strmid(hex, string, i+1, i+7);
if(IsHex(hex) && strlen(hex) == 6 && string[i+7] == 0x7D)
{
return i;
}
}
}
return -1;
}
stock IsHex(str[]) //By ******
{
new
i,
cur;
if (str[0] == '0' && (str[1] == 'x' || str[1] == 'X')) i = 2;
while (str[i])
{
cur = str[i++];
if ((cur < '0') || (cur > '9' && cur < 'A') || (cur > 'F' && cur < 'a') || (cur > 'f')) return 0;
}
return 1;
}
Re: [Ayuda] Como evitar que puedan hablar con Colores -
LuisGraph - 04.02.2012
Como lo puse es mas facil, y rapido.