Ir para conteúdo
  • 0

[Dúvida] Bloco de Repetição


Farathor

Pergunta

Gostaria de saber, como eu faço para esse script ficar do jeito que eu quero, sem ele ficar essa coisa feia, cheia de coisas repetidas, que só muda algumas coisas?

 

 

local pos = {x = 1195, y = 1247, z = 7}
addEvent(doCleanTile, 0, pos, false) 
addEvent(doSendMagicEffect,0, pos, 7)
 
local pos2 = {x = 1195, y = 1248, z = 7}
addEvent(doCleanTile, 100, pos2, false) 
addEvent(doSendMagicEffect,100, pos2, 7)
 
local pos3 = {x = 1196, y = 1247, z = 7}
addEvent(doCleanTile, 200, pos3, false) 
addEvent(doSendMagicEffect,200, pos3, 7)
 
local pos4 = {x = 1196, y = 1248, z = 7}
addEvent(doCleanTile, 300, pos4, false) 
addEvent(doSendMagicEffect,300, pos4, 7)
 
local pos5 = {x = 1197, y = 1247, z = 7}
addEvent(doCleanTile, 400, pos5, false) 
addEvent(doSendMagicEffect,400, pos5, 7)
 
local pos6 = {x = 1197, y = 1248, z = 7}
addEvent(doCleanTile, 500, pos6, false) 
addEvent(doSendMagicEffect,500, pos6, 7)
 
local pos7 = {x = 1195, y = 1253, z = 7}
addEvent(doCleanTile, 600, pos7, false) 
addEvent(doSendMagicEffect,600, pos7, 7)

 

 

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

13 respostass a esta questão

Posts Recomendados

  • 0

Por exemplo, tem 20 pisos, e a cada 10 adiciona +1 no X, como eu faço isso?

 

20 é só um número, a arena começa em

 

{x = 1195, y = 1245, z = 7}

 

termina em

 

{x = 1208, y = 1254, z = 7}

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

  • 0

Assumindo que essas posições sejam os cantos:

 

local pos1 = {x = 1195, y = 1245, z = 7}
local pos2 = {x = 1208, y = 1254, z = 7}

 for u = pos1.x, pos2.x do 
    for p = pos1.y, pos2.y do 
       local position = {x = u, y = p, z = 7}
       doCleanTile(position, false)
       doSendMagicEffect(position, 7)
    end
 end
Link para o comentário
Compartilhar em outros sites

  • 0

Faz Assim, é por fileira por exemplo, primeiro vai a direita {x = 1195, y = 1245, z = 7} até {x = 1195, y = 1254, z = 7}, dai vai e adiciona +1 no X e faz o mesmo processo até chegar na ultima fileira {x = 1208, y = 1245, z = 7} até {x = 1208, y = 1254, z = 7}

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

  • 0

Eu sei como é que é, só tava perguntando a direção, como você disse, então é ao contrário do que eu fiz.

o processo de limpeza é o mesmo, só muda a velocidade...

local pos1 = {x = 1195, y = 1245, z = 7}
local pos2 = {x = 1208, y = 1254, z = 7}
local tempo = 1000
local i = 0
 
 for p = pos1.y, pos2.y do 
    for u = pos1.x, pos2.x do 
       local position = {x = u, y = p, z = 7}
       i = i + 1
       addEvent(function() 	doCleanTile(position, false)
				doSendMagicEffect(position, 7)
		end, tempo * i)
    end
 end
No tempo é em Milissegundo, coloquei para multiplicar por um valor, para que fique um efeito em cadeia... Editado por Caronte
Link para o comentário
Compartilhar em outros sites

  • 0


local pos1 = {x = 1195, y = 1245, z = 7}

local pos2 = {x = 1208, y = 1254, z = 7}

local tempo = 1000

local i = 0

 

for p = pos1.x, pos2.x do

for u = pos1.y, pos2.y do

local position = {x = p, y = u, z = 7}

i = i + 1

addEvent(function() doCleanTile(position, false)

doSendMagicEffect(position, 7)

end, tempo * i)

end

end

 

 

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

×
×
  • Criar Novo...