SA-MP Forums Archive
Error. - 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: Error. (/showthread.php?tid=399979)



Error. - Glimma - 16.12.2012

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;
    }



Respuesta: Error. - oOFotherOo - 16.12.2012

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.


Respuesta: Error. - CaptainMactavish - 16.12.2012

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.


Respuesta: Error. - OTACON - 16.12.2012

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


Respuesta: Error. - Glimma - 16.12.2012

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


Respuesta: Error. - OTACON - 16.12.2012

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 ..


Respuesta: Error. - TiNcH010 - 16.12.2012

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


Respuesta: Error. - OTACON - 16.12.2012

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