Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Checkagem de Monstro


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Voltei a mexer com ot e ainda queria esse sistema, no caso deixando mais claro eu queria um GLOBALEVENTS com essa checkagem por que quero um "TP FALANTE" avisando que está vivo ou morto o X monstro de uma certa area configuravel

 

"TP Falante": Aquelas mensagens que ficam subindo do chão que servem pra informar algo.

Editado por Toulouse (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local message = "Ainda há monstros vivos."

local fromPos = {x = 10, y = 20, z = 7}
local toPos = {x = 30, y = 60, z = 7}

for x = fromPos.x, toPos.x do
    for y = fromPos.y, toPos.y do
        for z = fromPos.z, toPos.z do
            local pos = {x = x, y = y, z = z}
            local cre = getTopCreature(pos).uid
            if isMonster(cre) then
                broadcastMessage(message, MESSAGE_INFO_DESCR)
                break
            end
        end
    end
end
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

E isso é o que? um globalevents?

Não funciona, ele nao enxerga se tem monstro vivo lá ou nao.

function onThink(interval, lastExecution)

local fromPos = {x = 541, y = 34, z = 7}
local toPos = {x = 560, y = 55, z = 7}

for x = fromPos.x, toPos.x do
    for y = fromPos.y, toPos.y do
        for z = fromPos.z, toPos.z do
            local pos = {x = x, y = y, z = z}
            local cre = getTopCreature(pos).uid
            if isMonster(cre) then
                vivo = {x = 156, y = 43, z = 7}
				doSendAnimatedText(vivo, 'VIVO', 50)
            else
				morto = {x = 156, y = 43, z = 7}
				doSendAnimatedText(morto, 'MORTO', 50)
				break
			end
        end
    end
end


return TRUE
end
Editado por Disturbbed (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 month later...

up

Você usando errado é claro que não mostra.

local fromPos = {x = 10, y = 20, z = 7}
local toPos = {x = 30, y = 60, z = 7}

function onThink(interval)


for x = fromPos.x, toPos.x do
    for y = fromPos.y, toPos.y do
        for z = fromPos.z, toPos.z do
            local pos = {x = x, y = y, z = z}
            local cre = getTopCreature(pos).uid
            if isMonster(cre) then
                doSendAnimatedText(pos, "Vivo", 50)
            elseif cre <= 0 then
                doSendAnimatedText(pos, "Morto", 50)
            end
        end
    end
end



    return true
end 
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites
function getMonsterInArena(area)
local t = {}
for x = area[1].x - 1, area[2].x + 1 do
for y = area[1].y - 1, area[2].y + 1 do
local pos = {x=x, y=y, z=area[1].z}
local m = getTopCreature(pos).uid
if m ~= 0 and isMonster(m) then 
t[#t+1] = m 
end
end
end
return t
end
 
local position = {{x = 541, y = 34, z = 7}, {x = 560, y = 55, z = 7}} -- começo e final da arena
if #getMonsterInArena(position) > 0 then
print("tem monstro na area")
end
Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • 4 months later...
Amigo, só pode dar 'UP' a cada 24h, por gentileza Leia as regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680
 
Link para o post
Compartilhar em outros sites
  • 1 year later...

Voltei a mexer com ot e ainda queria esse sistema, no caso deixando mais claro eu queria um GLOBALEVENTS com essa checkagem por que quero um "TP FALANTE" avisando que está vivo ou morto o X monstro de uma certa area configuravel

 

"TP Falante": Aquelas mensagens que ficam subindo do chão que servem pra informar algo.

Link para o post
Compartilhar em outros sites
  • Solução
function getMonsterInArena(area)
  local t = {}
  for x = area[1].x - 1, area[2].x + 1 do
    for y = area[1].y - 1, area[2].y + 1 do
      local pos = {x=x, y=y, z=area[1].z}
      local m = getTopCreature(pos).uid
      if m ~= 0 and isMonster(m) then
        t[#t+1] = m
      end
    end
  end
  return t
end
local position = {{x = 541, y = 34, z = 7}, {x = 560, y = 55, z = 7}} -- começo e final da arena
function onThink(interval)
  if #getMonsterInArena(position) > 0 then
    doSendAnimatedText(position[1], "Vivo", 50) -- pos onde o efeito vai aparecer
  end
  return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo