Ir para conteúdo

Posts Recomendados

Ola pessoal...

 

Eu estou com um probleminha... Na verdade 2 probleminha =/

 

Há algum tempo eu criei o meu script da vassoura que limpa itens, porém ainda nao havia atingido meu objetivo, pois ela ainda não limpava totalmente o server, então decidi trabalhar numa versão 2.0...

 

Eu gostaria de incrementar na versão 2.0 a função de alerta, caso você esteje prestes a varrer algo vasioso..

 

Não consigo por para a(s) backpack(s) sumir(em) no final do script =/

 

Eu alterei pouca coisa... O script ficou assim:

   function onUse(cid, item1, fromPosition, itemEx, toPosition)

   local balance1=getPlayerBalance(cid)
   local lixos,bps = {
   [7636] = 5,
   [7634] = 10,
   [7635] = 15
   },{
   1987,
   1988,
   1991,
   1992,
   1993,
   1994,
   1995,
   1996,
   1997,
   1998,
   1999,
   2000,
   2001,
   2002,
   2003,                                        
   2004
   }


       if isInArray(bps, itemEx.itemid) and getContainerSize(itemEx.uid) > 0 then
          if toPosition.x ~= CONTAINER_POSITION then
             for a,b in pairs(lixos) do
                 local var_itens = getItemsInContainer(itemEx.uid) 
                 for c in pairs(var_itens) do 
                     if (var_itens[c].itemid) ~= a then
                        doPlayerSendCancel(cid, "Dentro de sua backpack contém uma "..getItemNameById(Informations[index1].itemid).." que não pode ser varrida.")
                        break
                     else
                        doRemoveItem(var_itens[c].uid) 
                        doPlayerAddBankMoney(cid,lixos[var_itens[c].itemid])
                        local balance2=getPlayerBalance(cid)
                        doSendMagicEffect(toPosition,2)
                        doSendAnimatedText(fromPosition,"$ "..(balance2-balance1).." $",COLOR_LIGHTGREEN)
                     end
                 end
             end
          else
              doPlayerSendCancel(cid, "Sua backpack deve estar no chão.")
          end
       elseif lixos[itemEx.itemid] then
              if toPosition.x ~= CONTAINER_POSITION then
                 doRemoveItem(itemEx.uid, 1)
                 doSendMagicEffect(toPosition,2)
                 doPlayerAddBankMoney(cid,lixos[itemEx.itemid])
                 doSendAnimatedText(fromPosition,"$ "..(lixos[itemEx.itemid]).." $",COLOR_LIGHTGREEN)
              else
                  doPlayerSendCancel(cid, "Você não pode varrer itens em containers.")
              end
       else
           doPlayerSendCancel(cid, "Isto não pode ser varrido.")
   	end
   return TRUE
   end

   local function doPlayerAddBankMoney(cid, quanty)
            doPlayerSetBalance(cid, getPlayerBalance(cid) + quanty)
   end

   local function getItemsInContainer(container)
       local items = {}     
       if(isContainer(container) and getContainerSize(container) > 0)then
           for i = 0, getContainerSize(container)-1 do
               slot = getContainerItem(container, i)
               if(isContainer(slot.uid) and getContainerSize(slot.uid) > 0)then
                   local nitems = getItemsInContainer(slot.uid)
                   for i=0, #nitems do
                       table.insert(items, nitems[i])
                   end
               end
               if(slot.uid ~= 0 or nil)then
                   table.insert(items, slot)
               end
           end         
           return items     
       else 
           return false
       end     
   end

 

 

O outro problema e que...

 

Mesmo que não exista item diferente dos da tabela, aparece a mensagem de erro =/

 

Será que alguem consegue me ajudar...

Aceito novas sujestoes

 

Brigada

Link para o comentário
https://xtibia.com/forum/topic/167459-ajuda-com-script-de-desintegrar/
Compartilhar em outros sites

×
×
  • Criar Novo...