AN
dúvida

Players/monstros em uma área

Por AnneMotta, 18 de dez. de 2013 em Scripts

resolvido
script
5
1k
AnneMottaA
18 de dezembro de 2013 às 17:32

Olá, gostaria de saber como eu verifico se tem players/monstros em uma certa área... Exemplo:

 

quadriculado-1.png

 

Como eu posso fazer para um script verificar quem esta dentro desta área?

Supondo que eu faça um script que quem estiver nessa área ira ganhar um item, como eu poderia fazer para verificar quem esta lá?

ZarussZ
18 de dezembro de 2013 às 18:19

Assim

local config = {
     fromPosition = {x = 856, y = 785, z = 7}, -- começo da area
     toPosition = {x = 876, y = 810, z = 7}, -- fim da area
}
if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then
   doPlayerAddItem(cid, item, count)
end

ou assim:

local config = {
fromPosition = {x = 856, y = 785, z = 7}, -- começo da area
toPosition = {x = 876, y = 810, z = 7}, -- fim da area
}

for x = config.fromPosition.x, config.toPosition.x do
  for y = config.fromPosition.y, config.toPosition.y do
    for z = config.fromPosition.z, config.toPosition.z do
      area = {x = x, y = y, z = z, stackpos = 253}
      allplayers = getThingfromPos(area)
      if isPlayer(allplayers.uid) then
      doPlayerAddItem(cid, item, count)
      end
     end
  end
end

pra ve se tem monsters e so trocar o isPlayer por isMonster

Editado Dezembro 18 por Zaruss

BennyB
18 de dezembro de 2013 às 18:31

 

Assim

local config = {
     fromPosition = {x = 856, y = 785, z = 7}, -- começo da area
     toPosition = {x = 876, y = 810, z = 7}, -- fim da area
}
if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then
   doPlayerAddItem(cid, item, count)
end

ou assim:

local config = {
fromPosition = {x = 856, y = 785, z = 7}, -- começo da area
toPosition = {x = 876, y = 810, z = 7}, -- fim da area
}

for x = config.fromPosition.x, config.toPosition.x do
  for y = config.fromPosition.y, config.toPosition.y do
    for z = config.fromPosition.z, config.toPosition.z do
      area = {x = x, y = y, z = z, stackpos = 253}
      allplayers = getThingfromPos(area)
      if isPlayer(allplayers.uid) then
      doPlayerAddItem(cid, item, count)
      end
     end
  end
end

 

Foda

REP +

AnneMottaA
18 de dezembro de 2013 às 19:17

Muito obrigado Zaruss, vou testar aqui em algo que eu estava pensando e já venho aqui dizer se saiu tudo como eu queria.

 

 

Obrigado mais uma vez Zaruss, funcionou perfeitamente...

Editado Dezembro 20 por AnneMotta

zipter98Z
18 de dezembro de 2013 às 20:23

Tópico movido para a seção de dúvidas e pedidos resolvidos.