shivaria
Active Member
- Joined
- Sep 2, 2009
- Messages
- 158
- Reaction score
- 36
I have a teleport script working but its getting too difficult to add more teleport locations. I just made another teleport spot (desertisland) but havent added it due to things getting difficult to read and add. Can anyone help?
Code:
function onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
local cid = player
local defaultport = {x=977, y=1017, z=7}
local starrynight = {x=1056, y=998, z=7}
local skyvale = {x=1113, y=822, z=4}
local eravae = {x=1203, y=847, z=7}
local gatepos = {x=977, y=1017, z=7}
local desertisland = {x=1252, y=1062, z=4} ---- Havent Added Below Yet -----
local eravaeStorage = 6661
local starryStorage = 6662
local skyvaleStorage = 6663
local desertislandStorage = 6664
local function doTeleport(cid, count)
if player:getStorageValue(eravaeStorage) == 1 then
gatepos = {defaultport, eravae}
----------------------------------------------------------------
if player:getStorageValue(starryStorage) == 1 then
gatepos = {eravae, starrynight}
if player:getStorageValue(skyvaleStorage) == 1 then
gatepos = {eravae, starrynight, skyvale}
end
----------------------------------------------------------------
elseif player:getStorageValue(skyvaleStorage) == 1 then
gatepos = {defaultport, eravae, skyvale}
if player:getStorageValue(starryStorage) == 1 then
gatepos = {eravae, starrynight, skyvale}
end
----------------------------------------------------------------
end
elseif player:getStorageValue(starryStorage) == 1 then
gatepos = {starrynight}
----------------------------------------------------------------
if player:getStorageValue(skyvaleStorage) == 1 then
gatepos = {defaultport, eravae, skyvale}
if player:getStorageValue(eravaeStorage) == 1 then
gatepos = {eravae, starrynight, skyvale}
end
----------------------------------------------------------------
elseif player:getStorageValue(eravaeStorage) == 1 then
gatepos = {eravae, starrynight}
if player:getStorageValue(skyvaleStorage) == 1 then
gatepos = {eravae, starrynight, skyvale}
end
----------------------------------------------------------------
end
elseif player:getStorageValue(skyvaleStorage) == 1 then
gatepos = {defaultport, skyvale}
----------------------------------------------------------------
if player:getStorageValue(starryStorage) == 1 then
gatepos = {skyvale, starrynight}
if player:getStorageValue(eravaeStorage) == 1 then
gatepos = {eravae, starrynight, skyvale}
end
----------------------------------------------------------------
elseif player:getStorageValue(eravaeStorage) == 1 then
gatepos = {defaultport, eravae, skyvale}
if player:getStorageValue(starryStorage) == 1 then
gatepos = {eravae, starrynight, skyvale}
end
----------------------------------------------------------------
end
----------------------------------------------------------------
else
gatepos = {defaultport, defaultport}
end
if not creature:isPlayer() then
return false
end
doSendMagicEffect(getCreaturePosition(cid), 48)
if (count == 1) then
return doTeleportThing(cid, gatepos[math.random(#gatepos)]) ,
doSendMagicEffect(gatepos[math.random(#gatepos)], 48)
else
addEvent(doTeleport, 500, cid, count + 1)
end
return true
end
return doTeleport(cid, 0)
end