- Spawns a character at a point
- 009A: [var] = create_actor [int1] [int2] at [flt1] [flt2] [flt3]
- Actor.Create( [var], [int1], [int2], [flt1], [flt2], [flt3] )
- Variable to store the handle of the character
This spawns a character at a point. Using this opcode requires the model to be loaded through opcode 0247 or else the game might crash. The major script editors like Sanny Builder support using the character's DFF model name and automatically converts those values into integers upon compilation. Once spawned, the character will be permanent in the game even after it dies or after you die or get busted. If you no longer need your character anymore, you could turn it into a random ped using opcode 01C2 or destroy it instantly using opcodes 009B or 034F.
- See also: Spawn a ped
The following example, using Sanny Builder, will spawn a ped close to the player character.
// set constants const CHAR_MODEL = #BFORI CHAR_HANDLE = 0@ X_POS = 1@ Y_POS = 2@ Z_POS = 3@ end // load model, required to prevent unnecessary crash! 0247: request_model CHAR_MODEL // check if model is loaded repeat wait 0 if 0248: model CHAR_MODEL available then break end until false // spawn character 00A0: store_actor $PLAYER_ACTOR position_to X_POS Y_POS Z_POS X_POS += 4.0 009A: CHAR_HANDLE = create_actor 4 CHAR_MODEL at X_POS Y_POS Z_POS // cleanup 0249: release_model CHAR_MODEL 01C2: remove_references_to_actor CHAR_HANDLE
Special peds uses models
SPECIAL#.dff, where # is a number from 01 to 04 in GTA3, 01 to 21 in Vice City, and 01 to 10 in San Andreas. It is used in conjunction with 023C. The special actor ID number corresponds to the number in
SPECIAL#.dff. You do not have to load
SPECIAL#.dff as it is always loaded into the game. Each special actor ID can accommodate only one special ped at a time and can be replaced by another special ped if the other special ped has the same ID.
In GTA 3 and Vice City, every special actor number is used at least once. In San Andreas, the game actively uses special actor numbers 1 to 5 while the rest is not actively used in the game.
Loading special peds is similar to loading regular peds. The following example, using Sanny Builder, will spawn a special ped close to the player character.
// set constants const CHAR_HANDLE = 0@ X_POS = 1@ Y_POS = 2@ Z_POS = 3@ end // assign special model to slot 023C: load_special_actor 1 'PLAYER' // GTA III and Vice City only // 023C: load_special_actor 'ANDRE' as 1 // uncomment for SA // check if model in slot is available repeat wait 0 if 023D: special_actor 1 loaded then break end until false // spawn character 00A0: store_actor $PLAYER_ACTOR position_to X_POS Y_POS Z_POS X_POS += 4.0 009A: CHAR_HANDLE = create_actor_pedtype 21 model #SPECIAL01 at X_POS Y_POS Z_POS // GTA III and Vice City only // 009A: CHAR_HANDLE = create_actor_pedtype 23 model #SPECIAL01 at X_POS Y_POS Z_POS // uncomment for SA // cleanup 0296: unload_special_actor 1 01C2: remove_references_to_actor CHAR_HANDLE
create, spawn, actor, ped, pedestrian, pedtype, model, character