Ir para conteúdo
  • 0

[Resolvido] [PDA]Checar pokemon vivo


gabrielbsales

Pergunta

12 respostass a esta questão

Posts Recomendados

  • 0

 

function getPlayersInArea(area1, area2)
local players = {}
    for x = area1.x, area2.x do
        for y = area1.y, area2.y do
            for z = area1.z, area2.z do
                local playerpos = {x=x,y=y,z=z,stackpos=253}
                local player = getThingFromPos(playerpos)
                if isPlayer(player.uid) then
                    table.insert(players, player.uid)
                end
            end
        end
    end
    return players
end

local area1 = {x = 1, y = 2}
local area2 = (x = 4,y = 6}

if #getPlayersInArea(area1, area2) > 1 then
   ...
end
Link para o comentário
Compartilhar em outros sites

  • 0

Esses números - "10, 11" e "20, 22" - são o quê? Coordenadas? Ou é um raio de SQMs desde a posição central? Por exemplo, verificar se numa área de dimensões 10x20 encontra-se algum monstro chamado "Mewtwo"?

Link para o comentário
Compartilhar em outros sites

  • 0

Você pode usar uma função disponível inclusive aqui no fórum, getMonstersInArea. Lendo o código, é possível concluir que retorna uma tabela. Então, basta verificar se nesta tabela encontra-se algum valor chamado "Mewtwo" (claro, você terá que fazer algumas alterações na função, para ao invés de insertar na tabela o ID do monstro, seu nome).

Eu, por exemplo, uso este seguinte código:

 

function getMonstersInArea(area1, area2)
local monsters = {} 
    for x = area1.x, area2.x do
        for y = area1.y, area2.y do
            for z = area1.z, area2.z do
                monsterpos = {x=x,y=y,z=z,stackpos=253}
                monster = getThingFromPos(monsterpos)
                if isMonster(monster.uid) then
                    table.insert(monsters, monster.uid)
                end
            end
        end
    end
    return monsters
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

Entendi. No caso eu faria assim(depois de botar a function).

EX:

local area1 = {x = 1, y = 2}
local area2 = (x = 4,y = 6}
if getmonsterinarea(area1, area2) == "Mewtwo" then
{script}
end

Edit:

Quais modificaçõs devo fazer? :/

Editado por gabrielbsales
Link para o comentário
Compartilhar em outros sites

  • 0

 

function getMonstersInArea(area1, area2)
local monsters = {}
    for x = area1.x, area2.x do
        for y = area1.y, area2.y do
            for z = area1.z, area2.z do
                monsterpos = {x=x,y=y,z=z,stackpos=253}
                monster = getThingFromPos(monsterpos)
                if isMonster(monster.uid) then
                    table.insert(monsters, getCreatureName(monster.uid))
                end
            end
        end
    end
    return monsters
end


local area1 = {x = 1, y = 2}
local area2 = (x = 4,y = 6}

if isInArray(getMonstersInArea(area1, area2), "MewTwo") then
   ...
end
Link para o comentário
Compartilhar em outros sites

  • 0
  • Administrador
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...