CreateBuilding: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (add note about dyn object model)
m (fix note)
Line 2: Line 2:
{{Client function}}
{{Client function}}
{{New feature/item|3.0161|1.6.0|22410|Creates a [[building]] [[element]] at a given position and rotation.}}
{{New feature/item|3.0161|1.6.0|22410|Creates a [[building]] [[element]] at a given position and rotation.}}
{{Note|This function expects valid non-dynamic object model IDs. You can check if a model ID is not dynamic with: '''engineGetModelPhysicalPropertiesGroup(modelID) == -1'''}}
{{Note|This function expects valid non-dynamic object model IDs. Check the examples below to understand how to validate the model ID before calling the function.}}


==Syntax==
==Syntax==
Line 26: Line 26:


==Example==
==Example==
<section name="Validate building model ID" class="client" show="true">
This example shows you how to easily verify if any object model ID is non-dynamic, so it can be used with the createBuilding function:
<syntaxhighlight lang="lua">
-- Dynamic object models will always have a physical properties group different than -1.
local isNonDynamic = ( engineGetModelPhysicalPropertiesGroup(modelID) == -1 )
</syntaxhighlight>
</section>
<section name="Simple example" class="client" show="true">
<section name="Simple example" class="client" show="true">
This example creates a building when the resource starts:
This example creates a building when the resource starts:

Revision as of 09:51, 8 October 2024

ADDED/UPDATED IN VERSION 1.6.0 r22410:
Creates a building element at a given position and rotation.
[[{{{image}}}|link=|]] Note: This function expects valid non-dynamic object model IDs. Check the examples below to understand how to validate the model ID before calling the function.

Syntax

building createBuilding ( int modelId, float x, float y, float z [, float rx, float ry, float rz, int interior = 0 ] )

OOP Syntax Help! I don't understand this!

Method: Building(...)


Required Arguments

  • modelId: A whole integer specifying the GTA:SA object model ID.
  • x: A floating point number representing the X coordinate on the map.
  • y: A floating point number representing the Y coordinate on the map.
  • z: A floating point number representing the Z coordinate on the map.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • rx: A floating point number representing the rotation about the X axis in degrees.
  • ry: A floating point number representing the rotation about the Y axis in degrees.
  • rz: A floating point number representing the rotation about the Z axis in degrees.
  • interior: The interior you want to set the building to. Valid values are 0 to 255.


Returns

  • Returns the building element if the creation was successful, throws an error otherwise.

Example

Click to collapse [-]
Validate building model ID

This example shows you how to easily verify if any object model ID is non-dynamic, so it can be used with the createBuilding function:

-- Dynamic object models will always have a physical properties group different than -1.
local isNonDynamic = ( engineGetModelPhysicalPropertiesGroup(modelID) == -1 )
Click to collapse [-]
Simple example

This example creates a building when the resource starts:

function loadMap()
   -- create a *building* at a specified position with a specified rotation
   createBuilding(4550, 1985, -2544, 94, 0,0,0) -- Maze Bank Tower in LS airport
end
addEventHandler("onClientResourceStart", resourceRoot, loadMap)


See Also