O script funciona certinho, mas se usar o balde com água no trigo, ao invés de usar o trigo no balde, da um erro no console e o trigo não vira massa, e a água do balde some
data/actions/scripts/liquids/containers.lua:onUse
<luaDoCreateItem> Tile not found
data/actions/scripts/liquids/containers.lua:onUse
<luaDoDecayItem> Item not found
Meu containers.lua
local ITEM_RUM_FLASK = 5553 local TYPE_EMPTY = 0 local TYPE_WATER = 1 local TYPE_BLOOD = 2 local TYPE_BEER = 3 local TYPE_SLIME = 4 local TYPE_LEMONADE = 5 local TYPE_MILK = 6 local TYPE_MANA_FLUID = 7 local TYPE_LIFE_FLUID = 10 local TYPE_OIL = 11 local TYPE_URINE = 13 local TYPE_COCONUT_MILK = 14 local TYPE_WINE = 15 local TYPE_MUD = 19 local TYPE_FRUIT_JUICE = 21 local TYPE_LAVA = 26 local TYPE_RUM = 27 local TYPE_SWAMP = 28 local TYPE_TEA = 35 local distillery = {[5513] = 5469, [5514] = 5470} local oilLamps = {[2046] = 2044} local casks = {[1771] = TYPE_WATER, [1772] = TYPE_BEER, [1773] = TYPE_WINE} 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) -- Condition will delay the first damage from when it's added setConditionParam(poison, CONDITION_PARAM_MINVALUE, -50) -- Minimum damage the condition can do at total setConditionParam(poison, CONDITION_PARAM_MAXVALUE, -120) -- Maximum damage setConditionParam(poison, CONDITION_PARAM_STARTVALUE, -5) -- The damage the condition will do on the first hit setConditionParam(poison, CONDITION_PARAM_TICKINTERVAL, 4000) -- Delay between damages setConditionParam(poison, CONDITION_PARAM_FORCEUPDATE, true) -- Re-update condition when adding it(ie. min/max value) local burn = createConditionObject(CONDITION_FIRE) setConditionParam(burn, CONDITION_PARAM_DELAYED, true) -- Condition will delay the first damage from when it's added setConditionParam(burn, CONDITION_PARAM_MINVALUE, -70) -- Minimum damage the condition can do at total setConditionParam(burn, CONDITION_PARAM_MAXVALUE, -150) -- Maximum damage setConditionParam(burn, CONDITION_PARAM_STARTVALUE, -10) -- The damage the condition will do on the first hit setConditionParam(burn, CONDITION_PARAM_TICKINTERVAL, 10000) -- Delay between damages setConditionParam(burn, CONDITION_PARAM_FORCEUPDATE, true) -- Re-update condition when adding it(ie. min/max value) local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if(isPlayer(itemEx.uid)) 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(itemEx.uid, math.random(80, 160))) then return false end doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER) 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(itemEx.uid, math.random(40, 75))) then return false end doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER) doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE) doAddCondition(cid, exhaust) elseif(itemEx.uid == cid) then if(isInArray(alcoholDrinks, item.type)) then if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Aaah...", TALKTYPE_MONSTER) elseif(isInArray(poisonDrinks, item.type)) then if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER) elseif(item.type == TYPE_LAVA) then if(not doTargetCombatCondition(0, cid, burn, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER) else doCreatureSay(cid, "Gulp.", TALKTYPE_MONSTER) end else doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) return true 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) then local tmp = distillery[itemEx.itemid] if(tmp ~= nil) then doTransformItem(itemEx.uid, tmp) 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 local tmp = casks[itemEx.itemid] if(tmp == nil) then tmp = getFluidSourceType(itemEx.itemid) end if(tmp) then doChangeTypeItem(item.uid, tmp) return true end doPlayerSendCancel(cid, "Está vazio.") return true end local tmp = oilLamps[itemEx.itemid] if(item.type == TYPE_OIL and tmp ~= nil) then doTransformItem(itemEx.uid, tmp) doChangeTypeItem(item.uid, TYPE_NONE) return true end if(isItemFluidContainer(itemEx.itemid) and itemEx.type == TYPE_EMPTY) then doChangeTypeItem(itemEx.uid, itemEx.type) doChangeTypeItem(item.uid, TYPE_EMPTY) return true end if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then return false end end doDecayItem(doCreateItem(POOL, item.type, toPosition)) doChangeTypeItem(item.uid, TYPE_EMPTY) return true end
Bread system
makes.lua
--Function by Ta4e for Tibia 8.21+-- --Uses grounds of Rikezinho action-- --Halloween,Cake and Bread systems like in tibia function onUse(cid, item, frompos, item2, topos) topos = {x=topos.x,y=topos.y,z=topos.z} --Bread and cakes-- if item.itemid == 2694 then if item2.itemid == 1381 or item2.itemid == 1382 or item2.itemid == 1383 or item2.itemid == 1384 then doRemoveItem(item.uid,1) doPlayerAddItem(cid,2692,1) end elseif item.itemid == 2692 then if item2.itemid == 1775 or item2.itemid == 2005 then if item2.type == 1 then doChangeTypeItem(item2.uid,0) doTransformItem(item.uid,2693) elseif item2.type == 6 then doChangeTypeItem(item2.uid,0) doTransformItem(item.uid,6277) end end elseif item.itemid == 2693 then if item2.itemid == 1786 or item2.itemid == 1788 or item2.itemid == 1790 or item2.itemid == 1792 or item2.itemid == 6356 or item2.itemid == 6538 or item2.itemid == 6360 or item2.itemid == 6362 then doTransformItem(item.uid,2689) end elseif item.itemid == 6277 then if item2.itemid == 1786 or item2.itemid == 1788 or item2.itemid == 1790 or item2.itemid == 1792 or item2.itemid == 6356 or item2.itemid == 6338 or item2.itemid == 6360 or item2.itemid == 6362 then doRemoveItem(item.uid,1) doCreateItem(6278,1,topos) elseif item2.itemid == 6574 then doTransformItem(item.uid,8846) doRemoveItem(item2.uid,1) end elseif item.itemid == 8846 then if item2.itemid == 1786 or item2.itemid == 1788 or item2.itemid == 1790 or item2.itemid == 1792 or item2.itemid == 6356 or item2.itemid == 6538 or item2.itemid == 6360 or item2.itemid == 6362 then doTransformItem(item.uid,8847) end elseif item.itemid == 6280 then doTransformItem(item.uid,6279) doSendMagicEffect(topos,2) name = getPlayerName(cid) doCreatureSay (cid, name ..' blew out the candle.', TALKTYPE_ORANGE_1) --Pumpkins-- elseif item.itemid == 2566 then if item2.itemid == 2683 then doTransformItem(item2.uid,2096) end elseif item.itemid == 2096 then if item2.itemid == 2048 then doTransformItem(item.uid,2097) doRemoveItem(item2.uid,1) end end return 1 end
Se alguém conseguir resolver, dou REP, versão 9.60. E se alguém tiver um script de pegar água do poço com o balde, me passem, por favor