[Ajuda] GetPlayerWeaponData
#3

quando o jogador voltava no servidor, as muniзхes duplicava. Consegui, fiz desse jeito.

pawn Код:
forward VerificarBalas();
public VerificarBalas()
{
    new plyWeapons[13];
    new plyAmmo[13];
    new weapon, ammo;
    foreach(new playerid : Player)
    {
        for(new i; i < MAX_ARMAS; i++)
        {
            if(Arma[i][Dono] == PlayerInfo[playerid][UserID])
            {
                for(new slot = 0; slot < 13; slot++) GetPlayerWeaponData(playerid, GetSlot(Arma[i][Modelo]), plyWeapons[slot], plyAmmo[slot]);
                new has = Arma[i][ArmaAmmo];
                if(plyWeapons[GetSlot(Arma[i][Modelo])] == Arma[i][Modelo])
                {
                    if(has > plyAmmo[GetSlot(Arma[i][Modelo])])
                    {
                        if( (has > 5000 && plyAmmo[GetSlot(Arma[i][Modelo])] == 0) || (plyAmmo[GetSlot(Arma[i][Modelo])] < (has-5000*2)))
                        {
                        }
                        else
                        {
                            Arma[i][ArmaAmmo] = plyAmmo[GetSlot(Arma[i][Modelo])];
                        }
                    }
                    new on = DonoOnline(Arma[i][Dono]);
                    if(Arma[i][ArmaAmmo] == 0)
                    {
                        if(on > -1)
                        {    
                            new string[128];
                            format(string,128,"ARMAS: A muniзгo de sua arma %s acabou.", NomeArmas[Arma[i][Modelo]]);
                            SendClientMessage(i, -1, string);
                        }
                    }
                }
            }
        }
    }
    return 1;
}

eu fiz essas cb mas acho que poderia ficar melhor melhor, tem alguma ideia de como identar ela ?

й pra identificar se tem a arma jб no slot para o player nгo poder comprar outra

pawn Код:
stock TemArmaSlot(playerid, idarma)
{
    new temarmaslot = 0;
    for(new i; i < MAX_ARMAS; i++)
    {
        if(Arma[i][Dono] == PlayerInfo[playerid][UserID])
        {
            if(idarma == 2 || idarma == 3 || idarma == 4 || idarma == 5 || idarma == 6 || idarma == 7 || idarma == 8 || idarma == 9){
                if(Arma[i][Modelo] == 2 ||Arma[i][Modelo] == 3 ||Arma[i][Modelo] == 4 ||Arma[i][Modelo] == 5 ||Arma[i][Modelo] == 6 ||Arma[i][Modelo] == 7 ||Arma[i][Modelo] == 8 ||Arma[i][Modelo] == 9)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 10 || idarma == 11 || idarma == 12 || idarma == 13 || idarma == 14 || idarma == 15){
                if(Arma[i][Modelo] == 10 ||Arma[i][Modelo] == 11 ||Arma[i][Modelo] == 12 ||Arma[i][Modelo] == 13 ||Arma[i][Modelo] == 14 ||Arma[i][Modelo] == 15)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 16 || idarma == 17 || idarma == 18){
                if(Arma[i][Modelo] == 16 ||Arma[i][Modelo] == 17 ||Arma[i][Modelo] == 18)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 22 || idarma == 23 || idarma == 24 ){
                if(Arma[i][Modelo] == 22 ||Arma[i][Modelo] == 23 ||Arma[i][Modelo] == 24)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 25 || idarma == 26 || idarma == 27 ){
                if(Arma[i][Modelo] == 25 ||Arma[i][Modelo] == 26 ||Arma[i][Modelo] == 27)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 28 || idarma == 29 || idarma == 32){
                if(Arma[i][Modelo] == 28 ||Arma[i][Modelo] == 29 ||Arma[i][Modelo] == 32)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 30 || idarma == 31){
                if(Arma[i][Modelo] == 30 ||Arma[i][Modelo] == 31)
                {
                    temarmaslot = 1;
                }
            }
            if(idarma == 33 || idarma == 34){
                if(Arma[i][Modelo] == 33 ||Arma[i][Modelo] == 34)
                {
                    temarmaslot = 1;
                }
            }
        }
    }
    return temarmaslot;
}

stock CarregarArma(playerid)
{
    new idarma;
    for(new i; i < MAX_ARMAS; i++)
    {
        if(Arma[i][Dono] == PlayerInfo[playerid][UserID])
        {
            idarma = Arma[i][Modelo];
            if(idarma == 2 || idarma == 3 || idarma == 4 || idarma == 5 || idarma == 6 || idarma == 7 || idarma == 8 || idarma == 9){
                if(Arma[i][Modelo] == 2 ||Arma[i][Modelo] == 3 ||Arma[i][Modelo] == 4 ||Arma[i][Modelo] == 5 ||Arma[i][Modelo] == 6 ||Arma[i][Modelo] == 7 ||Arma[i][Modelo] == 8 ||Arma[i][Modelo] == 9)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 10 || idarma == 11 || idarma == 12 || idarma == 13 || idarma == 14 || idarma == 15){
                if(Arma[i][Modelo] == 10 ||Arma[i][Modelo] == 11 ||Arma[i][Modelo] == 12 ||Arma[i][Modelo] == 13 ||Arma[i][Modelo] == 14 ||Arma[i][Modelo] == 15)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 16 || idarma == 17 || idarma == 18){
                if(Arma[i][Modelo] == 16 ||Arma[i][Modelo] == 17 ||Arma[i][Modelo] == 18)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 22 || idarma == 23 || idarma == 24 ){
                if(Arma[i][Modelo] == 22 ||Arma[i][Modelo] == 23 ||Arma[i][Modelo] == 24)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 25 || idarma == 26 || idarma == 27 ){
                if(Arma[i][Modelo] == 25 ||Arma[i][Modelo] == 26 ||Arma[i][Modelo] == 27)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 28 || idarma == 29 || idarma == 32){
                if(Arma[i][Modelo] == 28 ||Arma[i][Modelo] == 29 ||Arma[i][Modelo] == 32)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 30 || idarma == 31){
                if(Arma[i][Modelo] == 30 ||Arma[i][Modelo] == 31)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
            if(idarma == 33 || idarma == 34){
                if(Arma[i][Modelo] == 33 ||Arma[i][Modelo] == 34)
                {
                    GivePlayerWeapon(playerid, idarma);
                }
            }
        }
    }
    return temarmaslot;
}
Reply


Messages In This Thread
GetPlayerWeaponData - by Mitic0 - 05.08.2018, 01:32
Re: GetPlayerWeaponData - by willttoonn - 05.08.2018, 02:46
Re: GetPlayerWeaponData - by Mitic0 - 05.08.2018, 13:30
Re: GetPlayerWeaponData - by Felipealves - 05.08.2018, 14:48
Re: GetPlayerWeaponData - by Mitic0 - 05.08.2018, 16:21
Re: GetPlayerWeaponData - by Felipealves - 05.08.2018, 17:51

Forum Jump:


Users browsing this thread: 1 Guest(s)