Ir para conteúdo
  • 0

respaw de monster


zeruella

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
Compartilhar em outros sites

Posts Recomendados

  • 0
Em 19/10/2020 em 22:03, zeruella disse:

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

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

Link para o comentário
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
Compartilhar em outros sites

  • 0
1 hora atrás, 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!

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

Spoiler

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

 

Link para o comentário
Compartilhar em outros sites

  • 0
30 minutos atrás, zeruella disse:

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

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
Compartilhar em outros sites

  • 0
10 horas atrás, 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.,

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
Compartilhar em outros sites

  • 0
3 horas atrás, 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.

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

Link para o comentário
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
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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