Ir para conteúdo
  • Cadastre-se

(Resolvido)Criar teleport com x item em altar


Ir para solução Resolvido por Gengo,

Posts Recomendados

Boa tarde, galera preciso de ajuda. Possuo um boss no meu ot e ele dropa 1 item que funciona (na minha cabeça por enquanto) da seguinte forma: 

o player mata o boss, pega o item, coloca num altar (x, y, z) e do lado do altar possui uma alavanca, ao usar a alavanca o item do altar é sacrificado e o teleport é criado com uma duração de 5 minutos (configurável), depois dos 5 minutos o tp some, sendo necessário matar o boss novamente.

edit: não precisa necessariamente criar o teleport, pode ser também com o teleport ali pronto via map editor, porém inacessível, uma parede, um obstáculo, enfim, dai por 5 minutos o script remove o obstáculo e depois coloca no lugar de volta.

tfs 0.4 , ot 8.6

Editado por roach95 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

Opa blz, vamos lá no que você precisa.

 

Primeiro vá a pasta do seu servidor data/actions/scritps e crie um arquivo com um nome script Teleporte.lua e coloque o seguinte script: 

local config = {

	 posicao   = { x = 989, y = 978, z = 6}, -- Posição em que o player deve estar no altar 
	 item      = {5808, { x = 988, y = 978, z = 6} }, -- { id_do_item / posi onde deve colocar o item }
	 teleporte = {1387, { x = 990, y = 978, z = 6}, { x = 160, y = 54, z = 7} }, -- { id do Teleporte / onde será criado o teleporte / onde irá teleportar }
	 tempo     = 5000 -- Tempo para que o teleporte desapareça
}

function removeTP()
	doRemoveItem(getTileItemById(config.teleporte[2], config.teleporte[1]).uid)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local pId      = getTopCreature(config.posicao).uid
	local posiItem = getTileItemById(config.item[2], config.item[1])
	
	if ( pId == 0 or not isPlayer(pId) ) then
	doPlayerSendCancel(cid, "Posição invalida!")
	return true
	elseif ( posiItem.uid == 0 ) then
		doPlayerSendCancel(cid, "Este item nao e valido!")
		return true
	end
	
	doCreateTeleport(config.teleporte[1], config.teleporte[3], config.teleporte[2])
	doRemoveItem(posiItem.uid)
	
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	
	
	addEvent(removeTP, config.tempo)
	
	return true	
end

Depois abre o arquivo data/actions/actions.xml e coloque a seguinte tag: 

<action uniqueid="3775" script="other/scriptTeleporte.lua"/> <!--  em uniqueid você coloca pelo mapa editor -->

Feito tudo isso fica assim no game:

 

5a453de9b75f8_imagem_in_game.png.1b819682dc8c1504a2820f3715369f13.png

OBS: o item vai sumir do lugar do altar e depois de 5 minutos o teleporta irá desaparecer, na imagem deixei ali o item só para mostrar como exemplo.

 

Espero que tenha entendido :D

Editado por Luis360 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo