I've made a script for making\removing a bridge.
Here's the script:
in bridgelever.lua:
and in actions.xml
Hope it can help you. Oh almost forgot, its easy to change it to make a larger bridge, its just to add more tiles, like this:
Tested in Evolutions (made it a while ago) 7.92
EDIT: Shorter version of script, optimized by Talaturen.
Yours, Empty
Here's the script:
in bridgelever.lua:
Code:
--Script made by Empty
function onUse(cid, item, frompos, item2, topos)
tile1 = {x=222, y=333, z=5, stackpos=1} --change tilepos
tile2 = {x=222, y=332, z=5, stackpos=1} --change tilepos
tile3 = {x=222, y=331, z=5, stackpos=1} --change tilepos
gettile1 = getThingfromPos(tile1)
gettile2 = getThingfromPos(tile2)
gettile3 = getThingfromPos(tile3)
if item.uid == 7007 and item.itemid == 1945 then
doRemoveItem(gettile1.uid,1)
doRemoveItem(gettile2.uid,1)
doRemoveItem(gettile3.uid,1)
doCreateItem(965,1,tile1)
doCreateItem(965,1,tile2)
doCreateItem(965,1,tile3)
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 7007 and item.itemid == 1946 then
doCreateItem(100,1,tile1) --change itemID
doCreateItem(100,1,tile2) --change itemID
doCreateItem(100,1,tile3) --change itemID
doRemoveItem(gettile1.uid,1)
doRemoveItem(gettile2.uid,1)
doRemoveItem(gettile3.uid,1)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
return 1
end
Code:
<action uniqueid="7007" script="bridgelever.lua" />
Code:
--Script made by Empty
function onUse(cid, item, frompos, item2, topos)
tile1 = {x=222, y=333, z=5, stackpos=1} --change tilepos
tile2 = {x=222, y=332, z=5, stackpos=1} --change tilepos
tile3 = {x=222, y=331, z=5, stackpos=1} --change tilepos
tile4 = {x=222, y=331, z=5, stackpos=1} --change tilepos
gettile1 = getThingfromPos(tile1)
gettile2 = getThingfromPos(tile2)
gettile3 = getThingfromPos(tile3)
gettile4 = getThingfromPos(tile4)
if item.uid == 7007 and item.itemid == 1945 then
doRemoveItem(gettile1.uid,1)
doRemoveItem(gettile2.uid,1)
doRemoveItem(gettile3.uid,1)
doRemoveItem(gettile4.uid,1)
doCreateItem(965,1,tile1) --change itemID
doCreateItem(965,1,tile2) --change itemID
doCreateItem(965,1,tile3) --change itemID
doCreateItem(965,1,tile4) --change itemID
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 7007 and item.itemid == 1946 then
doCreateItem(100,1,tile1)
doCreateItem(100,1,tile2)
doCreateItem(100,1,tile3)
doCreateItem(100,1,tile4)
doRemoveItem(gettile1.uid,1)
doRemoveItem(gettile2.uid,1)
doRemoveItem(gettile3.uid,1)
doRemoveItem(gettile4.uid,1)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
return 1
end
EDIT: Shorter version of script, optimized by Talaturen.
Code:
-- Script made by Empty
-- Optimized by Talaturen
-- Visit http://otland.net
-- 00:42 CET >> 2007-08-13
local tile = {x = 222, y = 334, z = 5, stackpos = 1}
local newId = 0
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 1945 then
newId = 965
doTransformItem(item.uid, item.itemid + 1)
else
newId = 100
doTransformItem(item.uid, item.itemid - 1)
end
for i = 1, 3 do
tile.y = tile.y - 1
doCreateItem(newId, 1, tile)
doRemoveItem(getThingfromPos(tile).uid, 1)
end
return TRUE
end
Last edited: