Post the script you are using or fix it yourself. You just have to make the script create 2 portals, one which will tp you to town and the other which will take you back where you were hunting... the only problem is that everyone can go trough that portal to the place you were hunting.
local cfg = {
time = 15, -- 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 fighting.")
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_WHITE)
end
doCreateTeleport(1387, cfg.to, toPosition)
doSendMagicEffect(toPosition, CONST_ME_ENERGYAREA)
addEvent(deleteTeleport, cfg.time * 1000)
setPlayerStorageValue(cid, cfg.storage, os.time() + cfg.exhausted)
end
return true
end