mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-04-30 17:49:20 +02:00
57 lines
1016 B
Lua
57 lines
1016 B
Lua
local closedDoors = {
|
|
[1628] = 1630,
|
|
[1629] = 1628,
|
|
[1631] = 1633,
|
|
[1632] = 1631,
|
|
[1650] = 1652,
|
|
[1651] = 1650,
|
|
[1653] = 1655,
|
|
[1654] = 1653,
|
|
[1668] = 1670,
|
|
[1669] = 1668,
|
|
[1671] = 1673,
|
|
[1672] = 1671,
|
|
[1682] = 1684,
|
|
[1683] = 1682,
|
|
[1691] = 1693,
|
|
[1692] = 1691,
|
|
}
|
|
|
|
local openDoors = {
|
|
[1630] = 1628,
|
|
[1633] = 1631,
|
|
[1652] = 1650,
|
|
[1655] = 1653,
|
|
[1670] = 1668,
|
|
[1673] = 1671,
|
|
[1684] = 1682,
|
|
[1693] = 1691,
|
|
}
|
|
|
|
function onUse(player, item, fromPosition, target, toPosition)
|
|
if not target:isItem() then
|
|
return false
|
|
end
|
|
|
|
local door = closedDoors[target:getId()]
|
|
if not door then
|
|
door = openDoors[target:getId()]
|
|
end
|
|
|
|
if not door then
|
|
return false
|
|
end
|
|
|
|
local keyNumber = item:getAttribute(ITEM_ATTRIBUTE_KEYNUMBER)
|
|
local keyHoleNumber = target:getAttribute(ITEM_ATTRIBUTE_KEYHOLENUMBER)
|
|
|
|
if keyHoleNumber == 0 or keyNumber ~= keyHoleNumber then
|
|
player:sendCancelMessage("The key does not match.")
|
|
return true
|
|
end
|
|
|
|
target:transform(door)
|
|
target:decay()
|
|
return true
|
|
end
|