11.03.2014, 18:03
Si tengo permisos ._. alo que entiendo creeo yase cual es el problema, los comandos llevan "return else" y igual funciones sin else 
Ejemplo: esto no funciуna:
Pero si modifico paraquй el msj valla al final del comando con "else return" si funciуna, pero modificar todos los comandos ? o_o mira asi funciуna:
O tambiйn podria ser de estar forma, borrando esa funciуn y solo comprobando si el usuario es admin mas no max_level asi:
Quй es mas recomendable ?

Ejemplo: esto no funciуna:
Код:
if (strcmp("/Burn", cmd, true) == 0) { if(PlayerInfo[playerid][Level] >= 1) { new temporal[256], ajsts[256]; temporal = strtok(cmdtext,idx); if(!strlen(temporal)) return SendClientMessage(playerid, COLOR_RED, ""USOMSG" /Burn [jugador]"); new player1 = strval(temporal), Float:xsd, Float:ysd, Float:zsd; if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" No puedes usar comandos sobre admin's de mas nivel"); if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) { format(ajsts, sizeof(ajsts), "Has quemado a %s", PlayerName2(player1)); SendClientMessage(playerid,COLOR_BLUE,ajsts); if(player1 != playerid) { format(ajsts,sizeof(ajsts),"El Administrador %s te ha quemado", PlayerName2(playerid)); SendClientMessage(player1,COLOR_BLUE,ajsts); } GetPlayerPos(player1, xsd, ysd, zsd); return CreateExplosion(xsd, ysd , zsd + 3, 1, 10); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" El jugador no esta conectado"); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" Necesitas ser Administrador nivel 1 para usar este comando"); }
Код:
if (strcmp("/Burn", cmd, true) == 0) { if(PlayerInfo[playerid][Level] >= 1) { new temporal[256], ajsts[256]; temporal = strtok(cmdtext,idx); if(!strlen(temporal)) return SendClientMessage(playerid, COLOR_RED, ""USOMSG" /Burn [jugador]"); new player1 = strval(temporal), Float:xsd, Float:ysd, Float:zsd; if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) { if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) { format(ajsts, sizeof(ajsts), "Has quemado a %s", PlayerName2(player1)); SendClientMessage(playerid,COLOR_BLUE,ajsts); if(player1 != playerid) { format(ajsts,sizeof(ajsts),"El Administrador %s te ha quemado", PlayerName2(playerid)); SendClientMessage(player1,COLOR_BLUE,ajsts); } GetPlayerPos(player1, xsd, ysd, zsd); return CreateExplosion(xsd, ysd , zsd + 3, 1, 10); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" No puedes usar comandos sobre admin's de mas nivel"); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" El jugador no esta conectado"); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" Necesitas ser Administrador nivel 1 para usar este comando"); }
Код:
if (strcmp("/Burn", cmd, true) == 0) { if(PlayerInfo[playerid][Level] >= 1) { new temporal[256], ajsts[256]; temporal = strtok(cmdtext,idx); if(!strlen(temporal)) return SendClientMessage(playerid, COLOR_RED, ""USOMSG" /Burn [jugador]"); new player1 = strval(temporal), Float:xsd, Float:ysd, Float:zsd; if(PlayerInfo[player1][Level] >= 1) return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" No puedes usar este comando en un administrador."); if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) { format(ajsts, sizeof(ajsts), "Has quemado a %s", PlayerName2(player1)); SendClientMessage(playerid,COLOR_BLUE,ajsts); if(player1 != playerid) { format(ajsts,sizeof(ajsts),"El Administrador %s te ha quemado", PlayerName2(playerid)); SendClientMessage(player1,COLOR_BLUE,ajsts); } GetPlayerPos(player1, xsd, ysd, zsd); return CreateExplosion(xsd, ysd , zsd + 3, 1, 10); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" El jugador no esta conectado"); } else return SendClientMessage(playerid,COLOR_RED,""ERRORMSG" Necesitas ser Administrador nivel 1 para usar este comando"); }
