Olá pessoas de xTibia, estou aqui para liberar um script muito útil que levou algumas pessoas um monte de tempo e frustração de fazer. Abaixo está o código, e instruções sobre como usar este, juntamente com um exemplo.
A idéia ..
Você tem um item gravável (1949). Então, você vai editar o item para ir um local de sua preferência. Exemplo 'Depot ". Você pode ter vários locais. Tem um cooldown 30 segundo para ir para o mesmo local uma vez. Não pode ser usado se você estiver em combate. Você também pode escrever 'locais' ou 'lugares' para ver a localização atual teleport.
Um exemplo ..
Vamos dizer que o seu curso para os treinadores ...
Você, então, clique em "Ok". e seria teletransportar seu personagem para os treinadores.
Tem um tempo de 30 segundo cooldown para essa localização.
The Script..
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
CreatureScripts.xml..
<event type="textedit" name="teleportpaper" event="script" value="teleportpaper.lua"/>
In Login.lua..
registerCreatureEvent(cid, "teleportpaper")
[/center]