• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

sewer grate not working

Na Amigo

The crazy girl
Joined
Jun 5, 2017
Messages
254
Solutions
3
Reaction score
17
Location
Egypt
i am following that error comes while i use the sewer grate i am using forgotten server 0.3.7_svn crying damson and here is my script and the error teleport.lua
Code:
local UP_FLOORS = {1386, 3678, 5543, 8599, 10035}
local FIELDS = {1497, 1499, 11095, 11096}
local DRAW_WELL = 1369

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(item.itemid == DRAW_WELL and item.actionid ~= 100) then
        return false
    end

    local check = false
    fromPosition.stackpos = STACKPOS_GROUND
    if(isInArray(UP_FLOORS, item.itemid)) then
        fromPosition.z = fromPosition.z - 1
        fromPosition.y = fromPosition.y + 1
        if(doTileQueryAdd(cid, fromPosition, 38, false) ~= RETURNVALUE_NOERROR) then
            local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD)
            if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then
                fromPosition.y = fromPosition.y - 2
            else
                check = true
            end
        end
    else
        fromPosition.z = fromPosition.z + 1
    end

    if(not check and doTileQueryAdd(cid, fromPosition, 38, false) ~= RETURNVALUE_NOERROR) then
        local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD)
        if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then
            return false
        end
    end

    local pos, dir = getCreaturePosition(cid), SOUTH
    if(pos.x < fromPosition.x) then
        dir = EAST
    elseif(pos.x == fromPosition.x) then
        if(pos.y == fromPosition.y) then
            dir = getCreatureLookDirection(cid)
        elseif(pos.y > fromPosition.y) then
            dir = NORTH
        end
    elseif(pos.x > fromPosition.x) then
        dir = WEST
    end

    doTeleportThing(cid, fromPosition, false)
    doCreatureSetLookDirection(cid, dir)
    return true
end
Code:
[16:11:13.079] [Error - Action Interface]
[16:11:13.079] data/actions/scripts/other/teleport.lua:onUse
[16:11:13.079] Description:
[16:11:13.079] attempt to index a number value
[16:11:13.079] stack traceback:
[16:11:13.079]  [C]: in function 'doTileQueryAdd'
[16:11:13.079]  data/actions/scripts/other/teleport.lua:27: in function <data/actions/scripts/other/teleport.lua:5>

any idea? :/
 
Last edited:
Back
Top