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



Armas Pesadas. - SaiB0T - 24.12.2012

Primero, hola y feliz navidad e_e xd, queria saber como hacer para que un player al tenes un minigun y bazzoka se la saqe automaticamente algo asi que les qite las armas pesadas:
Код:
public OnPlayerUpdate(playerid)
{
    new quitararma = GetPlayerWeapon(playerid);
    if(quitararma == 38 || quitararma == 35 || quitararma == 36 || quitararma == 37)
    {
    ResetPlayerWeapons(playerid);
    }
    return 1;
}
Pero quiero que cuando este por ejemplo en un minijuego de minigun o rockets no se las qite con alguna variable algo e_e. Gracias de antemano


Respuesta: Armas Pesadas. - [J]ulian - 24.12.2012

pawn Код:
new pZona[MAX_PLAYERS] = {-1, ...};
#define ZONA_MINIGUN        1

public OnPlayerDisconnect(playerid, reason)
{
    if(pZona[playerid] != -1) pZona[playerid] = -1;
    return 1;
}

public OnPlayerUpdate(playerid)
{
    if(pZona[playerid] != ZONA_MINIGUN)
    {
        if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
        {
            SetPlayerArmedWeapon(playerid, 0);
        }
    }
    return 1;
}
En el cуdigo que lo lleva a la zona tendrнas que poner "pZona[playerid] = ZONA_*".

No lo he probado, pero deberнa funcionar.


Respuesta: Armas Pesadas. - SaiB0T - 26.12.2012

No funciona


Respuesta: Armas Pesadas. - TiNcH010 - 26.12.2012

Usa mejor la funciуn que Julian te dice SetPlayerArmedWeapon(playerid, 0); ya que esta funcion remueve el arma que tiene el jugador en la mano y con ResetPlayerWeapons(playerid); remueve todas.


Respuesta: Armas Pesadas. - OTACON - 26.12.2012

https://sampwiki.blast.hk/wiki/SetPlayerArmedWeapon


Respuesta: Armas Pesadas. - SaiB0T - 26.12.2012

Oh! listo, entonces en el comando del juego..
Quote:

if(pZona[playerid] != ZONA_MINIGUN)
{
// Aca lo demбs..
}

??
y Para la rocket coloco el ID o WEAPON_RPG ї


Re: Armas Pesadas. - spell - 27.12.2012

Hace asi mira:
pawn Код:
stock QuitarArma(playerid , slot )
{
    new Arma[13],Balas[13];//aca almacenaras las armas
    for(new i; i < 13; i++)//El loop
    {
        if(i != slot)//Si el slot es desigual, le almacena
            GetPlayerWeaponData(playerid, i , Arma[i], Balas[i] );
    }
    ResetPlayerWeapons(playerid); //una vez almacenado, le quitas las armas
    for(new i; i < 13; i++)//El loop
        GetPlayerWeaponData(playerid, i , Arma[i], Balas[i] );//le das las armas.
    return 1;
}

public OnPlayerUpdate( playerid )
{
    if(GetPlayerWeapon(playerid) == 38) {//Vos cambia todo esto..
        QuitarArma(playerid,GetWeaponSlot(38));
        return 0; // Para que los demбs no le vean el arma..
    }
    return 1;
}
Si usas GetPlayerWeaponData en OnPlayerUpdate, puede ser que te laguee un poco el server, no te lo recomiendo...


Respuesta: Armas Pesadas. - SaiB0T - 27.12.2012

Ok estб bien, pero nesesito que lleve una variable o algo que no le saqe el arma en un juego.


Respuesta: Armas Pesadas. - [J]ulian - 27.12.2012

Te di el ejemplo que necesitas mбs arriba, adaptalo a tu cуdigo.