spawn npc
The spawn npc
script command is used to create a new NPC entity. The new entity will be placed in the world at the position of the given target entity with the same rotation.
This command only creates NPC entities. To create items use spawn item
, inventory add
, inventory addmulti
, inventory playeradd
, inventory playeraddmulti
or setweapon
.
To replace an existing entity use replaceme
instead.
reload
event.Usage
spawn npc <script> <target>
Context: For self
Parameters:
Parameter | Type | Description |
---|---|---|
script |
path |
Script path (without file extension) of the entity to add, relative to graph/obj3d/interactive/npc |
target |
entity |
Existing entity from which to copy the position and rotation for the new entity |
Script path
The entity class script is loaded from graph/obj3d/interactive/npc/<script>.asl
.
The initial mesh of the entity will be graph/obj3d/interactive/npc/<script>.teo
with the cooked mesh loaded from game/graph/obj3d/interactive/npc/<script>.ftl
. Either the raw mesh, cooked mesh or entity class script file must exist or the entity will not be created and the old entity will not be destroyed.
Entity ID
The ID of the created entity can be retrieved via the ^last_spawned
system variable. It will be made up of the filename component of the script path (the entity class) followed by _
and a previously unused four-digit instance number - meaning one that does not have an instance directory in the game resources under the script path and does not have an existing entity in the current area or save file.
This also means that it is not possible to create entities with instance scripts using this command (or any other script command).
If the created entity is destroyed before this command returns (because the init events destroyed it) then then ^last_spawned
will be none
. If the init events spawn additional items then ^last_spawned
will contain the ID of the last spawned item.
Entity initialization
The created item will be sent the load
, init
and initend
events (in that order).