Ir para conteúdo

Teleport Scroll (Unique)


Sonikk

Posts Recomendados

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 ...

 

f0c9wz.jpg

 

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]

Link para o comentário
Compartilhar em outros sites

  • 7 months later...
  • 3 weeks later...
×
×
  • Criar Novo...