Olá Bom dia, pessoal estou com um probleminha no servidor, ao iniciar a quest Pits of Inferno, jogando o sangue em cima do gravestone, ele teletransporta meu personagem corretamente, mas gera um erro na distro: Error- Action Interface
Data/actions/scripts/Liquids/containers.lua:onUse
Description:
<luaDoDecayItem> Item not found
Movements.xml
<movement type="AddItem" tileitem="1" uniqueid="50010" event="script" value="PitsOfInferno/gravestone.lua" />
Script Gravestone
Citarfunction onAddItem(moveitem, tileitem, pos)
newpos = {x = 32791, y = 32332, z = 10}
cidtile1 = {x=pos.x, y=pos.y+1, z=pos.z, stackpos=253}
cidtile2 = {x=pos.x+1, y=pos.y+1, z=pos.z, stackpos=253}
cid1 = getThingfromPos(cidtile1)
cid2 = getThingfromPos(cidtile2)if tileitem.uid == 50010 then
if moveitem.itemid == 2016 and moveitem.type == 2 and cid1.uid > 0 and cid2.uid ~= cid1.uid then
doRemoveItem(moveitem.uid, 1)
doSendMagicEffect(pos,13)
doTeleportThing(cid1.uid,newpos)
doSendMagicEffect(newpos,10)
elseif tileitem.uid == 50010 then
if moveitem.itemid == 2016 and moveitem.type == 2 and cid1.uid ~= cid2.uid and cid2.uid > 0 then
doRemoveItem(moveitem.uid, 1)
doSendMagicEffect(pos,13)
doTeleportThing(cid2.uid,newpos)
doSendMagicEffect(newpos,10)
else
doSendMagicEffect(pos,2)
doRemoveItem(moveitem.uid, 1)end
end
end
end
Containers
Citarlocal DISTILLERY = {5513, 5514, 5469, 5470}
local ITEM_RUM_FLASK = 5553
local ITEM_POOL = 2016
local TYPE_EMPTY = 0local TYPE_WATER = 1
local TYPE_BLOOD = 2
local TYPE_BEER = 3
local TYPE_SLIME = 4
local TYPE_MANA_FLUID = 7
local TYPE_LIFE_FLUID = 10
local TYPE_OIL = 11
local TYPE_WINE = 15
local TYPE_MUD = 19
local TYPE_LAVA = 26
local TYPE_RUM = 27
local TYPE_SWAMP = 28
local oilLamps = {[2046] = 2044}
local casks = {[1771] = TYPE_WATER, [1772] = TYPE_BEER,
[1773] = TYPE_WINE, [1369] = TYPE_WATER, [1368] = TYPE_WATER}local alcoholDrinks = {TYPE_BEER, TYPE_WINE, TYPE_RUM}
local poisonDrinks = {TYPE_SLIME, TYPE_SWAMP}
local drunk = createConditionObject(CONDITION_DRUNK)setConditionParam(drunk, CONDITION_PARAM_TICKS, 60000)
local poison = createConditionObject(CONDITION_POISON)setConditionParam(poison, CONDITION_PARAM_DELAYED, true)
setConditionParam(poison, CONDITION_PARAM_MINVALUE, -50)
setConditionParam(poison, CONDITION_PARAM_MAXVALUE, -120)
setConditionParam(poison, CONDITION_PARAM_STARTVALUE, -5)setConditionParam(poison, CONDITION_PARAM_TICKINTERVAL, 4000)
setConditionParam(poison, CONDITION_PARAM_FORCEUPDATE, true)
local exhaust = createConditionObject(CONDITION_EXHAUST)setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(itemEx.uid == cid) then
if(item.type == TYPE_EMPTY) then
doPlayerSendCancel(cid, "It is empty.")
return true
end
if(item.type == TYPE_MANA_FLUID) then
if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return true
end
if(not doPlayerAddMana(cid, math.random(80, 160))) then
return false
end
doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1)
doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
doAddCondition(cid, exhaust)
elseif(item.type == TYPE_LIFE_FLUID) then
if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return true
end
if(not doCreatureAddHealth(cid, math.random(40, 75))) then
return false
end
doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1)
doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
doAddCondition(cid, exhaust)
elseif(isInArray(alcoholDrinks, item.type)) then
if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then
return false
end
doCreatureSay(cid, "Aaah...", TALKTYPE_ORANGE_1)
elseif(isInArray(poisonDrinks, item.type)) then
if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then
return false
end
doCreatureSay(cid, "Urgh!", TALKTYPE_ORANGE_1)
else
doCreatureSay(cid, "Gulp.", TALKTYPE_ORANGE_1)
end
doChangeTypeItem(item.uid, TYPE_EMPTY)
return true
end
if(not isCreature(itemEx.uid)) then
if(item.type == TYPE_EMPTY) then
if(item.itemid == ITEM_RUM_FLASK and isInArray(DISTILLERY, itemEx.itemid)) then
if(itemEx.actionid == 100) then
doItemEraseAttribute(itemEx.uid, "description")
doItemEraseAttribute(itemEx.uid, "aid")
doChangeTypeItem(item.uid, TYPE_RUM)
else
doPlayerSendCancel(cid, "You have to process the bunch into the distillery to get rum.")
end
return true
end
if(isItemFluidContainer(itemEx.itemid) and itemEx.type ~= TYPE_EMPTY) then
doChangeTypeItem(item.uid, itemEx.type)
doChangeTypeItem(itemEx.uid, TYPE_EMPTY)
return true
end
if(casks[itemEx.itemid] ~= nil) then
doChangeTypeItem(item.uid, casks[itemEx.itemid])
return true
end
local fluidEx = getFluidSourceType(itemEx.itemid)
if(fluidEx ~= false) then
doChangeTypeItem(item.uid, fluidEx)
return true
end
doPlayerSendCancel(cid, "It is empty.")
return true
end
if(item.type == TYPE_OIL and oilLamps[itemEx.itemid] ~= nil) then
doTransformItem(itemEx.uid, oilLamps[itemEx.itemid])
doChangeTypeItem(item.uid, TYPE_NONE)
return true
end
if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then
return false
end
end
doDecayItem(doCreateItem(ITEM_POOL, item.type, toPosition))
doChangeTypeItem(item.uid, TYPE_EMPTY)
return trueend