Ir para conteúdo
  • 0

Função Para Obter Slots Livres Do Player


LuckOake

Pergunta

Olá olá :)

 

Como todos sabem, sempre tem um babaca que fica dando use em platinum coins estando sem espaço na backpack, e então cai 100 gold coins no chão e suja o templo todo.

 

Eu gostaria de saber se existe alguma função que obtenha os slots livres do player, e se ele não tiver nenhum, ser bloqueado de usar.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

você pode usar o seguinte:

 

 

 

function getContainerSlotsFree(container) -- by vodka
return getContainerCap(container)-getContainerSize(container)
end

 

vai retornar quantos slots tem sobrando no contêiner

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 0

Substitua o seu changegold com esse:

 

 

local coins = {
   [iTEM_GOLD_COIN] = {
       to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
   },
   [iTEM_PLATINUM_COIN] = {
       from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
   },
   [iTEM_CRYSTAL_COIN] = {
       from = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_TEAL
   }
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then
       return false
   end

   local coin = coins[item.itemid]
   if(not coin) then
       return false
   end

   if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then
     if not doPlayerAddItem(cid, coin.to, 1, false) then
     return doPlayerSendCancel(cid, "You don't have enough space in your backpack.")
     end
       doChangeTypeItem(item.uid, item.type - item.type)
       doSendAnimatedText(fromPosition, "$$$", coins[coin.to].effect)
   elseif(coin.from ~= nil) then
     if not doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX, false) then
     return doPlayerSendCancel(cid, "You don't have enough space in your backpack.")
     end
       doChangeTypeItem(item.uid, item.type - 1)
       doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
   end
   return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

@brun123

 

Então é só colocar isso aqui, né:

 

if not doPlayerAddItem(cid, coin.from, 1, false) then
return doPlayerSendCancel(cid, "You don't have enough space in your backpack.")
end

 

if not doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX, false) then
return doPlayerSendCancel(cid, "You don't have enough space in your backpack.")
end

 

~~ Edit ~~

 

Agora os items estão se clonando.

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

  • 0

Porque você colocou com ordem errada, não é só colocar esse código, tem que tirar outra linha e inverter a ordem das coisas acontecerem. Experimenta pegar meu script

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...