Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

TFS 1.3 - TESTADO EM VERSÃO 10.98

* Introdução *

 

    Bom, estive navegando no Fórum e vi que o usuário @Cleiton Felipi pediu um script que ao player entrasse no teleport de um X monstro, um Demon por exemplo, listasse qual hunt o jogador queria entrar. Achei interessante, e resolvi desenvolver e postar no TK, já que não tinha ainda, :).

 

 

 

* Sobre o sistema *

 

     Você utiliza diversas hunts com vários tps criados no mapa no seu servidor do mesmo monstro? Bom, este script será muito útil para você! Pois ele permitirá que você habilite ao jogador em qual hunt ele quer caçar, por exemplo, se tiver Demon 01, Demon 02, Demon 03, Demon X, basta apenas você criar um tp indicando o monstro e que uma janela irá aparecer com a lista de opções de hunts, prático, né? Segue imagens de demonstração:

Screenshot_69.png.4608229bb4c9f711e85466d3f158d7db.png

Screenshot_70.thumb.png.f165d49d596184e5c98a541d2a7a3833.png

 

 

OBS¹.: Você pode colocar TODOS OS MONSTROS neste script, contando que tenha o actionID que ficará no teleporte, não é de uma quantidade limitada, em outras palavras, você pode adicionar as hunts de Demon, Frost Dragon, Dragon, ..., tudo aqui, apenas mudando o actionID (tudo configurável, não se preocupe).

 

* Instalação *

 

Em data/movements/scripts/ crie um arquivo chamado mov_janela_hunts.lua e adicione dentro:

--[[
Script - Lordzetros
Fórum Tibia King
]]

local config = {
	titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela
	mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela
}

CONFIG_TPS_JANELA = {
	[19090] = { -- ID do action que ficará no portal da hunt
		{nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado
		{nome = "Demon 02", pos = {x = 93, y = 144, z = 7}},
		{nome = "Demon 03", pos = {x = 91, y = 140, z = 7}},
		{nome = "Demon 04", pos = {x = 94, y = 138, z = 7}},
		{nome = "Demon 05", pos = {x = 95, y = 136, z = 7}},
	},
	[19091] = { 
		{nome = "Frost 01", pos = {x = 98, y = 140, z = 7}},
		{nome = "Frost 02", pos = {x = 93, y = 145, z = 7}},
		{nome = "Frost 03", pos = {x = 91, y = 141, z = 7}},
		{nome = "Frost 04", pos = {x = 94, y = 139, z = 7}},
		{nome = "Frost 05", pos = {x = 95, y = 137, z = 7}},
	},
}

function onStepIn(creature, item, pos, fromPosition)
	if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then
		JANELA_TP_ACTION = item:getActionId()
		creature:teleportTo(fromPosition, true)
		creature:registerEvent("janela hunts")
		local janela = ModalWindow(1000, config.titulo, config.mensagem)
		
		for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do
			janela:addChoice(i, v.nome)
		end
		
		janela:addButton(100, "Confirmar")
		janela:addButton(101, "Fechar")
		janela:setDefaultEnterButton(100)
		janela:setDefaultEscapeButton(101)
		janela:sendToPlayer(creature)
	end
	return true
end

 

Em data/movements/movements.xml adicione o seguinte código abaixo de um semelhante:

<movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" />

 

 

Agora em data/creaturescripts/scripts/ crie um arquivo chamado creature_janela_hunts.lua e adicione dentro:

function onModalWindow(player, modalWindowId, buttonId, choiceId)
	player:unregisterEvent("janela hunts")
	if (modalWindowId == 1000) then
		if (buttonId == 100) then
			local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos
			player:teleportTo(tele_pos)
			local pos_t = Position(tele_pos)
			pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE)
		end
	end
	return true
end

 

Em data/creaturescripts/creaturescripts.xml adicione o seguinte código abaixo de um semelhante:

<event type="ModalWindow" name="janela hunts" script="creature_janela_hunts.lua"/>

 

* Configuração *

    Bom, apesar de que não seja difícil de configurar, é necessário uma explicação, vamos lá...

1 - 

[19090] = { -- ID do action que ficará no portal da hunt
		{nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado
		{nome = "Demon 02", pos = {x = 93, y = 144, z = 7}},
		{nome = "Demon 03", pos = {x = 91, y = 140, z = 7}},
		{nome = "Demon 04", pos = {x = 94, y = 138, z = 7}},
		{nome = "Demon 05", pos = {x = 95, y = 136, z = 7}},
	},

Em [19090] este número de dentro é o actionID que ficará no portal. Com ele será identificado de qual monstro se trata, bastando apenas configurar este número e o nome das opções de monstros que você quer aparecendo na janela, em seguida, a posição na qual o jogador será teleportado, seguindo a ordem. Segue imagem de como deve ficar o seu portal:

Screenshot_71.png.d5bd967d26e4cd1b17c63f4a82e38a5d.png

OBS²: VOCÊ EDITA O ACTIONID NO SEU EDITOR DE MAPA COLOCANDO NO ID DO ITEM DE TELEPORTE.

OBS³: PARA ADICIONAR NOVAS HUNTS NO SCRIPT, BASTA SEGUIR O PADRÃO QUE ESTÁ NO CÓDIGO, DO 19090 PARA O 19091.

 

2 - (por fim)

Em data/movements/movements.xml

<movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" />

itemID = Id do item que o player andará para abrir a janela de hunt

Está como 5023 por conta que o magic forcefield é 5023, no qual utilizei para teste, aconselho você deixar da mesma forma (caso seja o mesmo id no seu servidor), ou mude, mas cuidado para não cometer algum erro.

 

 

Enfim, algo simples, porém não encontrei no TK.

Abraços. :) 
 

 

Editado por lordzetros
Otimização (veja o histórico de edições)

  • Respostas 14
  • Visualizações 6.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • TFS 1.3 - TESTADO EM VERSÃO 10.98 * Introdução *       Bom, estive navegando no Fórum e vi que o usuário @Cleiton Felipi pediu um script que ao player entrasse no teleport de um X monst

  • @Cleiton Felipi Disponha! ?    @Semideus Haha, esse daí é o mito. ?

Posted Images

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

  • 1 month later...

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo