Difference between revisions of "009A"

From GTAMods Wiki
Jump to navigation Jump to search
m (more highlighting, headlines)
Line 8: Line 8:
 
'''Parameter 6''': Actor handle<br>
 
'''Parameter 6''': Actor handle<br>
 
'''Supports''': GTA3, Vice City, San Andreas<br>
 
'''Supports''': GTA3, Vice City, San Andreas<br>
 +
'''Analogous to GTA4''': [[CREATE CHAR]]
  
 
This creates a ped at a coordinate. Using this opcode requires [[0247]] or else the game might crash.
 
This creates a ped at a coordinate. Using this opcode requires [[0247]] or else the game might crash.
Line 25: Line 26:
 
===Recommended format===
 
===Recommended format===
 
<source lang="scm">
 
<source lang="scm">
:LoadModel
+
:LoadModel
0247: load_model #BFORI
+
0247: load_model #BFORI
 
   
 
   
:CheckModel
+
:CheckModel
0001: wait 0 ms
+
0001: wait 0 ms
00D6: if 0
+
00D6: if 0
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
+
009A: 0@ = create_actor_pedtype 5 model #BFORI at 0.0 0.0 0.0
0249: release_model #BFORI
+
0249: release_model #BFORI
004E: end_thread
+
004E: end_thread
 
</source>
 
</source>
  
 
===Rockstar's common format===
 
===Rockstar's common format===
 
<source lang="scm">
 
<source lang="scm">
:LoadModel
+
:LoadModel
0247: load_model #BFORI
+
0247: load_model #BFORI
 
   
 
   
:CheckModel
+
:CheckModel
00D6: if 0
+
00D6: if 0
8248:  not model #BFORI available
+
8248:  not model #BFORI available
004D: jump_if_false @CreateModel
+
004D: jump_if_false @CreateModel
0001: wait 0 ms
+
0001: wait 0 ms
0002: jump @CheckModel
+
0002: jump @CheckModel
 
   
 
   
:CreateModel
+
: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
004E: end_thread
+
004E: end_thread
 
</source>
 
</source>
  
Line 59: Line 60:
 
<source lang="scm">
 
<source lang="scm">
 
:LoadModel
 
:LoadModel
00D6: if 0
+
00D6: if 0
8248:  not model #BFORI available
+
8248:  not model #BFORI available
004D: jump_if_false @CreateModel
+
004D: jump_if_false @CreateModel
0247: load_model #BFORI
+
0247: load_model #BFORI
0001: wait 0 ms
+
0001: wait 0 ms
0002: jump @LoadModel
+
0002: jump @LoadModel
 
   
 
   
:CreateModel
+
: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
004E: end_thread
+
004E: end_thread
 
</source>
 
</source>
  
Line 80: Line 81:
 
Loading special peds is similar to loading regular peds. The following code uses Sanny Builder.
 
Loading special peds is similar to loading regular peds. The following code uses Sanny Builder.
 
<source lang="scm">
 
<source lang="scm">
:LoadModel
+
:LoadModel
023C: load_special_actor 'ANDRE' as 1
+
023C: load_special_actor 'ANDRE' as 1
 
   
 
   
:CheckModel
+
:CheckModel
0001: wait 0 ms
+
0001: wait 0 ms
00D6: if 0
+
00D6: if 0
023D:  special_actor 1 loaded
+
023D:  special_actor 1 loaded
004D: jump_if_false @CheckModel
+
004D: jump_if_false @CheckModel
009A: 0@ = create_actor_pedtype 23 model #SPECIAL01 at 0.0 0.0 0.0
+
009A: 0@ = create_actor_pedtype 23 model #SPECIAL01 at 0.0 0.0 0.0
0296: unload_special_actor 1
+
0296: unload_special_actor 1
004E: end_thread
+
004E: end_thread
 
</source>
 
</source>
  

Revision as of 18:47, 27 December 2008

009A=6,%1d% %2o% %3d% %4d% %5d% %6d%
Description: Creates a ped at a coordinate
Parameter 1: Ped type
Parameter 2: Valid ped DFF model name or ID number as defined in the IDE file
Parameter 3: X-coordinate
Parameter 4: Y-coordinate
Parameter 5: Z-coordinate
Parameter 6: Actor handle
Supports: GTA3, Vice City, San Andreas
Analogous to GTA4: CREATE CHAR

This creates a ped at a coordinate. Using this opcode requires 0247 or else the game might crash.

Notes

Sometimes this opcode is written as this:
009A=6,%6d% %1d% %2o% %3d% %4d% %5d%
The sixth parameter is placed in the beginning instead of at the end. This depends on which INI file you use.
Sanny Builder by default:

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

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

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.

Recommended format

 :LoadModel
 0247: load_model #BFORI
 
 :CheckModel
 0001: wait 0 ms
 00D6: if 0
 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

Rockstar's common format

 :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

Rockstar's less common format:

: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
 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 0
 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