Ir para conteúdo
  • 0

AJUDA URGENTE SCRIPT


leonardo macedo

Pergunta

por favor alguem me ajuda com esse erro

 

Lua Script Error: [Action Interface]
data/actions/scripts/chestsys.lua:onUse
data/actions/scripts/chestsys.lua:9: attempt to index a nil value
stack traceback:
[C]: in function '__index'
data/actions/scripts/chestsys.lua:9: in function <data/actions/scripts/c
hestsys.lua:5>
chestsys.lua abaixo

local chests = {
[6000] = {storage = 8000, item = 2494, amount = 1}, -- demon armor
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local v = chests[item.uid]
if player:getStorageValue(v.storage) ~= -1 then
return player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja fez essa quest.")
elseif player:getFreeCapacity() < (Item(v.item):getWeight() * v.amount) then
return player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce nao tem cap.")
end
if ItemType(v.item):isStackable() or v.amount == 1 then
player:addItem(v.item, v.amount)
else
for i = 1, v.amount do
player:addItem(v.item, 1)
end
end
player:setStorageValue(v.storage, 1)
return player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce achou uma recompensa.")
end

 

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Mude

elseif player:getFreeCapacity() < (Item(v.item):getWeight() * v.amount) then
Para

elseif player:getFreeCapacity() < (v.item:getWeight() * v.amount) then
Se não funcionar tente

elseif true then
Veja se o erro persiste.
Link para o comentário
Compartilhar em outros sites

  • 0

Mude

elseif player:getFreeCapacity() < (Item(v.item):getWeight() * v.amount) then
Para

elseif player:getFreeCapacity() < (v.item:getWeight() * v.amount) then
Se não funcionar tente

elseif true then
Veja se o erro persiste.

 

Então eu coloquei o primeiro deu erro, ai depois coloquei o outro e agora fica falando, Voce não tem cap, mais ja tentei com player com god e da só essa mensagem e não recebo o item.

Link para o comentário
Compartilhar em outros sites

  • 0

Então eu coloquei o primeiro deu erro, ai depois coloquei o outro e agora fica falando, Voce não tem cap, mais ja tentei com player com god e da só essa mensagem e não recebo o item.

 

Ops nem me liguei, coloca false no lugar do true

 

 

 

Esse não pegou?

elseif player:getFreeCapacity() < (v.item:getWeight() * v.amount) then 

Tente mudar:

elseif player:getFreeCapacity() < (v.item:getWeight() * v.amount) then

para

elseif player:getFreeCapacity() < ((v.item:getWeight()) * v.amount) then

Se eu não me engano, não precisa de multiplicação, essa função já tem ela embutida...

getItemWeight(item, 1)
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

Ops nem me liguei, coloca false no lugar do true

 

 

 

Esse não pegou?

elseif player:getFreeCapacity() < (v.item:getWeight() * v.amount) then 

Tente mudar:

elseif player:getFreeCapacity() < (v.item:getWeight() * v.amount) then

para

elseif player:getFreeCapacity() < ((v.item:getWeight()) * v.amount) then

Se eu não me engano, não precisa de multiplicação, essa função já tem ela embutida...

getItemWeight(item, 1)

poxa mano, agora deu esse erro

 

Lua Script Error: [Action Interface]
data/actions/scripts/chestsys.lua:onUse
data/actions/scripts/chestsys.lua:9: attempt to index field 'item' (a number val
ue)
stack traceback:
[C]: in function '__index'
data/actions/scripts/chestsys.lua:9: in function <data/actions/scripts/c
hestsys.lua:5>

@up

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...