SA-MP Forums Archive
Ayъdenme por favor. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Ayъdenme por favor. (/showthread.php?tid=220166)



Ayъdenme por favor. - arturo clark - 03.02.2011

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?


Respuesta: Ayъdenme por favor. - [J]ulian - 03.02.2011

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


Respuesta: Ayъdenme por favor. - TheChaoz - 03.02.2011

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]



Re: Ayъdenme por favor. - arturo clark - 03.02.2011

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.


Respuesta: Ayъdenme por favor. - TheChaoz - 03.02.2011

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;
}



Re: Ayъdenme por favor. - arturo clark - 03.02.2011

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


Respuesta: Ayъdenme por favor. - TheChaoz - 03.02.2011

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.


Re: Ayъdenme por favor. - arturo clark - 03.02.2011

Ah ok, muchas gracias: (: