{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:NONAME_2
0001: wait 0 ms 
00BF: 0@ = current_time_hours, 1@ = current_time_minutes 
00D6: if 
0019:   0@ > 19 // integer values 
004D: jump_if_false @NONAME_2 
00D6: if 
0101:   actor $PLAYER_ACTOR stopped_near_point -1107.345 1331.102 19.1156 radius 2.0 2.0 2.0 sphere 1 
004D: jump_if_false @NONAME_2 
01B4: set_player $PLAYER_CHAR frozen_state 0 
016A: fade 0 1500 ms 
0001: wait 1500 ms 
0050: gosub @NONAME_8392 
00D6: if 
80DF:   not actor $PLAYER_ACTOR driving 
004D: jump_if_false @NONAME_168 
0050: gosub @NONAME_249 
00A5: 3@ = create_car #PCJ600 at 0@ 1@ 2@ 
036A: put_actor $PLAYER_ACTOR in_car 3@ 
0007: 8@ = 0 // floating-point values 
0002: jump @NONAME_283 

:NONAME_168
03C0: 3@ = actor $PLAYER_ACTOR car 
00D6: if 
80DD:   not actor $PLAYER_ACTOR driving_vehicle_type #ZEBRA 
004D: jump_if_false @NONAME_4382 
00D6: if 
80DD:   not actor $PLAYER_ACTOR driving_vehicle_type #TOPFUN 
004D: jump_if_false @NONAME_6302 
0050: gosub @NONAME_249 
00AB: put_car 3@ at 0@ 1@ 2@ 
0007: 8@ = 0 // floating-point values 
0002: jump @NONAME_283 

:NONAME_249
0247: request_model #PCJ600 
0002: jump @NONAME_261 

:NONAME_261
00D6: if 
8248:   not model #PCJ600 available 
0AA1: return_if_false 
0001: wait 0 ms 
0002: jump @NONAME_261 

:NONAME_283
00D6: if 
0023:   8.0 > 8@ // floating-point values 
004D: jump_if_false @NONAME_453 
0007: 5@ = 8@ // floating-point values 
0011: 5@ *= 360.0 // floating-point values 
0015: 5@ /= 8.0 // floating-point values 
000B: 5@ += 264.0 // floating-point values 
0007: 6@ = 5@ // floating-point values 
000B: 6@ += 270.0 // floating-point values 
0050: gosub @NONAME_8392 
02F7: 4@ = cosine 6@ 
0011: 4@ *= 13.15 // floating-point values 
000B: 0@ += 4@ // floating-point values 
02F6: 4@ = sine 6@ // float 
0011: 4@ *= 13.15 // floating-point values 
000B: 1@ += 4@ // floating-point values 
0007: 2@ = 96.0 // floating-point values 
0050: gosub @NONAME_7872 
000B: 8@ += 1.0 // floating-point values 
0002: jump @NONAME_283 

:NONAME_453
0224: set_car 3@ health_to 1000 
0190: add_vehicle 3@ to_flipped_check 
0519: lock_vehicle 3@ in_current_position 1 
016A: fade 1 1500 ms 
02A3: enable_widescreen 1 
015F: set_camera_position -1377.343 1370.789 124.0795 0.0 rotation 0.0 0.0 
0050: gosub @NONAME_8392 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
054C: use_GXT_table 'MM' 
00BA: text_styled 'BLODRNG' 1500 ms 2  // BLOODRING
0001: wait 2500 ms 
015F: set_camera_position -1402.91 1338.843 127.9081 0.0 rotation 0.0 0.0 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
00BC: text_highpriority 'BLOD_01' 5000 ms 1  // Drive through the checkpoints to increase your overall time.
0001: wait 2500 ms 
015F: set_camera_position -1353.335 1299.311 122.194 0.0 rotation 0.0 0.0 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
00BC: text_highpriority 'BLOD_02' 5000 ms 1  // You will fail if your overall time reaches zero.
0001: wait 2500 ms 
015F: set_camera_position -1345.354 1343.036 111.4318 0.0 rotation 0.0 0.0 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
00BC: text_highpriority 'BLOD_03' 5000 ms 1  // Get your overall time above the Target Time to win!
0001: wait 2500 ms 
00BE: text_clear_all 
02EB: restore_camera_with_jumpcut 
0373: set_camera_directly_behind_player 
02A3: enable_widescreen 0 
00BA: text_styled 'RACE2' 1100 ms 4  // ~g~3
018C: play_sound 7 at 0.0 0.0 0.0 
0001: wait 1000 ms 
00BA: text_styled 'RACE3' 1100 ms 4  // ~g~2
018C: play_sound 8 at 0.0 0.0 0.0 
0001: wait 1000 ms 
00BA: text_styled 'RACE4' 1100 ms 4  // ~g~1
018C: play_sound 9 at 0.0 0.0 0.0 
0001: wait 1000 ms 
00BA: text_styled 'RACE5' 800 ms 4  // ~g~GO!
018C: play_sound 10 at 0.0 0.0 0.0 
0001: wait 800 ms 
00BE: text_clear_all 
05DF: write_memory 8275812 size 4 value 3.0 virtual_protect 0 
0519: lock_vehicle 3@ in_current_position 0 
01B4: set_player $PLAYER_CHAR frozen_state 1 
0006: $7196 = 90000 // integer values 
014E: start_timer_at $7196 count_in_direction 1 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_1082 
0050: gosub @NONAME_3123 
0002: jump @NONAME_1034 

:NONAME_1034
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_1082 
0050: gosub @NONAME_3123 
0002: jump @NONAME_1034 

:NONAME_1082
0001: wait 0 ms 
0050: gosub @NONAME_4156 
00D6: if 
8118:   not actor $PLAYER_ACTOR dead 
004D: jump_if_false @NONAME_3271 
00D6: if 
8119:   not car 3@ wrecked 
004D: jump_if_false @NONAME_2964 
00D6: if 
8039:   not  $7196 == 0 // integer values 
004D: jump_if_false @NONAME_2949 
00D6: if 
001B:   300000 > $7196 // integer values 
004D: jump_if_false @NONAME_3005 
01E4: text_1number_lowpriority 'BLOD_06' 5 1 ms 1  // ~g~TARGET TIME: ~1~ Minutes
0227: $7201 = car 3@ health 
0014: $7201 /= 10 // integer values 
04F7: status_text $7201 1 line 1 'BLOD_04'  // CAR HEALTH:
0407: create_coordinate 0@ 0@ 1@ from_car 3@ offset 0.0 0.0 1.0 
0407: create_coordinate 0@ 0@ 2@ from_car 3@ offset 0.0 0.0 0.0 
000F: 2@ -= 1@ // floating-point values 
00D6: if and
0021:   2@ > 0.9 // floating-point values 
81F3:   not car 3@ airborne 
00E1:   player 0 pressed_button 18 
004D: jump_if_false @NONAME_1516 
0407: create_coordinate 0@ 1@ 2@ from_car 3@ offset 0.0 0.0 1.0 
0437: scatter_particle 29 3.0 at 0@ 1@ 2@ 0.0 0.0 0.0 
0437: scatter_particle 54 5.0 at 0@ 1@ 2@ 0.0 0.0 0.0 
05E7: 0@ = car 3@ struct 
000A: 0@ += 120 // integer values 
05DF: write_memory 0@ size 4 value 0.1 virtual_protect 0 
000A: 0@ += 4 // integer values 
0174: 1@ = car 3@ z_angle 
02F7: 2@ = cosine 1@ 
0011: 2@ *= 0.15 // floating-point values 
05DF: write_memory 0@ size 4 value 2@ virtual_protect 0 
000A: 0@ += 4 // integer values 
02F6: 2@ = sine 1@ // float 
0011: 2@ *= 0.15 // floating-point values 
05DF: write_memory 0@ size 4 value 2@ virtual_protect 0 

:NONAME_1516
00D6: if 
03CA:   object 7@ exists 
004D: jump_if_false @NONAME_2600 
0050: gosub @NONAME_3441 
0400: create_coordinate 0@ 1@ 2@ from_object 7@ offset 0.0 0.0 0.0 
04D5: create_corona_at 0@ 1@ 2@ radius 1.5 type 5 flare 0 RGB 255 255 0 
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 2.7 find_next 0 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_1846 
05E7: 5@ = car 4@ struct 
000A: 5@ += 668 // integer values 
05E0: 5@ = read_memory 5@ size 4 virtual_protect 0 
00D6: if 
0039:   5@ == 5 // integer values 
004D: jump_if_false @NONAME_1710 
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 1.7 find_next 0 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_1846 

:NONAME_1710
00D6: if 
0039:   4@ == 3@ // integer values 
004D: jump_if_false @NONAME_1821 
00D6: if 
00DB:   actor $PLAYER_ACTOR in_car 3@ 
004D: jump_if_false @NONAME_1082 
000A: $7196 += 30000 // integer values 
0227: 0@ = car 3@ health 
00D6: if 
001B:   750 > 0@ // integer values 
004D: jump_if_false @NONAME_1806 
000A: 0@ += 250 // integer values 
0224: set_car 3@ health_to 0@ 
0002: jump @NONAME_1821 

:NONAME_1806
0224: set_car 3@ health_to 1000 
0002: jump @NONAME_1821 

:NONAME_1821
0108: destroy_object 7@ 
018C: play_sound 1 at 0@ 1@ 2@ 
0002: jump @NONAME_2037 

:NONAME_1846
0407: create_coordinate 4@ 5@ 6@ from_car 3@ offset 0.0 0.0 0.0 
0050: gosub @NONAME_8318 
0007: 8@ = 2.0 // floating-point values 
0015: 8@ /= 0@ // floating-point values 
0400: create_coordinate 0@ 1@ 2@ from_object 7@ offset 0.0 0.0 0.0 
000F: 0@ -= 4@ // floating-point values 
000F: 1@ -= 5@ // floating-point values 
000F: 2@ -= 6@ // floating-point values 
0011: 0@ *= 8@ // floating-point values 
0011: 1@ *= 8@ // floating-point values 
0011: 2@ *= 8@ // floating-point values 
000B: 4@ += 0@ // floating-point values 
000B: 5@ += 1@ // floating-point values 
000B: 6@ += 2@ // floating-point values 
04D5: create_corona_at 4@ 5@ 6@ radius 0.5 type 0 flare 0 RGB 255 255 255 
0002: jump @NONAME_2037 

:NONAME_2037
00D6: if 
03CA:   object 11@ exists 
004D: jump_if_false @NONAME_2765 
0400: create_coordinate 0@ 1@ 2@ from_object 11@ offset 0.0 0.0 0.0 
00D6: if 
00FE:   actor $PLAYER_ACTOR 1 0@ 1@ 2@ radius 2.5 2.5 2.5 
004D: jump_if_false @NONAME_1082 
0003: shake_camera 150 
0215: destroy_pickup 10@ 
0108: destroy_object 11@ 
0209: 8@ = random_int_in_ranges 0 7 
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_1082 
0002: jump @NONAME_2247 

:NONAME_2206
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_1082 
0002: jump @NONAME_2247 

:NONAME_2247
00D6: if 
8039:   not  4@ == 3@ // integer values 
004D: jump_if_false @NONAME_2206 
00D6: if 
8019:   not  8@ > 3 // integer values 
004D: jump_if_false @NONAME_2352 
00D6: if 
8019:   not  8@ > 0 // integer values 
004D: jump_if_false @NONAME_2369 
00D6: if or
8039:   not  8@ == 0 // integer values 
0205:   actor $PLAYER_ACTOR near_car 4@ radius 5.0 5.0 5.0 unknown 0 
004D: jump_if_false @NONAME_2588 
0002: jump @NONAME_1082 

:NONAME_2352
04BA: set_car 4@ speed_instantly 0.0 
0002: jump @NONAME_2206 

:NONAME_2369
05E7: 5@ = car 4@ struct 
000A: 5@ += 112 // integer values 
0208: 6@ = random_float -1.5 1.5 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
000A: 5@ += 4 // integer values 
0208: 6@ = random_float -1.5 1.5 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
000A: 5@ += 4 // integer values 
0208: 6@ = random_float 0.0 1.5 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
000A: 5@ += 4 // integer values 
0208: 6@ = random_float -1.5 1.5 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
000A: 5@ += 4 // integer values 
0208: 6@ = random_float -1.5 1.5 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
000A: 5@ += 4 // integer values 
0208: 6@ = random_float -1.5 1.5 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
0002: jump @NONAME_2206 

:NONAME_2588
020B: explode_car 4@ 
0002: jump @NONAME_2206 

:NONAME_2600
0208: 4@ = random_float -10.0 10.0 
0208: 5@ = random_float -10.0 10.0 
0208: 6@ = random_float -10.0 0.0 
0050: gosub @NONAME_8281 
0007: 1@ = 63.0 // floating-point values 
0015: 1@ /= 0@ // floating-point values 
0011: 4@ *= 1@ // floating-point values 
0011: 5@ *= 1@ // floating-point values 
0011: 6@ *= 1@ // floating-point values 
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
000B: 0@ += 4@ // floating-point values 
000B: 1@ += 5@ // floating-point values 
000B: 2@ += 6@ // floating-point values 
0107: 7@ = create_object #NULL at 0@ 1@ 2@ 
0382: set_object 7@ collision_detection 0 
0002: jump @NONAME_2037 

:NONAME_2765
0208: 4@ = random_float -10.0 10.0 
0208: 5@ = random_float -10.0 10.0 
0208: 6@ = random_float -10.0 0.0 
0050: gosub @NONAME_8281 
0007: 1@ = 62.0 // floating-point values 
0015: 1@ /= 0@ // floating-point values 
0011: 4@ *= 1@ // floating-point values 
0011: 5@ *= 1@ // floating-point values 
0011: 6@ *= 1@ // floating-point values 
0050: gosub @NONAME_8392 
000B: 0@ += 4@ // floating-point values 
000B: 1@ += 5@ // floating-point values 
000B: 2@ += 6@ // floating-point values 
000B: 2@ += 63.0 // floating-point values 
0213: 10@ = create_pickup 375 type 15 at 0@ 1@ 2@ 
0107: 11@ = create_object #NULL at 0@ 1@ 2@ 
0382: set_object 11@ collision_detection 0 
0002: jump @NONAME_1082 

:NONAME_2949
00BC: text_highpriority 'TAXI2' 5000 ms 1  // ~r~You're out of time!

:NONAME_2964
01B4: set_player $PLAYER_CHAR frozen_state 0 
016A: fade 0 1500 ms 
0001: wait 1500 ms 
00BA: text_styled 'M_FAIL' 5000 ms 1  // MISSION FAILED!
0002: jump @NONAME_3064 

:NONAME_3005
01B4: set_player $PLAYER_CHAR frozen_state 0 
00BA: text_styled 'BLOD_10' 6000 ms 5  // WINNER!!
016A: fade 0 1500 ms 
0001: wait 1500 ms 
01E3: text_1number_styled 'M_PASS' number 500 time 5000 style 1  // MISSION PASSED! $~1~
0002: jump @NONAME_3064 

:NONAME_3064
00C0: set_current_time 6 30 
0362: put_actor $PLAYER_ACTOR at -1107.345 1331.102 19.1156 and_remove_from_car 
0173: set_actor $PLAYER_ACTOR z_angle_to 267.0 
0373: set_camera_directly_behind_player 
016A: fade 1 1500 ms 
01B4: set_player $PLAYER_CHAR frozen_state 1 
0002: jump @NONAME_3271 

:NONAME_3123
0209: 6@ = random_int_in_ranges 0 2 
05E7: 5@ = car 4@ struct 
000A: 5@ += 412 // integer values 
05DF: write_memory 5@ size 4 value 6@ virtual_protect 0 
0051: return 

:NONAME_3162
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05EF: 4@ = random_actor_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_deads 0 //IF and SET 
004D: jump_if_false @NONAME_3271 
009B: destroy_actor_instantly 4@ 
0002: jump @NONAME_3225 

:NONAME_3225
00D6: if 
05EF: 4@ = random_actor_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_deads 0 //IF and SET 
004D: jump_if_false @NONAME_3271 
009B: destroy_actor_instantly 4@ 
0002: jump @NONAME_3225 

:NONAME_3271
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_3380 
00A6: destroy_car 4@ 
0002: jump @NONAME_3334 

:NONAME_3334
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_3380 
00A6: destroy_car 4@ 
0002: jump @NONAME_3334 

:NONAME_3380
014F: stop_timer $7196 
014F: stop_timer $6685 
014F: stop_timer $3402 
0151: remove_status_text $7201 
0151: remove_status_text $3307 
0108: destroy_object 7@ 
0215: destroy_pickup 10@ 
0108: destroy_object 11@ 
0249: release_model #PCJ600 
0249: release_model #TAXI 
0249: release_model #WMOCA 
0002: jump @NONAME_2 

:NONAME_3441
0006: 9@ = 0 // integer values 
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 8@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_4297 
0002: jump @NONAME_3564 

:NONAME_3506
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 8@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_4297 
0002: jump @NONAME_3564 

:NONAME_3564
00D6: if 
8039:   not  8@ == 3@ // integer values 
004D: jump_if_false @NONAME_3506 
00D6: if 
0119:   car 8@ wrecked 
004D: jump_if_false @NONAME_3611 
00A6: destroy_car 8@ 
0002: jump @NONAME_3506 

:NONAME_3611
000A: 9@ += 1 // integer values 
05E7: 4@ = car 8@ struct 
000A: 4@ += 352 // integer values 
05E0: 5@ = read_memory 4@ size 1 virtual_protect 0 
00D6: if 
001B:   50 > 5@ // integer values 
004D: jump_if_false @NONAME_3674 
00AD: set_car 8@ max_speed_to 100.0 

:NONAME_3674
000A: 4@ += 60 // integer values 
05E0: 5@ = read_memory 4@ size 4 virtual_protect 0 
05E6: 6@ = actor $PLAYER_ACTOR struct 
00D6: if 
8039:   not  5@ == 0 // integer values 
004D: jump_if_false @NONAME_3799 
00D6: if 
8039:   not  5@ == 1 // integer values 
004D: jump_if_false @NONAME_3763 
00D6: if 
8039:   not  5@ == 6@ // integer values 
004D: jump_if_false @NONAME_3908 
0002: jump @NONAME_3506 

:NONAME_3763
0400: create_coordinate 4@ 5@ 6@ from_object 7@ offset 0.0 0.0 0.0 
0002: jump @NONAME_3980 

:NONAME_3799
00D6: if 
8205:   not actor $PLAYER_ACTOR near_car 8@ radius 15.0 15.0 15.0 unknown 0 
004D: jump_if_false @NONAME_3871 
04C4: create_coordinate 4@ 5@ 6@ from_actor $PLAYER_ACTOR offset 0.0 0.0 0.0 
0002: jump @NONAME_3980 

:NONAME_3871
05DF: write_memory 4@ size 4 value 6@ virtual_protect 0 
000E: 4@ -= 70 // integer values 
05DF: write_memory 4@ size 1 value 15 virtual_protect 0 
0002: jump @NONAME_3506 

:NONAME_3908
00D6: if 
8205:   not actor $PLAYER_ACTOR near_car 8@ radius 15.0 15.0 15.0 unknown 0 
004D: jump_if_false @NONAME_3506 
05DF: write_memory 4@ size 4 value 0 virtual_protect 0 
000E: 4@ -= 70 // integer values 
05DF: write_memory 4@ size 1 value 0 virtual_protect 0 
0002: jump @NONAME_3506 

:NONAME_3980
0407: create_coordinate 0@ 1@ 2@ from_car 8@ offset 0.0 0.0 0.0 
000F: 4@ -= 0@ // floating-point values 
000F: 5@ -= 1@ // floating-point values 
000F: 6@ -= 2@ // floating-point values 
0050: gosub @NONAME_8281 
0007: 1@ = 5.0 // floating-point values 
0015: 1@ /= 0@ // floating-point values 
0011: 4@ *= 1@ // floating-point values 
0011: 5@ *= 1@ // floating-point values 
0011: 6@ *= 1@ // floating-point values 
0407: create_coordinate 0@ 1@ 2@ from_car 8@ offset 0.0 0.0 0.0 
000B: 0@ += 4@ // floating-point values 
000B: 1@ += 5@ // floating-point values 
000B: 2@ += 6@ // floating-point values 
02C2: car 8@ drive_to_point 0@ 1@ 2@ 
0002: jump @NONAME_3506 

:NONAME_4156
0209: 0@ = random_int_in_ranges 0 15 
00D6: if 
0039:   0@ == 0 // integer values 
0AA1: return_if_false 
0437: scatter_particle 14 10.0 at -1289.43 1455.2 94.1871 0.0 0.0 0.0 
0437: scatter_particle 14 10.0 at -1507.059 1330.871 94.1871 0.0 0.0 0.0 
0437: scatter_particle 14 10.0 at -1293.585 1205.112 94.1871 0.0 0.0 0.0 
0051: return 

:NONAME_4297
00D6: if 
8039:   not  9@ == 8 // integer values 
0AA1: return_if_false 
0050: gosub @NONAME_8392 
000B: 2@ += 3.0 // floating-point values 
00D6: if 
85F0:   not 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 3.0 find_next 0 pass_wrecked 0 //IF and SET 
0AA1: return_if_false 
0007: 5@ = 0.0 // floating-point values 
0050: gosub @NONAME_7872 
0050: gosub @NONAME_3123 
0051: return 

:NONAME_4382
00AB: put_car 3@ at 0@ 1@ 2@ 
0007: 8@ = 0 // floating-point values 
0002: jump @NONAME_4410 

:NONAME_4410
0247: request_model #TAXI 
0247: request_model #WMOCA 
0002: jump @NONAME_4426 

:NONAME_4426
00D6: if or
8248:   not model #TAXI available 
8248:   not model #WMOCA available 
004D: jump_if_false @NONAME_4457 
0001: wait 0 ms 
0002: jump @NONAME_4426 

:NONAME_4457
00D6: if 
0023:   8.0 > 8@ // floating-point values 
004D: jump_if_false @NONAME_4627 
0007: 5@ = 8@ // floating-point values 
0011: 5@ *= 360.0 // floating-point values 
0015: 5@ /= 8.0 // floating-point values 
000B: 5@ += 264.0 // floating-point values 
0007: 6@ = 5@ // floating-point values 
000B: 6@ += 270.0 // floating-point values 
0050: gosub @NONAME_8392 
02F7: 4@ = cosine 6@ 
0011: 4@ *= 13.15 // floating-point values 
000B: 0@ += 4@ // floating-point values 
02F6: 4@ = sine 6@ // float 
0011: 4@ *= 13.15 // floating-point values 
000B: 1@ += 4@ // floating-point values 
0007: 2@ = 96.0 // floating-point values 
0050: gosub @NONAME_7962 
000B: 8@ += 1.0 // floating-point values 
0002: jump @NONAME_4457 

:NONAME_4627
0224: set_car 3@ health_to 1000 
0190: add_vehicle 3@ to_flipped_check 
0519: lock_vehicle 3@ in_current_position 1 
016A: fade 1 1500 ms 
02A3: enable_widescreen 1 
015F: set_camera_position -1377.343 1370.789 124.0795 0.0 rotation 0.0 0.0 
0050: gosub @NONAME_8392 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
054C: use_GXT_table 'TAXIWA3' 
00BC: text_highpriority 'TAXW3_2' 8000 ms 1  // ~g~Stay alive until the timer runs out.
0001: wait 2500 ms 
015F: set_camera_position -1402.91 1338.843 127.9081 0.0 rotation 0.0 0.0 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
054C: use_GXT_table 'TAXIWA2' 
00BC: text_highpriority 'TAXW2_1' 10000 ms 1  // ~g~Destroy 3 of the rival taxis!
0001: wait 2500 ms 
00BE: text_clear_all 
02EB: restore_camera_with_jumpcut 
0373: set_camera_directly_behind_player 
02A3: enable_widescreen 0 
05DF: write_memory 8275812 size 4 value 3.0 virtual_protect 0 
0519: lock_vehicle 3@ in_current_position 0 
01B4: set_player $PLAYER_CHAR frozen_state 1 
0004: $6685 = 61000 // integer values 
014E: start_timer_at $6685 count_in_direction 1 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_4977 
00AD: set_car 4@ max_speed_to 100.0 

:NONAME_4926
00D6: if 
05F0: 4@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_4977 
00AD: set_car 4@ max_speed_to 100.0 
0002: jump @NONAME_4926 

:NONAME_4977
0001: wait 0 ms 
0050: gosub @NONAME_4156 
00D6: if 
8118:   not actor $PLAYER_ACTOR dead 
004D: jump_if_false @NONAME_3162 
0407: create_coordinate 0@ 0@ 1@ from_car 3@ offset 0.0 0.0 1.0 
0407: create_coordinate 0@ 0@ 2@ from_car 3@ offset 0.0 0.0 0.0 
000F: 2@ -= 1@ // floating-point values 
00D6: if and
0021:   2@ > 0.9 // floating-point values 
81F3:   not car 3@ airborne 
00E1:   player 0 pressed_button 18 
004D: jump_if_false @NONAME_5315 
0407: create_coordinate 0@ 1@ 2@ from_car 3@ offset 0.0 0.0 1.0 
0437: scatter_particle 29 3.0 at 0@ 1@ 2@ 0.0 0.0 0.0 
0437: scatter_particle 54 5.0 at 0@ 1@ 2@ 0.0 0.0 0.0 
05E7: 0@ = car 3@ struct 
000A: 0@ += 120 // integer values 
05DF: write_memory 0@ size 4 value 0.1 virtual_protect 0 
000A: 0@ += 4 // integer values 
0174: 1@ = car 3@ z_angle 
02F7: 2@ = cosine 1@ 
0011: 2@ *= 0.15 // floating-point values 
05DF: write_memory 0@ size 4 value 2@ virtual_protect 0 
000A: 0@ += 4 // integer values 
02F6: 2@ = sine 1@ // float 
0011: 2@ *= 0.15 // floating-point values 
05DF: write_memory 0@ size 4 value 2@ virtual_protect 0 
0002: jump @NONAME_5315 

:NONAME_5315
0006: 9@ = 0 // integer values 
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 8@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_6199 
0002: jump @NONAME_5438 

:NONAME_5380
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F0: 8@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 1 //IF and SET 
004D: jump_if_false @NONAME_6199 
0002: jump @NONAME_5438 

:NONAME_5438
00D6: if 
8039:   not  8@ == 3@ // integer values 
004D: jump_if_false @NONAME_5380 
000A: 9@ += 1 // integer values 
0407: create_coordinate 0@ 0@ 1@ from_car 8@ offset 0.0 0.0 1.0 
0407: create_coordinate 0@ 0@ 2@ from_car 8@ offset 0.0 0.0 0.0 
000F: 2@ -= 1@ // floating-point values 
00D6: if and
0021:   2@ > 0.9 // floating-point values 
81F3:   not car 8@ airborne 
004D: jump_if_false @NONAME_5762 
0407: create_coordinate 0@ 1@ 2@ from_car 8@ offset 0.0 0.0 1.0 
0437: scatter_particle 29 3.0 at 0@ 1@ 2@ 0.0 0.0 0.0 
0437: scatter_particle 54 5.0 at 0@ 1@ 2@ 0.0 0.0 0.0 
05E7: 0@ = car 8@ struct 
000A: 0@ += 120 // integer values 
05DF: write_memory 0@ size 4 value 0.1 virtual_protect 0 
000A: 0@ += 4 // integer values 
0174: 1@ = car 8@ z_angle 
02F7: 2@ = cosine 1@ 
0011: 2@ *= 0.15 // floating-point values 
05DF: write_memory 0@ size 4 value 2@ virtual_protect 0 
000A: 0@ += 4 // integer values 
02F6: 2@ = sine 1@ // float 
0011: 2@ *= 0.15 // floating-point values 
05DF: write_memory 0@ size 4 value 2@ virtual_protect 0 

:NONAME_5762
05E7: 4@ = car 8@ struct 
000A: 4@ += 412 // integer values 
05E0: 5@ = read_memory 4@ size 4 virtual_protect 0 
05E6: 6@ = actor $PLAYER_ACTOR struct 
00D6: if 
8039:   not  5@ == 0 // integer values 
004D: jump_if_false @NONAME_5842 
00D6: if 
8039:   not  5@ == 6@ // integer values 
004D: jump_if_false @NONAME_5951 
0002: jump @NONAME_5380 

:NONAME_5842
00D6: if 
8205:   not actor $PLAYER_ACTOR near_car 8@ radius 15.0 15.0 15.0 unknown 0 
004D: jump_if_false @NONAME_5914 
04C4: create_coordinate 4@ 5@ 6@ from_actor $PLAYER_ACTOR offset 0.0 0.0 0.0 
0002: jump @NONAME_6023 

:NONAME_5914
05DF: write_memory 4@ size 4 value 6@ virtual_protect 0 
000E: 4@ -= 70 // integer values 
05DF: write_memory 4@ size 1 value 15 virtual_protect 0 
0002: jump @NONAME_5380 

:NONAME_5951
00D6: if 
8205:   not actor $PLAYER_ACTOR near_car 8@ radius 15.0 15.0 15.0 unknown 0 
004D: jump_if_false @NONAME_5380 
05DF: write_memory 4@ size 4 value 0 virtual_protect 0 
000E: 4@ -= 70 // integer values 
05DF: write_memory 4@ size 1 value 0 virtual_protect 0 
0002: jump @NONAME_5380 

:NONAME_6023
0407: create_coordinate 0@ 1@ 2@ from_car 8@ offset 0.0 0.0 0.0 
000F: 4@ -= 0@ // floating-point values 
000F: 5@ -= 1@ // floating-point values 
000F: 6@ -= 2@ // floating-point values 
0050: gosub @NONAME_8281 
0007: 1@ = 5.0 // floating-point values 
0015: 1@ /= 0@ // floating-point values 
0011: 4@ *= 1@ // floating-point values 
0011: 5@ *= 1@ // floating-point values 
0011: 6@ *= 1@ // floating-point values 
0407: create_coordinate 0@ 1@ 2@ from_car 8@ offset 0.0 0.0 0.0 
000B: 0@ += 4@ // floating-point values 
000B: 1@ += 5@ // floating-point values 
000B: 2@ += 6@ // floating-point values 
02C2: car 8@ drive_to_point 0@ 1@ 2@ 
0002: jump @NONAME_5380 

:NONAME_6199
00D6: if 
8039:   not  9@ == 0 // integer values 
004D: jump_if_false @NONAME_3005 
00D6: if 
0019:   $6685 > 2000 // integer values 
004D: jump_if_false @NONAME_6287 
00D6: if 
0019:   $6685 > 2100 // integer values 
004D: jump_if_false @NONAME_6262 
0002: jump @NONAME_4977 

:NONAME_6262
054C: use_GXT_table 'PROT3' 
00BC: text_highpriority 'PRO3_D' 10000 ms 1  // The timer must have got screwed.

:NONAME_6287
0006: $6685 = 1999 // integer values 
0002: jump @NONAME_4977 

:NONAME_6302
0247: request_model #RCBANDIT 
0247: request_model 526 
054C: use_GXT_table 'SERG3' 
0002: jump @NONAME_6329 

:NONAME_6329
00D6: if or
8248:   not model #RCBANDIT available 
8248:   not model 526 available 
004D: jump_if_false @NONAME_6361 
0001: wait 0 ms 
0002: jump @NONAME_6329 

:NONAME_6361
010C: change_player_into_rc_buggy $PLAYER_CHAR at 0@ 1@ 2@ 0.0 
0484: 3@ = player $PLAYER_CHAR rc_car 
048A: enable_rc_vehicle_detonation 0 
0007: 8@ = 0 // floating-point values 
0002: jump @NONAME_6406 

:NONAME_6406
00D6: if 
0023:   100.0 > 8@ // floating-point values 
004D: jump_if_false @NONAME_6633 

:NONAME_6427
0208: 4@ = random_float -10.0 10.0 
0208: 5@ = random_float -10.0 10.0 
0208: 6@ = random_float -10.0 10.0 
0050: gosub @NONAME_8281 
0208: 1@ = random_float 0.0 62.0 
0015: 1@ /= 0@ // floating-point values 
0011: 4@ *= 1@ // floating-point values 
0011: 5@ *= 1@ // floating-point values 
0011: 6@ *= 1@ // floating-point values 
0050: gosub @NONAME_8392 
000B: 0@ += 4@ // floating-point values 
000B: 1@ += 5@ // floating-point values 
000B: 2@ += 6@ // floating-point values 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
85F1:   not 4@ = random_object_near_point 0@ 1@ 2@ in_radius 3.0 find_next 0 //IF and SET 
004D: jump_if_false @NONAME_6427 
0107: 0@ = create_object 526 at 0@ 1@ 2@ 
000B: 8@ += 1.0 // floating-point values 
0002: jump @NONAME_6406 

:NONAME_6633
016A: fade 1 1500 ms 
0050: gosub @NONAME_8062 
0050: gosub @NONAME_8062 
0050: gosub @NONAME_8062 
01B4: set_player $PLAYER_CHAR frozen_state 1 
0158: camera_on_vehicle 3@ mode 3 switchstyle 2 
0006: $3307 = 100 // integer values 
03C4: set_status_text_to $3307 0 'TEX3_11'  // targets left:
0004: $3402 = 210000 // integer values 
03C3: set_timer_with_text_to $3402 type 1 text 'RACES'  // TIME:
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F1: 4@ = random_object_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 //IF and SET 
004D: jump_if_false @NONAME_6861 
0392: object 4@ toggle_in_moving_list 1 
0002: jump @NONAME_6787 

:NONAME_6787
00D6: if 
05F1: 4@ = random_object_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 //IF and SET 
004D: jump_if_false @NONAME_6861 
0392: object 4@ toggle_in_moving_list 1 
0002: jump @NONAME_6787 

:NONAME_6833
04DB: exit_rc_mode 
0001: wait 1000 ms 
0002: jump @NONAME_2949 

:NONAME_6847
04DB: exit_rc_mode 
0001: wait 1000 ms 
0002: jump @NONAME_3005 

:NONAME_6861
0001: wait 0 ms 
00D6: if 
8039:   not  $3402 == 0 // integer values 
004D: jump_if_false @NONAME_6833 
00D6: if 
8039:   not  $3307 == 0 // integer values 
004D: jump_if_false @NONAME_6847 
00D6: if or
01F3:   car 3@ airborne 
80E1:   not player 0 pressed_button 18 
004D: jump_if_false @NONAME_7482 

:NONAME_6923
0006: 9@ = 0 // integer values 
0006: 10@ = 0 // integer values 

:NONAME_6937
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F1: 8@ = random_object_near_point 0@ 1@ 2@ in_radius 100.0 find_next 0 //IF and SET 
004D: jump_if_false @NONAME_7467 
0002: jump @NONAME_7049 

:NONAME_6993
0050: gosub @NONAME_8392 
000B: 2@ += 63.0 // floating-point values 
00D6: if 
05F1: 8@ = random_object_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 //IF and SET 
004D: jump_if_false @NONAME_7467 
0002: jump @NONAME_7049 

:NONAME_7049
00D6: if 
8366:   not object 8@ damaged 
004D: jump_if_false @NONAME_7455 
00D6: if 
003A:   9@ == 10@ // integer values and handles 
004D: jump_if_false @NONAME_7091 
0002: jump @NONAME_7105 

:NONAME_7091
000A: 9@ += 1 // integer values 
0002: jump @NONAME_6993 

:NONAME_7105
000A: 10@ += 1 // integer values 
0400: create_coordinate 0@ 1@ 2@ from_object 8@ offset 0.0 0.0 0.0 
00D6: if 
85F0:   not 7@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 5.0 find_next 0 pass_wrecked 0 //IF and SET 
004D: jump_if_false @NONAME_7214 
00D6: if 
85F1:   not 7@ = random_object_near_point 0@ 1@ 2@ in_radius 5.0 find_next 1 //IF and SET 
004D: jump_if_false @NONAME_7250 
0002: jump @NONAME_7441 

:NONAME_7214
0407: create_coordinate 4@ 5@ 6@ from_car 7@ offset 0.0 0.0 0.0 
0002: jump @NONAME_7286 

:NONAME_7250
0400: create_coordinate 4@ 5@ 6@ from_object 7@ offset 0.0 0.0 0.0 
0002: jump @NONAME_7286 

:NONAME_7286
0050: gosub @NONAME_8318 
0007: 9@ = 0.1 // floating-point values 
0015: 9@ /= 0@ // floating-point values 
0400: create_coordinate 0@ 1@ 2@ from_object 8@ offset 0.0 0.0 0.0 
000F: 0@ -= 4@ // floating-point values 
000F: 1@ -= 5@ // floating-point values 
000F: 2@ -= 6@ // floating-point values 
0011: 0@ *= 9@ // floating-point values 
0011: 1@ *= 9@ // floating-point values 
0011: 2@ *= 9@ // floating-point values 
05E8: 4@ = object 8@ struct 
000A: 4@ += 112 // integer values 
05DF: write_memory 4@ size 4 value 0@ virtual_protect 0 
000A: 4@ += 4 // integer values 
05DF: write_memory 4@ size 4 value 1@ virtual_protect 0 
0002: jump @NONAME_7441 

:NONAME_7441
0006: 9@ = 0 // integer values 
0002: jump @NONAME_6937 

:NONAME_7455
0108: destroy_object 8@ 
0002: jump @NONAME_6993 

:NONAME_7467
0006: $3307 = 9@ // integer values 
0002: jump @NONAME_6861 

:NONAME_7482
0407: create_coordinate 4@ 5@ 6@ from_car 3@ offset 0.0 3.0 0.0 
00D6: if 
05F1: 8@ = random_object_near_point 4@ 5@ 6@ in_radius 3.0 find_next 0 //IF and SET 
004D: jump_if_false @NONAME_6923 
0407: create_coordinate 4@ 5@ 6@ from_car 3@ offset 0.0 -0.3 -0.3 
0437: scatter_particle 29 0.2 at 4@ 5@ 6@ 0.0 0.0 0.0 
0437: scatter_particle 54 0.35 at 4@ 5@ 6@ 0.0 0.0 0.0 
0407: create_coordinate 4@ 5@ 6@ from_car 3@ offset 0.0 0.0 0.0 
0400: create_coordinate 0@ 1@ 2@ from_object 8@ offset 0.0 0.0 0.0 
0050: gosub @NONAME_8318 
0007: 9@ = 0.3 // floating-point values 
0015: 9@ /= 0@ // floating-point values 
0400: create_coordinate 0@ 1@ 2@ from_object 8@ offset 0.0 0.0 0.0 
000F: 0@ -= 4@ // floating-point values 
000F: 1@ -= 5@ // floating-point values 
000F: 2@ -= 6@ // floating-point values 
0011: 0@ *= 9@ // floating-point values 
0011: 1@ *= 9@ // floating-point values 
0011: 2@ *= 9@ // floating-point values 
05E7: 4@ = car 3@ struct 
000A: 4@ += 112 // integer values 
05DF: write_memory 4@ size 4 value 0@ virtual_protect 0 
000A: 4@ += 4 // integer values 
05DF: write_memory 4@ size 4 value 1@ virtual_protect 0 
000A: 4@ += 4 // integer values 
05DF: write_memory 4@ size 4 value 0.05 virtual_protect 0 
0002: jump @NONAME_6923 

:NONAME_7872
00A5: 4@ = create_car #PCJ600 at 0@ 1@ 2@ 
000B: 2@ += 3.0 // floating-point values 
00A5: 0@ = create_car #PCJ600 at 0@ 1@ 2@ 
0560: create_random_actor_in_vehicle 4@ in_driverseat_handle_as 1@ 
036A: put_actor 1@ in_car 0@ 
009B: destroy_actor_instantly 1@ 
00A6: destroy_car 0@ 
0175: set_car 4@ z_angle_to 5@ 
00AD: set_car 4@ max_speed_to 0.0 
0051: return 

:NONAME_7962
00A5: 4@ = create_car #TAXI at 0@ 1@ 2@ 
0129: 0@ = create_actor 4 #WMOCA in_car 4@ driverseat 
039E: set_actor 0@ locked_while_in_vehicle 1 
054A: set_actor 0@ can_be_shot_in_a_car 1 
0175: set_car 4@ z_angle_to 5@ 
02AC: set_car 4@ immunities 0 0 1 1 0 
02AA: set_car 4@ immune_to_nonplayer 1 
0186: 0@ = create_marker_above_car 4@ 
01EC: make_car 4@ very_heavy 1 
00AD: set_car 4@ max_speed_to 0.0 
0051: return 

:NONAME_8062
0050: gosub @NONAME_8392 
0208: 4@ = random_float 1.0 2.0 
0209: 5@ = random_int_in_ranges 0 2 
0010: 5@ *= 2 // integer values 
000E: 5@ -= 1 // integer values 
008D: 5@ = integer_to_float 5@ 
0011: 4@ *= 5@ // floating-point values 
000B: 0@ += 4@ // floating-point values 
0208: 4@ = random_float 1.0 2.0 
0209: 5@ = random_int_in_ranges 0 2 
0010: 5@ *= 2 // integer values 
000E: 5@ -= 1 // integer values 
008D: 5@ = integer_to_float 5@ 
0011: 4@ *= 5@ // floating-point values 
0208: 4@ = random_float 1.0 2.0 
000B: 1@ += 4@ // floating-point values 
000B: 2@ += -0.5 // floating-point values 
015F: set_camera_position 0@ 1@ 2@ 0.0 rotation 0.0 0.0 
0050: gosub @NONAME_8392 
000B: 2@ += 2.0 // floating-point values 
0160: point_camera 0@ 1@ 2@ switchstyle 2 
0001: wait 2500 ms 
0051: return 

:NONAME_8281
0007: 0@ = 0.0 // floating-point values 
0007: 1@ = 0.0 // floating-point values 
0007: 2@ = 0.0 // floating-point values 
0002: jump @NONAME_8318 

:NONAME_8318
000F: 0@ -= 4@ // floating-point values 
0011: 0@ *= 0@ // floating-point values 
000F: 1@ -= 5@ // floating-point values 
0011: 1@ *= 1@ // floating-point values 
000F: 2@ -= 6@ // floating-point values 
0011: 2@ *= 2@ // floating-point values 
000B: 0@ += 1@ // floating-point values 
000B: 0@ += 2@ // floating-point values 
01FB: 0@ = square_root 0@ 
0051: return 

:NONAME_8392
0007: 0@ = -1362.302 // floating-point values 
0007: 1@ = 1332.047 // floating-point values 
0007: 2@ = 94.1871 // floating-point values 
0051: return 
