Portal SAMP
[Ajuda] RETIRAR ITEM DO INV - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] RETIRAR ITEM DO INV (/showthread.php?tid=3844)



RETIRAR ITEM DO INV - RosaScripter - 28/07/2023

Tentei trasformar isso
Código:
GanharItem(playerid, itemid, quantia)
{
    for(new i = 1; i < 33; ++i)
    {
        if(PlayerInventario[playerid][i][Slot] == itemid)
        {
            PlayerInventario[playerid][i][Slot] = itemid;
            PlayerInventario[playerid][i][Unidades]+= quantia;
            return 1;
        }
        else if(PlayerInventario[playerid][i][Slot] == -1)
        {
            PlayerInventario[playerid][i][Slot] = itemid;
            PlayerInventario[playerid][i][Unidades] = quantia;
            return 1;
        }
    }
    notificacao(playerid, "ERRO", "Tu inventario esta lleno.", ICONE_ERRO);

    return 1;
}

Em isso
Código:
RetirarItem(playerid, itemid)
{
    for(new i = 1; i < 33; ++i)
    {
        if(PlayerInventario[playerid][i][Slot] == itemid)
        {
            PlayerInventario[playerid][i][Slot] = itemid;
            PlayerInventario[playerid][i][Unidades] = -1;
            return 1;
        }
    }
    notificacao(playerid, "ERRO", "Tu inventario esta lleno.", ICONE_ERRO);

    return 1;
}

Mas não tive sucesso


RE: RETIRAR ITEM DO INV - xbruno1000x - 28/07/2023

Tenta assim:
Código:
RetirarItem(playerid, itemid)
{
    for(new i = 1; i < 33; ++i)
    {
        if(PlayerInventario[playerid][i][Slot] == itemid)
        {
            if(PlayerInventario[playerid][i][Unidades] > 1) return PlayerInventario[playerid][i][Unidades] --;
            
            PlayerInventario[playerid][i][Slot] = -1;
            PlayerInventario[playerid][i][Unidades] = -1;
            return 1;
        }
    }
    notificacao(playerid, "ERRO", "Tu inventario esta vacío.", ICONE_ERRO);

    return 1;
}

Você não pode setar o Slot para itemid, pois ele vai ser removido do inventário. Se a quantia for maior que 1, terá que subtrair apenas 1. Se for zerar a quantidade, imagino que seja -1.