• 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!

Solved Lua error @ Transformback

Exoltes

Novia OTserv Developer
Joined
Jul 2, 2009
Messages
563
Reaction score
47
Location
Belgium
I'm working on a 8.54 Open Tibia Server using The Forgotten Server - Version 0.2.7 (Mystic Spirit).

I have made the following script:
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local function doTransformBack(pos, itemid, transformid)
     return doTransformItem(getTileItemById(pos, transformid).uid, itemid)
end

    if itemEx.itemid == 1745 and itemEx.actionid == 65510 then
            doTransformItem(itemEx.uid, 7523)
            doTransformItem(getTileItemById({x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 1744).uid, 7524)
            doSendMagicEffect(toPosition, CONST_ME_POFF)
            doCreatureSay(cid, "Crrrr!", TALKTYPE_ORANGE_1, false, cid, toPosition)
              doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You found a secret stairwell.")
            addEvent(doTransformBack, 20*60*1000, toPosition, itemEx.itemid, 7523)
            addEvent(doTransformBack, 20*60*1000, getTileItemById({x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 7524).uid, 1744)
end
end

But when I execute it I'm getting the following error:
Code:
[14/08/2014 12:53:40] Lua Script Error: [Action Interface]
[14/08/2014 12:53:40] in a timer event called from:
[14/08/2014 12:53:40] data/actions/scripts/tools/crowbar.lua:onUse

[14/08/2014 12:53:40] attempt to index a number value
[14/08/2014 12:53:40] stack traceback:
[14/08/2014 12:53:40]     [C]: in function 'getTileItemById'
[14/08/2014 12:53:40]     data/actions/scripts/tools/crowbar.lua:3: in function <data/actions/scripts/tools/crowbar.lua:2>

Any help is welcome.

Thanks in advance.
 
Code:
local function doTransformBack(position, itemId, transformId)
    doTransformItem(getTileItemById(position, itemId).uid, transformId)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if itemEx.itemid == 1745 and itemEx.actionid == 65510 then
        doTransformItem(itemEx.uid, 7523)
        doTransformItem(getTileItemById({x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 1744).uid, 7524)
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        doCreatureSay(cid, "Crrrr!", TALKTYPE_ORANGE_1, false, cid, toPosition)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You found a secret stairwell.")
        addEvent(doTransformBack, 20 * 60 * 1000, toPosition, 7523, itemEx.itemid)
        addEvent(doTransformBack, 20 * 60 * 1000, {x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 7524, 1744)
    end
    return true
end
 
[14/08/2014 13:30:47] Lua Script Error: [Action Interface]
[14/08/2014 13:30:47] in a timer event called from:
[14/08/2014 13:30:47] data/actions/scripts/tools/crowbar.lua:onUse

[14/08/2014 13:30:47] luaDoTransformItem(). Item not found
 
Code:
[14/08/2014 14:00:00] Lua Script Error: [Action Interface]
[14/08/2014 14:00:00] in a timer event called from:
[14/08/2014 14:00:00] data/actions/scripts/tools/crowbar.lua:onUse

[14/08/2014 14:00:00] luaDoTransformItem(). Item not found

[14/08/2014 14:00:00] Lua Script Error: [Action Interface]
[14/08/2014 14:00:00] in a timer event called from:
[14/08/2014 14:00:00] data/actions/scripts/tools/crowbar.lua:onUse

[14/08/2014 14:00:00] luaDoTransformItem(). Item not found

Now both the items don't transfer back instead of just the side stepped sqm one.


The problem is within this line of code:
Code:
addEvent(doTransformBack, 20 * 60 * 1000, {x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 7524, 1744)
 
Code:
local function doTransformBack(pos, itemid, transformid)
     doTransformItem(getTileItemById(pos, transformid).uid, itemid)
     return TRUE
end

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

     if itemEx.itemid == 1745 and itemEx.actionid == 65510 then
         doTransformItem(itemEx.uid, 7523)
         doTransformItem(getTileItemById({x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 1744).uid, 7524)
         doSendMagicEffect(toPosition, CONST_ME_POFF)
         doCreatureSay(cid, "Crrrr!", TALKTYPE_ORANGE_1, false, cid, toPosition)
         doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You found a secret stairwell.")
         addEvent(doTransformBack, 20*60*1000, toPosition, itemEx.itemid, 7523)
         addEvent(doTransformBack, 20*60*1000, {x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 1744, 7524)
     end
     return TRUE
end
 
Code:
[14/08/2014 21:40:22] Lua Script Error: [Action Interface] 
[14/08/2014 21:40:22] in a timer event called from: 
[14/08/2014 21:40:22] data/actions/scripts/tools/crowbar.lua:onUse

[14/08/2014 21:40:22] luaDoTransformItem(). Item not found

Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local function doTransformBack(pos, itemid, transformid)
     return doTransformItem(getTileItemById(pos, transformid).uid, itemid)
end
    if itemEx.itemid == 1745 and itemEx.actionid == 65510 then
                doTransformItem(itemEx.uid, 7523)
                doTransformItem(getTileItemById({x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 1744).uid, 7524)
                doSendMagicEffect(toPosition, CONST_ME_POFF)
                doCreatureSay(cid, "Crrrr!", TALKTYPE_ORANGE_1, false, cid, toPosition)
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You found a secret stairwell.")
                addEvent(doTransformBack, 20*60*1, toPosition, itemEx.itemid, 7523)
                addEvent(doTransformBack, 20*60*1000, {x = toPosition.x - 1, y = toPosition.y, z = toPosition.z}, 1744, 7524)
end
end
 
Deleted my entire script and just pasted yours and it works.

I'll look into the problem tomorrow cuz I gtg now. But thx this should get it working for all coffins in all directions :)
 
Back
Top