09.12.2012, 20:40
Buenas, tengo un problema que al poner "X" comando, por ejemplo /me, sale el ъltimo cmd creado. Es decir yo el ultimo comando que hize fue /daradmin, en el juego pongo /me y me dice "No eres administrador". El gm es desde 0, supongo que debe ser algun problema con los returns.
Pongo la callback completa, total muchas cosas no hay:
Borrй el /daradmin, y entonces ahora que pongo algъn cmd no se ejecuta.
Pongo la callback completa, total muchas cosas no hay:
Код:
public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new idx; if(strcmp(cmd, "/duda", true) == 0) { if(IsPlayerConnected(playerid)) { new sendername[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername)); new string[256]; new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_BLANCO, "*FE:RP - /duda [Texto]"); } format(string, sizeof(string), "(Dudas FE:RP) [Nivel %d] %s (%d): %s ))",GetPlayerScore(playerid), sendername, playerid, result); printf("%s", string); } return 1; } if (strcmp(cmd, "/admins", true) == 0) { if(IsPlayerConnected(playerid)) { SendClientMessage(playerid, -1, "{FFFFFF}>{16D324}Lista Administrativa: {FF2F24}FE:RP{FFFFFF}<"); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(Informacion[i][NivelAdmin] >= 1 && Informacion[i][NivelAdmin] <= 4) { new string[256]; new sendername[MAX_PLAYER_NAME]; GetPlayerName(i, sendername, sizeof(sendername)); format(string, 256, "Administrador: %s, nivel: %d.", sendername, Informacion[i][NivelAdmin]); SendClientMessage(playerid, -1, string); } } } } return 1; } return SendClientMessage(playerid,-1,"{FFFFFF}El comando ingresado no existe, porfavor use {04FD3E}/duda {FFFFFF}o {04FD3E}/ayuda."); }