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