Armas Pesadas.
#1

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
Reply
#2

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.
Reply
#3

No funciona
Reply
#4

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.
Reply
#5

https://sampwiki.blast.hk/wiki/SetPlayerArmedWeapon
Reply
#6

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 ї
Reply
#7

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...
Reply
#8

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)