Olá, vá na pasta Data/Globalevents/Scripts e crie um arquivo lua chamado boss e adicione o código dentro:
----------------------------------- EVENTO SUMMON BOSS FEITO POR YAN18 -----------------------------------------
local minutos = 20 ---- COLOCA OS MINUTOS AQUI PARA OS BOSS SUMIREM CASO NINGUÉM OS MATE
---- NOME DOS MONTROS ----
local monsters = {
[1] = "Magmar" ,
[2] = "Electabuzz",
[3] = "Scizor",
}
---- POSIÇÃO DA ARENA ONDE APARECERÁ OS MONSTROS ----
local position_arena = {
from_pos = {x= 964, y = 993, z= 7}, -- VARIÁVEL QUE TEM A COORDENADA INICIAL DO LUGAR ONDE VAI APARECER OS MONSTROS
to_pos = {x= 978, y = 1009, z= 7}, -- VARIÁVEL QUE TEM A COORDENADA FINAL DO LUGAR ONDE VAI APARECER OS MONSTROS
}
---------------------------------- CÓDIGO ----------------------------------------------
function onThink(cid, words, interval, lastExecution)
----- CRIA OS BOSS -----
for i, j in ipairs(monsters) do
----- VARIÁVEL RANDOM_POSITION GERA O SPAWN ALEATÓRIO DOS BOSS -----
local random_position = {x= math.random(position_arena.from_pos.x, position_arena.to_pos.x), y= math.random(position_arena.from_pos.y, position_arena.to_pos.y), z= math.random(position_arena.from_pos.z, position_arena.to_pos.z)}
doSummonCreature(j, random_position)
end
doBroadcastMessage(#monsters == 1 and "A monster have been arrived in this world. Don't arrive near!" or "Some monsters have been arrived in this world. Don't arrive near by them!", 22)
---- VERIFICAÇÃO SE TEM MONSTROS NA ARENA PARA REMOVER ----
addEvent(function()
local position = {}
for i = position_arena.from_pos.x, position_arena.to_pos.x do
for j = position_arena.from_pos.y, position_arena.to_pos.y do
position[#position+1] = {x= i, y = j, z= position_arena.from_pos.z, stackpos = 0}
end
end
for i= 1, #position do
for j = 0, 255 do
position[i].stackpos = j
local monster = getTileThingByPos(position[i])
if isMonster(monster.uid) then
for d, n in ipairs(monsters) do
if getCreatureName(monster.uid) == n then
doRemoveCreature(monster.uid)
if d == #monsters then
doBroadcastMessage(#monsters == 1 and "The monster left this world. But it will return soon...." or "The monsters left this world. But they will return soon....", 22)
end
end
end
end
end
end
end, minutos * 60 * 1000)
return true
end
Agora em Data/Globalevents abra o globalevents.xml e adicione a tag:
<globalevent name="boss" interval="3600" event="script" value="boss.lua"/> <!-- TEMPO EM SEGUNDOS, JÁ DEIXEI 1 HORA -->
Explicação: No código, eu criei 3 monstros genéricos para testar, só adicionar o nome deles igual está na tabela, e se quiser só 1 monstro, apague os outros dois e insira o desejado (lembrando de colocar a vírgula no final igual como está).
Na variável minutos já deixei 20 como pediu, mas caso queira trocar, só alterar o valor dela (lembrando que o valor dela tem que ser menor que o intervalo do evento no xml).
E na tabela position_arena, precisa colocar as coordenadas iniciais e finais da arena, já deixei pronto ali também e é só substituir.
Deixei para eles nascerem em posições aleatórias dentro das coordenadas da arena, caso queira spawns fixos, só ir na variável random_position e colocar x, y e z desejados.
Agora na parte do Xml como deixei o comentário na tag, já deixei 1 hora como pediu (3600 segundos), caso queira outro valor só alterar lá, lembrando que ali é em segundos.
Deixei tudo comentado e explicadinho, mas qualquer dúvida só falar. Eu testei muito aqui e deu certo, mas qualquer problema só me dizer.