Felipe93
Ghost Member
Code:
Lua Script Error: [Action Interface]
data/actions/scripts/abwaspbrigde.lua:onUse
data/actions/scripts/abwaspbrigde.lua:22: attempt to call global 'getThingFromPos' (a nil value)
stack traceback:
[C]: in function 'getThingFromPos'
data/actions/scripts/abwaspbrigde.lua:22: in function <data/actions/scripts/abwaspbrigde.lua:16>
Lua:
local bridge = {
[1] = {x = 32627, y = 31699, z = 10}, -- izquierda
[2] = {x = 32628, y = 31699, z = 10}, -- medio
[3] = {x = 32629, y = 31699, z = 10} -- derecha
}
local tiles = {
bridge_tile = 1284, -- id del puente
dirt_tile = 103, -- id de la tierra
L_water_tile = 4799, -- id del item que creara a la izquierda
M_water_tile = 493, -- id de el item que creara en medio
R_water_tile = 4797 -- id del item que creara a la derecha
}
local reposicion = {x = 32630, y = 31699, z = 10} -- donde se reposicionan las cosas
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid == 1946 then
doTransformItem(item.aid, item.itemid - 1)
else
doTransformItem(item.aid, item.itemid + 1)
end
if getThingFromPos(bridge[2]).itemid ~= tiles.bridge_tile then
doTransformItem(getThingfromPos({x = bridge[1].x, y = bridge[1].y, z = bridge[1].z, stackpos = 1}).aid, tiles.bridge_tile)
doCreateItem(tiles.bridge_tile, 1, bridge[2])
doTransformItem(getThingfromPos({x = bridge[3].x, y = bridge[3].y, z = bridge[3].z, stackpos = 1}).aid, tiles.bridge_tile)
else
for i = 1, #bridge do
doRelocate(bridge[i], reposicion)
--doCleanTile(bridge[i], false)
end
doTransformItem(getThingfromPos({x = bridge[1].x, y = bridge[1].y, z = bridge[1].z, stackpos = 0}).aid, tiles.L_water_tile)
doTransformItem(getThingfromPos({x = bridge[3].x, y = bridge[3].y, z = bridge[3].z, stackpos = 0}).aid, tiles.R_water_tile)
doCreateItem(tiles.M_water_tile, 1, bridge[1])
doCreateItem(tiles.M_water_tile, 1, bridge[2])
doCreateItem(tiles.M_water_tile, 1, bridge[3])
end
return true
end
for which function should i replace this one?
Code:
doTransformItem(getThingfromPos
Post automatically merged:
Now im testing with this other script i don't get errors in console but it does not even works
Lua:
local config = {
bridgePositions = {
Position(32627, 31699, 10),
Position(32628, 31699, 10),
Position(32629, 31699, 10)
},
removeCreaturePosition = Position(32630, 31699, 10),
bridgeID = 1228,
waterID = 493
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local tile, thing, creature
for i = 1, #config.bridgePositions do
tile = Tile(config.bridgePositions[i])
if tile then
thing, creature = tile:getItemById(item.itemid == 1945 and config.waterID or config.bridgeID), tile:getTopCreature()
if thing then
thing:transform(item.itemid == 1945 and config.bridgeID or config.waterID)
end
if creature then
creature:teleportTo(config.removeCreaturePosition)
end
end
end
item:transform(item.itemid == 1945 and 1946 or 1945)
return true
end
Last edited: