Difference between revisions of "0542"
Jump to navigation
Jump to search
(page updates + named values) |
(code snippet to undo this) |
||
Line 92: | Line 92: | ||
| Hyman Condo | | Hyman Condo | ||
|} | |} | ||
+ | |||
+ | == Removing an owned property == | ||
+ | This supplemental code allows you to remove a property from the property owned stat. It uses Sanny Builder with [[CLEO]] for Vice City in an external script (not the main one) and tested on US v1.0. | ||
+ | <syntaxhighlight lang="scm"> | ||
+ | :opcode_0542_supplement | ||
+ | // 0@ - input param (property) | ||
+ | 0@ += 0xA10AFD // base address for property owned | ||
+ | 05E0: 1@ = read_memory 0@ size 1 virtual_protect 0 // get status of property | ||
+ | if | ||
+ | 1@ == 1 // if it is owned | ||
+ | then | ||
+ | 05DF: write_memory 0@ size 1 value 0 virtual_protect 0 // set to not owned | ||
+ | 05E0: 0@ = read_memory 0x978E08 size 4 virtual_protect 0 // get total owned | ||
+ | 0@ -= 1 // decrement by 1 | ||
+ | 05DF: write_memory 0x978E08 size 4 value 0@ virtual_protect 0 // set total to new value | ||
+ | end | ||
+ | 05F6: ret 0 | ||
+ | </syntaxhighlight> | ||
+ | Place this line anywhere within the external script: | ||
+ | <syntaxhighlight lang="scm"> | ||
+ | 05F5: call_scm_func @opcode_0542_supplement inputs 1 property [property] | ||
+ | </syntaxhighlight> | ||
== Keywords == | == Keywords == | ||
Line 97: | Line 119: | ||
[[Category:OpCodes]] | [[Category:OpCodes]] | ||
+ | [[Category:Code Snippets]] |
Revision as of 05:23, 9 January 2015
Description
- Adds a property to the property owned stat
Syntax
- 0542: add_property [int] to_property_own_stats
Parameter
- [int]
- Integer value
This opcode adds a property to the "Property Owned" stat (GXT string PROPOWN
). The number of property is incremented by one and the name is added to the list of properties. Values higher than the ones in the game can be used but only the number of properties will be incremented; the property name will not show up.
Value | Enum | GXT | Property |
---|---|---|---|
0 | PROP_MALIBU | STPR_1 | The Malibu |
1 | PROP_PRINTWORKS | STPR_2 | Print Works |
2 | PROP_FILMSTUDIO | STPR_3 | Film Studio |
3 | PROP_ICECREAM | STPR_4 | Ice Cream Factory |
4 | PROP_CARSHOWROOM | STPR_5 | Car Showroom |
5 | PROP_TAXICO | STPR_6 | Taxi Company |
6 | PROP_BOATYARD | STPR_7 | Boatyard |
7 | PROP_STRIPCLUB | STPR_8 | Pole Position Club |
8 | PROP_VICEPOINT | STPR_9 | 3321 Vice Point |
9 | PROP_LINKSVIEW | STPR_10 | Links View Apartment |
10 | PROP_EL_SWANKO | STPR_11 | El Swanko Casa |
11 | PROP_WASHINGTON_STREET | STPR_12 | 1102 Washington Street |
12 | PROP_OCEANHEIGHTS | STPR_13 | Ocean Heights Apartment |
13 | PROP_SKUMOLESHACK | STPR_14 | Skumole Shack |
14 | PROP_HYMAN_CONDO | STPR_15 | Hyman Condo |
Removing an owned property
This supplemental code allows you to remove a property from the property owned stat. It uses Sanny Builder with CLEO for Vice City in an external script (not the main one) and tested on US v1.0.
:opcode_0542_supplement
// 0@ - input param (property)
0@ += 0xA10AFD // base address for property owned
05E0: 1@ = read_memory 0@ size 1 virtual_protect 0 // get status of property
if
1@ == 1 // if it is owned
then
05DF: write_memory 0@ size 1 value 0 virtual_protect 0 // set to not owned
05E0: 0@ = read_memory 0x978E08 size 4 virtual_protect 0 // get total owned
0@ -= 1 // decrement by 1
05DF: write_memory 0x978E08 size 4 value 0@ virtual_protect 0 // set total to new value
end
05F6: ret 0
Place this line anywhere within the external script:
05F5: call_scm_func @opcode_0542_supplement inputs 1 property [property]
Keywords
add, increment, property, properties, owned, stat, statistics