Ir para conteúdo
  • 0

respaw de monster


Pergunta

Ola eu tenho um script de respaw de monster aleatorio, mas esse script repete o mesmo respaw, queria que isso nao acontecesse para nao repetir o respaw do mesmo monster, e se ja tiver todos nacidos fica sem respaw e um global event.

Editado por zeruella
Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/
Compartilhar em outros sites

Posts Recomendados

  • 0
  Em 20/10/2020 em 01:03, zeruella disse:

ta mas nao vai repetir o respaw no mesmo lugar se eu colcoar ai 4 monsters?

Expand  

Cara, testa o script antes, quanta pergunta mds..

Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763222
Compartilhar em outros sites

  • 0

edita esse escript 

local pokes = {
"ancalagon", "smaug", "ancalagon", "Scatha", "Adramelech", "Emelianenko", "The Necromancer"}

   if isInArray(pokes, getCreatureName(cid)) then  --alterado v1.9 \/
   chance = 0.1    --1% chance        
      
else
   return true
end

if math.random(1, 1000) <= chance*10 then  
      doSendMagicEffect(getThingPos(cid), 18)               
      local name, pos = ..name.. getCreatureName(cid), getThingPos(cid)
      doRemoveCreature(cid)
      local pokes = doCreateMonster(name, pos, false)
      print("Um " .. name .. " foi spawnado em X=" .. pos.x .. " Y=" .. pos.y .. " Z=" .. pos.z)
      setPlayerStorageValue(shi, 74469, 1)      
   else
       setPlayerStorageValue(cid, 74469, 1)
   end

coloca adiciona posiçao pra cada monster!

Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763256
Compartilhar em outros sites

  • 0
  Em 23/10/2020 em 00:20, zeruella disse:

edita esse escript 

local pokes = {
"ancalagon", "smaug", "ancalagon", "Scatha", "Adramelech", "Emelianenko", "The Necromancer"}

   if isInArray(pokes, getCreatureName(cid)) then  --alterado v1.9 \/
   chance = 0.1    --1% chance        
      
else
   return true
end

if math.random(1, 1000) <= chance*10 then  
      doSendMagicEffect(getThingPos(cid), 18)               
      local name, pos = ..name.. getCreatureName(cid), getThingPos(cid)
      doRemoveCreature(cid)
      local pokes = doCreateMonster(name, pos, false)
      print("Um " .. name .. " foi spawnado em X=" .. pos.x .. " Y=" .. pos.y .. " Z=" .. pos.z)
      setPlayerStorageValue(shi, 74469, 1)      
   else
       setPlayerStorageValue(cid, 74469, 1)
   end

coloca adiciona posiçao pra cada monster!

Expand  

Edit e testa antes de comentar novamente, esse está funcionando perfeitamente, basta editar o boss e a pos:

  Mostrar conteúdo oculto

 

Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763257
Compartilhar em outros sites

  • 0
  Em 23/10/2020 em 01:45, zeruella disse:

onde escolho a posiçao ai e como instalo esse script? uso TSF 0.4 

Expand  

No mesmo local que o antigo seu, é sé você substituir tudo que tem dentro por:

local shit = {
    {boss = "Smaug", pos = {x=1397, y=375, z=2}},
    {boss = "laracna", pos = {x=980, y=866, z=12}},
    {boss = "son of ancalagon", pos = {x=955, y=369, z=8}},
    {boss = "son of ancalagon", pos = {x=1651, y=615, z=12}},
    {boss = "Wormageddon", pos = {x=331, y=390, z=8}},
    {boss = "olog-hai", pos = {x=1664, y=1141, z=8}},
    
}

function onThink(cid, interval)
    local nomonster = {}
    for _, v in pairs(shit) do
        if not getCreatureByName(v.boss) then
            table.insert(nomonster, _)
        end
    end
    if #nomonster == 0 then return true end
    local r = nomonster[math.random(1, #nomonster)]
    doSummonCreature(shit[r].boss, shit[r].pos)
    return true
end

 

configurando: 

 

Exemplo: {boss = "Smaug", pos = {x=1397, y=375, z=2}},

 

Vermelho Monstro que vai da respaw.

 

Verde = Pos que cada mostro vai nascer.

 

REP++ se ajudou!

 

 

 

Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763259
Compartilhar em outros sites

  • 0
  Em 23/10/2020 em 04:07, zeruella disse:

mas o respaw vai repetir so o monster do x local ja estiver nacido. isso nao pode acontecer tem que pular e da respaw en outro.,

Expand  

esse script não da respaw onde tem monstro nascido, ele faz exatamente isso, pula, mas pra isso você tem que adicionar as pos que tu quer.

Faz a modificação e adiciona as pos que você quer e os monstros, cada mostro vai da respaw em uma das pos e o proxímo só vai da onde não tem nenhum monstro spawn ainda...

você não sabe oque fala, testa antes, não deixa um REP++ ninguém vai querer ajudar vc mais

 

Editado por Nysman
Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763267
Compartilhar em outros sites

  • 0
  Em 23/10/2020 em 19:11, zeruella disse:

Amigo eu testei o script ele repete o respaw no mesmo lugar coloquei 2 monster deu respaw do mesmo 2 veses. depois do outo.

Expand  

Me manda ai o jeito que você editou com as pos que você quer e os monstros

Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763276
Compartilhar em outros sites

  • 0

Assim! naceu smaug certo, ai naceu denovo repetiu, depois naceu laracna e repetiu de novo.

 

local shit = {
    {boss = "Smaug", pos = {x=1397, y=375, z=2}},
    {boss = "laracna", pos = {x=980, y=866, z=12}},
    
}

function onThink(cid, interval)
    local nomonster = {}
    for _, v in pairs(shit) do
        if not getCreatureByName(v.boss) then
            table.insert(nomonster, _)
        end
    end
    if #nomonster == 0 then return true end
    local r = nomonster[math.random(1, #nomonster)]
    doSummonCreature(shit[r].boss, shit[r].pos)
    return true
end

 

Link para o comentário
https://xtibia.com/forum/topic/252474-respaw-de-monster/page/2/#findComment-1763295
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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