• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • If you're using Gesior 2012 or MyAAC, please review this thread for information about a serious security vulnerability and a fix.

Lua [TFS 0.X] Mana Fluid error

potinho

Well-Known Member
Joined
Oct 11, 2009
Messages
1,190
Solutions
17
Reaction score
92
Location
Brazil
Im getting those errors when try to use mana fluid running:

2022-06-11 23:22:50 - [Error - Action Interface]
2022-06-11 23:22:50 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-11 23:22:50 - Description:
2022-06-11 23:22:50 - (luaHasItemProperty) Item not found
2022-06-11 23:22:50 -
2022-06-11 23:22:50 - [Error - Action Interface]
2022-06-11 23:22:50 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-11 23:22:50 - Description:
2022-06-11 23:22:50 - (luaDoCreateItem) Tile not found
2022-06-11 23:22:50 -
2022-06-11 23:22:50 - [Error - Action Interface]
2022-06-11 23:22:50 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-11 23:22:50 - Description:
2022-06-11 23:22:50 - (luaDoDecayItem) Item not found


Someone can help me to fix? How to make possible use mana fluid pressing hotkey in OTCv8?

potions.lua

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 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)

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(doComparePositions(getCreaturePosition(cid), toPosition))then
itemEx.uid = cid
end
    
    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(not doPlayerAddMana(itemEx.uid, math.random(40, 80))) then
            return false
        end

        doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
    elseif(item.type == TYPE_LIFE_FLUID) then
        if(not doCreatureAddHealth(itemEx.uid, math.random(40, 80))) then
            return false
        end

        doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
    elseif(isInArray(alcoholDrinks, item.type)) then
        if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Aaah...", TALKTYPE_MONSTER_SAY)
    elseif(isInArray(poisonDrinks, item.type)) then
        if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY)
    elseif(item.type == TYPE_LAVA) then
        if(not doTargetCombatCondition(0, cid, burn, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY)
    else
        doCreatureSay(cid, "Gulp.", TALKTYPE_MONSTER_SAY)
    end

    doRemoveItem(item.uid)
    return true
end

if(not isCreature(itemEx.uid)) then
    if(item.type == TYPE_EMPTY) then
        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, "It is empty.")
        return true
    end

    local tmp = oilLamps[itemEx.itemid]
    if(item.type == TYPE_OIL and tmp ~= nil) then
        doTransformItem(itemEx.uid, tmp)
        doRemoveItem(item.uid)
        return true
    end

    if(isItemFluidContainer(itemEx.itemid) and itemEx.type == TYPE_EMPTY) then
        doChangeTypeItem(itemEx.uid, itemEx.type)
        doRemoveItem(item.uid)
        return true
    end

    if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then
        return false
    end
end

if(item.type == TYPE_EMPTY) then
    doPlayerSendCancel(cid, "It is empty.")
    return true
end

doDecayItem(doCreateItem(2016, item.type, toPosition))
doRemoveItem(item.uid)
return true
end
 

Xikini

I whore myself out for likes
Senator
Joined
Nov 17, 2010
Messages
6,245
Solutions
545
Reaction score
4,487
Need more info.
We don't know what you are doing when those errors are occurring.

Add prints through-out the script, so we know where to look when the error comes up again.
print(1)
print(2)
 
OP
OP
potinho

potinho

Well-Known Member
Joined
Oct 11, 2009
Messages
1,190
Solutions
17
Reaction score
92
Location
Brazil
Need more info.
We don't know what you are doing when those errors are occurring.

Add prints through-out the script, so we know where to look when the error comes up again.
print(1)
print(2)
Occur when player is running and try to use mana fluid in yourself and miss. Will add print.
 

Xikini

I whore myself out for likes
Senator
Joined
Nov 17, 2010
Messages
6,245
Solutions
545
Reaction score
4,487
Will add print.
Im trying to print functions, but gotting several errors, can u show me please @Xikini ?
Add prints through-out the script, so we know where to look when the error comes up again.
print(1)
print(2)
It's impossible to get errors if you add simple prints like I indicated.
You would've got help weeks ago by someone, me or otherwise, if you posted your attempts at printing stuff.

At nearly a thousand posts and over 200 opened support threads you should know how to do basic script troubleshooting at this point.
Or at the very least, learned how to get help on the forum.

You're simply unhelpable in most of your threads because you refuse to give us new information, or show us you're even trying to fix the problem on your own.

As I posted earlier in this thread..
Need more info.

No new info = very difficult to help you.
 
OP
OP
potinho

potinho

Well-Known Member
Joined
Oct 11, 2009
Messages
1,190
Solutions
17
Reaction score
92
Location
Brazil
It's impossible to get errors if you add simple prints like I indicated.





You would've got help weeks ago by someone, me or otherwise, if you posted your attempts at printing stuff.

At nearly a thousand posts and over 200 opened support threads you should know how to do basic script troubleshooting at this point.
Or at the very least, learned how to get help on the forum.

You're simply unhelpable in most of your threads because you refuse to give us new information, or show us you're even trying to fix the problem on your own.

As I posted earlier in this thread..


No new info = very difficult to help you.
I really have a certain difficulty @Xikini , sorry if this disturbs the progress of the support, I'm trying to learn as fast as I can. I'm also trying to help new people with what I've learned or what has happened to me.
What I asked above was how and where to add these prints, as I tried right after the executions and the code kept returning an error.
Post automatically merged:

Im trying to print functions, but gotting several errors, can u show me please @Xikini ?
Like i said here.
 

Xikini

I whore myself out for likes
Senator
Joined
Nov 17, 2010
Messages
6,245
Solutions
545
Reaction score
4,487
I really have a certain difficulty @Xikini , sorry if this disturbs the progress of the support, I'm trying to learn as fast as I can. I'm also trying to help new people with what I've learned or what has happened to me.
What I asked above was how and where to add these prints, as I tried right after the executions and the code kept returning an error.
Post automatically merged:


Like i said here.
print(1)
print(2)
Put it anywhere and everywhere.
Post results, and script with prints.
 
OP
OP
potinho

potinho

Well-Known Member
Joined
Oct 11, 2009
Messages
1,190
Solutions
17
Reaction score
92
Location
Brazil
Like this?

2022-06-29 21:14:55 - 6
2022-06-29 21:14:56 - 6
2022-06-29 21:14:58 - 6
2022-06-29 21:15:02 - 6
2022-06-29 21:15:04 - 6
2022-06-29 21:15:06 -
2022-06-29 21:15:06 - [Error - Action Interface]
2022-06-29 21:15:06 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-29 21:15:06 - Description:
2022-06-29 21:15:06 - (luaHasItemProperty) Item not found
2022-06-29 21:15:06 -
2022-06-29 21:15:06 - [Error - Action Interface]
2022-06-29 21:15:06 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-29 21:15:06 - Description:
2022-06-29 21:15:06 - (luaDoCreateItem) Tile not found
2022-06-29 21:15:06 -
2022-06-29 21:15:06 - [Error - Action Interface]
2022-06-29 21:15:06 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-29 21:15:06 - Description:
2022-06-29 21:15:06 - (luaDoDecayItem) Item not found
2022-06-29 21:15:06 - 6


potions.lua
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 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)

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(doComparePositions(getCreaturePosition(cid), toPosition))then
itemEx.uid = cid
end
   
    if(itemEx.uid == cid) then
    if(item.type == TYPE_EMPTY) then
        doPlayerSendCancel(cid, "It is empty.")
        print(1)
        return true
    end

    if(item.type == TYPE_MANA_FLUID) then
        if(not doPlayerAddMana(itemEx.uid, math.random(40, 80))) then
        print(2)
            return false
        end

        doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
        print(3)
    elseif(item.type == TYPE_LIFE_FLUID) then
        if(not doCreatureAddHealth(itemEx.uid, math.random(40, 80))) then
            return false
        end

        doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
    elseif(isInArray(alcoholDrinks, item.type)) then
        if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Aaah...", TALKTYPE_MONSTER_SAY)
    elseif(isInArray(poisonDrinks, item.type)) then
        if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY)
    elseif(item.type == TYPE_LAVA) then
        if(not doTargetCombatCondition(0, cid, burn, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY)
    else
        doCreatureSay(cid, "Gulp.", TALKTYPE_MONSTER_SAY)
    end

    doRemoveItem(item.uid)
    return true
end

if(not isCreature(itemEx.uid)) then
    if(item.type == TYPE_EMPTY) then
        if(isItemFluidContainer(itemEx.itemid) and itemEx.type ~= TYPE_EMPTY) then
            doChangeTypeItem(item.uid, itemEx.type)
            doChangeTypeItem(itemEx.uid, TYPE_EMPTY)
            print(4)
            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, "It is empty.")
        return true
    end

    local tmp = oilLamps[itemEx.itemid]
    if(item.type == TYPE_OIL and tmp ~= nil) then
        doTransformItem(itemEx.uid, tmp)
        doRemoveItem(item.uid)
        return true
    end

    if(isItemFluidContainer(itemEx.itemid) and itemEx.type == TYPE_EMPTY) then
        doChangeTypeItem(itemEx.uid, itemEx.type)
        print(5)
        doRemoveItem(item.uid)
        return true
    end

    if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then
        return false
    end
end

if(item.type == TYPE_EMPTY) then
    doPlayerSendCancel(cid, "It is empty.")
    return true
end

doDecayItem(doCreateItem(2016, item.type, toPosition))
print(6)
doRemoveItem(item.uid)
return true
end
 
Last edited:

Xikini

I whore myself out for likes
Senator
Joined
Nov 17, 2010
Messages
6,245
Solutions
545
Reaction score
4,487
Like this?

2022-06-29 21:14:55 - 6
2022-06-29 21:14:56 - 6
2022-06-29 21:14:58 - 6
2022-06-29 21:15:02 - 6
2022-06-29 21:15:04 - 6
2022-06-29 21:15:06 -
2022-06-29 21:15:06 - [Error - Action Interface]
2022-06-29 21:15:06 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-29 21:15:06 - Description:
2022-06-29 21:15:06 - (luaHasItemProperty) Item not found
2022-06-29 21:15:06 -
2022-06-29 21:15:06 - [Error - Action Interface]
2022-06-29 21:15:06 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-29 21:15:06 - Description:
2022-06-29 21:15:06 - (luaDoCreateItem) Tile not found
2022-06-29 21:15:06 -
2022-06-29 21:15:06 - [Error - Action Interface]
2022-06-29 21:15:06 - data/actions/scripts/liquids/potions.lua:eek:nUse
2022-06-29 21:15:06 - Description:
2022-06-29 21:15:06 - (luaDoDecayItem) Item not found
2022-06-29 21:15:06 - 6


potions.lua
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 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)

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(doComparePositions(getCreaturePosition(cid), toPosition))then
itemEx.uid = cid
end
  
    if(itemEx.uid == cid) then
    if(item.type == TYPE_EMPTY) then
        doPlayerSendCancel(cid, "It is empty.")
        print(1)
        return true
    end

    if(item.type == TYPE_MANA_FLUID) then
        if(not doPlayerAddMana(itemEx.uid, math.random(40, 80))) then
        print(2)
            return false
        end

        doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
        print(3)
    elseif(item.type == TYPE_LIFE_FLUID) then
        if(not doCreatureAddHealth(itemEx.uid, math.random(40, 80))) then
            return false
        end

        doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
    elseif(isInArray(alcoholDrinks, item.type)) then
        if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Aaah...", TALKTYPE_MONSTER_SAY)
    elseif(isInArray(poisonDrinks, item.type)) then
        if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY)
    elseif(item.type == TYPE_LAVA) then
        if(not doTargetCombatCondition(0, cid, burn, CONST_ME_NONE)) then
            return false
        end

        doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY)
    else
        doCreatureSay(cid, "Gulp.", TALKTYPE_MONSTER_SAY)
    end

    doRemoveItem(item.uid)
    return true
end

if(not isCreature(itemEx.uid)) then
    if(item.type == TYPE_EMPTY) then
        if(isItemFluidContainer(itemEx.itemid) and itemEx.type ~= TYPE_EMPTY) then
            doChangeTypeItem(item.uid, itemEx.type)
            doChangeTypeItem(itemEx.uid, TYPE_EMPTY)
            print(4)
            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, "It is empty.")
        return true
    end

    local tmp = oilLamps[itemEx.itemid]
    if(item.type == TYPE_OIL and tmp ~= nil) then
        doTransformItem(itemEx.uid, tmp)
        doRemoveItem(item.uid)
        return true
    end

    if(isItemFluidContainer(itemEx.itemid) and itemEx.type == TYPE_EMPTY) then
        doChangeTypeItem(itemEx.uid, itemEx.type)
        print(5)
        doRemoveItem(item.uid)
        return true
    end

    if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then
        return false
    end
end

if(item.type == TYPE_EMPTY) then
    doPlayerSendCancel(cid, "It is empty.")
    return true
end

doDecayItem(doCreateItem(2016, item.type, toPosition))
print(6)
doRemoveItem(item.uid)
return true
end

So the splash effect is not being spawned for whatever reason...
I'd try confirming that it was created successfully before trying to decay the item.

change
Lua:
doDecayItem(doCreateItem(2016, item.type, toPosition))
to
Lua:
local splash = doCreateItem(2016, item.type, toPosition)
if splash.uid > 0 then
    doDecayItem(splash) -- might need to be splash.uid.. can't remember 0.x stuff anymore
end
 
Top