Ayuda Con Un Comando -
G.B - 14.01.2010
Bueno Estoy Asiendo Unos Comandos De Colores Para El Jugador
Ejemplo
Код:
else if(strcmp(cmdtext,"/color 1",true)==0)
{
SetPlayerColor(playerid,COLOR_MEDIUMBLUE);
return 1;
}
La Pregunta Es Como Puedo Hacer Que Cuando Un Jugador Utilize El Comando,
Pero No Ponga El Comando Bien Escriba Solamente
/color Le Aparesca Un Mensaje Diciendo
El Comando No Esta Completo Utilize ID 1 Para Completar El Comando
Bueno Muchas Gracias Por Leer Este Tema Cualquier Ayuda Se lo Agradesco...
Re: Ayuda Con Un Comando -
TheChaoz - 14.01.2010
puede ser que uses este comado asi mira
pawn Код:
if(strcmp(cmdtext, "/color", true) == 0){
SendClientMessage(playerid, 0xFF0000FF, "Los colores que existan");
return 1;
}
no se si eso es lo que estas buscando
espero que te sirva
Re: Ayuda Con Un Comando -
CristianTdj - 14.01.2010
pawn Код:
if(strcmp(cmd, "/Color 1", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,0xFF0000FF,"El Comando No Esta Completo Utilize ID 1 Para Completar El Comando");
return 1;
}
SetPlayerColor(playerid,COLO_MEDIUMBLUE);
return 1;
}
Aunque te recomiendo que lo hagas mбs norma. /Azul /Rojo /Verde...
Re: Ayuda Con Un Comando -
G.B - 14.01.2010
Muchas Gracias Por Sus Ayudas
Re: Ayuda Con Un Comando -
Miguel - 14.01.2010
Ciertamente todo lo que dijeron estб mal, debido a que si pones:
pawn Код:
if(strcmp(cmd, "/color 1", true) == 0) // "/color 1" entre comillas, ya el comando vendria a ser directamente "color 1", mas no "color" + el ID
Ojalб yo supiera utilizar strtok, pero nahh, no lo se, aunque te puedo dar un ejemplo con dcmd + sscanf si algun dнa lo decides usar:
pawn Код:
dcmd_color(playerid, params[])
{
new id;
if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR, "Uso: /color [id]"); // esto es lo que tu quieres
else if(id < 1 || id > 150) return SendClientMessage(playerid, COLOR, "El id debe ser mayor a cero y menor a 150!"); // cambia 1 y 150 por los valores que quieras
else
{
if(id == 1) return SetPlayerColor(playerid, COLOR);
else if(id == 2) return SetPlayerColor(playerid, COLOR);
else if(id == 3) return SetPlayerColor(playerid, COLOR);
else if(id == 4) return SetPlayerColor(playerid, COLOR);
else if(id == 5) return SetPlayerColor(playerid, COLOR);
else if(id == 6) return SetPlayerColor(playerid, COLOR);
else if(id == 7) return SetPlayerColor(playerid, COLOR);
else if(id == 8) return SetPlayerColor(playerid, COLOR);
// y asн...
}
return 1;
}
Re: Ayuda Con Un Comando -
TheChaoz - 14.01.2010
Quote:
Originally Posted by SAWC
Ciertamente todo lo que dijeron estб mal, debido a que si pones:
pawn Код:
if(strcmp(cmd, "/color 1", true) == 0) // "/color 1" entre comillas, ya el comando vendria a ser directamente "color 1", mas no "color" + el ID
Ojalб yo supiera utilizar strtok, pero nahh, no lo se, aunque te puedo dar un ejemplo con dcmd + sscanf si algun dнa lo decides usar:
pawn Код:
dcmd_color(playerid, params[]) { new id;
if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR, "Uso: /color [id]"); // esto es lo que tu quieres else if(id < 1 || id > 150) return SendClientMessage(playerid, COLOR, "El id debe ser mayor a cero y menor a 150!"); // cambia 1 y 150 por los valores que quieras else { if(id == 1) return SetPlayerColor(playerid, COLOR); else if(id == 2) return SetPlayerColor(playerid, COLOR); else if(id == 3) return SetPlayerColor(playerid, COLOR); else if(id == 4) return SetPlayerColor(playerid, COLOR); else if(id == 5) return SetPlayerColor(playerid, COLOR); else if(id == 6) return SetPlayerColor(playerid, COLOR); else if(id == 7) return SetPlayerColor(playerid, COLOR); else if(id == 8) return SetPlayerColor(playerid, COLOR); // y asн... } return 1; }
|
no estoy de acuerdo con lo que decis ya que tanto si creara un comando nuevo llamado "/color" como sugeri o si hace algo mas profecional x asi decirlo como lo que sugirio Cristian, al poner /color apareceria lo que el quiere.
Re: Ayuda Con Un Comando -
G.B - 14.01.2010
Bueno Hice Lo Que Me Dijo
CristianTdj Pero Me Salen Dos Error
Код:
C:\Users\G.B\Desktop\lvdm.pwn(1140) : error 017: undefined symbol "strtok"
C:\Users\G.B\Desktop\lvdm.pwn(1140) : error 033: array must be indexed (variable "tmp")
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
2 Errors.
Re: Ayuda Con Un Comando -
TheChaoz - 14.01.2010
agrega esto al final del GM o FS
pawn Код:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
espero q te ayude
Re: Ayuda Con Un Comando -
G.B - 14.01.2010
Gracias
Re: Ayuda Con Un Comando -
Miguel - 15.01.2010
Yo solo lo decнa porque si pones "/color 1", como comando (como hizo cristian), entonces si escribieras "/color" (estando conectado al servidor) saldrнa
Unknown command, o no?