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

Script Remove 2 Stone with time and make a new lever (help)

Loremaster7

New Member
Joined
Oct 16, 2017
Messages
29
Reaction score
4
User warned for posting duplicate threads.
Hello, my friends, how are you? I'm trying to make a lever that removes a stone and under that stone another lever appears and that lever removes another stone, but the 2 stones with a time of 5 seconds to go back (stones) and remove the lever that was created under the first stone ...

35316

35317

35318

35319

35320
 
My code:

Lua:
function onUse(cid, item, frompos, item2, topos)

time = 5

rock1 = {x=2892, y=2687, z=8, stackpos=1}
rock2 = {x=2891, y=2687, z=8, stackpos=1}
rock3 = {x=2891, y=2686, z=8, stackpos=1}
rock4 = {x=2892, y=2686, z=8, stackpos=1}

getrock1 = getThingfromPos(rock1)
getrock2 = getThingfromPos(rock2)
getrock3 = getThingfromPos(rock3)
getrock4 = getThingfromPos(rock4)

if item.uid == 60115 and item.itemid == 1945 then
doRemoveItem(getrock1.uid,1303)
doRemoveItem(getrock2.uid,1302)
doRemoveItem(getrock3.uid,1300)
doRemoveItem(getrock4.uid,1301)
doTransformItem(item.uid,item.itemid+1)
doTransformItem(item.uid,item.itemid+1)
doTransformItem(item.uid,item.itemid+1)
doTransformItem(item.uid,item.itemid+1)

doSendMagicEffect(rock1, 2)
doSendMagicEffect(rock2, 2)
doSendMagicEffect(rock3, 2)
doSendMagicEffect(rock4, 2)

local rock1 = doCreateItem(1945, 1, rock1)
        doItemSetAttribute(rock1, "uid", 60116)

addEvent(doRemoveItem, (time *1000), 1945, 1, rock1)

addEvent(doCreateItem, (time *1000), 1303, 1, rock1)
addEvent(doCreateItem, (time *1000), 1302, 1, rock2)
addEvent(doCreateItem, (time *1000), 1300, 1, rock3)
addEvent(doCreateItem, (time *1000), 1301, 1, rock4)


elseif item.uid == 60115 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
doTransformItem(item.uid,item.itemid-1)
doTransformItem(item.uid,item.itemid-1)
doTransformItem(item.uid,item.itemid-1)
doRemoveItem(getrock1.uid,1945)
doCreateItem(1303,1,rock1)
doCreateItem(1302,1,rock2)
doCreateItem(1300,1,rock3)
doCreateItem(1301,1,rock4)

end

return 1
end

35333

Later 5 seconds back the rock, but... have a "bug"...

35334
 
Test this part before we move forward with the script
Lua:
local rocks = {
    [1] = {x=2892, y=2687, z=8, stackpos=1},
    [2] = {x=2891, y=2687, z=8, stackpos=1},
    [3] = {x=2891, y=2686, z=8, stackpos=1},
    [4] = {x=2892, y=2686, z=8, stackpos=1},
}

local transformTo = {
    [1] = 1303,
    [2] = 1302,
    [3] = 1300,
    [4] = 1301,
}

function wasFound(item, uid, itemid)
    return item and (item.uid == uid and item.itemid == itemid) or false
end

function onUse(cid, item, frompos, item2, topos)
    local getRocks = {}
    for i = 1, #rocks do
        getRocks[i] = getThingfromPos(rocks[i])
    end

    if wasFound(item, 60115, 1945) then
        if getRocks and next(getRocks) then
            for x = 1, #getRocks do
                if getRocks[x] then
                    doRemoveItem(getRocks[x].uid, transformTo[x])
                    doSendMagicEffect(rocks[x], 2)
                end
            end
        end
    doTransformItem(item.uid, item.itemid + 1)
    end
    return true
end
 
Back
Top