Table.insert (Positions)

SkyTime
em Scripts

SkyTime

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/11Posts: 20

Olá,

bom galera, queria saber se tem como adicionar mais áreas nessa função:

 

          table.insert(self.positions, {x=1058, y=1057, z=7})

 

Tem como colocar mais áreas em x, y, z ?

O script trabalha em enviar efeitos naquela área.

 

Para ser mais claro, aqui a função:

 

function Rain:getPositionInArea(fromPos, toPos)
self.positions = {}
for Y = fromPos.y, toPos.y do
 for X = fromPos.x, toPos.x do
  if (getTileThingByPos({x=1047, y=1057, z=7, stackpos=0}).itemid ~= 0) then
   if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=1047, y=1057, z=7, stackpos=0}).itemid)), "water")) then
 table.insert(self.positions, {x=1047, y=1057, z=7})
   end
  end
 end
end
return true
end

 

Obrigado desde já :)

  • Errar é humano, saber superá-los é mais ainda.

 

 

 

 

carinha_feliz2.jpg

bepokemon

Lo sono il accolito.
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 23/02/08Posts: 273Char no Tibia: Foxx Rookslayer

Pelo oque eu entendi você quer adicionar todas as posições de fromPos à toPos na tabela .. Então o código ficaria assim:

 

function Rain:getPositionInArea(fromPos, toPos)
self.positions = {}
for Y = fromPos.y, toPos.y do
 for X = fromPos.x, toPos.x do
  if (getTileThingByPos({x=x, y=y, z=7, stackpos=0}).itemid ~= 0) then
if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=1047, y=1057, z=7, stackpos=0}).itemid)), "water")) then
 table.insert(self.positions, {x=x, y=y, z=7})
end
  end
 end
end
return true
end

logo.png

Scripter

@MagicWorld

Ex: Colaborador de Scripting

Contato: bepokemon@hotmail.com

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Pelo oque eu entendi você quer adicionar todas as posições de fromPos à toPos na tabela .. Então o código ficaria assim:

 

function Rain:getPositionInArea(fromPos, toPos)
self.positions = {}
for Y = fromPos.y, toPos.y do
 for X = fromPos.x, toPos.x do
  if (getTileThingByPos({x=x, y=y, z=7, stackpos=0}).itemid ~= 0) then
if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=1047, y=1057, z=7, stackpos=0}).itemid)), "water")) then
 table.insert(self.positions, {x=x, y=y, z=7})
end
  end
 end
end
return true
end

 

meu amigo, não vai adiantar nada se você não editar a função de baixo.

Oie :D

SkyTime

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/11Posts: 20

O problema é que os efeitos só caem na posição que está no table.insert.

Não sei mexer com fromPos e toPos, mais um problema u.u

Pra quem não entendeu, é um sistema de chuva, e os efeitos só caem se colocar na posição no table.insert, mais uma vez, não sei como funciona fromPos nem toPos.

 

Conseguir fazer um jeito de colocar mais áreas..

era só pôr mais tablets..

 

table.insert(self.positions, {x=1058, y=1057, z=7})

um em baixo do outro e ir adicionando novas áreas (sqms).

 

Podem fechar.

  • Errar é humano, saber superá-los é mais ainda.

 

 

 

 

carinha_feliz2.jpg