Error.
#1

Buenas, intentй hacer un comando llamado /silenciador y /qsilenciador, el /silenciador sirve para darme una 9mm silenciada teniendo una 9mm, y el /qsilenciador sirve para darme una 9mm si tengo una 9mm silenciada..

Ahora, no funcionan, ya que si uso /silenciador, por mбs que tenga silenciador, por mбs que no tengo una 9mm silenciada o sea lo que sea me aparece "Usted ya tiene una pistola colt .45 silenciada en mano", y si uso /qsilenciador pasa lo mismo, me aparece "Usted ya tiene una pistola colt .45 en mano"..

pawn Код:
enum jInfo
{
    jWep,
    jAmmo,
    jSilenciador
};
new JugadorInfo[MAX_PLAYERS][jInfo];
pawn Код:
zcmd(silenciador, playerid, params[])
    {
        new string[128];
        if(JugadorInfo[playerid][jWep] <= 1) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 silenciada en mano.");
        if(GetPlayerWeapon(playerid) == 22) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45.");
        {
            JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
            format(string, sizeof(string), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
            ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /qsilenciador.");
            JugadorInfo[playerid][jWep] = 1;
            GivePlayerWeapon(playerid, 23, JugadorInfo[playerid][jAmmo]);
            JugadorInfo[playerid][jSilenciador] -= 1;
        }
        return 1;
    }
    zcmd(qsilenciador, playerid, params[])
    {
        new string[128];
        if(JugadorInfo[playerid][jWep] <= 1) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 en mano.");
        if(GetPlayerWeapon(playerid) == 23) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 silenciada.");
        {
            JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
            format(string, sizeof(string), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
            ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
            JugadorInfo[playerid][jWep] = 1;
            GivePlayerWeapon(playerid, 22, JugadorInfo[playerid][jAmmo]);
            JugadorInfo[playerid][jSilenciador] += 1;
        }
        return 1;
    }
El silenciador (jSilenciador) se consigue con el comando /test1;

pawn Код:
zcmd(test1, playerid, params[])
    {
        JugadorInfo[playerid][jSilenciador] += 1;
        return 1;
    }
Reply
#2

pawn Код:
zcmd(silenciador, playerid, params[])
    {
        new string[128];
        if(!JugadorInfo[playerid][jSilenciador] == 2) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 silenciada en mano.");
        if(!GetPlayerWeapon(playerid) == 22) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45.");
        {
            JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
            format(string, sizeof(string), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
            ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /qsilenciador.");
            JugadorInfo[playerid][jWep] = 1;
            GivePlayerWeapon(playerid, 23, JugadorInfo[playerid][jAmmo]);
            JugadorInfo[playerid][jSilenciador] = 2;
        }
        return 1;
    }
    zcmd(qsilenciador, playerid, params[])
    {
        new string[128];
        if(!JugadorInfo[playerid][jSilenciador] == 1) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 en mano.");
        if(!GetPlayerWeapon(playerid) == 23) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 silenciada.");
        {
            JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
            format(string, sizeof(string), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
            ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
            JugadorInfo[playerid][jWep] = 1;
            GivePlayerWeapon(playerid, 22, JugadorInfo[playerid][jAmmo]);
            JugadorInfo[playerid][jSilenciador] = 1;
        }
        return 1;
    }
Prueba asi aver.
Reply
#3

pawn Код:
zcmd(silenciador, playerid, params[])
    {
        new string[128];
        if(GetPlayerWeapon(playerid) != 22) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45.");
        else
        {
            format(string, sizeof(string), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
            ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /qsilenciador.");
            GivePlayerWeapon(playerid, 23, GetPlayerAmmo(playerid));
        }
        return 1;
    }
    zcmd(qsilenciador, playerid, params[])
    {
        new string[128];
        if(GetPlayerWeapon(playerid) != 23) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 silenciada.");
        else
        {
            format(string, sizeof(string), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
            ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
            GivePlayerWeapon(playerid, 22, GetPlayerAmmo(playerid));
        }
        return 1;
    }
Al parecer no sabes como funcionan las clausulas if-else y los return.
La variable de silenciador estб al pedo, porque si tiene el arma ID 23 (pistola silenciador) entonces tiene una 9mm.
Reply
#4

O_O , Le Estas haciendo un script para ponerle silenciador a un arma ke ya hay por defecto con silenciador. o_O
Reply
#5

No, no entendiste, es para ponerle silenciador a la 9mm normal.
Reply
#6

pawn Код:
static
     SilenciadorAmmo[MAX_PLAYERS],
     Ammostr[128];

COMMAND:silenciador(playerid, params[])
{
    switch(GetPlayerWeapon(playerid))
    {
        case 22:
        {
            SilenciadorAmmo[playerid] = GetPlayerAmmo(playerid);
            format(Ammostr, sizeof(Ammostr), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
            ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /silenciador.");
            GivePlayerWeapon(playerid, 23, SilenciadorAmmo[playerid]);
        }
        case 23:
        {
            SilenciadorAmmo[playerid] = GetPlayerAmmo(playerid);
            format(Ammostr, sizeof(Ammostr), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
            ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
            GivePlayerWeapon(playerid, 22, SilenciadorAmmo[playerid]);
        }
        default: SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 Con/Sin silenciador.");
    }
    return 1;
}
o

pawn Код:
COMMAND:silenciador(playerid, params[])
{
    new str[128], ammo;
    ammo = GetPlayerAmmo(playerid);
    switch(GetPlayerWeapon(playerid))
    {
        case 22:
        {
            format(Ammostr, sizeof(Ammostr), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
            ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /silenciador.");
            GivePlayerWeapon(playerid, 23, ammo);
        }
        case 23:
        {
            format(Ammostr, sizeof(Ammostr), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
            ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
            GivePlayerWeapon(playerid, 22, ammo);
        }
        default: SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 Con/Sin silenciador.");
    }
    return 1;
}
PD: Todo En Uno y Mas Esficiente .

PD2: Tu Problema estaba en if(JugadorInfo[playerid][jWep] <= 1)

<= ------ Si es Menor o igual a ...
!= ----- Comprueba si es diferente a .. este es el ke debes usar
== ----- Si Es Gual a ..
Reply
#7

Quote:
Originally Posted by bytytus
Посмотреть сообщение
!= ----- Comprueba si es igual a ..
De hecho, ese comprueba sino es igual a...
Reply
#8

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
De hecho, ese comprueba sino es igual a...
ah si me confundi :P
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)