0228
Revision as of 13:52, 8 December 2016 by Spaceeinstein (talk | contribs)
- Description
- Checks if the vehicle is armed with the bomb
- Syntax
- 0228: car [car handle] bomb_status == [int]
- Parameter
- [car handle]
- The handle of the vehicle
- [int]
- Car bomb stage (see below)
This conditional opcode returns true if the vehicle is armed with the specified stage of car bomb.
Car bomb stages
Stage | Enum | Description |
---|---|---|
0 | CARBOMB_NONE | No bomb |
1 | CARBOMB_TIMED | Inactive timed bomb, can be obtained from garage type 2 |
2 | CARBOMB_ONIGNITION | Inactive ignition bomb, can be obtained from garage type 3 |
3 | CARBOMB_REMOTE | Remote detonation bomb, can be obtained from garage type 4 |
4 | CARBOMB_TIMEDACTIVE | Active timed bomb, activated from bomb type 1 |
5 | CARBOMB_ONIGNITIONACTIVE | Active ignition bomb, activated from bomb type 2 |
For Vice City
This opcode does not exist in Vice City but the stage of the car bomb armed in a vehicle can still be retrieved. 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_0228 // 0@ - input param (car handle) // 1@ - input param (bomb stage) 05E7: 0@ = car 0@ struct 0@ += 0x1FE // car bomb offset 05E0: 0@ = read_memory 0@ size 1 virtual_protect 0 05F9: 0@ = 0@ AND 7 003B: 0@ == 1@ // check bomb stage in car against input 05F6: ret 0
Use this line as a substitute for opcode 0228. This can be placed anywhere within the external script as a conditional statement:
// ... if 05F5: call_scm_func @opcode_0228 inputs 2 car_handle [car handle] bomb_stage [int] then // [RETURNED TRUE] else // [RETURNED FALSE] end // ...
Keywords
check, car, vehicle, armed, bomb, status, stage