Difference between revisions of "CreateObject"

From Dragon Age Toolset Wiki
Jump to: navigation, search
m (Examples: replaced non-example with an example, however should still be transcluded)
m (Examples)
Line 54: Line 54:
 
<dascript>void main()
 
<dascript>void main()
 
{     
 
{     
     // get a location using a waypoint with a unique tag
+
     // get a location from a waypoint with a unique tag
 
     object oWaypoint = GetObjectByTag("wp_werewolf_spawn");  
 
     object oWaypoint = GetObjectByTag("wp_werewolf_spawn");  
 
     location lWaypoint = GetLocation(oWaypoint);
 
     location lWaypoint = GetLocation(oWaypoint);

Revision as of 11:57, 13 November 2009

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
);
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.

Try avoiding 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);
}

See also

CreatePool, DestroyObject, OBJECT_TYPE*