Ayъdenme por favor.
#1

Perdуn, ya se que acabo de hacer un post ase como 2 dнas.

їComo le hago para poder poner un comando asн? Ejemplo: /color <blanco/negro> <numero>. Que tengas que poner primero uno de los 2 colores y despuйs un numero.

Otra cosa, їPorque pasa esto? Por ejemplo tengo este comando:

pawn Код:
dcmd_kick(playerid, params[])
{
    if(PlayerInfo[playerid][AdminLevel] >= 1)
    {
        new pid, reason[500], string[1000], pName[MAX_PLAYER_NAME], kName[MAX_PLAYER_NAME];
        if(sscanf(params, "us", pid, reason)) return SendClientMessage(playerid, COLOR_YELLOW," ! Usage: /kick <playerid/partofname> <reason>");
        if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED," ! This player isn't connected");
        if(pid == playerid) return SendClientMessage(playerid, COLOR_RED," ! You can't kick yourself !");
        else
        {
            GetPlayerName(playerid, pName, sizeof(pName));
            GetPlayerName(pid, kName, sizeof(kName));
            format(string, sizeof(string), " ! %s has been kicked by %s for: %s", kName, pName, reason);
            SendClientMessageToAll(COLOR_RED2, string);
            Kick(pid);
        }
    }
    else
    {
        return 0;
    }
    return 1;
}
Cuando quiero poner una razуn no puedo poner mas que algunos caracteres (muy pocos) їPorque?
Reply
#2

Porque el mбximo que aparece en pantalla en 128 strings.
Reply
#3

1є usa strtok o sscanf y usa despues strcmp para comparar si los strings son = o no.

pawn Код:
reason[500], string[1000]
eso es una brutalidad (sin ofender). demasiado espacio sin ser usado. dejalo asi:
pawn Код:
reason[128], string[128]
Reply
#4

1° - їMe podrнas dar un ejemplo de como se harнa con sscanf?
2° - Ah si perdуn por los strings tan grandes, solo comparaba y olvide cambiarlos. Ademas lo que me acabas de the_chaoz, ya intente con "reason[128], string[128]" y es lo mismo.
Reply
#5

podria ser algo asi supongo:
pawn Код:
dcmd_color(playerid, params[]){
    new color[7], num;
    if(sscanf(params, "s[7]i", color, num))return SendClientMessage(playerid, 0xFFFFFFFF, "mensaje");
    if(!strcmp(color, "blanco")){
        //es = a blanco
    }
    else if(!strcmp(color, "negro")){
        //es = a negro
    }
    return 1;
}
Reply
#6

Ah si me sirviу muchas gracias, pero їque significa el "[7]"?
Todavнa sigo teniendo problemas con la primera pregunta que hice.
Reply
#7

es el espacio del array. lee bien el topic del sscanf y ahi vas a ver todo lo q podes usar. es mas q una simple funcion.
Reply
#8

Ah ok, muchas gracias: (:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)