Pular para o conteúdo

createBuilding

Compartilhada Construções OOP Building.create(...)Building(...)

Cria uma construção no mundo.

building createBuilding ( number modelo, number x, number y, number z [, number rx = 0, number ry = 0, number rz = 0, number interior = 0 ] )
NomeTipoPadrãoDescrição
modelonumber—ID do modelo, de 0 a 19999.
xnumber—Posição no eixo X, entre -3000 e 3000.
ynumber—Posição no eixo Y, entre -3000 e 3000.
znumber—Altura. Sem limite.
rxnumber0Rotação em torno do eixo X, em graus.
rynumber0Rotação em torno do eixo Y, em graus.
rznumber0Rotação em torno do eixo Z, em graus.
interiornumber0Interior em que a construção aparece, de 0 a 255.

A construção criada. No servidor ela devolve false (e registra o motivo) em qualquer destes casos:

SituaçãoMotivo
Modelo fora de 0 – 19999ID de modelo inválido.
Modelo entre 384 e 397Essa faixa não pode ser usada como construção.
x ou y fora de -3000 – 3000A posição está fora do mundo do jogo.
interior fora de 0 – 255Interior inválido.

No cliente as mesmas verificações são mais rígidas: um argumento de tipo errado, um modelo ou interior negativo, uma coordenada NaN ou infinita, um modelo que o jogo não aceita como construção (que não é um modelo de objeto carregado, ou 384 – 397) e um x ou y fora de -3000 – 3000 geram um erro Lua. O único false no cliente vem de uma chamada feita antes de o mundo do jogo terminar de carregar. Um interior acima de 255 não é recusado lá: só o byte mais baixo é mantido.

Uma construção criada no cliente só existe no jogo enquanto o jogador local está na dimensão dela; ela é removida e recriada conforme o jogador muda de dimensão.

-- fecha um terreno vazio com um muro girado
createBuilding(3749, 2000.0, 1400.0, 10.0, 0, 0, 45)
-- substitui um prédio removido por outro
removeWorldModel(3279, 100.0, 1481.0, -1770.0, 18.8)
createBuilding(3280, 1481.0, -1770.0, 18.8)