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:
Код:
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");
}
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:
Код:
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");
}
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:
Код:
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");
}
Quй es mas recomendable ?