Difference between revisions of "0413"

From GTAMods Wiki
Jump to navigation Jump to search
(code improved by Seemann)
m
Line 1: Line 1:
 
{{Icon|3}} '''SET_GET_OUT_OF_JAIL_FREE'''
 
{{Icon|3}} '''SET_GET_OUT_OF_JAIL_FREE'''
 
<hr />
 
<hr />
<onlyinclude>{{#ifeq:{{{transcludesection|opcode}}}|opcode|
 
 
'''Description'''
 
'''Description'''
 
: Enables get out of jail free for the player
 
: Enables get out of jail free for the player
Line 10: Line 9:
 
:: The [[0053|handle of the player]]
 
:: The [[0053|handle of the player]]
 
: [''int'']
 
: [''int'']
:: 0 = disable out of jail free, {{hint|1|or any value other than 0}} = enable out of jail free
+
:: 0 = disable out of jail free (default), {{hint|1|or any value other than 0}} = enable out of jail free
  
This opcode sets get out of jail free for the player. When enabled, if the player is busted, he 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 again, you have to enable it through this opcode again.
+
This opcode sets get out of jail free for the player. When enabled, if the player is busted, he 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 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.
}}</onlyinclude>
 
  
 
== For Vice City ==
 
== For Vice City ==
This opcode does not exist in Vice City, but the function that controls the busted sequence still contains this feature. 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:
 
<source lang="scm">
 
<source lang="scm">
 
:opcode_0413
 
:opcode_0413
Line 32: Line 30:
 
// change [player handle] to the actual handle of the player, i.e. $PLAYER_CHAR, and change [int] to a flag
 
// change [player handle] to the actual handle of the player, i.e. $PLAYER_CHAR, and change [int] to a flag
 
</source>
 
</source>
 +
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 ==

Revision as of 21:21, 15 June 2015

GTA III SET_GET_OUT_OF_JAIL_FREE


Description

Enables 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, he 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 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 (flag)
0@ *= 368
0@ += 0x94AD28
0@ += 0x145
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]
// change [player handle] to the actual handle of the player, i.e. $PLAYER_CHAR, and change [int] to a flag

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

Keywords

set, toggle, player, free, prison, police, busted