Como evitar numeros
#1

Como evitar numeros en comandos /PM


pawn Код:
new Mensaje[256];
    new MensajeDos[256];
    new Nombres[MAX_PLAYER_NAME+1];
    new NombreDos[MAX_PLAYER_NAME+1];
    new tmp[256];

    if(strcmp("/pm", cmd, true) == 0)
    {
        if (GetPlayerMoney(playerid) > 1) {
        tmp = strtok(cmdtext,idx);

        if(!strlen(tmp) || strlen(tmp) > 5) {
            SendClientMessage(playerid,COLOR_RED,"Use: /pm [ID] [Mensaje]");
            return 1;
        }

        new id = strval(tmp);
        MensajeDos = strrest(cmdtext,idx);

        if(!strlen(MensajeDos)) {
            SendClientMessage(playerid,COLOR_RED,"Use: /pm [ID] [Mensaje]");
            return 1;
        }

        if(!IsPlayerConnected(id)) {
            SendClientMessage(playerid,COLOR_RED,"Jugador No Conectado");
            return 1;
        }

        if(playerid != id) {
            GetPlayerName(id,Nombre,sizeof(Nombre));
            GetPlayerName(playerid,NombreDos,sizeof(NombreDos));
            format(Mensaje,sizeof(Mensaje),">> %s(%d): %s",Nombres,id,MensajeDos);
            SendClientMessage(playerid,COLOR_YELLOW,Mensaje);
            format(Mensaje,sizeof(Mensaje),"** %s(%d): %s",NombreDos,playerid,MensajeDos);
            SendClientMessage(id,COLOR_YELLOW,Mensaje);
            PlayerPlaySound(id,1085,0.0,0.0,0.0);
            printf("PM: %s",Mensaje);

        }
        else {
            SendClientMessage(playerid,COLOR_RED,"No te puedes enviar un mensaje a ti mismo.");
        }
        return 1;
       }
    }
Reply
#2

pawn Код:
if(!strcmp("1",params,true) || !strcmp("2",params,true) || !strcmp("3",params,true) || !strcmp("4",params,true) || !strcmp("5",params,true) || !strcmp("6",params,true) || !strcmp("7",params,true) || !strcmp("8",params,true) || !strcmp("9",params,true) || !strcmp("0",params,true) || !strcmp(":",params,true)) return SendClientMessage(playerid,COLOR_RED,"ERROR: Caracteres o nicks no estan permitidos [AntiSpam]");
agregalo debajo de is player conect
Reply
#3

error
pawn Код:
pwn(987) : error 017: undefined symbol "params"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Reply
#4

En vez de params pone cmdtext
Reply
#5

pawn Код:
new Mensaje[256];
    new MensajeDos[256];
    new Nombres[MAX_PLAYER_NAME+1];
    new NombreDos[MAX_PLAYER_NAME+1];
    new tmp[256];

    if(strcmp("/pm", cmd, true) == 0)
    {
        if (GetPlayerMoney(playerid) > 1) {
        tmp = strtok(cmdtext,idx);

        if(!strlen(tmp) || strlen(tmp) > 5) {
            SendClientMessage(playerid,COLOR_RED,"Use: /pm [ID] [Mensaje]");
            return 1;
        }

        new id = strval(tmp);
        MensajeDos = strrest(cmdtext,idx);

        if(!strlen(MensajeDos)) {
            SendClientMessage(playerid,COLOR_RED,"Use: /pm [ID] [Mensaje]");
            return 1;
        }

        if(!IsPlayerConnected(id)) {
            SendClientMessage(playerid,COLOR_RED,"Jugador No Conectado");
            return 1;
        }

        if(playerid != id) {
            GetPlayerName(id,Nombre,sizeof(Nombre));
            GetPlayerName(playerid,NombreDos,sizeof(NombreDos));
            for(new i=0,d=strlen(Mensaje);i<d;i++)
            {
            if(Mensaje[i] == '0' || Mensaje[i] == '1' || Mensaje[i] == '2' || Mensaje[i] == '3' || Mensaje[i] == '4' || Mensaje[i] == '5' || Mensaje[i] == '6' || Mensaje[i] == '7' || Mensaje[i] == '8' || Mensaje[i] == '9')    Mensaje[i] = '*';
            }


            format(Mensaje,sizeof(Mensaje),">> %s(%d): %s",Nombres,id,MensajeDos);
            SendClientMessage(playerid,COLOR_YELLOW,Mensaje);
            format(Mensaje,sizeof(Mensaje),"** %s(%d): %s",NombreDos,playerid,MensajeDos);
            SendClientMessage(id,COLOR_YELLOW,Mensaje);
            PlayerPlaySound(id,1085,0.0,0.0,0.0);
            printf("PM: %s",Mensaje);

        }
        else {
            SendClientMessage(playerid,COLOR_RED,"No te puedes enviar un mensaje a ti mismo.");
        }
        return 1;
       }
    }
Reply
#6

Usa esta funciуn:

pawn Код:
IsNumeric(const string[])
{
    for (new i = 0, j = strlen(string); i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0') return 0;
    }
    return 1;
}
pawn Код:
if (IsNumeric(MensajeDos)) return SendClientMessage(playerid, COLOR_RED, "ERROR: No puedes usar numeros en el mensaje.");
Reply
#7

gracias
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)