• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved Help with teleport script

Legoland

Legoland OT
Joined
Mar 3, 2013
Messages
75
Reaction score
4
Location
Sweden
Hello! :D

I saw this uniqe multi - teleport scroll i wanted to use on my own server.

Developed By.. J.Dre / Sonik / Fallen / Shinmaru
Link: http://otland.net/threads/teleport-scroll-unique-version.137262/

So far in this script you can only get teleported to a few common locations made for everybody so
I want to edit the .Lua script and add "houses", which mean you get teleported to your OWN house, like a house teleportation scroll. (House tp scroll and tp scroll in one)

How do i add a function like that in this .lua Creature script?

PHP:
local t = {
["Temple"] = {pos = {x = 3000, y = 2098, z = 7}, storage = 1337, time = 30},
["Teleports"] = {pos = {x = 2815, y = 2025, z = 7}, storage = 1338, time = 30},
["Addons"] = {pos = {x = 1266, y = 880, z = 7}, storage = 1339, time = 30},
["Addon Bosses"] = {pos = {x = 1127, y = 907,z = 6}, storage = 1340, time = 30},
["Trainers"] = {pos = {x = 2877, y = 2005, z = 7}, storage = 1341, time = 30},
["Donation Quest"] = {pos = {x = 3160, y = 1572, z = 7}, storage = 1342, time = 30},
["Shops"] = {pos = {x = 2940, y = 2075, z = 7}, storage = 1343, time = 30},
["Sailors Quarter"] = {pos = {x = 3010, y = 2192, z = 6}, storage = 1344, time = 30}
}
function onTextEdit(cid, item, newText)
if item.itemid == 1949 then
if isPlayerPzLocked(cid) then
doCreatureSay(cid, "You are in a battle!", TALKTYPE_MONSTER)
return false
end
if isInArray({'locations', 'places', 'place'}, newText) then
local i = ''
for text, x in pairs(t) do
i = i .. "\n[" .. text .. "]"
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Current Teleportation Locations: " .. i)
else
local p = t[newText]
if not p then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid location")
return false
end
local st = p.storage
if getCreatureStorage(cid, st) > os.time() then
doCreatureSay(cid, "You must wait another " .. getCreatureStorage(cid, st) - os.time() .. ' second' .. (getCreatureStorage(cid, st) - os.time() == 1 and "" or "s") .. " to travel there again.", TALKTYPE_MONSTER)
return true
end
local ti = p.time
local pos = p.pos
doTeleportThing(cid, pos, true)
doSendMagicEffect(pos, CONST_ME_TELEPORT)
doCreatureSetStorage(cid, st, os.time() + ti)
doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER)
end
end
return true
end

Thank you for reading my thread, Hope you guys can help me! :D


Solution:

PHP:
function onTextEdit(cid, item, newText)
local t = {
["temple"] = {pos = {x = 1000, y = 1000, z = 7}, storage = 1440, time = 300},
["hunts"] = {pos = {x = 892, y = 1030, z = 7}, storage = 1441, time = 300},
["quests"] = {pos = {x = 862, y = 1025, z = 6}, storage = 1442, time = 300},
["trainers"] = {pos = {x = 1194, y = 1080, z = 7}, storage = 1444, time = 300}
}
if item.itemid == 1948 then
if hasCondition(cid,CONDITION_INFIGHT) then
doCreatureSay(cid, "You are in a battle!", TALKTYPE_MONSTER)
return false
end
if isInArray({'locations', 'places', 'place'}, newText) then
local i = ''
for text, x in pairs(t) do
i = i .. "\n[" .. text .. "]"
end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Current Teleportation Locations: " .. i)
else
for i,v in pairs(t) do
if getCreatureStorage(cid, v.storage) > os.time() then
doCreatureSay(cid, "You must wait another " .. getCreatureStorage(cid,v.storage) - os.time() .. ' second' .. (getCreatureStorage(cid, v.storage) - os.time() == 1 and "" or "s") .. " to travel there again.", TALKTYPE_MONSTER)
return true
end
end

if getCreatureStorage(cid,1443) > os.time() then
doCreatureSay(cid, "You must wait another " .. getCreatureStorage(cid, 1443) - os.time() .. ' second' .. (getCreatureStorage(cid, st) - os.time() == 1 and "" or "s") .. " to travel there again.", TALKTYPE_MONSTER)
return true
end
if newText == "temple" then
doTeleportThing(cid, {x = 1000, y = 1000, z = 7})
doCreatureSetStorage(cid, 1440, os.time() + 300)
doSendMagicEffect({x = 1000, y = 1000, z = 7}, CONST_ME_TELEPORT)
doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER)
elseif newText == "hunts" then
doTeleportThing(cid, {x = 892, y = 1030, z = 7})
doCreatureSetStorage(cid, 1441, os.time() + 300)
doSendMagicEffect({x = 892, y = 1030, z = 7}, CONST_ME_TELEPORT)
doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER)
elseif newText == "quests" then
doTeleportThing(cid, {x = 862, y = 1025, z = 6})
doCreatureSetStorage(cid, 1442, os.time() + 300)
doSendMagicEffect({x = 862, y = 1025, z = 6}, CONST_ME_TELEPORT)
doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER)
elseif newText == "house" then
doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))), true)
doCreatureSetStorage(cid, 1443, os.time() + 300)
doSendMagicEffect(getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))), CONST_ME_TELEPORT)
doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER)
elseif newText == "trainers" then
doTeleportThing(cid, {x = 1194, y = 1080, z = 7})
doCreatureSetStorage(cid, 1444, os.time() + 300)
doSendMagicEffect({x = 1194, y = 1080, z = 7}, CONST_ME_TELEPORT)
doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER)
end
return true
end
end
return true
end
 
Last edited:
Back
Top