Ir para conteúdo
  • Cadastre-se

(Resolvido)Raid Boss por Quantidade de Monstro Mortos


Ir para solução Resolvido por Storm,

Posts Recomendados

Ola galera,

Gostaria de saber se teria como fazer uma script onde nasça X monstro depois de ser derrotado certa quantidade de um monstros.

 

Explicando: Eu mato 100 Bug e Nascer um [Boss] Bug, e isso seria um loop sempre que matar 100 bug ira nascer um [Boss]Bug, e se possível uma tabela de lugares aleatório de onde esse boss pode nascer.

 

Obs: Seria um evento global tipo não seria X player matou 100 bug e sim a morte de 100 bug independente de qual player matou os bug...

 

Desde já Grato!

Editado por peterson18 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
20 minutos atrás, Sttorm disse:

@peterson18 Após matar uma quantidade de monstro o monstro nascerá no lugar onde o último monstro morreu ou nascerá em outro local ?


Se possível em outro lugar...

Mas caso não dê pode ser no local do ultimo monstro....

Editado por peterson18 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local t = {

["Rabbit"] = {1001, "[Boss]Rabbit", 100, l = {[1] = {x = 100, y = 100, z = 7}, -- ["Nome do monstro"] = {Storage, NOME DO MONSTRO, QNT NECESSARIA PARA NASCER O BOSS, l = POSIÇÕES} 
                                              [2] = {x = 100, y = 200, z = 7},
             }                              }

}

function onDeath(cid, corpse, deathList)

local a = t[getCreatureName(cid)]
local killer = deathList

      if not isMonster(cid) or not isPlayer(killer[1]) then
      return true
      end
      
  if a then
  
local random = math.random(1, #a.l)
  
       if getGlobalStorageValue(a[1]) >= a[3] then
       
       doCreateMonster(a[2], random)
       setGlobalStorageValue(a[1], 0)       
       doBroadcastMessage("O monstro ".. a[2] .." nasceu!", math.random(10, 27))
       
       return true
       else
       
       setGlobalStorageValue(a[1], getGlobalStorageValue(a[1]) + 1)
       
       return true
       end
  return true
  end
return true
end

È uma script para todos os monstros , registre na XML de cada monstro que estiver na tabela e registre no CreatureScripts.XML; bastante cuidado com essa tabela.

Editado por Sttorm (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
20 minutos atrás, Sttorm disse:

local t = {

["Rabbit"] = {1001, "[Boss]Rabbit", 100, l = {[1] = {x = 100, y = 100, z = 7}, -- ["Nome do monstro"] = {Storage, NOME DO MONSTRO, QNT NECESSARIA PARA NASCER O BOSS, l = POSIÇÕES} 
                                              [2] = {x = 100, y = 200, z = 7},
             }                              }

}

function onDeath(cid, corpse, deathList)

local a = t[getCreatureName(cid)]
local killer = deathList

      if not isMonster(cid) or not isPlayer(killer[1]) then
      return true
      end
      
  if a then
  
local random = math.random(1, #a.l)
  
       if getGlobalStorageValue(a[1]) >= a[3] then
       
       doCreateMonster(a[2], random)
       setGlobalStorageValue(a[1], 0)       
       doBroadcastMessage("O monstro ".. a[2] .." nasceu!", math.random(10, 27))
       
       return true
       else
       
       setGlobalStorageValue(a[1], getGlobalStorageValue(a[1]) + 1)
       
       return true
       end
  return true
  end
return true
end

È uma script para todos os monstros , registre na XML de cada monstro que estiver na tabela e registre no CreatureScripts.XML; bastante cuidado com essa tabela.


Deu o seguinte erro apos matar os 100 bug :

Spoiler

image.thumb.png.1673a08413bc01b0b2c806b1eb7a700e.png


No Creature.xml coloquei isso:
 

Spoiler

    <event type="death" name="boss" event="script" value="boss.lua"/>


E no monstro:
 

Spoiler

      <script>
    <event name="boss"/>
    </script>


 

Link para o post
Compartilhar em outros sites
8 minutos atrás, Sttorm disse:

@peterson18 Perdão , erro meu na script , agora vai :

 


local t = {

["Rabbit"] = {1003, "Demon", 2, l = {         [1] = {x = 92, y  = 129, z = 7}, -- ["Nome do monstro"] = {Storage, NOME DO MONSTRO, QNT NECESSARIA PARA NASCER O BOSS, l = POSIÇÕES} 
                                              [2] = {x = 93, y =  129, z = 7},
             }                              }

}

function onDeath(cid, corpse, deathList)

local a = t[getCreatureName(cid)]
local killer = deathList

      if not isMonster(cid) or not isPlayer(killer[1]) then
      return true
      end
      
  if a then

  
       if getGlobalStorageValue(a[1]) >= a[3] then
       
       doCreateMonster(a[2], a.l[math.random(#a.l)])
       setGlobalStorageValue(a[1], 0)       
       doBroadcastMessage("O monstro ".. a[2] .." nasceu!", math.random(10, 27))
       
       return true
       else
       
       setGlobalStorageValue(a[1], getGlobalStorageValue(a[1]) + 1)
       
       return true
       end
  return true
  end
return true
end

 

 

Funcionando perfeitamente,
 

Entretanto só tenho uma dúvida, a mensagem Broadcast esta aparecendo apenas no Serve log teria como colocar para aparecer tipo o /b, para o server todo?
Caso não der de boa, assim já esta ótimo (y) 

 

Muito Obrigado!

Link para o post
Compartilhar em outros sites

@Sttorm show, parabéns e obrigado por ajudar o membro!! xD

@peterson18 

math.random(10, 27)

Remova e coloque o tipo de mensagem que irá aparecer!!

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
3 minutos atrás, KotZletY disse:

@Sttorm show, parabéns e obrigado por ajudar o membro!! xD

@peterson18 


math.random(10, 27)

Remova e coloque o tipo de mensagem que irá aparecer!!

 

 

Obrigado !

Sim, ficou show a script 

Muito Obrigado de novo !!

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo