local cfg = {
time = 11, -- Time the teleport is open.
exhausted = 60, -- Time you are exhausted.
storage = 1337, -- Storage used for "exhaust."
to = { x = 1000, y = 1000, z = 7 } -- Where the teleport takes you.
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getPlayerStorageValue(cid, cfg.storage) > os.time()) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You must wait another " .. getPlayerStorageValue(cid, cfg.storage) - os.time() .. ' second' .. ((getPlayerStorageValue(cid, cfg.storage) - os.time()) == 1 and "" or "s") .. " to create another teleport.")
elseif(getTilePzInfo(getCreaturePosition(cid)) == true) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You cannot create a teleport in a protection zone.")
elseif(getCreatureCondition(cid, CONDITION_INFIGHT) == true) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You may not create a teleport while you have ~PZ~.")
elseif(hasProperty(getThingFromPos(toPosition).uid, CONST_PROP_BLOCKSOLID) == true) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You cannot create a teleport here.")
else
local function deleteTeleport()
local teleport = getTileItemById(toPosition, 1387).uid
if(teleport > 0) then
doRemoveItem(teleport)
doSendMagicEffect(toPosition, CONST_ME_POFF)
doSendAnimatedText(toPosition, "Closed.", TEXTCOLOR_RED)
end
return true
end
for x = 1, cfg.time do
local n = cfg.time - x
addEvent(doSendAnimatedText, x * 1000, toPosition, n > 0 and tostring(n), TEXTCOLOR_TEAL)
end
doCreateTeleport(1387, cfg.to, toPosition)
doSendMagicEffect(toPosition, 55)
addEvent(deleteTeleport, cfg.time * 1000)
doSendMagicEffect(toPosition, 56)
setPlayerStorageValue(cid, cfg.storage, os.time() + cfg.exhausted)
end
return true
end