Cara, eu testei e não funcionou 
Vc editou a tabela?
local floors = {
[1] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, --[andar] = {posição que o jogador deve ficar, posição para onde será teleportado},
[2] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[3] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[4] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[5] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[6] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[7] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
}
Edit
Fiz de uma maneira mais simples...
local maxFloor = 7
local minFloor = 2
function onUse(cid, item, fromPosition, itemEx, toPosition)
local pos_ = getThingPos(cid)
if pos_.z < maxFloor and pos_.z < minFloor then
if item.actionid == 4912 then
doTeleportThing(cid, {x = pos_.x, y = pos_.y, z = pos_.z + 1})
doSendMagicEffect({x = pos_.x, y = pos_.y, z = pos_.z + 1}, 28)
doPlayerSendTextMessage(cid, 25, "Voce desceu um andar.")
elseif item.actionid == 4913 then
doTeleportThing(cid, {x = pos_.x, y = pos_.y, z = pos_.z - 1})
doSendMagicEffect({x = pos_.x, y = pos_.y, z = pos_.z - 1}, 28)
doPlayerSendTextMessage(cid, 25, "Voce subiu um andar.")
end
else
doPlayerSendCancel(cid, "Voce ja esta no andar maximo!")
end
return true
end
Registra no actions.xml os actionIDs 4912 e 4913. Na alavanca de subir andar vc bota 4913 e na de descer vc bota 4912.
maxFloor é o andar máximo q o cara pode ir
minFloor é o andar mínimo q o cara pode ir