Jump to content

Como colocar um mapa em todas as dimensões?


Recommended Posts

Preciso que um mapa apareça em todas as dimensões.

Tentei isso mas não foi só cai na dimensão 0

 

for k=1, 20000 do
	for i, object in ipairs(getElementsByType("object", source)) do
		local objID = getElementModel(object)
		local lodModel = LOD_MAP[objID]
		if (lodModel) then
			local x,y,z = getElementPosition(object)
			local rx,ry,rz = getElementRotation(object)
			local lodObj = createObject(lodModel,x,y,z,rx,ry,rz,true)
			setElementInterior(lodObj, getElementInterior(object) )
			setElementDimension(lodObj, k)
			setElementParent(lodObj, object)
			setLowLODElement(object, lodObj)
			table.insert(usedLODModels, lodModel)
		end
	end
end

 

Link to comment
  • Other Languages Moderators

Olá.

Eu não recomendo fazer isso. O que você pode fazer, é armazenar as informações do mapa, apenas uma vez, em uma tabela. Depois, somente quando precisar, você cria o mapa para o jogador. Crie também uma checagem de dimensão: caso o jogador for para uma dimensão que seja diferente da atual e o mapa lá ainda não esteja criado, então você envia a tabela que contém as informações do mapa para ele.

Link to comment

Colocando -1 fica visível em todas dimensões.... não precisa desse loop.

Quote

dimension: An integer representing the dimension ID. You can also use -1 to make the element visible in all dimensions (only valid to objects). Valid values are 0 to 65535.

By Wiki

Acredito que fazendo o mesmo no .map (sem script) funcione também.

  • Like 1
Link to comment

Não funcionou com o -1

meta.xml

<map src="lobby2.map" dimension="-1"></map>

script:


		for i, object in ipairs(getElementsByType("object", source)) do
			local objID = getElementModel(object)
			local lodModel = LOD_MAP[objID]
			if (lodModel) then
				local x,y,z = getElementPosition(object)
				local rx,ry,rz = getElementRotation(object)
				local lodObj = createObject(lodModel,x,y,z,rx,ry,rz,true)
				setElementInterior(lodObj, getElementInterior(object) )
				setElementDimension(lodObj, -1 ) -- -1
				setElementParent(lodObj, object)
				setLowLODElement(object, lodObj)
				table.insert(usedLODModels, lodModel)
			end
		end

Será que vou precisar criar os objetos por script?

Link to comment
  • Other Languages Moderators
On 04/10/2020 at 12:07, Gaimo said:

Não funcionou com o -1

Esse parâmetro ali não é aplicável. Ele serve somente para verificações de script.

Aplique o parâmetro em todos os objetos do .map

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...