Difference between revisions of "0542"

From GTAMods Wiki
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

Vice City SET_PROPERTY_AS_OWNED


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