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
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: 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}
Editado Dezembro 18 por Farathor
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: 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
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: 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
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: 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
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: 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}
Editado Dezembro 18 por Farathor
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: 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... Editado Dezembro 19 por Caronte
info
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: Masculino

Testei aqui, e ele deu o clean na area toda e não em piso por piso
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

Tenta novamente, editei aqui
info
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: Masculino

Funcionou, mas teria como vc mudar a posição? Invés de direita pra esquerda, sem de cima para baixo?
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: 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
Editado Dezembro 19 por Caronte
info
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: Masculino

info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: 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
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: 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)Editado Dezembro 18 por Farathor