Difference between revisions of "0247"

From GTAMods Wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{OpCode
+
{{Icon|trilogy}}
| ini        = 0247=1,%1o%
+
<hr />
| description = Loads a model into memory
+
'''Description'''
| p1          = [[DFF]] model ID or name as defined at the beginning of the <code>[[main.scm]]</code>
+
: Request the model
| game        = [[GTA 3]], [[Vice City]], [[San Andreas]]
+
'''Syntax'''
| native      = [[REQUEST_MODEL]]
+
: 0247: request_model [''int'']
}}
+
: Model.Load( [''int''] )
This opcode is almost always required when using opcodes that creates [[Spawn a ped|characters]], vehicles, or objects. This is also used to speed up loading certain map objects that you want to load quickly. [[0248]] checks if the model is loaded, [[038B]] instantly loads the model, and [[0249]] marks the model as no longer needed.
+
'''Parameter'''
 +
: [''int'']
 +
:: Valid object model ID number as defined in the [[IDE]] file; also acceptable is model's [[DFF]] name identified by a hash character
 +
'''Native analog'''
 +
: [[REQUEST_MODEL]]
  
==Note==
+
This opcode requests the model. It is almost always required when using opcodes that spawns [[Spawn a ped|characters]], [[Spawn a vehicle|vehicles]], or objects. This is also used to speed up loading certain map objects that you want to load quickly. Opcode [[0248]] checks if the model has been loaded, opcode [[038B]] streams all streamable data (including models), and opcode [[0249]] marks the model as no longer needed.
In [[Sanny Builder]], this opcode is equivalent to the command '''Model.Load'''.
 
Example: <source lang="scm">Model.Load(#BFORI)</source>
 
  
 
==Example==
 
==Example==
Line 86: Line 88:
  
 
__NOTOC__
 
__NOTOC__
 +
[[Category:OpCodes]]

Revision as of 20:20, 24 November 2011

GTA III Vice City San Andreas


Description

Request the model

Syntax

0247: request_model [int]
Model.Load( [int] )

Parameter

[int]
Valid object model ID number as defined in the IDE file; also acceptable is model's DFF name identified by a hash character

Native analog

REQUEST_MODEL

This opcode requests the model. It is almost always required when using opcodes that spawns characters, vehicles, or objects. This is also used to speed up loading certain map objects that you want to load quickly. Opcode 0248 checks if the model has been loaded, opcode 038B streams all streamable data (including models), and opcode 0249 marks the model as no longer needed.

Example

These examples will show you the ways of loading a model, with a ped model as an example. These will be only shown as examples and should not be copied verbatim. There can be several ways of doing this not shown here. The following codes uses the Sanny Builder.

Shorter format using aliases

#BFORI.Load()

repeat
    wait 0
    if
        #BFORI.Available()
    then
        break
    end
until false

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

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

Keywords

load, request, model