Ir para conteúdo
  • 0

Duvida "docreatetile"


eduardo190696

Pergunta

Oi, Como vão vocês ?

 

Bom, queria saber uma coisa, to montando um script que precisa criar uma área 10x10 com um certo tile.

 

Quero saber se tem como fazer um jeito que crie uma área 10x10 a partir do player, Isso mesmo, o Player é o ponto 0.

 

ao invez de fazer 1 linha para cada tile


local posnx1 = {x=ppos.x, y=ppos.y, z=ppos.z}
local posnx2 = {x=ppos.x -1, y=ppos.y, z=ppos.z}
local posny1 = {x=ppos.x, y=ppos.y -1, z=ppos.z}
local pospx1 = {x=ppos.x +1, y=ppos.y, z=ppos.z}
local pospy1 = {x=ppos.x, y=ppos.y +1, z=ppos.z}

algum jeito que faça uma área 10x10 a partir do player e que na hora de criar o tile não precise adicionar 1 linha para cada tile

doCreateTile(CONSTRUCTIONS[item.itemid], posnx1)

doCreateTile(CONSTRUCTIONS[item.itemid], posnx1)
doCreateTile(CONSTRUCTIONS[item.itemid], posnx2)
doCreateTile(CONSTRUCTIONS[item.itemid], posny1)
doCreateTile(CONSTRUCTIONS[item.itemid], pospx1)
doCreateTile(CONSTRUCTIONS[item.itemid], pospy1)

 

se alguém puder me ajudar agradeço com meu +rep

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Só lembrando que uma área 10x10 não tem centro...

dá pra fazer em 3 linhas de código o que você quer, usando for, exemplo:

 

for x = -5, 5 do
for y = -5, 5 do
	local p = getThingPos(cid)
	p.x = p.x + x
	p.y = p.y + y
	doCreateTile(CONSTRUCTIONS[item.itemid], p)
end
end

 

Esse código vai criar uma área 11x11 sendo a posição do player o centro

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

  • 0

Perfeito brun123 +rep pra tu, só mais uma duvida, como faço para esse tile ficar salvo dentro de uma house.

 

Ele cria certinho só que quando reinicia o ot o tile some.

 

E como posso fazer para criar uma parede envolta dos ultimo tiles, sendo que usaria 3 ou 4 ids diferentes

Link para o comentário
Compartilhar em outros sites

  • 0

não tem como salvar o tile de house por script lua não, só pelo map editor mesmo...

só se você criar um arquivo que vai ser lido no startup do server e faz com que a house seja modificada antes de qualquer player fizer login

é um script avançado e não rola de fazer agora, outro dia se der vontade eu até faço

 

pra ver se o tile está na extremidade é só usar essa checagem dentro dos 2 loops:

 

if math.abs(x) == 5 or math.abs(y) == 5 then
-- algum código, tipo criar uma parede
end

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...