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.
2є
pawn Код:
reason[500], string[1000]
eso es una brutalidad (sin ofender). demasiado espacio sin ser usado. dejalo asi:
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: (: