Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 05/01/21 em todas áreas

  1. Yan Oliveira

    Event Boss

    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.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...