for y = 0, 6 do
local pos = {x=1195, y=1247+i, z=7}
addEvent(function()
doCleanTile(pos, false)
doSendMagicEffect(pos, 7)
end, i * 100)
end
for y = 0, 6 do
local pos = {x=1195, y=1247+i, z=7}
addEvent(function()
doCleanTile(pos, false)
doSendMagicEffect(pos, 7)
end, i * 100)
end
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino

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}
Edited Dezembro 18 by Farathor
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

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
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino

Só que dessa forma, ele deu o clean na area toda de uma vez, eu queria que ele desse o clean de piso por piso 1 de cada vez com um intervalo de 100 no script
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

Quando eu pegar o PC eu faço um addEvent....
Você tem preferência de direção?
Começa da esquerda pra direita ou de cima para baixo?
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino

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}
Edited Dezembro 18 by Farathor
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

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... Edited Dezembro 19 by Caronte
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino

Testei aqui, e ele deu o clean na area toda e não em piso por piso
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

Tenta novamente, editei aqui
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino

Funcionou, mas teria como vc mudar a posição? Invés de direita pra esquerda, sem de cima para baixo?
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

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
Edited Dezembro 19 by Caronte
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino

info
Group: Marquês
Joined: 03/02/13
Posts: 1.2k
Reputation: +254
Gender: Masculino
Tibia Character: Partiu Baladinha

Tópico Movido
Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting"
para "OTServ → Suporte OTServ → Suporte Scripting → Pedidos e dúvidas resolvidos - Scripting".
info
Group: Visconde
Joined: 02/10/13
Posts: 320
Reputation: +22
Gender: Masculino
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)Edited Dezembro 18 by Farathor