No tienes acceso a ese comando (sistema dinбmico)
#1

Bueno, estoy teniendo un problema al crear un atm (banco) en mi GM. Resulta que busquй un sistema dinбmico asн e intentй adaptarlo a mi GM pero al querer crear uno me dice lo siguiente:

"* No puedes usar este comando."


Dejo el comando acб:

pawn Код:
CMD:crearatm(playerid, params[])
{
    if(Info[playerid][pAdmin] != 7) return SendClientMessageEx(playerid, COLOR_GREY, "* No puedes usar este comando.");
    if(!IsPlayerConnectedEx(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, NoConectado);
    if(Info[playerid][pAdmin] != 7)
    {
        new atmid;
        if(!sscanf(params, "d", atmid))
        {
            if(atmid < 0 || atmid > MAX_ATMS) return SendClientMessageEx( playerid, COLOR_GREY, "* ID de ATM invбlida.");
            if(atmVariables[atmid][atmMoney] > 0) return SendClientMessageEx( playerid, COLOR_GREY, "* Esta ID estб siendo utilizada.");
            GetPlayerPos(playerid, atmVariables[atmid][fATMPos][0], atmVariables[atmid][fATMPos][1], atmVariables[atmid][fATMPos][2]);
            GetPlayerFacingAngle(playerid, atmVariables[atmid][fATMPosRot]);
            DestroyDynamicObject(atmVariables[atmid][rObjectId]);
            atmVariables[atmid][rObjectId] = CreateDynamicObject(2942,atmVariables[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2]-0.4,0,0,atmVariables[atmid][fATMPosRot]);
            new text[40];
            format(text,sizeof(text),"%d\nIngresa tu tarjeta usando /atm.",atmid);
            DestroyDynamic3DTextLabel(Text3D:atmVariables[atmid][rTextLabel]);
            atmVariables[atmid][rTextLabel] = CreateDynamic3DTextLabel(text,COLOR_YELLOW,atmVariables[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2],8.0);
            atmVariables[atmid][atmMoney] = 0;
            SendClientMessageEx(playerid, COLOR_WHITE, "Creaste satisfactoriamente el ATM indicado.");
            atmSave();
        }
        else return SendClientMessageEx(playerid, COLOR_GREY, "USA: /crearatm [ID Libre]!");
    }
    else SendClientMessageEx(playerid, COLOR_GREY, "* No puedes usar este comando.");
    return 1;
}
Reply
#2

CMD:crearatm(playerid, params[])
{
if(!IsPlayerConnectedEx(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, NoConectado);
if(Info[playerid][pAdmin] < 7) return SendClientMessageEx(playerid, COLOR_GREY, "* No puedes usar este comando.");
new atmid;
if(!sscanf(params, "d", atmid))
{
if(atmid < 0 || atmid > MAX_ATMS) return SendClientMessageEx( playerid, COLOR_GREY, "* ID de ATM invбlida.");
if(atmVariables[atmid][atmMoney] > 0) return SendClientMessageEx( playerid, COLOR_GREY, "* Esta ID estб siendo utilizada.");
GetPlayerPos(playerid, atmVariables[atmid][fATMPos][0], atmVariables[atmid][fATMPos][1], atmVariables[atmid][fATMPos][2]);
GetPlayerFacingAngle(playerid, atmVariables[atmid][fATMPosRot]);
DestroyDynamicObject(atmVariables[atmid][rObjectId]);
atmVariables[atmid][rObjectId] = CreateDynamicObject(2942,atmVariables[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2]-0.4,0,0,atmVariables[atmid][fATMPosRot]);
new text[40];
format(text,sizeof(text),""COL_GENERAL"[ATM ID: "COL_WHITE"%d"COL_GENERAL"]\n"COL_WHITE"Ingresa tu tarjeta usando '/atm'.",atmid);
DestroyDynamic3DTextLabel(Text3D:atmVariables[atmid][rTextLabel]);
atmVariables[atmid][rTextLabel] = CreateDynamic3DTextLabel(text,COLOR_GRAD1,atmVaria bles[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2],8.0);
atmVariables[atmid][atmMoney] = 0;
SendClientMessageEx(playerid, COLOR_WHITE, "Creaste satisfactoriamente el ATM indicado.");
atmSave();
}
else return SendClientMessageEx(playerid, COLOR_GREY, "USA: /crearatm [ID Libre]!");
return 1;
}
Reply
#3

Quote:
Originally Posted by Sacramento
Посмотреть сообщение
CMD:crearatm(playerid, params[])
{
if(!IsPlayerConnectedEx(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, NoConectado);
if(Info[playerid][pAdmin] < 7) return SendClientMessageEx(playerid, COLOR_GREY, "* No puedes usar este comando.");
new atmid;
if(!sscanf(params, "d", atmid))
{
if(atmid < 0 || atmid > MAX_ATMS) return SendClientMessageEx( playerid, COLOR_GREY, "* ID de ATM invбlida.");
if(atmVariables[atmid][atmMoney] > 0) return SendClientMessageEx( playerid, COLOR_GREY, "* Esta ID estб siendo utilizada.");
GetPlayerPos(playerid, atmVariables[atmid][fATMPos][0], atmVariables[atmid][fATMPos][1], atmVariables[atmid][fATMPos][2]);
GetPlayerFacingAngle(playerid, atmVariables[atmid][fATMPosRot]);
DestroyDynamicObject(atmVariables[atmid][rObjectId]);
atmVariables[atmid][rObjectId] = CreateDynamicObject(2942,atmVariables[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2]-0.4,0,0,atmVariables[atmid][fATMPosRot]);
new text[40];
format(text,sizeof(text),""COL_GENERAL"[ATM ID: "COL_WHITE"%d"COL_GENERAL"]\n"COL_WHITE"Ingresa tu tarjeta usando '/atm'.",atmid);
DestroyDynamic3DTextLabel(Text3D:atmVariables[atmid][rTextLabel]);
atmVariables[atmid][rTextLabel] = CreateDynamic3DTextLabel(text,COLOR_GRAD1,atmVaria bles[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2],8.0);
atmVariables[atmid][atmMoney] = 0;
SendClientMessageEx(playerid, COLOR_WHITE, "Creaste satisfactoriamente el ATM indicado.");
atmSave();
}
else return SendClientMessageEx(playerid, COLOR_GREY, "USA: /crearatm [ID Libre]!");
return 1;
}
Puedes poner eso con [ pawn ] [ /pawn ] ?
Reply
#4

Es por que tienes la restricciуn de que si tu nivel de admin es diferente a 7 no te deje usar el cmd, osea funcionara unicamente si eres nivel 7, para eso cambiale el comparador '!=' a '<' asi el cmd dejara usar el cmd solo a los admin que tengan el nivel mayor a 6.
Reply
#5

Quote:
Originally Posted by aoEXE
Посмотреть сообщение
Es por que tienes la restricciуn de que si tu nivel de admin es diferente a 7 no te deje usar el cmd, osea funcionara unicamente si eres nivel 7, para eso cambiale el comparador '!=' a '<' asi el cmd dejara usar el cmd solo a los admin que tengan el nivel mayor a 6.
<6 o <7 ?
Reply
#6

pawn Код:
< 7
Se leerб asн 'si Info[playerid][pAdmin] es menor a 7' si se cumple esa funcion enviara el mensaje de que no puede usar ese comando, entonces si es nivel 7 o mayor si lo dejara usar
Reply
#7

Quote:
Originally Posted by aoEXE
Посмотреть сообщение
pawn Код:
< 7
Se leerб asн 'si Info[playerid][pAdmin] es menor a 7' si se cumple esa funcion enviara el mensaje de que no puede usar ese comando, entonces si es nivel 7 o mayor si lo dejara usar
No funcionу. Me sigue diciendo que no puedo usar ese comando.
Si le saco el if(Info[playerid][pAdmin] < 7) , puede usarlo cualquiera ?
Reply
#8

Lo raro es que, al menos yo, no veo alguna otra cosa "mal". Asн quedу el cmd:

pawn Код:
CMD:crearatm(playerid, params[])
{
    if(!IsPlayerConnectedEx(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, NoConectado);
    if(Info[playerid][pAdmin] < 7)
    {
        new atmid;
        if(!sscanf(params, "d", atmid))
        {
            if(atmid < 0 || atmid > MAX_ATMS) return SendClientMessageEx( playerid, COLOR_GREY, "* ID de ATM invбlida.");
            if(atmVariables[atmid][atmMoney] > 0) return SendClientMessageEx( playerid, COLOR_GREY, "* Esta ID estб siendo utilizada.");
            GetPlayerPos(playerid, atmVariables[atmid][fATMPos][0], atmVariables[atmid][fATMPos][1], atmVariables[atmid][fATMPos][2]);
            GetPlayerFacingAngle(playerid, atmVariables[atmid][fATMPosRot]);
            DestroyDynamicObject(atmVariables[atmid][rObjectId]);
            atmVariables[atmid][rObjectId] = CreateDynamicObject(2942,atmVariables[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2]-0.4,0,0,atmVariables[atmid][fATMPosRot]);
            new text[40];
            format(text,sizeof(text),"%d\nIngresa tu tarjeta usando /atm.",atmid);
            DestroyDynamic3DTextLabel(Text3D:atmVariables[atmid][rTextLabel]);
            atmVariables[atmid][rTextLabel] = CreateDynamic3DTextLabel(text,COLOR_YELLOW,atmVariables[atmid][fATMPos][0],atmVariables[atmid][fATMPos][1],atmVariables[atmid][fATMPos][2],8.0);
            atmVariables[atmid][atmMoney] = 0;
            SendClientMessageEx(playerid, COLOR_WHITE, "Creaste satisfactoriamente el ATM indicado.");
            atmSave();
        }
        else return SendClientMessageEx(playerid, COLOR_GREY, "USA: /crearatm [ID Libre]!");
    }
    else SendClientMessageEx(playerid, COLOR_GREY, "* No puedes usar este comando.");
    return 1;
}


El nivel de admin que tengo es 7, asique eso no es.
Reply
#9

-.- es por que cambiaste la estructura del comando. Asi como lo tienes te dejara usarlo solo si es nivel 6 o menor. Cambialo por '>='

pawn Код:
if(Info[playerid][pAdmin] >= 7)
Reply
#10

Ahora sн, ahah. Gracias
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)