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.


info
Grupo: Campones
Registrado: 08/10/10
Posts: 3
Reputação: 0
Char no Tibia: rayama soul
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 Janeiro 4 por Frenvius
tópico com titulo muito longo