Difference between revisions of "02B9"

From GTAMods Wiki
Jump to navigation Jump to search
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Icon|3}} {{Icon|SA}}
+
{{OpCode
<hr />
+
| games      = {{Icon|3}} {{Icon|SA}}
<onlyinclude>{{#ifeq:{{{transcludesection|opcode}}}|opcode|
+
| command    = DEACTIVATE_GARAGE
'''Description'''
+
| description = Deactivates the [[garage]]
: Deactivates a [[garage]]
+
| syntax1    = {{Icon|3}} 02B9: deactivate_garage [''garage handle'']
'''Syntax'''
+
| syntax2    = {{Icon|SA}} 02B9: deactivate_garage '[''string'']'
: {{Icon|3}} 02B9: deactivate_garage [''garage handle'']
+
| syntax3    = {{Icon|SA}} Garage.Deactivate( '[''string'']' )
: {{Icon|SA}} 02B9: deactivate_garage [''string'']
+
| p1t        = [''garage handle'']
: {{Icon|SA}} Garage.Deactivate( [''string''] )
+
| p1d        = The [[Garage#GTA III 2|handle of the garage]], for GTA III
'''Parameter'''
+
| p2t        = [''string'']
: [''garage handle'']
+
| p2d        = The [[Garage#San Andreas 2|name of the garage]], for San Andreas
:: The [[Garage#GTA III 2|handle of the garage]], for GTA III
+
}}
: [''string'']
 
:: 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.
+
This opcode deactivates the 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 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:
 
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">
+
{{Pre|class=sb-code|1=
:opcode_02B9
+
<span class="nl">:opcode_02B9</span>
// 0@ - input param (garage handle)
+
<span class="c1">// 0@ - input param (garage handle)</span>
0@ *= 0xA8  // size of each garage block
+
<span class="nv">0@</span> *= <span class="m">0xA8</span> <span class="c1">// size of each garage struct</span>
0@ += 0x812668  // add to beginning of garage block
+
<span class="nv">0@</span> += <span class="m">0x812668</span> <span class="c1">// base address for garages</span>
0@ += 0x5  // activation offset
+
<span class="nv">0@</span> += <span class="m">0x5</span> <span class="c1">// activation offset</span>
05DF: write_memory 0@ size 1 value 1 virtual_protect 0  // deactivate garage
+
05DF: write_memory <span class="nv">0@</span> size <span class="m">1</span> value <span class="m">1</span> virtual_protect <span class="m">0</span> <span class="c1">// deactivate garage</span>
05F6: ret 0
+
05F6: ret <span class="m">0</span>
</source>
+
}}
 +
 
 
Use this line as a substitute for opcode 02B9. This can be placed anywhere within the external script:
 
Use this line as a substitute for opcode 02B9. This can be placed anywhere within the external script:
<source lang="scm">
+
{{Pre|class=sb-code|1=
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
+
05F5: call_scm_func <span class="nl">@opcode_02B9</span> inputs <span class="m">1</span> garage_handle [garage handle]
</source>
+
}}
  
 
== Keywords ==
 
== Keywords ==
 
garage, deactivate, disable
 
garage, deactivate, disable
 
[[Category:OpCodes]][[Category:Code Snippets]]
 

Latest revision as of 18:42, 24 December 2016

GTA III San Andreas DEACTIVATE_GARAGE


Description
Deactivates the 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

This opcode deactivates the 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 struct
0@ += 0x812668  // base address for garages
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]

Keywords

garage, deactivate, disable