Difference between revisions of "0413"

From GTAMods Wiki
Jump to navigation Jump to search
(highlight)
 
Line 10: Line 10:
 
}}
 
}}
  
This opcode sets get out of jail free for the player. When enabled, if the player is busted, you will not lose any cash after respawning but weapons will still be removed. The get out of jail free works once only, so to allow this effect again you have to enable it through this opcode again. The value set with this opcode is saved in [[Saves_(GTA 3)#Block 16: Player Info|block 16 of the save file]] in GTA III. Although the opcode does not exist in Vice City and San Andreas, the behavior still exists and can be enabled through other means.
+
This opcode sets get out of jail free for the player. When enabled, if the player is busted, you will not lose any cash after respawning but weapons will still be removed. The get out of jail free works once only, so to allow this effect again you have to enable it through this opcode again. The value set with this opcode is saved in [[Saves (GTA 3)#Block 16: Player Info|block 16 of the save file]] in GTA III. Although the opcode does not exist in Vice City and San Andreas, the behavior still exists and can be enabled through other means.
  
 
== For Vice City ==
 
== For Vice City ==
 
The following example, using Sanny Builder with [[CLEO]] for Vice City in an external script (not the main one), and tested on US v1.0, should work similarly to this opcode. Place this at the end of the file:
 
The following example, using Sanny Builder with [[CLEO]] for Vice City in an external script (not the main one), and tested on US v1.0, should work similarly to this opcode. Place this at the end of the file:
<syntaxhighlight lang="scm">
+
{{Pre|class=sb-code|1=
:opcode_0413
+
<span class="nl">:opcode_0413</span>
// 0@ - input param (player handle)
+
<span class="c1">// 0@ - input param (player handle)</span>
// 1@ - input param (set)
+
<span class="c1">// 1@ - input param (set)</span>
0@ *= 368
+
<span class="nv">0@</span> *= <span class="m">0x170</span>  <span class="c1">// size of each player info struct</span>
0@ += 0x94AD28
+
<span class="nv">0@</span> += <span class="m">0x94AD28</span>  <span class="c1">// base address for player info</span>
0@ += 0x145
+
<span class="nv">0@</span> += <span class="m">0x145</span>  <span class="c1">// get out of jail free offset</span>
05DF: write_memory 0@ size 1 value 1@ virtual_protect 0
+
05DF: write_memory <span class="nv">0@</span> size <span class="m">1</span> value <span class="nv">1@</span> virtual_protect <span class="m">0</span>
05F6: ret 0
+
05F6: ret <span class="m">0</span>
</syntaxhighlight>
+
}}
  
 
Use this line as a substitute for opcode 0413. This can be placed anywhere within the external script:
 
Use this line as a substitute for opcode 0413. This can be placed anywhere within the external script:
<syntaxhighlight lang="scm">
+
{{Pre|class=sb-code|1=
05F5: call_scm_func @opcode_0413 inputs 2 player_handle [player handle] get_out_of_jail_free [int]
+
05F5: call_scm_func <span class="nl">@opcode_0413</span> inputs <span class="m">2</span> player_handle [player handle] get_out_of_jail_free [int]
</syntaxhighlight>
+
}}
 
The value set using this technique is saved in [[Saves (GTA VC)#Block 18: Player Info|block 18 of the save file]] in Vice City.
 
The value set using this technique is saved in [[Saves (GTA VC)#Block 18: Player Info|block 18 of the save file]] in Vice City.
  
 
== Keywords ==
 
== Keywords ==
 
set, toggle, player, get, out, free, prison, jail, police, busted
 
set, toggle, player, get, out, free, prison, jail, police, busted

Latest revision as of 21:26, 26 November 2016

GTA III SET_GET_OUT_OF_JAIL_FREE


Description
Sets get out of jail free for the player
Syntax
0413: set_player [player handle] get_out_of_jail_free [int]
Parameter
[player handle]
The handle of the player
[int]
0 = disable out of jail free (default), 1 = enable out of jail free

This opcode sets get out of jail free for the player. When enabled, if the player is busted, you will not lose any cash after respawning but weapons will still be removed. The get out of jail free works once only, so to allow this effect again you have to enable it through this opcode again. The value set with this opcode is saved in block 16 of the save file in GTA III. Although the opcode does not exist in Vice City and San Andreas, the behavior still exists and can be enabled through other means.

For Vice City

The following example, using Sanny Builder with CLEO for Vice City in an external script (not the main one), and tested on US v1.0, should work similarly to this opcode. Place this at the end of the file:

:opcode_0413
// 0@ - input param (player handle)
// 1@ - input param (set)
0@ *= 0x170  // size of each player info struct
0@ += 0x94AD28  // base address for player info
0@ += 0x145  // get out of jail free offset
05DF: write_memory 0@ size 1 value 1@ virtual_protect 0
05F6: ret 0

Use this line as a substitute for opcode 0413. This can be placed anywhere within the external script:

05F5: call_scm_func @opcode_0413 inputs 2 player_handle [player handle] get_out_of_jail_free [int]

The value set using this technique is saved in block 18 of the save file in Vice City.

Keywords

set, toggle, player, get, out, free, prison, jail, police, busted