Hyperjump
Jump to navigation
Jump to search
A Hyperjump, Insane Stunt, or Stunt Jump is a script that displays, records, and rewards "insane stunt bonuses." See create a thread on how to implement it into a script that do not have this implemented already.
GTA III
This code is based directly from GTA III's source code. This can be compiled using Sanny Builder.
var
$CAR_PLAYER_IS_IN_HJ : int
$FLAG_TAKEOFF_HJ : int
$HEIGHT_INT_HJ : int
$FLAG_WHEELS_HJ : int
$STUNT_FLAGS_HJ : int
$FLAG_CAR_UPSIDEDOWN_HJ : int
$COUNTER_STUNT_ROLLS_HJ : int
$HEIGHT_DECIMALS_INT_HJ : int
$DISTANCE_DECIMALS_INT_HJ : int
$JUMPDISTANCE_INT_HJ : int
$COUNTER_LAND_ON_WHEELS_HJ : int
$COUNTER_WHEELS_HJ : int
$TOTAL_ROTATION_INT : int
$LONGEST_FLIGHT_TIME : int
$GOT_FLIGHT_START : int
$FLIGHT_TIMER_START : int
$FLIGHT_TIMER_END : int
$FLIGHT_TIME : int
$FLAG_FLIGHT_HJ : int
$COLLISION_COUNTER : int
$CASH_REWARD : int
$CASH_REWARD_TEMP : int
$HEIGHT_FLOAT_HJ : float
$X_FLOAT_HJ : float
$Y_FLOAT_HJ : float
$Z_FLOAT_HJ : float
$TAKEOFF_X_FLOAT_HJ : float
$TAKEOFF_Y_FLOAT_HJ : float
$TAKEOFF_Z_FLOAT_HJ : float
$JUMPEND_X_FLOAT_HJ : float
$JUMPEND_Y_FLOAT_HJ : float
$DIFFERENCE_X_FLOAT_HJ : float
$DIFFERENCE_Y_FLOAT_HJ : float
$SUM_DIFFERENCE_XY_HJ : float
$JUMPDISTANCE_FLOAT_HJ : float
$HEADING_HJ : float
$TEMP_FLOAT : float
$OLD_HEADING_HJ : float
$HEADING_DIFFERENCE : float
$HEADING_DIFFERENCE_TEMP : float
$TOTAL_ROTATION : float
end
:HJ
0111: set_wasted_busted_check_to 0
03A4: name_thread 'HJ'
$LONGEST_FLIGHT_TIME = 0
:MISSION_START_HJ
wait 0
if
8256: not player $PLAYER defined
then
jump @MISSION_START_HJ
end
if
0445: are_car_cheats_used
then
jump @MISSION_START_HJ
end
if
00E0: player $PLAYER in_any_car
then
03C1: $CAR_PLAYER_IS_IN_HJ = player $PLAYER car
if
829C: not is $CAR_PLAYER_IS_IN_HJ boat
then
if
01F3: car $CAR_PLAYER_IS_IN_HJ airborne
then
$TOTAL_ROTATION_INT = 0
$HEADING_HJ = 0.0
$FLAG_WHEELS_HJ = 0
$COUNTER_LAND_ON_WHEELS_HJ = 0
$COUNTER_STUNT_ROLLS_HJ = 0
$FLAG_CAR_UPSIDEDOWN_HJ = 0
$COUNTER_WHEELS_HJ = 0
$STUNT_FLAGS_HJ = 0
$FLAG_TAKEOFF_HJ = 0
$HEIGHT_INT_HJ = 0
$HEIGHT_FLOAT_HJ = -100.0
$X_FLOAT_HJ = 0.0
$Y_FLOAT_HJ = 0.0
$Z_FLOAT_HJ = 0.0
$TAKEOFF_X_FLOAT_HJ = 0.0
$TAKEOFF_Y_FLOAT_HJ = 0.0
$TAKEOFF_Z_FLOAT_HJ = 0.0
$JUMPEND_X_FLOAT_HJ = 0.0
$JUMPEND_Y_FLOAT_HJ = 0.0
$DIFFERENCE_X_FLOAT_HJ = 0.0
$DIFFERENCE_Y_FLOAT_HJ = 0.0
$SUM_DIFFERENCE_XY_HJ = 0.0
$JUMPDISTANCE_FLOAT_HJ = 0.0
$JUMPDISTANCE_INT_HJ = 0
$DISTANCE_DECIMALS_INT_HJ = 0
$HEIGHT_DECIMALS_INT_HJ = 0
$TEMP_FLOAT = 0.0
$HEADING_DIFFERENCE = 0.0
$TOTAL_ROTATION = 0.0
$HEADING_DIFFERENCE_TEMP = 0.0
$OLD_HEADING_HJ = 0.0
$GOT_FLIGHT_START = 0
$FLIGHT_TIMER_START = 0
$FLIGHT_TIMER_END = 0
$FLIGHT_TIME = 0
$FLAG_FLIGHT_HJ = 0
$COLLISION_COUNTER = 0
if
0137: car $CAR_PLAYER_IS_IN_HJ id == #DODO
then
jump @DODO_FLIGHT_TIME
end
while true
if or
01F3: car $CAR_PLAYER_IS_IN_HJ airborne
10 > $COLLISION_COUNTER
then
$COLLISION_COUNTER += 1
00AA: store_car $CAR_PLAYER_IS_IN_HJ position_to $X_FLOAT_HJ $Y_FLOAT_HJ $Z_FLOAT_HJ
$OLD_HEADING_HJ = $HEADING_HJ
/**
* Measure distance airbourne
*/
if
$FLAG_TAKEOFF_HJ == 0
then
0174: $OLD_HEADING_HJ = car $CAR_PLAYER_IS_IN_HJ z_angle
$TAKEOFF_X_FLOAT_HJ = $X_FLOAT_HJ
$TAKEOFF_Y_FLOAT_HJ = $Y_FLOAT_HJ
$TAKEOFF_Z_FLOAT_HJ = $Z_FLOAT_HJ
$FLAG_TAKEOFF_HJ = 1
end
wait 0
if
0119: car $CAR_PLAYER_IS_IN_HJ wrecked
then
jump @MISSION_START_HJ
end
if
8256: not player $PLAYER defined
then
jump @MISSION_START_HJ
end
if
80E0: not player $PLAYER in_any_car
then
jump @MISSION_START_HJ
end
/**
* Count the number of flips
*/
if and
820D: not car $CAR_PLAYER_IS_IN_HJ flipped
$FLAG_CAR_UPSIDEDOWN_HJ == 0
then
$FLAG_CAR_UPSIDEDOWN_HJ = 1
end
if and
020D: car $CAR_PLAYER_IS_IN_HJ flipped
$FLAG_CAR_UPSIDEDOWN_HJ == 1
then
$COUNTER_STUNT_ROLLS_HJ += 1
$FLAG_CAR_UPSIDEDOWN_HJ = 0
end
/**
* Count the number of degrees of rotation
*/
0174: $HEADING_HJ = car $CAR_PLAYER_IS_IN_HJ z_angle
$HEADING_DIFFERENCE = $HEADING_HJ
$HEADING_DIFFERENCE -= $OLD_HEADING_HJ
if
$HEADING_DIFFERENCE > 180.0
then
$HEADING_DIFFERENCE_TEMP = $HEADING_DIFFERENCE
$HEADING_DIFFERENCE = 360.0
$HEADING_DIFFERENCE -= $HEADING_DIFFERENCE_TEMP
else
if
-180.0 > $HEADING_DIFFERENCE
then
$HEADING_DIFFERENCE_TEMP = $HEADING_DIFFERENCE
$HEADING_DIFFERENCE = 360.0
$HEADING_DIFFERENCE += $HEADING_DIFFERENCE_TEMP
end
end
if
0.0 > $HEADING_DIFFERENCE
then
$HEADING_DIFFERENCE_TEMP = $HEADING_DIFFERENCE
$HEADING_DIFFERENCE = 0.0
$HEADING_DIFFERENCE -= $HEADING_DIFFERENCE_TEMP
end
$TOTAL_ROTATION += $HEADING_DIFFERENCE
008C: $TOTAL_ROTATION_INT = float_to_integer $TOTAL_ROTATION
/**
* Measure height
*/
if
$Z_FLOAT_HJ > $HEIGHT_FLOAT_HJ
then
$HEIGHT_FLOAT_HJ = $Z_FLOAT_HJ
end
$Z_FLOAT_HJ = 0.0
else
break
end
end
else
jump @MISSION_START_HJ
end
else
jump @MISSION_START_HJ
end
else
jump @MISSION_START_HJ
end
if
$FLAG_TAKEOFF_HJ == 1
then
00AA: store_car $CAR_PLAYER_IS_IN_HJ position_to $JUMPEND_X_FLOAT_HJ $JUMPEND_Y_FLOAT_HJ $TEMP_FLOAT
/**
* Measure airbourne time when landing
*/
while 90 > $COUNTER_LAND_ON_WHEELS_HJ
if
0119: car $CAR_PLAYER_IS_IN_HJ wrecked
then
jump @MISSION_START_HJ
else
if
815E: not car $CAR_PLAYER_IS_IN_HJ in_air
then
$COUNTER_WHEELS_HJ += 1
end
end
wait 0
if
8256: not player $PLAYER defined
then
jump @MISSION_START_HJ
end
$COUNTER_LAND_ON_WHEELS_HJ += 1
end
$COUNTER_LAND_ON_WHEELS_HJ = 0
$DIFFERENCE_X_FLOAT_HJ = $TAKEOFF_X_FLOAT_HJ
$DIFFERENCE_X_FLOAT_HJ -= $JUMPEND_X_FLOAT_HJ
$DIFFERENCE_Y_FLOAT_HJ = $TAKEOFF_Y_FLOAT_HJ
$DIFFERENCE_Y_FLOAT_HJ -= $JUMPEND_Y_FLOAT_HJ
$DIFFERENCE_X_FLOAT_HJ *= $DIFFERENCE_X_FLOAT_HJ
$DIFFERENCE_Y_FLOAT_HJ *= $DIFFERENCE_Y_FLOAT_HJ
$SUM_DIFFERENCE_XY_HJ = $DIFFERENCE_X_FLOAT_HJ
$SUM_DIFFERENCE_XY_HJ += $DIFFERENCE_Y_FLOAT_HJ
01FB: $JUMPDISTANCE_FLOAT_HJ = square_root $SUM_DIFFERENCE_XY_HJ
030E: save_jump_distance $JUMPDISTANCE_FLOAT_HJ
008C: $JUMPDISTANCE_INT_HJ = float_to_integer $JUMPDISTANCE_FLOAT_HJ
$HEIGHT_FLOAT_HJ -= $TAKEOFF_Z_FLOAT_HJ
030F: save_jump_height $HEIGHT_FLOAT_HJ
008C: $HEIGHT_INT_HJ = float_to_integer $HEIGHT_FLOAT_HJ
008D: $TEMP_FLOAT = integer_to_float $JUMPDISTANCE_INT_HJ
$JUMPDISTANCE_FLOAT_HJ -= $TEMP_FLOAT
$TEMP_FLOAT = $JUMPDISTANCE_FLOAT_HJ
$TEMP_FLOAT *= 100.0
008C: $DISTANCE_DECIMALS_INT_HJ = float_to_integer $TEMP_FLOAT
008D: $TEMP_FLOAT = integer_to_float $HEIGHT_INT_HJ
$HEIGHT_FLOAT_HJ -= $TEMP_FLOAT
$TEMP_FLOAT = $HEIGHT_FLOAT_HJ
$TEMP_FLOAT *= 100.0
008C: $HEIGHT_DECIMALS_INT_HJ = float_to_integer $TEMP_FLOAT
0310: save_jump_flips $COUNTER_STUNT_ROLLS_HJ
0311: save_jump_rotation $TOTAL_ROTATION_INT
end
/**
* 4 meters high
*/
if
// $HEIGHT_FLOAT_HJ > 4.0 // Original code erroneous
$HEIGHT_INT_HJ > 4 // Enables quadruple insane stunt bonuses
then
$STUNT_FLAGS_HJ += 1
end
/**
* 30 meters long
*/
if
0018: $JUMPDISTANCE_INT_HJ > 30
then
$STUNT_FLAGS_HJ += 1
end
/**
* 1 rolls/flips in mid air
*/
if
0018: $COUNTER_STUNT_ROLLS_HJ > 0
then
$STUNT_FLAGS_HJ += 1
end
/**
* 360 spin in mid air
*/
if
0018: $TOTAL_ROTATION_INT > 360
then
$STUNT_FLAGS_HJ += 1
end
/**
* Land on wheels
*/
if
0018: $COUNTER_WHEELS_HJ > 60
then
$FLAG_WHEELS_HJ = 1
end
if
0018: $STUNT_FLAGS_HJ > 0
then
/**
* Cash reward
*/
$CASH_REWARD = $COUNTER_STUNT_ROLLS_HJ
$CASH_REWARD *= 180
$CASH_REWARD += $TOTAL_ROTATION_INT
$CASH_REWARD_TEMP = $JUMPDISTANCE_INT_HJ
$CASH_REWARD_TEMP *= 6
$CASH_REWARD += $CASH_REWARD_TEMP
$CASH_REWARD_TEMP = $HEIGHT_INT_HJ
$CASH_REWARD_TEMP *= 45
$CASH_REWARD += $CASH_REWARD_TEMP
/**
* Double the reward if landed on wheels
*/
if
$FLAG_WHEELS_HJ == 1
then
$CASH_REWARD *= 2
end
$CASH_REWARD *= $STUNT_FLAGS_HJ
$CASH_REWARD /= 3
0109: player $PLAYER money += $CASH_REWARD
/**
* Display text
*/
if and
$STUNT_FLAGS_HJ == 1
$FLAG_WHEELS_HJ == 0
then
01E4: text_1number_lowpriority 'HJ_IS' $CASH_REWARD 2000 ms 1 // INSANE STUNT BONUS: $~1~
0312: save_jump_type 1
end
if and
$STUNT_FLAGS_HJ == 1
$FLAG_WHEELS_HJ == 1
then
01E4: text_1number_lowpriority 'HJ_PIS' $CASH_REWARD 2000 ms 1 // PERFECT INSANE STUNT BONUS: $~1~
0312: save_jump_type 2
end
if and
$STUNT_FLAGS_HJ == 2
$FLAG_WHEELS_HJ == 0
then
01E4: text_1number_lowpriority 'HJ_DIS' $CASH_REWARD 2000 ms 1 // DOUBLE INSANE STUNT BONUS: $~1~
0312: save_jump_type 3
end
if and
$STUNT_FLAGS_HJ == 2
$FLAG_WHEELS_HJ == 1
then
01E4: text_1number_lowpriority 'HJ_PDIS' $CASH_REWARD 2000 ms 1 // PERFECT DOUBLE INSANE STUNT BONUS: $~1~
0312: save_jump_type 4
end
if and
$STUNT_FLAGS_HJ == 3
$FLAG_WHEELS_HJ == 0
then
01E4: text_1number_lowpriority 'HJ_TIS' $CASH_REWARD 2000 ms 1 // TRIPLE INSANE STUNT BONUS: $~1~
0312: save_jump_type 5
end
if and
$STUNT_FLAGS_HJ == 3
$FLAG_WHEELS_HJ == 1
then
01E4: text_1number_lowpriority 'HJ_PTIS' $CASH_REWARD 2000 ms 1 // PERFECT TRIPLE INSANE STUNT BONUS: $~1~
0312: save_jump_type 6
end
if and
$STUNT_FLAGS_HJ == 4
$FLAG_WHEELS_HJ == 0
then
01E4: text_1number_lowpriority 'HJ_QIS' $CASH_REWARD 2000 ms 1 // QUADRUPLE INSANE STUNT BONUS: $~1~
0312: save_jump_type 7
end
if and
$STUNT_FLAGS_HJ == 4
$FLAG_WHEELS_HJ == 1
then
01E4: text_1number_lowpriority 'HJ_PQIS' $CASH_REWARD 3000 ms 1 // PERFECT QUADRUPLE INSANE STUNT BONUS: $~1~
0312: save_jump_type 8
end
if
0424: metric
then
if
$FLAG_WHEELS_HJ == 1
then
0308: text_6numbers 'HJSTATW' $JUMPDISTANCE_INT_HJ $DISTANCE_DECIMALS_INT_HJ $HEIGHT_INT_HJ $HEIGHT_DECIMALS_INT_HJ $COUNTER_STUNT_ROLLS_HJ $TOTAL_ROTATION_INT 5000 ms 5 // Distance: ~1~.~1~m Height: ~1~.~1~m Flips: ~1~ Rotation: ~1~_ And what a great landing!
else
0308: text_6numbers 'HJSTAT' $JUMPDISTANCE_INT_HJ $DISTANCE_DECIMALS_INT_HJ $HEIGHT_INT_HJ $HEIGHT_DECIMALS_INT_HJ $COUNTER_STUNT_ROLLS_HJ $TOTAL_ROTATION_INT 5000 ms 5 // Distance: ~1~.~1~m Height: ~1~.~1~m Flips: ~1~ Rotation: ~1~_
end
else
042D: $JUMPDISTANCE_INT_HJ = metric_to_imperial $JUMPDISTANCE_INT_HJ
042D: $HEIGHT_INT_HJ = metric_to_imperial $HEIGHT_INT_HJ
if
$FLAG_WHEELS_HJ == 1
then
0302: text_4numbers 'HJSTAWF' $JUMPDISTANCE_INT_HJ $HEIGHT_INT_HJ $COUNTER_STUNT_ROLLS_HJ $TOTAL_ROTATION_INT 5000 ms 5 // Distance: ~1~ft Height: ~1~ft Flips: ~1~ Rotation: ~1~_ And what a great landing!
else
0302: text_4numbers 'HJSTATF' $JUMPDISTANCE_INT_HJ $HEIGHT_INT_HJ $COUNTER_STUNT_ROLLS_HJ $TOTAL_ROTATION_INT 5000 ms 5 // Distance: ~1~ft Height: ~1~ft Flips: ~1~ Rotation: ~1~_
end
end
end
jump @MISSION_START_HJ
/**
* Measure flight time in Dodo
*/
:DODO_FLIGHT_TIME
while 01F3: car $CAR_PLAYER_IS_IN_HJ airborne
if
$GOT_FLIGHT_START == 0
then
01BD: $FLIGHT_TIMER_START = current_time_in_ms
$FLAG_FLIGHT_HJ = 1
$GOT_FLIGHT_START = 1
end
if
02BF: car $CAR_PLAYER_IS_IN_HJ sunk
then
jump @CESSNA_FIGHT_BIT
end
wait 0
if
0119: car $CAR_PLAYER_IS_IN_HJ wrecked
then
jump @MISSION_START_HJ
end
if
8256: not player $PLAYER defined
then
jump @MISSION_START_HJ
end
if
80E0: not player $PLAYER in_any_car
then
jump @MISSION_START_HJ
end
end
/**
* Record Dodo flight time
*/
:CESSNA_FIGHT_BIT
if
$FLAG_FLIGHT_HJ == 1
then
01BD: $FLIGHT_TIMER_END = current_time_in_ms
$FLIGHT_TIME = $FLIGHT_TIMER_END
$FLIGHT_TIME -= $FLIGHT_TIMER_START
$FLIGHT_TIME /= 1000
if
$FLIGHT_TIME > 1
then
if
$FLIGHT_TIME > $LONGEST_FLIGHT_TIME
then
$LONGEST_FLIGHT_TIME = $FLIGHT_TIME
end
01E5: text_1number_highpriority 'DODO_FT' $FLIGHT_TIME 5000 ms 1 // You flew for ~1~ seconds!
0406: save_dodo_flight_time $FLIGHT_TIME
end
end
jump @MISSION_START_HJ
San Andreas
Sanny Builder 2.99
:HJ_1
0111: set_wasted_busted_check_to 0 (disabled)
03A4: name_thread 'HJ'
:HJ_2
0001: wait 0 ms
00D6: if 0
8256: NOT player $PLAYER_CHAR defined
004D: jump_if_false @HJ_7
0002: jump @HJ_2
:HJ_7
00D6: if 0
0445: improved_handling_cheat_used
004D: jump_if_false @HJ_11
0002: jump @HJ_2
:HJ_11
00D6: if 0
09AE: $PLAYER_ACTOR
004D: jump_if_false @HJ_15
0002: jump @HJ_2
:HJ_15
00D6: if 0
04C8: $PLAYER_ACTOR
004D: jump_if_false @HJ_19
0002: jump @HJ_2
:HJ_19
00D6: if 0
04A7: $PLAYER_ACTOR
004D: jump_if_false @HJ_23
0002: jump @HJ_2
:HJ_23
00D6: if 0
00DD: actor $PLAYER_ACTOR driving_vehicle_type #VORTEX
004D: jump_if_false @HJ_27
0002: jump @HJ_2
:HJ_27
00D6: if 0
89E7: NOT $PLAYER_CHAR
004D: jump_if_false @HJ_31
0002: jump @HJ_2
:HJ_31
00D6: if 0
00DF: actor $PLAYER_ACTOR driving
004D: jump_if_false @HJ_215
03C0: $1290 = actor $PLAYER_ACTOR car
04FC: store_stunt_data $PLAYER_CHAR two_wheels: $1319 $1323 wheelie: $1326 $1330 stoppie: $1333 $1337
00D6: if 0
0020: $1323 > 0.0 // floating-point values
004D: jump_if_false @HJ_58
0014: $1319 /= 1000 // integer values
008C: $1320 = float_to_integer $1323
008D: $1324 = integer_to_float $1320
0086: $1341 = $1323 // floating-point values only
0061: $1341 -= $1324 // floating-point values
0011: $1341 *= 100.0 // floating-point values
008C: $1321 = float_to_integer $1341
0084: $1289 = $1319 // integer values and handles
0058: $1289 += $1320 // integer values
0014: $1289 /= 2 // integer values
0109: player $PLAYER_CHAR money += $1289
00D6: if 0
0424: metric
004D: jump_if_false @HJ_55
0302: text_4numbers 'WHEEL01' $1289 $1320 $1321 $1319 3000 ms 1
0002: jump @HJ_58
:HJ_55
0425: unknown_metric_stuff $1325 = $1323
008C: $1322 = float_to_integer $1325
02FF: text_3numbers 'WHEEL02' $1289 $1322 $1319 time 3000 ms 1
:HJ_58
00D6: if 0
0020: $1330 > 0.0 // floating-point values
004D: jump_if_false @HJ_81
0014: $1326 /= 1000 // integer values
008C: $1327 = float_to_integer $1330
008D: $1331 = integer_to_float $1327
0086: $1341 = $1330 // floating-point values only
0061: $1341 -= $1331 // floating-point values
0011: $1341 *= 100.0 // floating-point values
008C: $1328 = float_to_integer $1341
0084: $1289 = $1327 // integer values and handles
0010: $1289 *= 2 // integer values
0014: $1289 /= 5 // integer values
0014: $1289 /= 2 // integer values
0109: player $PLAYER_CHAR money += $1289
00D6: if 0
0424: metric
004D: jump_if_false @HJ_78
0302: text_4numbers 'WHEEL06' $1289 $1327 $1328 $1326 3000 ms 1
0002: jump @HJ_81
:HJ_78
0425: unknown_metric_stuff $1332 = $1330
008C: $1329 = float_to_integer $1332
02FF: text_3numbers 'WHEEL07' $1289 $1329 $1326 time 3000 ms 1
:HJ_81
00D6: if 0
0020: $1337 > 0.0 // floating-point values
004D: jump_if_false @HJ_102
0014: $1333 /= 1000 // integer values
008C: $1334 = float_to_integer $1337
008D: $1338 = integer_to_float $1334
0086: $1341 = $1337 // floating-point values only
0061: $1341 -= $1338 // floating-point values
0011: $1341 *= 100.0 // floating-point values
008C: $1335 = float_to_integer $1341
0084: $1289 = $1334 // integer values and handles
0014: $1289 /= 2 // integer values
0109: player $PLAYER_CHAR money += $1289
00D6: if 0
0424: metric
004D: jump_if_false @HJ_99
0302: text_4numbers 'WHEEL11' $1289 $1334 $1335 $1333 3000 ms 1
0002: jump @HJ_102
:HJ_99
0425: unknown_metric_stuff $1339 = $1337
008C: $1336 = float_to_integer $1339
02FF: text_3numbers 'WHEEL12' $1289 $1336 $1333 time 3000 ms 1
:HJ_102
00D6: if 0
01F3: car $1290 airborne
004D: jump_if_false @HJ_213
0004: $1300 = 0 // integer values
0005: $1314 = 0.0 // floating-point values
0004: $1293 = 0 // integer values
0004: $1296 = 0 // integer values
0004: $1295 = 0 // integer values
0004: $1294 = 0 // integer values
0004: $1291 = 0 // integer values
0004: $1292 = 0 // integer values
0005: $1304 = -100.0 // floating-point values
0005: $1305 = 0.0 // floating-point values
0005: $1306 = 0.0 // floating-point values
0005: $1307 = 0.0 // floating-point values
0005: $1308 = 0.0 // floating-point values
0005: $1309 = 0.0 // floating-point values
0005: $1310 = 0.0 // floating-point values
0005: $1311 = 0.0 // floating-point values
0005: $1312 = 0.0 // floating-point values
0005: $1313 = 0.0 // floating-point values
0004: $1299 = 0 // integer values
0004: $1298 = 0 // integer values
0004: $1297 = 0 // integer values
0005: $1341 = 0.0 // floating-point values
0005: $1316 = 0.0 // floating-point values
0005: $1318 = 0.0 // floating-point values
0005: $1317 = 0.0 // floating-point values
0005: $1315 = 0.0 // floating-point values
0004: $1301 = 0 // integer values
0004: $1340 = 0 // integer values
:HJ_133
00D6: if 21
01F3: car $1290 airborne
001A: 10 > $1301 // integer values
004D: jump_if_false @HJ_212
0008: $1301 += 1 // integer values
00AA: store_car $1290 position_to $1305 $1306 $1307
0086: $1315 = $1314 // floating-point values only
00D6: if 0
0038: $1291 == 0 // integer values
004D: jump_if_false @HJ_148
0174: $1315 = car $1290 z_angle
0086: $1308 = $1305 // floating-point values only
0086: $1309 = $1306 // floating-point values only
0086: $1310 = $1307 // floating-point values only
0004: $1291 = 1 // integer values
:HJ_148
0001: wait 0 ms
00D6: if 0
0119: car $1290 wrecked
004D: jump_if_false @HJ_153
0002: jump @HJ_2
:HJ_153
00D6: if 0
8256: NOT player $PLAYER_CHAR defined
004D: jump_if_false @HJ_157
0002: jump @HJ_2
:HJ_157
00D6: if 0
80DF: NOT actor $PLAYER_ACTOR driving
004D: jump_if_false @HJ_161
0002: jump @HJ_2
:HJ_161
00D6: if 1
820D: NOT car $1290 flipped
0038: $1295 == 0 // integer values
004D: jump_if_false @HJ_166
0004: $1295 = 1 // integer values
:HJ_166
00D6: if 1
020D: car $1290 flipped
0038: $1295 == 1 // integer values
004D: jump_if_false @HJ_172
0008: $1296 += 1 // integer values
0004: $1295 = 0 // integer values
:HJ_172
0174: $1314 = car $1290 z_angle
0086: $1316 = $1314 // floating-point values only
0061: $1316 -= $1315 // floating-point values
00D6: if 0
0020: $1316 > 180.0 // floating-point values
004D: jump_if_false @HJ_182
0086: $1317 = $1316 // floating-point values only
0005: $1316 = 360.0 // floating-point values
0061: $1316 -= $1317 // floating-point values
0002: jump @HJ_188
:HJ_182
00D6: if 0
0022: -180.0 > $1316 // floating-point values
004D: jump_if_false @HJ_188
0086: $1317 = $1316 // floating-point values only
0005: $1316 = 360.0 // floating-point values
0059: $1316 += $1317 // floating-point values
:HJ_188
00D6: if 0
0022: 0.0 > $1316 // floating-point values
004D: jump_if_false @HJ_194
0086: $1317 = $1316 // floating-point values only
0005: $1316 = 0.0 // floating-point values
0061: $1316 -= $1317 // floating-point values
:HJ_194
0059: $1318 += $1316 // floating-point values
008C: $1300 = float_to_integer $1318
00D6: if 0
0024: $1307 > $1304 // floating-point values only
004D: jump_if_false @HJ_200
0086: $1304 = $1307 // floating-point values only
:HJ_200
0005: $1307 = 0.0 // floating-point values
00D6: if 0
0038: $1340 == 0 // integer values
004D: jump_if_false @HJ_211
00AA: store_car $1290 position_to $1311 $1312 $1341
0509: $1341 = distance between point $1308 $1309 and point $1311 $1312
00D6: if 0
0020: $1341 > 20.0 // floating-point values
004D: jump_if_false @HJ_211
09AB: $1290 37
0004: $1340 = 1 // integer values
:HJ_211
0002: jump @HJ_133
:HJ_212
0002: jump @HJ_214
:HJ_213
0002: jump @HJ_2
:HJ_214
0002: jump @HJ_216
:HJ_215
0002: jump @HJ_2
:HJ_216
00D6: if 0
0038: $1291 == 1 // integer values
004D: jump_if_false @HJ_238
00AA: store_car $1290 position_to $1311 $1312 $1341
0509: $1313 = distance between point $1308 $1309 and point $1311 $1312
0628: 139 $1313
008C: $1299 = float_to_integer $1313
0061: $1304 -= $1310 // floating-point values
0628: 140 $1304
008C: $1292 = float_to_integer $1304
008D: $1341 = integer_to_float $1299
0061: $1313 -= $1341 // floating-point values
0086: $1341 = $1313 // floating-point values only
0011: $1341 *= 100.0 // floating-point values
008C: $1298 = float_to_integer $1341
008D: $1341 = integer_to_float $1292
0061: $1304 -= $1341 // floating-point values
0086: $1341 = $1304 // floating-point values only
0011: $1341 *= 100.0 // floating-point values
008C: $1297 = float_to_integer $1341
0627: 141 $1296
0627: 142 $1300
:HJ_238
00D6: if 0
0020: $1304 > 4.0 // floating-point values
004D: jump_if_false @HJ_242
0008: $1294 += 1 // integer values
:HJ_242
00D6: if 0
:End_Thread_A_CONT_and_A_ALAP
0018: $1299 > 40 // integer values
004D: jump_if_false @HJ_246
0008: $1294 += 1 // integer values
:HJ_246
00D6: if 0
0018: $1296 > 1 // integer values
004D: jump_if_false @HJ_250
0008: $1294 += 1 // integer values
:HJ_250
00D6: if 0
0018: $1300 > 360 // integer values
004D: jump_if_false @HJ_254
0008: $1294 += 1 // integer values
:HJ_254
00D6: if 0
0018: $1294 > 0 // integer values
004D: jump_if_false @HJ_302
0084: $1302 = $1296 // integer values and handles
0010: $1302 *= 180 // integer values
0058: $1302 += $1300 // integer values
0084: $1303 = $1299 // integer values and handles
0010: $1303 *= 6 // integer values
0058: $1302 += $1303 // integer values
0084: $1303 = $1292 // integer values and handles
0010: $1303 *= 45 // integer values
0058: $1302 += $1303 // integer values
00D6: if 0
0038: $1293 == 1 // integer values
004D: jump_if_false @HJ_270
0010: $1302 *= 2 // integer values
:HJ_270
0068: $1302 *= $1294 // integer values
0014: $1302 /= 3 // integer values
0014: $1302 /= 5 // integer values
0109: player $PLAYER_CHAR money += $1302
00D6: if 0
0038: $1294 == 1 // integer values
004D: jump_if_false @HJ_279
01E4: text_1number_lowpriority 'HJ_IS' $1302 2000 ms 1
0627: 143 1
:HJ_279
00D6: if 0
0038: $1294 == 2 // integer values
004D: jump_if_false @HJ_284
01E4: text_1number_lowpriority 'HJ_DIS' $1302 2000 ms 1
0627: 143 3
:HJ_284
00D6: if 0
0038: $1294 == 3 // integer values
004D: jump_if_false @HJ_289
01E4: text_1number_lowpriority 'HJ_TIS' $1302 2000 ms 1
0627: 143 5
:HJ_289
00D6: if 0
0038: $1294 == 4 // integer values
004D: jump_if_false @HJ_294
01E4: text_1number_lowpriority 'HJ_QIS' $1302 2000 ms 1
0627: 143 7
:HJ_294
00D6: if 0
0424: metric
004D: jump_if_false @HJ_299
0308: text_6numbers 'HJSTAT' $1299 $1298 $1292 $1297 $1296 $1300 5000 ms 5
0002: jump @HJ_302
:HJ_299
042D: $1299 = metric_to_imperial $1299
042D: $1292 = metric_to_imperial $1292
0302: text_4numbers 'HJSTATF' $1299 $1292 $1296 $1300 5000 ms 5
:HJ_302
0002: jump @HJ_2
BW's Mission Builder 0.33
:HJ_1
0111: set_wasted_busted_check_to 0 (disabled)
03A4: name_thread 'HJ'
:HJ_2
0001: wait 0 ms
00D6: if 0
8256: NOT player $PLAYER_CHAR defined
004D: jump_if_false ££HJ_7
0002: jump ££HJ_2
:HJ_7
00D6: if 0
0445: improved_handling_cheat_used
004D: jump_if_false ££HJ_11
0002: jump ££HJ_2
:HJ_11
00D6: if 0
09AE: $PLAYER_ACTOR
004D: jump_if_false ££HJ_15
0002: jump ££HJ_2
:HJ_15
00D6: if 0
04C8: $PLAYER_ACTOR
004D: jump_if_false ££HJ_19
0002: jump ££HJ_2
:HJ_19
00D6: if 0
04A7: $PLAYER_ACTOR
004D: jump_if_false ££HJ_23
0002: jump ££HJ_2
:HJ_23
00D6: if 0
00DD: actor $PLAYER_ACTOR driving_vehicle_type #VORTEX
004D: jump_if_false ££HJ_27
0002: jump ££HJ_2
:HJ_27
00D6: if 0
89E7: NOT $PLAYER_CHAR
004D: jump_if_false ££HJ_31
0002: jump ££HJ_2
:HJ_31
00D6: if 0
00DF: actor $PLAYER_ACTOR driving
004D: jump_if_false ££HJ_215
03C0: $1290 = actor $PLAYER_ACTOR car
04FC: store_stunt_data $PLAYER_CHAR two_wheels: $1319 $1323 wheelie: $1326 $1330 stoppie: $1333 $1337
00D6: if 0
0020: $1323 > 0.0 ;; floating-point values
004D: jump_if_false ££HJ_58
0014: $1319 /= 1000 ;; integer values
008C: $1320 = float_to_integer $1323
008D: $1324 = integer_to_float $1320
0086: $1341 = $1323 ;; floating-point values only
0061: $1341 -= $1324 ;; floating-point values
0011: $1341 *= 100.0 ;; floating-point values
008C: $1321 = float_to_integer $1341
0084: $1289 = $1319 ;; integer values and handles
0058: $1289 += $1320 ;; integer values
0014: $1289 /= 2 ;; integer values
0109: player $PLAYER_CHAR money += $1289
00D6: if 0
0424: metric
004D: jump_if_false ££HJ_55
0302: text_4numbers 'WHEEL01' $1289 $1320 $1321 $1319 3000 ms 1
0002: jump ££HJ_58
:HJ_55
0425: unknown_metric_stuff $1325 = $1323
008C: $1322 = float_to_integer $1325
02FF: text_3numbers 'WHEEL02' $1289 $1322 $1319 time 3000 ms 1
:HJ_58
00D6: if 0
0020: $1330 > 0.0 ;; floating-point values
004D: jump_if_false ££HJ_81
0014: $1326 /= 1000 ;; integer values
008C: $1327 = float_to_integer $1330
008D: $1331 = integer_to_float $1327
0086: $1341 = $1330 ;; floating-point values only
0061: $1341 -= $1331 ;; floating-point values
0011: $1341 *= 100.0 ;; floating-point values
008C: $1328 = float_to_integer $1341
0084: $1289 = $1327 ;; integer values and handles
0010: $1289 *= 2 ;; integer values
0014: $1289 /= 5 ;; integer values
0014: $1289 /= 2 ;; integer values
0109: player $PLAYER_CHAR money += $1289
00D6: if 0
0424: metric
004D: jump_if_false ££HJ_78
0302: text_4numbers 'WHEEL06' $1289 $1327 $1328 $1326 3000 ms 1
0002: jump ££HJ_81
:HJ_78
0425: unknown_metric_stuff $1332 = $1330
008C: $1329 = float_to_integer $1332
02FF: text_3numbers 'WHEEL07' $1289 $1329 $1326 time 3000 ms 1
:HJ_81
00D6: if 0
0020: $1337 > 0.0 ;; floating-point values
004D: jump_if_false ££HJ_102
0014: $1333 /= 1000 ;; integer values
008C: $1334 = float_to_integer $1337
008D: $1338 = integer_to_float $1334
0086: $1341 = $1337 ;; floating-point values only
0061: $1341 -= $1338 ;; floating-point values
0011: $1341 *= 100.0 ;; floating-point values
008C: $1335 = float_to_integer $1341
0084: $1289 = $1334 ;; integer values and handles
0014: $1289 /= 2 ;; integer values
0109: player $PLAYER_CHAR money += $1289
00D6: if 0
0424: metric
004D: jump_if_false ££HJ_99
0302: text_4numbers 'WHEEL11' $1289 $1334 $1335 $1333 3000 ms 1
0002: jump ££HJ_102
:HJ_99
0425: unknown_metric_stuff $1339 = $1337
008C: $1336 = float_to_integer $1339
02FF: text_3numbers 'WHEEL12' $1289 $1336 $1333 time 3000 ms 1
:HJ_102
00D6: if 0
01F3: car $1290 airborne
004D: jump_if_false ££HJ_213
0004: $1300 = 0 ;; integer values
0005: $1314 = 0.0 ;; floating-point values
0004: $1293 = 0 ;; integer values
0004: $1296 = 0 ;; integer values
0004: $1295 = 0 ;; integer values
0004: $1294 = 0 ;; integer values
0004: $1291 = 0 ;; integer values
0004: $1292 = 0 ;; integer values
0005: $1304 = -100.0 ;; floating-point values
0005: $1305 = 0.0 ;; floating-point values
0005: $1306 = 0.0 ;; floating-point values
0005: $1307 = 0.0 ;; floating-point values
0005: $1308 = 0.0 ;; floating-point values
0005: $1309 = 0.0 ;; floating-point values
0005: $1310 = 0.0 ;; floating-point values
0005: $1311 = 0.0 ;; floating-point values
0005: $1312 = 0.0 ;; floating-point values
0005: $1313 = 0.0 ;; floating-point values
0004: $1299 = 0 ;; integer values
0004: $1298 = 0 ;; integer values
0004: $1297 = 0 ;; integer values
0005: $1341 = 0.0 ;; floating-point values
0005: $1316 = 0.0 ;; floating-point values
0005: $1318 = 0.0 ;; floating-point values
0005: $1317 = 0.0 ;; floating-point values
0005: $1315 = 0.0 ;; floating-point values
0004: $1301 = 0 ;; integer values
0004: $1340 = 0 ;; integer values
:HJ_133
00D6: if 21
01F3: car $1290 airborne
001A: 10 > $1301 ;; integer values
004D: jump_if_false ££HJ_212
0008: $1301 += 1 ;; integer values
00AA: store_car $1290 position_to $1305 $1306 $1307
0086: $1315 = $1314 ;; floating-point values only
00D6: if 0
0038: $1291 == 0 ;; integer values
004D: jump_if_false ££HJ_148
0174: $1315 = car $1290 z_angle
0086: $1308 = $1305 ;; floating-point values only
0086: $1309 = $1306 ;; floating-point values only
0086: $1310 = $1307 ;; floating-point values only
0004: $1291 = 1 ;; integer values
:HJ_148
0001: wait 0 ms
00D6: if 0
0119: car $1290 wrecked
004D: jump_if_false ££HJ_153
0002: jump ££HJ_2
:HJ_153
00D6: if 0
8256: NOT player $PLAYER_CHAR defined
004D: jump_if_false ££HJ_157
0002: jump ££HJ_2
:HJ_157
00D6: if 0
80DF: NOT actor $PLAYER_ACTOR driving
004D: jump_if_false ££HJ_161
0002: jump ££HJ_2
:HJ_161
00D6: if 1
820D: NOT car $1290 flipped
0038: $1295 == 0 ;; integer values
004D: jump_if_false ££HJ_166
0004: $1295 = 1 ;; integer values
:HJ_166
00D6: if 1
020D: car $1290 flipped
0038: $1295 == 1 ;; integer values
004D: jump_if_false ££HJ_172
0008: $1296 += 1 ;; integer values
0004: $1295 = 0 ;; integer values
:HJ_172
0174: $1314 = car $1290 z_angle
0086: $1316 = $1314 ;; floating-point values only
0061: $1316 -= $1315 ;; floating-point values
00D6: if 0
0020: $1316 > 180.0 ;; floating-point values
004D: jump_if_false ££HJ_182
0086: $1317 = $1316 ;; floating-point values only
0005: $1316 = 360.0 ;; floating-point values
0061: $1316 -= $1317 ;; floating-point values
0002: jump ££HJ_188
:HJ_182
00D6: if 0
0022: -180.0 > $1316 ;; floating-point values
004D: jump_if_false ££HJ_188
0086: $1317 = $1316 ;; floating-point values only
0005: $1316 = 360.0 ;; floating-point values
0059: $1316 += $1317 ;; floating-point values
:HJ_188
00D6: if 0
0022: 0.0 > $1316 ;; floating-point values
004D: jump_if_false ££HJ_194
0086: $1317 = $1316 ;; floating-point values only
0005: $1316 = 0.0 ;; floating-point values
0061: $1316 -= $1317 ;; floating-point values
:HJ_194
0059: $1318 += $1316 ;; floating-point values
008C: $1300 = float_to_integer $1318
00D6: if 0
0024: $1307 > $1304 ;; floating-point values only
004D: jump_if_false ££HJ_200
0086: $1304 = $1307 ;; floating-point values only
:HJ_200
0005: $1307 = 0.0 ;; floating-point values
00D6: if 0
0038: $1340 == 0 ;; integer values
004D: jump_if_false ££HJ_211
00AA: store_car $1290 position_to $1311 $1312 $1341
0509: $1341 = distance between point $1308 $1309 and point $1311 $1312
00D6: if 0
0020: $1341 > 20.0 ;; floating-point values
004D: jump_if_false ££HJ_211
09AB: $1290 37
0004: $1340 = 1 ;; integer values
:HJ_211
0002: jump ££HJ_133
:HJ_212
0002: jump ££HJ_214
:HJ_213
0002: jump ££HJ_2
:HJ_214
0002: jump ££HJ_216
:HJ_215
0002: jump ££HJ_2
:HJ_216
00D6: if 0
0038: $1291 == 1 ;; integer values
004D: jump_if_false ££HJ_238
00AA: store_car $1290 position_to $1311 $1312 $1341
0509: $1313 = distance between point $1308 $1309 and point $1311 $1312
0628: 139 $1313
008C: $1299 = float_to_integer $1313
0061: $1304 -= $1310 ;; floating-point values
0628: 140 $1304
008C: $1292 = float_to_integer $1304
008D: $1341 = integer_to_float $1299
0061: $1313 -= $1341 ;; floating-point values
0086: $1341 = $1313 ;; floating-point values only
0011: $1341 *= 100.0 ;; floating-point values
008C: $1298 = float_to_integer $1341
008D: $1341 = integer_to_float $1292
0061: $1304 -= $1341 ;; floating-point values
0086: $1341 = $1304 ;; floating-point values only
0011: $1341 *= 100.0 ;; floating-point values
008C: $1297 = float_to_integer $1341
0627: 141 $1296
0627: 142 $1300
:HJ_238
00D6: if 0
0020: $1304 > 4.0 ;; floating-point values
004D: jump_if_false ££HJ_242
0008: $1294 += 1 ;; integer values
:HJ_242
00D6: if 0
:End_Thread_A_CONT_and_A_ALAP
0018: $1299 > 40 ;; integer values
004D: jump_if_false ££HJ_246
0008: $1294 += 1 ;; integer values
:HJ_246
00D6: if 0
0018: $1296 > 1 ;; integer values
004D: jump_if_false ££HJ_250
0008: $1294 += 1 ;; integer values
:HJ_250
00D6: if 0
0018: $1300 > 360 ;; integer values
004D: jump_if_false ££HJ_254
0008: $1294 += 1 ;; integer values
:HJ_254
00D6: if 0
0018: $1294 > 0 ;; integer values
004D: jump_if_false ££HJ_302
0084: $1302 = $1296 ;; integer values and handles
0010: $1302 *= 180 ;; integer values
0058: $1302 += $1300 ;; integer values
0084: $1303 = $1299 ;; integer values and handles
0010: $1303 *= 6 ;; integer values
0058: $1302 += $1303 ;; integer values
0084: $1303 = $1292 ;; integer values and handles
0010: $1303 *= 45 ;; integer values
0058: $1302 += $1303 ;; integer values
00D6: if 0
0038: $1293 == 1 ;; integer values
004D: jump_if_false ££HJ_270
0010: $1302 *= 2 ;; integer values
:HJ_270
0068: $1302 *= $1294 ;; integer values
0014: $1302 /= 3 ;; integer values
0014: $1302 /= 5 ;; integer values
0109: player $PLAYER_CHAR money += $1302
00D6: if 0
0038: $1294 == 1 ;; integer values
004D: jump_if_false ££HJ_279
01E4: text_1number_lowpriority 'HJ_IS' $1302 2000 ms 1
0627: 143 1
:HJ_279
00D6: if 0
0038: $1294 == 2 ;; integer values
004D: jump_if_false ££HJ_284
01E4: text_1number_lowpriority 'HJ_DIS' $1302 2000 ms 1
0627: 143 3
:HJ_284
00D6: if 0
0038: $1294 == 3 ;; integer values
004D: jump_if_false ££HJ_289
01E4: text_1number_lowpriority 'HJ_TIS' $1302 2000 ms 1
0627: 143 5
:HJ_289
00D6: if 0
0038: $1294 == 4 ;; integer values
004D: jump_if_false ££HJ_294
01E4: text_1number_lowpriority 'HJ_QIS' $1302 2000 ms 1
0627: 143 7
:HJ_294
00D6: if 0
0424: metric
004D: jump_if_false ££HJ_299
0308: text_6numbers 'HJSTAT' $1299 $1298 $1292 $1297 $1296 $1300 5000 ms 5
0002: jump ££HJ_302
:HJ_299
042D: $1299 = metric_to_imperial $1299
042D: $1292 = metric_to_imperial $1292
0302: text_4numbers 'HJSTATF' $1299 $1292 $1296 $1300 5000 ms 5
:HJ_302
0002: jump ££HJ_2