Difference between revisions of "02B9"

From GTAMods Wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
 
{{Icon|3}} {{Icon|SA}}
 
{{Icon|3}} {{Icon|SA}}
 
<hr />
 
<hr />
<onlyinclude>{{#ifeq:{{{transcludesection|opcode}}}|opcode|'''Description'''
+
<onlyinclude>{{#ifeq:{{{transcludesection|opcode}}}|opcode|
 +
'''Description'''
 
: Deactivates a [[garage]]
 
: Deactivates a [[garage]]
 
'''Syntax'''
 
'''Syntax'''
Line 11: Line 12:
 
:: The [[Garage#GTA III 2|handle of the garage]], for GTA III
 
:: The [[Garage#GTA III 2|handle of the garage]], for GTA III
 
: [''string'']
 
: [''string'']
:: The [[Garage#San Andreas 2|name of the garage]], for San Andreas
+
:: The [[Garage#San Andreas 2|name of the garage]], for San Andreas (max size 8 characters)
  
This opcode deactivates a garage. It can be reactivated by using opcode [[0299]]. Normal garage functions will be limited, like save garages not opening, spray shops not being able to finish spraying, and bomb shops not being able to finish fitting the bomb.}}</onlyinclude>
+
This opcode deactivates a garage. It can be reactivated by using opcode [[0299]]. Normal garage functions will be limited, like save garages not opening, spray shops not being able to finish spraying, and bomb shops not being able to finish fitting the bomb.
 +
}}</onlyinclude>
  
 
== For Vice City ==
 
== For Vice City ==
This opcode does not exist in Vice City, but the deactivation behavior of the garage remains. The following example, using Sanny Builder with [[CLEO]] for Vice City, and tested on US v1.0, should work similarly to this opcode
+
This opcode does not exist in Vice City, but the deactivation behavior of the garage remains. 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">
008B: 0@ = [garage handle]  // change [garage handle] to the actual handle of the garage, i.e. $655 for the Links View Apartment garage
+
:opcode_02B9
 +
// 0@ - input param (garage handle)
 
0@ *= 0xA8  // size of each garage block
 
0@ *= 0xA8  // size of each garage block
 
0@ += 0x812668  // add to beginning of garage block
 
0@ += 0x812668  // add to beginning of garage block
0@ += 0x5  // offset that controls deactivation
+
0@ += 0x5  // activation offset
 
05DF: write_memory 0@ size 1 value 1 virtual_protect 0  // deactivate garage
 
05DF: write_memory 0@ size 1 value 1 virtual_protect 0  // deactivate garage
 +
05F6: ret 0
 +
</source>
 +
Use this line as a substitute for opcode 02B9. This can be placed anywhere within the external script:
 +
<source lang="scm">
 +
05F5: call_scm_func @opcode_02B9 inputs 1 garage_handle [garage handle]  // change [garage handle] to the actual handle of the garage, i.e. $655 for the Links View Apartment garage
 
</source>
 
</source>
  

Revision as of 22:48, 2 January 2012

GTA III San Andreas


Description

Deactivates a garage

Syntax

GTA III 02B9: deactivate_garage [garage handle]
San Andreas 02B9: deactivate_garage [string]
San Andreas Garage.Deactivate( [string] )

Parameter

[garage handle]
The handle of the garage, for GTA III
[string]
The name of the garage, for San Andreas (max size 8 characters)

This opcode deactivates a garage. It can be reactivated by using opcode 0299. Normal garage functions will be limited, like save garages not opening, spray shops not being able to finish spraying, and bomb shops not being able to finish fitting the bomb.

For Vice City

This opcode does not exist in Vice City, but the deactivation behavior of the garage remains. 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_02B9
// 0@ - input param (garage handle)
0@ *= 0xA8  // size of each garage block
0@ += 0x812668  // add to beginning of garage block
0@ += 0x5  // activation offset
05DF: write_memory 0@ size 1 value 1 virtual_protect 0  // deactivate garage
05F6: ret 0

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

05F5: call_scm_func @opcode_02B9 inputs 1 garage_handle [garage handle]  // change [garage handle] to the actual handle of the garage, i.e. $655 for the Links View Apartment garage

Keywords

garage, deactivate, disable