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

fix this bug (pillow puzzle)

Zerak456

Gorlex.net NEW!
Joined
Aug 13, 2008
Messages
1,060
Reaction score
6
help -.- i need the script i got colandus script but nothing happends when i walk on the tile it commes only a effect (CONST_ME_MAGIC_BLUE) the pillows wouldnt move heres it please fix it

Code:
-- >>CREDITS<< --
-- Script 100% by COLANDUS
-- Functions 100% by COLANDUS
-- OPENLUA.COM --
-- >>CREDITS<< --

-- >>INFO<< --
-- Don't forget: Place 9 pillows of each color in different order in the mapeditor!

-- Do you use a lever to teleport you to this room? Then you could make it randomize the puzzle when you press it!
-- If you do that, you could remove the randomize part, so it doesn't randomize in this script, make it randomize only when you pull the lever.
-- Your own choise, just giving you ideas!

-- Pilow order to complete:
-- BLUE, GREEN
-- RED, YELLOW
-- >>INFO<< --

-- >>CONFIG<< --
local verticalTiles = 5400 -- Action id of the vertical tiles.
local horizontalTiles = 5401 -- Action id of the horizontal tiles.
local ground = {normal = 426, used = 425} -- Itemid of the ground tile when it is normal or used (when you stand on it)
local teleport = {itemid = 1387, actionid = 5408} -- Enter the itemid and the actionid of the teleport.
local teleportPosition = {x = 896, y = 389, z = 7} -- Where should the teleport be spawned when you finnish the puzzle?
local newPosition = {x = 900, y = 284, z = 7} -- Where should you get teleported when you enter the teleport?
local position = {x = 886, y = 394, z = 7} -- Position of the north west (top left) side of the puzzle area.
local magicEffect = 34 -- What effect will appear when you finnish the puzzle? Leave blank or write "nil" if you don't want any.
-- >>CONFIG<< --

function onStepIn(cid, item, pos)
    teleportPosition.stackpos = 1
    local getTeleport = getThingfromPos(teleportPosition)
    if getTeleport.itemid == teleport.itemid and getTeleport.actionid == teleport.actionid then
        doRemoveItem(getTeleport.aid, 1)
    end
    local getPillow = {}
    if item.actionid == verticalTiles then
        for i = 0, 5 do
            getPillow[i + 1] = getThingfromPos({x = position.x + (i * 1), y = getPlayerPosition(cid).y, z = position.z, stackpos = 1})
        end
    elseif item.actionid == horizontalTiles then
        for i = 0, 5 do
            getPillow[i + 1] = getThingfromPos({x = getPlayerPosition(cid).x, y = position.y + (i * 1), z = position.z, stackpos = 1})
        end
    end
    doTransformItem(getPillow[1].aid, getPillow[6].itemid)
    for i = 1, 5 do
        doTransformItem(getPillow[i + 1].aid, getPillow[i].itemid)
    end
    if checkPillows(position.x, position.y, 1686) == 1 and checkPillows(position.x + 3, position.y, 1688) == 1 and checkPillows(position.x, position.y + 3, 1687) == 1 and checkPillows(position.x + 3, position.y + 3, 1689) == 1 then
        local newTeleport = doCreateTeleport(teleport.itemid, newPosition, teleportPosition)
        doSetItemActionId(newTeleport, teleport.actionid)
        if magicEffect ~= nil then
            doSendMagicEffect(pos, magicEffect)
        end
    end
    doTransformItem(item.aid, ground.used)
    return 1
end

function onStepOut(cid, item, pos)
    pos.stackpos = 1
    local getPos = getThingfromPos(pos)
    teleportPosition.stackpos = 1
    local getTeleport = getThingfromPos(teleportPosition)
    if comparePos(pos, teleportPosition) and getPos.itemid == getTeleport.itemid and getPos.actionid == getTeleport.actionid then
        teleportPosition.stackpos = 1
        doRemoveItem(getTeleport.aid, 1)
        resetPuzzle()
        return 1
    else
        doTransformItem(item.aid, ground.normal)
        return 1
    end
end

function checkPillows(posx, posy, item)
    local returnValue = 1
    for gx = posx, posx + 2 do
        for gy = posy, posy + 2 do
            if getThingfromPos({x = gx, y = gy, z = position.z, stackpos = 1}).itemid ~= item then
                returnValue = 0
                break
            end
        end
    end
    return returnValue
end

function resetPuzzle()
    local availablePillows = {}
    for i = 0, 3 do
        local pillowId = 1686 + i
        for i = 1, 9 do
            table.insert(availablePillows, pillowId)
        end
    end
    availablePillows = shuffleTable(availablePillows)
    for gx = position.x, position.x + 5 do
        for gy = position.y, position.y + 5 do
            local pillow = math.random(1, #availablePillows)
            getItem = getThingfromPos({x = gx, y = gy, z = position.z, stackpos = 1})
            doTransformItem(getItem.aid, availablePillows[pillow])
            table.remove(availablePillows, pillow)
        end
    end
end

function shuffleTable(t)
    local newTable = {}
    for i = 1, #t do
        randomId = math.random(1, #t)
        table.insert(newTable, t[randomId])
        table.remove(t, randomId)
    end
    return newTable
end
im using tfs 0.3.4

I'll REP++
 
Last edited:
Fast omg!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
--- kmr du använda den i legend? ;D

Swawak Reqest:--- Ya gonna use it in Legend? ;D
 
Last edited:
its called swe and only with swe persons lol and ure ger so u sude know some of the swedish lol

I only asked you if you can't speak english, I am not interestet where you are from,
so please write your post in english,
while you are on an english forum, thanks :).
 
I only asked you if you can't speak english, I am not interestet where you are from,
so please write your post in english,
while you are on an english forum, thanks :).

.net=swedish ? and also i speak to all if i wanna bec all other do it :eek:
 
All other's do not speak "Swedish."
If you expect help, use english.

Almost 900 Posts :eek:
 
"wlj", New Posts, Search, Arcade, Log Out,
Private Messages, Logged in as .., You may choose an icon for your message from the following list, <- Swedish?
 
Back
Top