ayuda stock jugadoradmin - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: ayuda stock jugadoradmin (
/showthread.php?tid=614445)
ayuda stock jugadoradmin -
mcreed - 08.08.2016
Buenas, tratando de hacer una stock para tratar de recortar codigo, me realize esta stock que verifica si el administrador, el problema es que siempre deja utilizar el comando aunque no sea admin a pesar de que sale el mensaje.
PHP код:
stock JugadorAdmin(sJugadorID,sNivel,bool:MsgAuto=true)
{
if(infJugador[sJugadorID][Admin] >= sNivel)
return true;
if(MsgAuto==true)
return SendClientMsg(sJugadorID,COLOR_FRED,"ERROR",sprintf("{FFFFFF}Necesitas ser administrador nivel {BBFF8D}%d{FFFFFF} para utilizar este comando.",sNivel));
}
// EJEMPLO COMANDO
CMD:pjetpack(playerid,params[])
{
if(JugadorAdmin(playerid,2))
{
new p_jid;
if(sscanf(params,sprintf("R",p_jid))
return ModoUso("Modo de uso: /pjetpack [JugadorID/Nombre]");
if(!IsPlayerConnected(p_jid))
return SendClientMsg(playerid,COLOR_FRED,"ERROR","El jugador no esta conectado.");
SetPlayerSpecialAction(p_jid,SPECIAL_ACTION_USEJETPACK);
if(p_jid != playerid) SendClientMsg(playerid,COLOR_ANNADMIN,"",sprintf("Has equipado con una jetpack a %s.",jNombre(p_jid))),SendClientMsg(playerid,COLOR_ANNADMIN,"",sprintf("Administrador %s te ha equipado con un jetpack.",jNombre(playerid)));
if(p_jid == playerid) SendClientMsg(playerid,COLOR_ANNADMIN,"","Te has equipado con una jetpacket. ЎNO ABUSES!");
}
return true;
}
Respuesta: ayuda stock jugadoradmin -
mcreed - 08.08.2016
Lo hice de otra manera y me funciono, pero si hay una manera mas eficiente & optimizada, avisenme.
PHP код:
stock JugadorAdmin(sJugadorID,sNivel,bool:MsgAuto=true)
{
ForEach(a, MAX_PLAYERS)
{
if(a == sJugadorID)
{
if(infJugador[a][Admin] >= sNivel)
return true;
if(MsgAuto == true && infJugador[a][Admin] < sNivel)
{
SendClientMsg(sJugadorID,COLOR_FRED,"ERROR",sprintf("{FFFFFF}Necesitas ser administrador nivel {BBFF8D}%d{FFFFFF} para utilizar este comando.",sNivel));
}
}
}
return false;
}
Re: ayuda stock jugadoradmin -
Daniel-92 - 08.08.2016
Que mala costumbre de retornar funciones
PHP код:
stock JugadorAdmin(sJugadorID,sNivel,bool:MsgAuto=true) {
if(infJugador[sJugadorID][Admin] >= sNivel)
return true; //Retornamos verdadero.. (el jugador es admin)
if(MsgAuto==true)
SendClientMsg(sJugadorID,COLOR_FRED,"ERROR",sprintf("{FFFFFF}Necesitas ser administrador nivel {BBFF8D}%d{FFFFFF} para utilizar este comando.",sNivel));
return false; //Retornamos falso
}