Ir para conteúdo
  • 0

[Pedido] Teleporte depois que mata boss


paahsoul

Pergunta

como fazer um certo boss, depois de  morrer me dar acesso a um teleporte ou porta especifica? por favor alguem me ajuda quebrei a cabeça com isso dois dias ja

quero alguem que possa me ajudar a criar a certa script, 

apos matar certo boss, ele liberar acesso a um tp ou porta !

 

server meu é 12.6 

 

Editado por Frenvius
tópico com titulo muito longo
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Primeiramente precisamos criar um event onDeath para quando o boss morrer. Vamos usar RevScript porque é melhor e mais fácil para esse caso.

 

Vai em Data/Scripts/Creaturescripts e crie um arquivo chamada boss_enable_acess.lua (ou um nome de sua preferência) e adicione o código dentro:

local event = CreatureEvent("boss_enable_access")

-- VARIÁVEIS --
local enable_time = false -- SE QUER QUE O TELEPORT OU A PORTA TENHA UM TEMPO LIMITE DEIXE true, SE QUER QUE FIQUE ATÉ O SHUTDOWN DO SERVIDOR DEIXE false
local time_hour = 0 -- SE QUER QUE O TELEPORT DURE POR MAIS DE 1 HORA, MUDE O VALOR DESEJADO EM HORAS DIFERENTE DE 0
local time_minutes = 60 -- PARA TRABALHAR COM HORAS DEIXE 60, ASSIM FICA MAIS FÁCIL MANIPULAR O TEMPO PELA VARIÁVEL DA HORA.
local enable_teleport = true -- SE VAI HABILITAR TELEPORT DEIXA true, SE HABILITAR PORTA DEIXA false
local id_teleport = 1387 -- ID DO TELEPORT
local id_door = 1325 -- ID DA PORTA


---------- CÓDIGO ---------
function event.onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified, mostDamageUnjustified) 
local item = nil

    if enable_teleport then
		local teleport_pos = Position(1500, 1500, 7) -- COORDENADA QUE O TELEPORT VAI APARECER
		local teleport_destination = Position(2000, 2000, 7) -- COORDENADA ONDE O TELEPORT VAI LEVAR
		item = Game.createItem(id_teleport, 1, teleport_pos) -- ITEM DO TELEPORT 
				
		-- SE O ITEM DO TELEPORT NÃO EXISTIR --
		if not item or item == nil then
			return false
		end

		item:setDestination(teleport_destination) -- SETA A POSIÇÃO DO TELEPORT			
		
	else
		local door_pos = Position(1500, 1500, 7) -- COORDENADA QUE A DOOR VAI APARECER 
		item = Game.createItem(id_door, 1, door_pos) -- ITEM DA DOOR 
		
		if not item or item == nil then
			return false
		end
	end
	
	-- REMOVE TELEPORT/DOOR DEPOIS DO TEMPO DETERMINADO NAS VARIÁVEIS (VARIÁVEL enable_time = true) --
	if enable_time then
		addEvent(function()
					item:remove()
				end, time_hour > 0 and ((60 * 60 * time_hour) * 1000) or ((60 * time_minutes) * 1000))
	end

return true
end

event:register()

 

Está tudo comentado, da para entender fácil. Mas vou dar uma breve explicação, se quer que aparece teleport quando o boss morer, deixe true na variável enable_teleport, e se deixar false vai aparecer uma porta. Se quer que o teleport ou a porta seja removido depois de um tempo, primeiramente deixe o valor true na variável enable_time, se não deixe false. Caso for remover o item depois de um tempo, só configurar o tempo na variável time_hour caso queira trabalhar com horas, senão mude o valor na variável time_minutes caso queire trabalhar com minutos.

 

Agora, precisamos registrar esse evento no monstro (boss) para que quando ele morrer, aconteça o que está no script acima. Então, vá em Data/Events/Scripts e abra o arquivo monster.lua e procure pelo bloco:

function Monster:onSpawn(position, startup, artificial)

Em baixo da função Monster:onSpawn(position, startup, artificial), adicione a seguinte linha:

if self:getName() == "Boss" then
  self:registerEvent("boss_enable_access")
end  

 

Onde está "Boss" você vai colocar o nome do Boss que quer que ao matar gere esse evento. 

 

Feito tudo isso, só testar.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...