Difference between revisions of "01B2"

From GTAMods Wiki
Jump to navigation Jump to search
m (Example: 01C2 requires an actor handle, not a character model id.)
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Icon|trilogy}} '''GIVE_WEAPON_TO_CHAR'''
+
{{OpCode
<hr />
+
| games      = {{Icon|t}}
'''Description'''
+
| command    = GIVE_WEAPON_TO_CHAR
: Gives a weapon to the character
+
| description = Gives the [[weapon]] to the character
'''Syntax'''
+
| syntax1    = 01B2: give_actor [''char handle''] weapon [''int1''] ammo [''int2'']
: 01B2: give_actor [''char handle''] weapon [''int1''] ammo [''int2'']
+
| p1t        = [''char handle'']
'''Parameter'''
+
| p1d        = The handle of the character
: [''char handle'']
+
| p2t        = [''int1'']
:: The handle of the character
+
| p2d        = [[Weapon#Lists of weapons|Weapon type]]
: [''int1'']
+
| p3t        = [''int2'']
:: [[Weapon#Lists of Weapons|Weapon number]]
+
| p3d        = Ammo
: [''int2'']
+
| native      = [[GIVE_WEAPON_TO_CHAR]]
:: Ammo
+
}}
'''Native analog'''
 
: [[GIVE_WEAPON_TO_CHAR]]
 
  
This opcode adds to the character's weapon ammo and sets the weapon as the current one for the character. If the character does not have the weapon, the weapon is given to it and replaces any weapon of the same group. Using this opcode requires loading the weapon model through [[0247]] or else the weapon might not be visible which can crash the game. When the character dies, it drops the weapon as a [[0213#Weapons|pickup type 4 with predefined ammo count]].
+
This opcode adds to the character's weapon ammo and sets the weapon as the current one for the character. If the character does not have the weapon, the weapon is given to it and replaces any weapon of the same slot. Using this opcode requires loading the weapon model through [[0247]] or else the weapon might not be visible which can crash the game. When the character dies, it drops the weapon as a [[0213#Weapons|pickup type 4 with predefined ammo count]].
  
 
== Example ==
 
== Example ==
 
The following example using Sanny Builder will spawn a character holding a pistol close to the player character. The values used here are for Vice City and should be changed if used for other games.
 
The following example using Sanny Builder will spawn a character holding a pistol close to the player character. The values used here are for Vice City and should be changed if used for other games.
 +
{{Pre|class=sb-code|1=
 +
<span class="c1">// set constants</span>
 +
<span class="k">const</span>
 +
CHAR_MODEL = <span class="nt">#BFORI</span>  <span class="c1">// set your character model</span>
 +
WEAP_MODEL = <span class="nt">#COLT45</span>  <span class="c1">// set your weapon model</span>
 +
WEAP_TYPE = <span class="m">17</span>  <span class="c1">// set your weapon type</span>
 +
SPAWNED_CHAR = <span class="nv">0@</span>
 +
X_POS = <span class="nv">1@</span>
 +
Y_POS = <span class="nv">2@</span>
 +
Z_POS = <span class="nv">3@</span>
 +
<span class="k">end</span>
  
<syntaxhighlight lang="scm">
+
<span class="c1">// load models, required to prevent unnecessary crash!</span>
// set constants
+
[[0247]]: request_model CHAR_MODEL
const
+
[[0247]]: request_model WEAP_MODEL
CHAR_MODEL = #BFORI
+
[[038B]]: load_requested_models
WEAP_MODEL = #COLT45
+
<span class="c1">// spawn character with weapon</span>
WEAP_NUMBER = 17  // each game is different! see weapons page for the proper number to use!
+
[[00A0]]: store_actor <span class="nv">$PLAYER_ACTOR</span> position_to X_POS Y_POS Z_POS
SPAWNED_CHAR = 0@
+
X_POS += <span class="m">4.0</span>
X_POS = 1@
+
[[009A]]: SPAWNED_CHAR = create_actor <span class="m">4</span> CHAR_MODEL at X_POS Y_POS Z_POS
Y_POS = 2@
+
01B2: give_actor SPAWNED_CHAR weapon WEAP_TYPE ammo <span class="m">100</span>
Z_POS = 3@
+
<span class="c1">// cleanup</span>
end
+
[[0249]]: release_model CHAR_MODEL
 
+
[[0249]]: release_model WEAP_MODEL
// load models, required to prevent unnecessary crash!
+
[[01C2]]: remove_references_to_actor SPAWNED_CHAR
0247: request_model CHAR_MODEL
+
}}
0247: request_model WEAP_MODEL
 
// check if models are loaded
 
repeat
 
    wait 0
 
    if and
 
        0248:   model CHAR_MODEL available
 
        0248:  model WEAP_MODEL available
 
    then
 
        break
 
    end
 
until false
 
// spawn character with weapon
 
00A0: store_actor $PLAYER_ACTOR position_to X_POS Y_POS Z_POS
 
X_POS += 4.0
 
009A: SPAWNED_CHAR = create_actor 4 CHAR_MODEL at X_POS Y_POS Z_POS
 
01B2: give_actor SPAWNED_CHAR weapon WEAP_NUMBER ammo 100
 
// cleanup
 
0249: release_model CHAR_MODEL
 
0249: release_model WEAP_MODEL
 
01C2: remove_references_to_actor SPAWNED_CHAR
 
</syntaxhighlight>
 
  
 
== Keywords ==
 
== Keywords ==
Line 60: Line 48:
  
 
== See also ==
 
== See also ==
* [[017B]], sets the character's weapon ammo
+
* {{Icon|3}} {{Icon|SA}} [[017B]], sets the character's weapon ammo
* [[01B1]], gives a weapon to the player
+
* {{Icon|3}} {{Icon|VC}} [[01B1]], gives the weapon to the player
  
[[Category:OpCodes]]
 
 
[[Category:Code Snippets]]
 
[[Category:Code Snippets]]

Latest revision as of 19:28, 7 July 2017

GTA III Vice City San Andreas GIVE_WEAPON_TO_CHAR


Description
Gives the weapon to the character
Syntax
01B2: give_actor [char handle] weapon [int1] ammo [int2]
Parameter
[char handle]
The handle of the character
[int1]
Weapon type
[int2]
Ammo
Native analog
GIVE_WEAPON_TO_CHAR

This opcode adds to the character's weapon ammo and sets the weapon as the current one for the character. If the character does not have the weapon, the weapon is given to it and replaces any weapon of the same slot. Using this opcode requires loading the weapon model through 0247 or else the weapon might not be visible which can crash the game. When the character dies, it drops the weapon as a pickup type 4 with predefined ammo count.

Example

The following example using Sanny Builder will spawn a character holding a pistol close to the player character. The values used here are for Vice City and should be changed if used for other games.

// set constants
const
CHAR_MODEL = #BFORI  // set your character model
WEAP_MODEL = #COLT45  // set your weapon model
WEAP_TYPE = 17  // set your weapon type
SPAWNED_CHAR = 0@
X_POS = 1@
Y_POS = 2@
Z_POS = 3@
end

// load models, required to prevent unnecessary crash!
0247: request_model CHAR_MODEL
0247: request_model WEAP_MODEL
038B: load_requested_models
// spawn character with weapon
00A0: store_actor $PLAYER_ACTOR position_to X_POS Y_POS Z_POS
X_POS += 4.0
009A: SPAWNED_CHAR = create_actor 4 CHAR_MODEL at X_POS Y_POS Z_POS
01B2: give_actor SPAWNED_CHAR weapon WEAP_TYPE ammo 100
// cleanup
0249: release_model CHAR_MODEL
0249: release_model WEAP_MODEL
01C2: remove_references_to_actor SPAWNED_CHAR

Keywords

give, assign, actor, character, weapon

See also

  • GTA III San Andreas 017B, sets the character's weapon ammo
  • GTA III Vice City 01B1, gives the weapon to the player