Difference between revisions of "009A"

From GTAMods Wiki
Jump to navigation Jump to search
Line 23: Line 23:
  
 
==Example==
 
==Example==
Beginners have a hard time creating actors because it is tough to learn how to make a code that would create an actor successfully. These will be only shown as examples and should not be copied verbatim. There are several ways of doing this. The following codes uses the Sanny Builder.
+
Beginners have a hard time creating actors because it is tough to learn how to make a code that would create an actor successfully. This will be only shown as an example and should not be copied verbatim. The following codes uses the Sanny Builder.
 
 
===Recommended format===
 
 
<source lang="scm">
 
<source lang="scm">
 
  :LoadModel
 
  :LoadModel
Line 32: Line 30:
 
  :CheckModel
 
  :CheckModel
 
  0001: wait 0 ms
 
  0001: wait 0 ms
  00D6: if 0
+
  00D6: if
 
  0248:  model #BFORI available
 
  0248:  model #BFORI available
 
  004D: jump_if_false @CheckModel
 
  004D: jump_if_false @CheckModel
009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0
 
0249: release_model #BFORI
 
004E: end_thread
 
</source>
 
 
===Rockstar's common format===
 
<source lang="scm">
 
:LoadModel
 
0247: load_model #BFORI
 
 
:CheckModel
 
00D6: if 0
 
8248:  not model #BFORI available
 
004D: jump_if_false @CreateModel
 
0001: wait 0 ms
 
0002: jump @CheckModel
 
 
:CreateModel
 
009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0
 
0249: release_model #BFORI
 
004E: end_thread
 
</source>
 
 
===Rockstar's less common format:===
 
<source lang="scm">
 
:LoadModel
 
00D6: if 0
 
8248:  not model #BFORI available
 
004D: jump_if_false @CreateModel
 
0247: load_model #BFORI
 
0001: wait 0 ms
 
0002: jump @LoadModel
 
 
:CreateModel
 
 
  009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0
 
  009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0
 
  0249: release_model #BFORI
 
  0249: release_model #BFORI
Line 87: Line 51:
 
  :CheckModel
 
  :CheckModel
 
  0001: wait 0 ms
 
  0001: wait 0 ms
  00D6: if 0
+
  00D6: if
 
  023D:  special_actor 1 loaded
 
  023D:  special_actor 1 loaded
 
  004D: jump_if_false @CheckModel
 
  004D: jump_if_false @CheckModel

Revision as of 18:47, 20 January 2009

{{{games}}}


Description
Creates a ped at a coordinate
Syntax
{{{syntax1}}}
Parameter
Native analog
CREATE_CHAR

This creates a character at a coordinate. Using this opcode requires opcode 0247 or else the game might crash. The character will stay visible 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. Note that the sixth parameter is placed in the beginning instead of at the end.

Sanny Builder example:

009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0

Notes

The above format is more commonly used. The actual format of this opcode is in order:
009A=6,%1d% %2o% %3d% %4d% %5d% %6d%
The format to use depends on which INI file you use.

In Sanny Builder, this opcode is equivalent to the command Actor.Create.

Example:

Actor.Create(0@, 5, #BFORI, 0.0, 0.0, 0.0)

Example

Beginners have a hard time creating actors because it is tough to learn how to make a code that would create an actor successfully. This will be only shown as an example and should not be copied verbatim. The following codes uses the Sanny Builder.

 :LoadModel
 0247: load_model #BFORI
 
 :CheckModel
 0001: wait 0 ms
 00D6: if
 0248:   model #BFORI available
 004D: jump_if_false @CheckModel
 009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0
 0249: release_model #BFORI
 004E: end_thread

Special Peds

Special peds uses models SPECIAL#.dff, where # is a number from 01 to 10. 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 San Andreas, the game actively uses special actor numbers 1 to 5. The rest is not actively used in the game but it is still usable.

Example

Loading special peds is similar to loading regular peds. The following code uses Sanny Builder.

 :LoadModel
 023C: load_special_actor 'ANDRE' as 1
 
 :CheckModel
 0001: wait 0 ms
 00D6: if
 023D:   special_actor 1 loaded
 004D: jump_if_false @CheckModel
 009A: 0@ = create_actor_pedtype 23 model #SPECIAL01 at 0.0 0.0 0.0
 0296: unload_special_actor 1
 004E: end_thread

Keywords

create, spawn, actor, ped, pedestrian, pedtype, model, character