Difference between revisions of "01B2"

From GTAMods Wiki
Jump to navigation Jump to search
m
(highlight)
Line 2: Line 2:
 
| games      = {{Icon|t}}
 
| games      = {{Icon|t}}
 
| command    = GIVE_WEAPON_TO_CHAR
 
| command    = GIVE_WEAPON_TO_CHAR
| description = Gives a weapon to the character
+
| description = Gives the weapon to the character
 
| syntax1    = 01B2: give_actor [''char handle''] weapon [''int1''] ammo [''int2'']
 
| syntax1    = 01B2: give_actor [''char handle''] weapon [''int1''] ammo [''int2'']
 
| p1t        = [''char handle'']
 
| p1t        = [''char handle'']
Line 17: Line 17:
 
== 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_NUMBER = <span class="m">17</span>  <span class="c1">// set your weapon number</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_NUMBER 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 59: Line 49:
 
== See also ==
 
== See also ==
 
* {{Icon|3}} {{Icon|SA}} [[017B]], sets the character's weapon ammo
 
* {{Icon|3}} {{Icon|SA}} [[017B]], sets the character's weapon ammo
* {{Icon|3}} {{Icon|VC}} [[01B1]], gives a weapon to the player
+
* {{Icon|3}} {{Icon|VC}} [[01B1]], gives the weapon to the player
 +
 
 +
[[Category:Code Snippets]]

Revision as of 05:57, 12 December 2016

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 number
[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 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 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_NUMBER = 17  // set your weapon number
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_NUMBER 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