CreateObject
From Dragon Age Toolset Wiki
Create an object in the specified location. Will attempt to use a corresponding pool if one exists.
object CreateObject(
int nObjectType,
resource rTemplate,
location lLoc,
string sOverrideScript = "",
int bSpawnActive = TRUE,
int bNoPermDeath = FALSE
);
int nObjectType,
resource rTemplate,
location lLoc,
string sOverrideScript = "",
int bSpawnActive = TRUE,
int bNoPermDeath = FALSE
);
- Parameters:
- nObjectType
- The object type (placeable, creature, etc)
- rTemplate
- The template to use
- lLoc
- Location of the object
- sOverrideScript
- Script assigned to the object. If empty, the engine will use the template script
- bSpawnActive
- Whether or not this object is enabled at spawn time
- bNoPermDeath
- Set to TRUE to avoid destroying the object permanently (only valid for pool creatures)
- Returns:
- The new object, OBJECT_INVALID on failure
- Source:
- script.ldf
Remarks
Note that dynamic creation of objects in the engine is subject to a host of limitations, reason being attempts to cut down 'unaccounted' memory usage.
Avoid using CreateObject whenever possible.
These objects can be created with CreateObject:
- Creature
- Placeable
These objects can not be created with CreateObject:
- Merchant
Examples
void main() { // get a location from a waypoint with a unique tag object oWaypoint = GetObjectByTag("wp_werewolf_spawn"); location lWaypoint = GetLocation(oWaypoint); // create a werewolf object at the location object oWerewolf = CreateObject(OBJECT_TYPE_CREATURE, R"werewolf_core.utc", lWaypoint); }