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

Lua [7.6] Double worked switch as RookGaard

Stefx

New Member
Joined
Apr 30, 2016
Messages
16
Reaction score
0
Hi,
I need your help to do double worked switch as in cave in rookgaard under city.
Currently I did for one it's worke and scripts look like this. But how to do this scripts for second switch to follow first one ?
056GMWRIVR

Code:
function onUse(cid, item, frompos, item2, topos)
gatepos1 = {x=32100, y=32205, z=8, stackpos=1}
gatepos2 = {x=32101, y=32205, z=8, stackpos=1}
getgate1 = getThingfromPos(gatepos1)
getgate2 = getThingfromPos(gatepos2)
if item.uid == 9004 and item.itemid == 1945 and getgate1.itemid == 0 and getgate2.itemid ==

0 then
doCreateItem(1284,1,gatepos1)
doCreateItem(1284,1,gatepos2)
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 9004 and item.itemid == 1946 and getgate1.itemid == 0 and getgate2.itemid

== 0 then
doCreateItem(508,1,gatepos1)
doCreateItem(509,1,gatepos2)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
return 1
end

When monster is on the bridge I can't use switch, is any also solution for this ?
 
Lua:
local bridge = {
[1] = {pos = {x = 1000, y = 1000, z = 7}, item_water = 1111, item_bridge = 415},
[2] = {pos = {x = 1000, y = 1000, z = 7}, item_water = 1111, item_bridge = 415},
[3] = {pos = {x = 1000, y = 1000, z = 7}, item_water = 1111, item_bridge = 415}
}

local lever1 = {x = 32100, y = 32205, z = 8, stackpos = 1}
local lever2 = {x = 32101, y = 32205, z = 8, stackpos = 1}

local left_side = {x = 1000, y = 1000, z = 7}

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 9004 then
        if item.itemid == 1945 then
            doTransformItem(getThingFromPos(lever1), 1946)
            doTransformItem(getThingFromPos(lever2), 1946)
            for i = 1, #bridge do
                if isCreature(getThingFromPos(bridge[i].pos).uid) then
                    doTeleportThing(getThingFromPos(bridge[i].pos).uid, left_side)
                end
                doCreateItem(bridge[i].pos, bridge[i].item_water)
            end
        elseif item.itemid == 1946 then
            doTransformItem(getThingFromPos(lever1), 1945)
            doTransformItem(getThingFromPos(lever2), 1945)
            for i = 1, #bridge do
                doCreateItem(bridge[i].pos, bridge[i].item_bridge)
            end
        end
    end
return true
end
 
I've got "lua:17: unexpected symbol near `#'
I thought about your script and I don't think so if will worked becaouse I use old engine 'DeadTouch 1.9'
It may not support certain features
 
Try this then...

Lua:
local bridge = {
[1] = {pos = {x = 1000, y = 1000, z = 7}, item_water = 1111, item_bridge = 415},
[2] = {pos = {x = 1000, y = 1000, z = 7}, item_water = 1111, item_bridge = 415},
[3] = {pos = {x = 1000, y = 1000, z = 7}, item_water = 1111, item_bridge = 415}
}

local lever1 = {x = 32100, y = 32205, z = 8, stackpos = 1}
local lever2 = {x = 32101, y = 32205, z = 8, stackpos = 1}

local left_side = {x = 1000, y = 1000, z = 7}

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 9004 then
        if item.itemid == 1945 then
            doTransformItem(getThingFromPos(lever1), 1946)
            doTransformItem(getThingFromPos(lever2), 1946)
            if isCreature(getThingFromPos(bridge[1].pos).uid) then
                doTeleportThing(getThingFromPos(bridge[1].pos).uid, left_side)
            end
            if isCreature(getThingFromPos(bridge[2].pos).uid) then
                doTeleportThing(getThingFromPos(bridge[2].pos).uid, left_side)
            end
            if isCreature(getThingFromPos(bridge[3].pos).uid) then
                doTeleportThing(getThingFromPos(bridge[3].pos).uid, left_side)
            end
            doTransformItem(getThingFromPos(bridge[1].pos), bridge[1].item_water)
            doTransformItem(getThingFromPos(bridge[2].pos), bridge[2].item_water)
            doTransformItem(getThingFromPos(bridge[3].pos), bridge[3].item_water)
        elseif item.itemid == 1946 then
            doTransformItem(getThingFromPos(lever1), 1945)
            doTransformItem(getThingFromPos(lever2), 1945)
            doTransformItem(getThingFromPos(bridge[1].pos), bridge[1].item_bridge)
            doTransformItem(getThingFromPos(bridge[2].pos), bridge[2].item_bridge)
            doTransformItem(getThingFromPos(bridge[3].pos), bridge[3].item_bridge)
        end
    end
return true
end
 
In game this script does not work ;/ Today morning I remake my code and both switch worked but still they do not interact with each other.
My Code look now :

Lua:
function onUse(cid, item, frompos, item2, topos)
gatepos1 = {x=32100, y=32205, z=8, stackpos=1}
gatepos2 = {x=32101, y=32205, z=8, stackpos=1}

getgate1 = getThingfromPos(gatepos1)
getgate2 = getThingfromPos(gatepos2)

if item.uid == 9004 and item.itemid == 1945 and getgate1.itemid == 0 and getgate2.itemid == 0 then
doCreateItem(1284,1,gatepos1)
doCreateItem(1284,1,gatepos2)
doTransformItem(item.uid,item.itemid+1)

elseif item.uid == 9004 and item.itemid == 1946 and getgate1.itemid == 0 and getgate2.itemid == 0 then
doCreateItem(508,1,gatepos1)
doCreateItem(509,1,gatepos2)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end

if item.uid == 9011 and item.itemid == 1945 and getgate1.itemid == 0 and getgate2.itemid == 0 then
doCreateItem(1284,1,gatepos1)
doCreateItem(1284,1,gatepos2)
doTransformItem(item.uid,item.itemid+1)

elseif item.uid == 9011 and item.itemid == 1946 and getgate1.itemid == 0 and getgate2.itemid == 0 then
doCreateItem(508,1,gatepos1)
doCreateItem(509,1,gatepos2)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end

return 1
end
 
Back
Top