Tengo un error, que cualquier comando es el primero. -
iPerryX - 24.07.2010
El primero comando de
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new string[256];
//blablabla
return 1;
}
es /Ayuda, pero si pongo /adhasjdakdhakjsld, cosa que no existe, me sale ese tambien, he probado borrarlo, y entonces sale lo mismo, solo que con /Comandos :S Es decir, el primero comando sale buggeado, he revisado todo el OnPlayerCommandText, pero todo esta bien, todo con callbacks, con ;, con todo.. pero no se que pasa.. aqui esta:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new cmd[256];
new sendername[MAX_PLAYER_NAME];
//new playername[MAX_PLAYER_NAME];
//new giveplayer[MAX_PLAYER_NAME];
if(strcmp(cmd, "/Ayuda", true) == 0)
{
SendClientMessage(playerid, COLOR_TITULO, "____________________|| Ayuda ||____________________");
bueno, no pongo mas porque da igual. aver si encuentran el error, yo estare aсadiendo cosas..
Respuesta: Tengo un error, que cualquier comando es el primero. -
Zoutdaxv - 24.07.2010
Antes de usar el comando necesitas usar strtok y agregar el index (Sуlo si usas comandos con parбmetros):
pawn Код:
new idx;
cmd = strtok(cmdtext, idx);
Ademбs el string y el cmd son muy grandes, el cmd no tiene que pasar de 20 celdas si usas strtok y el string no tiene que pasar de 128 celdas, es para evitar uso excesivo de la memoria.
pawn Код:
new cmd[20];
new string[128];
new idx;
cmd = strtok(cmdtext, idx);
Re: Tengo un error, que cualquier comando es el primero. -
CristianTdj - 24.07.2010
OnPlayerCommandText no tiene un
return 1 sino
return 0, el primero es despuйs de un comando.
Re: Tengo un error, que cualquier comando es el primero. -
iPerryX - 24.07.2010
Gracias, solo era aсadir
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;
}
bueno lo saque del LARP, Infierno:
lo que dije se suma a lo suyo.
Cristian: aunque sea eso, no importa mucho xD
Re: Tengo un error, que cualquier comando es el primero. -
CristianTdj - 24.07.2010
No significa que no importe mucho, es que es asн. Te recomiendo que lo cambies por un mensaje:
return 0 por
return SendClientMessage(playerid, 0xffffffff, "Este comando no existe.");
Re: Tengo un error, que cualquier comando es el primero. -
iPerryX - 24.07.2010
Entonces el return lo que hace es el Server Unknown command? PD:gracias por decirmelo, eso andaba buscando tambien

ya acabe para comprar armas por dinero y chaleco i vida, i el reinicio de armas(sin dinero xD) ahora pondre eso, bueno, maсana zZzZ