bluespace88 9 Report post Posted February 23, 2010 (edited) //add these along with the other create threads at the top 004F: create_thread @LabelScanner 004F: create_thread @LabelWeapons 004F: create_thread @LabelKnight 004F: create_thread @LabelKnightPursuit 004F: create_thread @LabelAutodrive 004F: create_thread @LabelEject 004F: create_thread @LabelDraw //add this right above the mission 0 thread :LabelVoice 0006: 1@ = 200 0004: 2@ = 0 0004: 3@ = 0 0050: gosub @LabelTimeCircuits3 033F: set_text_draw_letter_width_height 7.5 25.0 03E4: set_text_draw_align_right 1 033E: text_draw 550.0 50.0 'PLIGHT' :LabelVoiceReturn 0051: return :LabelScanner 03A4: name_thread 'SCAN' :LabelScanner1S 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelScanner1S 00D6: if 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelScanner1S 00D6: if 0 0038: $AUTOCRUISE == 0 // integer values 004D: jump_if_false @LabelScanner1 040D: unload_wav 1 00D6: if 0 0039: 14@ == 0 // integer values 004D: jump_if_false @LabelScanner1S1 03CF: load_wav 'FUD_12' as 1 0006: 14@ = 1 0002: jump @LabelScanner1SA :LabelScanner1S1 03CF: load_wav 'FUD_18' as 1 :LabelScanner1SA 0001: wait 0 ms 00D6: if 0 03D0: wav 1 loaded 004D: jump_if_false @LabelScanner1SA 03D1: play_wav 1 :LabelScanner1SB 0001: wait 200 ms 00D6: if 0 00E0: player $PLAYER_CHAR driving 004D: jump_if_false @LabelScanner1SC 00D6: if 1 83D2: NOT wav 1 ended 03D0: wav 1 loaded 004D: jump_if_false @LabelScanner1SC 0050: gosub @LabelVoice 0002: jump @LabelScanner1SB :LabelScanner1SC 040D: unload_wav 1 :LabelScanner1SD 0001: wait 10 ms 00D6: if 00DE: player $PLAYER_CHAR driving vehicle type #BFINJECT 004D: jump_if_false @LabelScanner1S :LabelScanner1 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelScanner1S 00D6: if 0 0038: $SPM == 0 // integer values 004D: jump_if_false @LabelScanner1 00D6: if 00DE: player $PLAYER_CHAR driving vehicle type #BFINJECT 004D: jump_if_false @LabelScanner1SD 03C1: 0@ = player $PLAYER_CHAR car 0407: create coordinate 5@ 6@ 7@ from car 0@ offset -10.0 -10.0 0.0 0407: create coordinate 9@ 10@ 11@ from car 0@ offset 10.0 10.0 0.0 053E: 12@ = get_random_car_with_actors -1 in_area 5@ 6@ 9@ 10@ 00D6: if 0 8119: NOT car 12@ wrecked 004D: jump_if_false @LabelScanner1AA 00D6: if 1 8185: NOT car 12@ health >= 990 8137: NOT car 12@ id == #BFINJECT 004D: jump_if_false @LabelScanner1AA 0050: gosub @LabelCollision :LabelScanner1AA 0050: gosub @LabelSystems 00D6: if 1 00E1: key_pressed 0 3 00E1: key_pressed 0 18 004D: jump_if_false @LabelScanner1 :LabelScanner1A 0001: wait 10 ms 00D6: if 1 00E1: key_pressed 0 3 00E1: key_pressed 0 18 004D: jump_if_false @LabelScanner2 0002: jump @LabelScanner1A :LabelScanner2 00D6: if 21 03D2: wav 1 ended 83D0: NOT wav 1 loaded 004D: jump_if_false @LabelScanner3 040D: unload_wav 1 03CF: load_wav 'FUD_19' as 1 :LabelScanner3 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelScanner1 00D6: if 00DE: player $PLAYER_CHAR driving vehicle type #BFINJECT 004D: jump_if_false @LabelScanner3 03D1: play_wav 1 00D6: if 1 00E1: key_pressed 0 3 00E1: key_pressed 0 18 004D: jump_if_false @LabelScanner4AA 0002: jump @LabelScanner8 :LabelScanner4AA 03C1: 0@ = player $PLAYER_CHAR car 0407: create coordinate 5@ 6@ 7@ from car 0@ offset -10.0 -10.0 0.0 0407: create coordinate 9@ 10@ 11@ from car 0@ offset 10.0 10.0 0.0 053E: 12@ = get_random_car_with_actors -1 in_area 5@ 6@ 9@ 10@ 00D6: if 0 8119: NOT car 12@ wrecked 004D: jump_if_false @LabelScanner4A 00D6: if 1 8185: NOT car 12@ health >= 990 8137: NOT car 12@ id == #BFINJECT 004D: jump_if_false @LabelScanner4A 0050: gosub @LabelCollision :LabelScanner4A 0050: gosub @LabelSystems 0002: jump @LabelScanner2 :LabelScanner8 0001: wait 0 ms 00D6: if 21 80E1: NOT key_pressed 0 3 80E1: NOT key_pressed 0 18 004D: jump_if_false @LabelScanner8 0004: $SCAN = 0 040D: unload_wav 1 0002: jump @LabelScanner1 :LabelSystems 0209: 5@ = random_int 1 2000 0208: 6@ = random_float 0.0 100.0 00D6: if 0 0039: 5@ == 1000 // integer values 004D: jump_if_false @LabelSystemsReturn 040D: unload_wav 1 00D6: if 0 8021: NOT 6@ > 87.5 // floating-point values 004D: jump_if_false @LabelSystems1 00D6: if 0 8021: NOT 6@ > 75.0 // floating-point values 004D: jump_if_false @LabelSystems2 00D6: if 0 8021: NOT 6@ > 62.5 // floating-point values 004D: jump_if_false @LabelSystems3 00D6: if 0 8021: NOT 6@ > 50.0 // floating-point values 004D: jump_if_false @LabelSystems4 00D6: if 0 8021: NOT 6@ > 37.5 // floating-point values 004D: jump_if_false @LabelSystems5 00D6: if 0 8021: NOT 6@ > 25.0 // floating-point values 004D: jump_if_false @LabelSystems6 00D6: if 0 8021: NOT 6@ > 12.5 // floating-point values 004D: jump_if_false @LabelSystems7 03CF: load_wav 'FUD_14' as 1 0002: jump @LabelSystemsSA :LabelSystems1 03CF: load_wav 'FUD_03' as 1 0002: jump @LabelSystemsSA :LabelSystems2 03CF: load_wav 'FUD_05' as 1 0002: jump @LabelSystemsSA :LabelSystems3 03CF: load_wav 'FUD_06' as 1 0002: jump @LabelSystemsSA :LabelSystems4 03CF: load_wav 'FUD_07' as 1 0002: jump @LabelSystemsSA :LabelSystems5 03CF: load_wav 'BAND_01' as 1 0002: jump @LabelSystemsSA :LabelSystems6 03CF: load_wav 'FUD_08' as 1 0002: jump @LabelSystemsSA :LabelSystems7 03CF: load_wav 'FUD_09' as 1 0002: jump @LabelSystemsSA :LabelSystemsSA 0001: wait 0 ms 00D6: if 0 03D0: wav 1 loaded 004D: jump_if_false @LabelSystemsSA 03D1: play_wav 1 :LabelSystemsSB 0001: wait 200 ms 00D6: if 00DE: player $PLAYER_CHAR driving vehicle type #BFINJECT 004D: jump_if_false @LabelSystemsSC 00D6: if 1 83D2: NOT wav 1 ended 03D0: wav 1 loaded 004D: jump_if_false @LabelSystemsSC 0050: gosub @LabelVoice 0002: jump @LabelSystemsSB :LabelSystemsSC 040D: unload_wav 1 :LabelSystemsReturn 0051: return :LabelCollision 0209: 5@ = random_int 1 1000 0208: 6@ = random_float 0.0 100.0 00D6: if 0 0039: 5@ == 500 // integer values 004D: jump_if_false @LabelSystemsReturn 040D: unload_wav 1 00D6: if 0 0021: 6@ > 50.0 // floating-point values 004D: jump_if_false @LabelCollision1 03CF: load_wav 'FUD_13' as 1 0002: jump @LabelCollisionSA :LabelCollision1 03CF: load_wav 'FUD_15' as 1 :LabelCollisionSA 0001: wait 0 ms 00D6: if 0 03D0: wav 1 loaded 004D: jump_if_false @LabelCollisionSA 03D1: play_wav 1 :LabelCollisionSB 0001: wait 200 ms 00D6: if 00DE: player $PLAYER_CHAR driving vehicle type #BFINJECT 004D: jump_if_false @LabelCollisionSC 00D6: if 1 83D2: NOT wav 1 ended 03D0: wav 1 loaded 004D: jump_if_false @LabelCollisionSC 0050: gosub @LabelVoice 0002: jump @LabelCollisionSB :LabelCollisionSC 040D: unload_wav 1 :LabelCollisionReturn 0051: return :LabelEject 03A4: name_thread 'EJECT' :LabelEject1 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelEject1 00D6: if 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelEject1 03C1: 1@ = player $PLAYER_CHAR car 00D6: if 1 00E1: key_pressed 0 6 00E1: key_pressed 0 3 004D: jump_if_false @LabelEject1 :LabelEject2 0407: create_coordinate 2@ 3@ 4@ from_car 1@ offset 0.0 0.0 1.0 0087: 5@ = 4@ // floating-point values only 000B: 5@ += 5.0 // floating-point values 02AB: set_actor $PLAYER_ACTOR immunities 1 1 1 1 1 012A: put_player $PLAYER_CHAR at 2@ 3@ 4@ and_remove_from_car :LabelEject3 0001: wait 10 ms 000B: 4@ += 0.5 // floating-point values 0055: put_player $PLAYER_CHAR at 2@ 3@ 4@ 00D6: if 0 0025: 4@ > 5@ // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelEject3 0001: wait 1000 ms 02AB: set_actor $PLAYER_ACTOR immunities 0 0 0 0 0 0002: jump @LabelEject1 :LabelWeapons 03A4: name_thread 'WEAPON' :LabelWeapons1 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelWeapons1 00D6: if 0 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelWeapons1 00D6: if 0 0038: $AUTOCRUISE == 0 // integer values 004D: jump_if_false @LabelWeapons1 00D6: if 0 00E1: key_pressed 0 19 004D: jump_if_false @LabelWeapons2 000A: $WEAPON += 1 // integer values :LabelWeaponsA 00D6: if 0 0039: $WEAPON == 1 // integer values 004D: jump_if_false @LabelWeaponsB 00BC: text_highpriority 'MJAM' 1000 ms 1 // 0002: jump @LabelWeapons1A :LabelWeaponsB 00D6: if 0 0039: $WEAPON == 2 // integer values 004D: jump_if_false @LabelWeaponsC 00BC: text_highpriority 'KLASER' 1000 ms 1 // 0002: jump @LabelWeapons1A :LabelWeaponsC 00D6: if 0 0039: $WEAPON == 3 // integer values 004D: jump_if_false @LabelWeaponsE 00BC: text_highpriority 'ROCKET' 1000 ms 1 // 0002: jump @LabelWeapons1A :LabelWeaponsE 00D6: if 0 0019: $WEAPON > 3 // integer values 004D: jump_if_false @LabelWeapons1A 0006: $WEAPON = 0 00BC: text_highpriority 'KOFF' 1000 ms 1 // 0002: jump @LabelWeapons1A :LabelWeapons1A 0001: wait 100 ms :LabelWeapons2 00D6: if 0 00E1: key_pressed 0 17 004D: jump_if_false @LabelWeapons1 00D6: if 0 0039: $WEAPON == 0 // integer values 004D: jump_if_false @LabelWeapons3 0002: jump @LabelWeapons1 :LabelWeapons3 00D6: if 0 0039: $WEAPON == 1 // integer values 004D: jump_if_false @LabelWeapons4 0002: jump @LabelMicrojam :LabelWeapons4 00D6: if 0 0039: $WEAPON == 2 // integer values 004D: jump_if_false @LabelWeapons5 0002: jump @LabelLasers :LabelWeapons5 00D6: if 0 0039: $WEAPON == 3 // integer values 004D: jump_if_false @LabelWeapons1 0002: jump @LabelRockets :LabelMicrojam 004F: create_thread @LabelKnightEMP 0002: jump @LabelWeaponsEnd :LabelLasers 004F: create_thread @LabelKnightLaser 0002: jump @LabelWeaponsEnd :LabelRockets 004F: create_thread @LabelKnightRocket 0002: jump @LabelWeaponsEnd :LabelWeaponsEnd 004E: end_thread :LabelKnightEMP 03A4: name_thread 'EMPS' 03C1: 1@ = player $PLAYER_CHAR car 0006: 8@ = -1 0407: create coordinate 2@ 3@ 4@ from car 1@ offset -1.5 0.0 0.0 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 1.5 25.0 0.0 053E: 8@ = get_random_car_with_actors -1 in_area 2@ 3@ 5@ 6@ 00D6: if 0 8039: NOT 8@ == -1// integer values 004D: jump_if_false @LabelKnightEMPC 00D6: if 0 8137: NOT car 8@ id == #BFINJECT 004D: jump_if_false @LabelKnightEMPC 03CF: load_wav 'FUD_04' as 2 :LabelKnightEMPA 0001: wait 0 ms 00D6: if 0 03D0: wav 2 loaded 004D: jump_if_false @LabelKnightEMPA 03D1: play_wav 2 00AD: set_car 8@ max_speed_to 0.0 0477: set_car 8@ animation 5 3600000 ms 02D4: unknown_turn_off_car 8@ engine :LabelKnightEMPB 0001: wait 2500 ms 040D: unload_wav 2 :LabelKnightEMPC 004F: create_thread @LabelWeapons 004E: end_thread :LabelKnightLaser 03A4: name_thread 'LaserS' 03C1: 1@ = player $PLAYER_CHAR car 03CF: load_wav 'FUD_10' as 2 :LabelKnightLaserA 0001: wait 0 ms 00D6: if 0 03D0: wav 2 loaded 004D: jump_if_false @LabelKnightLaserA 03D1: play_wav 2 0407: create coordinate 2@ 3@ 4@ from car 1@ offset -10.0 2.5 -0.25 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 10.0 150.0 -0.25 0006: 8@ = -1 053E: 8@ = get_random_car_with_actors -1 in_area 2@ 3@ 5@ 6@ 00D6: if 0 8039: NOT 8@ == -1// integer values 004D: jump_if_false @LabelKnightLaser1A 00D6: if 1 80DC: NOT player $PLAYER_CHAR driving 8@ 8119: NOT car 8@ wrecked 004D: jump_if_false @LabelKnightLaser1A 0407: create coordinate 2@ 3@ 4@ from car 1@ offset 0.0 2.5 -0.25 0407: create coordinate 5@ 6@ 7@ from car 8@ offset 0.0 0.0 -0.25 0002: jump @LabelKnightLaser1B :LabelKnightLaser1A 0407: create coordinate 2@ 3@ 4@ from car 1@ offset 0.0 2.5 -0.25 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 0.0 150.0 -0.25 :LabelKnightLaser1B 0509: unknown 9@ = distance between point 2@ 3@ and point 5@ 6@ 02E3: 10@ = car 1@ speed 0015: 10@ /= 40.0 // floating-point values 000B: 10@ += 0.5 0063: 5@ -= 2@ // floating-point values (never used in VC or GTA 3) 0063: 6@ -= 3@ // floating-point values (never used in VC or GTA 3) 0063: 7@ -= 4@ // floating-point values (never used in VC or GTA 3) 0087: 12@ = 5@ // floating-point values only 0087: 13@ = 6@ // floating-point values only 0087: 14@ = 7@ // floating-point values only 0073: 12@ /= 9@ // floating-point values (never used in VC or GTA 3) 0073: 13@ /= 9@ // floating-point values (never used in VC or GTA 3) 0073: 14@ /= 9@ // floating-point values (never used in VC or GTA 3) 0011: 12@ *= 10@ // floating-point values 0011: 13@ *= 10@ // floating-point values 0011: 14@ *= 10@ // floating-point values 0013: 9@ *= 2.0 // floating-point values 0073: 5@ /= 9@ // floating-point values (never used in VC or GTA 3) 0073: 6@ /= 9@ // floating-point values (never used in VC or GTA 3) 0073: 7@ /= 9@ // floating-point values (never used in VC or GTA 3) 0007: 9@ = 300.0 :LabelKnightLaserA1 0001: wait 0 ms 00D6: if 0 0021: 9@ > 0.0 // floating-point values 004D: jump_if_false @LabelKnightLaserB 000F: 9@ -= 15.0 // integer values 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0050: gosub @LabelKnightLaserCh 0002: jump @LabelKnightLaserA1 :LabelKnightLaserCh 005b: 2@ += 5@ // floating-point values (never used in VC or GTA 3) 005b: 3@ += 6@ // floating-point values (never used in VC or GTA 3) 005b: 4@ += 7@ // floating-point values (never used in VC or GTA 3) 0437: scatter_particle 0 0.05 at 2@ 3@ 4@ 12@ 13@ 14@ 0087: 0@ = 2@ // floating-point values only 0087: 1@ = 3@ // floating-point values only 0087: 10@ = 2@ // floating-point values only 0087: 11@ = 3@ // floating-point values only 000B: 0@ += 1.5 // floating-point values 000B: 1@ += 1.5 // floating-point values 000F: 10@ -= 1.5 // floating-point values 000F: 11@ -= 1.5 // floating-point values 0006: 8@ = -1 053E: 8@ = get_random_car_with_actors -1 in_area 0@ 1@ 10@ 11@ 00D6: if 0 8039: NOT 8@ == -1// integer values 004D: jump_if_false @LabelKnightLaserChR 00D6: if 1 8137: NOT car 8@ id == #BFINJECT 8119: NOT car 8@ wrecked 004D: jump_if_false @LabelKnightLaserChR 00D6: if 0 01AF: car 8@ 0 ()near_point 2@ 3@ 4@ radius 1.5 1.5 1.5 004D: jump_if_false @LabelKnightLaserChR 020B: explode_car 8@ 0002: jump @LabelKnightLaserB :LabelKnightLaserB 040D: unload_wav 2 :LabelKnightLaserC 004F: create_thread @LabelWeapons 004E: end_thread :LabelKnightLaserChR 0051: return :LabelKnightRocket 03A4: name_thread 'ROCKET' 03CF: load_wav 'FUD_20' as 2 0001: wait 0 ms 0006: 14@ = 0 0007: 9@ = 0.0 03C1: 1@ = player $PLAYER_CHAR car :LabelKnightRocketS 00D6: if 21 80E1: NOT key_pressed 0 5 80E1: NOT key_pressed 0 7 004D: jump_if_false @LabelKnightRocketS1 0407: create coordinate 2@ 3@ 4@ from car 1@ offset -5.0 2.0 0.0 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 5.0 100.0 0.0 0002: jump @LabelKnightRocketS2 :LabelKnightRocketS1 0407: create coordinate 2@ 3@ 4@ from car 1@ offset -5.0 -2.0 0.0 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 5.0 -100.0 0.0 :LabelKnightRocketS2 0006: 8@ = -1 053E: 8@ = get_random_car_with_actors -1 in_area 2@ 3@ 5@ 6@ 02E3: 13@ = car 1@ speed 0015: 13@ /= 40.0 // floating-point values 000B: 13@ += 2.0 :LabelKnightRocketA 0001: wait 0 ms 00D6: if 0 03D0: wav 2 loaded 004D: jump_if_false @LabelKnightRocketA 03D1: play_wav 2 0407: create coordinate 2@ 3@ 4@ from car 1@ offset 0.0 -2.0 0.0 00D6: if 1 80DC: NOT player $PLAYER_CHAR driving 8@ 8119: NOT car 8@ wrecked 004D: jump_if_false @LabelKnightRocketC 0006: 0@ = 1 0006: 16@ = 0 :LabelKnightRocketB 0001: wait 10 ms 00D6: if 1 8019: NOT 16@ > 5000 // integer values 81AF: NOT car 8@ 0 ()near_point 2@ 3@ 4@ radius 1.5 1.5 1.5 004D: jump_if_false @LabelKnightRocketE 0407: create coordinate 5@ 6@ 7@ from car 8@ offset 0.0 0.0 0.0 0509: unknown 9@ = distance between point 2@ 3@ and point 5@ 6@ 0050: gosub @LabelKnightRocketCalc 0002: jump @LabelKnightRocketB :LabelKnightRocketC 0006: 0@ = 0 0002: jump @LabelKnightRocketC2 :LabelKnightRocketC1 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 0.0 -100.0 0.0 0002: jump @LabelKnightRocketD :LabelKnightRocketC2 00D6: if 21 80E1: NOT key_pressed 0 5 80E1: NOT key_pressed 0 7 004D: jump_if_false @LabelKnightRocketC1 0407: create coordinate 5@ 6@ 7@ from car 1@ offset 0.0 100.0 0.0 :LabelKnightRocketD 0001: wait 10 ms 00D6: if 0 8019: NOT 14@ > 30 // integer values 004D: jump_if_false @LabelKnightRocketE 0509: unknown 9@ = distance between point 2@ 3@ and point 5@ 6@ 0050: gosub @LabelKnightRocketCalc 000A: 14@ += 1 // integer values 0002: jump @LabelKnightRocketD :LabelKnightRocketCalc 0087: 10@ = 5@ // floating-point values only 0087: 11@ = 6@ // floating-point values only 0087: 12@ = 7@ // floating-point values only 0063: 10@ -= 2@ // floating-point values (never used in VC or GTA 3) 0063: 11@ -= 3@ // floating-point values (never used in VC or GTA 3) 0063: 12@ -= 4@ // floating-point values (never used in VC or GTA 3) 0073: 10@ /= 9@ // floating-point values (never used in VC or GTA 3) 0073: 11@ /= 9@ // floating-point values (never used in VC or GTA 3) 0073: 12@ /= 9@ // floating-point values (never used in VC or GTA 3) 0069: 10@ *= 13@ // floating-point values 0069: 11@ *= 13@ // floating-point values 0069: 12@ *= 13@ // floating-point values 005b: 2@ += 10@ // floating-point values (never used in VC or GTA 3) 005b: 3@ += 11@ // floating-point values (never used in VC or GTA 3) 005b: 4@ += 12@ // floating-point values (never used in VC or GTA 3) 0437: scatter_particle 75 1.0 at 2@ 3@ 4@ 0 0 0 04D5: create_corona_at 2@ 3@ 4@ radius 2.0 type 1 flare 1 RGB 255 255 255 0087: 10@ = 2@ // floating-point values only 0087: 11@ = 3@ // floating-point values only 0087: 12@ = 2@ // floating-point values only 0087: 15@ = 3@ // floating-point values only 000B: 10@ += 10.0 // floating-point values 000B: 11@ += 10.0 // floating-point values 000F: 12@ -= 10.0 // floating-point values 000F: 15@ -= 10.0 // floating-point values 02CE: 9@ = ground_z 2@ 3@ 4@ 00D6: if 0 8039: NOT 9@ == -1// integer values 004D: jump_if_false @LabelKnightRocketE 0006: 9@ = -1 053E: 9@ = get_random_car_with_actors -1 in_area 10@ 11@ 12@ 15@ 00D6: if 0 8039: NOT 9@ == -1// integer values 004D: jump_if_false @LabelKnightRocketCalcEnd1 00D6: if 1 80DC: NOT player $PLAYER_CHAR driving 9@ 8119: NOT car 9@ wrecked 004D: jump_if_false @LabelKnightRocketCalcEnd1 00D6: if 0 01AF: car 9@ 0 ()near_point 2@ 3@ 4@ radius 1.5 1.5 1.5 004D: jump_if_false @LabelKnightRocketCalcEnd 0002: jump @LabelKnightRocketE :LabelKnightRocketCalcEnd 00D6: if 0 0039: 0@ == 0 // integer values 004D: jump_if_false @LabelKnightRocketCalcEnd1 0006: 0@ = 1 0085: 8@ = 9@ // integer values and handles 0002: jump @LabelKnightRocketB :LabelKnightRocketCalcEnd1 0051: return :LabelKnightRocketE 040D: unload_wav 2 020C: create_explosion_with_radius 10 at 2@ 3@ 4@ 0565: create_temporary_explosion_fire 2@ 3@ 4@ 10 0001: wait 100 ms 004F: create_thread @LabelWeapons 004E: end_thread :LabelKnightPursuit 03A4: name_thread 'PURSUIT' :LabelKnightPursuit1 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelKnightPursuit1 00D6: if 0 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelKnightPursuit1 03C1: 0@ = player $PLAYER_CHAR car 00D6: if 21 80E1: NOT key_pressed 0 3 00E1: key_pressed 0 17 004D: jump_if_false @LabelKnightPursuit1A 00D6: if 0 0038: $AUTODRIVE == 0 // integer values 004D: jump_if_false @LabelKnightPursuit1B 0006: 1@ = 100 0004: 2@ = 255 0004: 3@ = 50 0050: gosub @LabelTimeCircuits3 033F: set_text_draw_letter_width_height 7.5 25.0 03E4: set_text_draw_align_right 1 033E: text_draw 500.0 1.0 'PLIGHT' 0006: 1@ = 255 0006: 2@ = 255 0006: 3@ = 255 0050: gosub @LabelTimeCircuits3 03E4: set_text_draw_align_right 1 033F: set_text_draw_letter_width_height 0.25 1.0 033E: text_draw 485.0 176.0 'NCRUISE' 0002: jump @LabelKnightPursuit1 :LabelKnightPursuit1B 0006: 1@ = 100 0004: 2@ = 255 0004: 3@ = 50 0050: gosub @LabelTimeCircuits3 033F: set_text_draw_letter_width_height 7.5 25.0 03E4: set_text_draw_align_right 1 033E: text_draw 550.0 1.0 'PLIGHT' 0006: 1@ = 255 0006: 2@ = 255 0006: 3@ = 255 0050: gosub @LabelTimeCircuits3 03E4: set_text_draw_align_right 1 033F: set_text_draw_letter_width_height 0.25 1.0 033E: text_draw 535.0 176.0 'ACRUISE' 0002: jump @LabelKnightPursuit1 :LabelKnightPursuit1A 00D6: if 0 0038: $AUTODRIVE == 0 // integer values 004D: jump_if_false @LabelKnightPursuit1 0459: end_thread_named 'WEAPON' 040D: unload_wav 2 03CF: load_wav 'FUD_17' as 2 :LabelKnightPursuit1AL 0001: wait 0 ms 00D6: if 0 03D0: wav 2 loaded 004D: jump_if_false @LabelKnightPursuit1AL 03D1: play_wav 2 :LabelKnightPursuit2 0001: wait 0 ms 00D6: if 1 0256: player $PLAYER_CHAR defined 8119: NOT car 0@ wrecked 004D: jump_if_false @LabelKnightPursuitU 00D6: if 0 00E0: player $PLAYER_CHAR driving 004D: jump_if_false @LabelKnightPursuitU 00D6: if 0 00E1: key_pressed 0 3 004D: jump_if_false @LabelKnightPursuitU 0006: 1@ = 255 0004: 2@ = 200 0004: 3@ = 50 0050: gosub @LabelTimeCircuits3 033F: set_text_draw_letter_width_height 7.5 25.0 03E4: set_text_draw_align_right 1 033E: text_draw 550.0 1.0 'PLIGHT' 0006: 1@ = 255 0006: 2@ = 255 0006: 3@ = 255 0050: gosub @LabelTimeCircuits3 03E4: set_text_draw_align_right 1 033F: set_text_draw_letter_width_height 0.25 1.0 033E: text_draw 534.0 176.0 'PURSUIT' 02E3: 4@ = car 0@ speed 00D6: if 0 0021: 4@ > 15.00 // floating-point values 004D: jump_if_false @LabelKnightPursuit2A :LabelKnightPursuit2B 0011: 4@ *= 1.225 // floating-point values 00D6: if 0 0021: 4@ > 196.25 // floating-point values 004D: jump_if_false @LabelKnightPursuit3 0007: 4@ = 196.25 0002: jump @LabelKnightPursuit3 :LabelKnightPursuit2A 000B: 4@ += 5.0 // floating-point values :LabelKnightPursuit3 00D6: if 1 81F3: NOT car 0@ airborne 81F4: NOT car 0@ flipped 004D: jump_if_false @LabelKnightPursuit2 04BA: set_car 0@ speed_instantly 4@ 0003: shake_camera 50 00D6: if 0 03D2: wav 2 ended 004D: jump_if_false @LabelKnightPursuit2 0002: jump @LabelKnightPursuit1A :LabelKnightPursuitU 004F: create_thread @LabelWeapons 040D: unload_wav 2 0002: jump @LabelKnightPursuit1 :LabelKnight 03A4: name_thread 'KNIGHT' :LabelKnight1 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelKnight1 00D6: if 22 00E0: player $PLAYER_CHAR driving 80E1: NOT key_pressed 0 16 80E1: NOT key_pressed 0 18 004D: jump_if_false @LabelKnightCreate 00D6: if 0 8119: NOT car 0@ wrecked 004D: jump_if_false @LabelKnight1S 0224: set_car 0@ health_to 2000 02AC: set_car 0@ immunities 1 1 1 1 1 053F: set_car 0@ tires_vulnerable 0 00D6: if 1 00DC: player $PLAYER_CHAR driving 0@ 80E1: NOT key_pressed 0 6 004D: jump_if_false @LabelKnightDoor 020A: set car 0@ door status to 2 0002: jump @LabelKnight1S :LabelKnightDoor 020A: set car 0@ door status to 1 :LabelKnight1S 00D6: if 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelKnight1 03C1: 0@ = player $PLAYER_CHAR car 0002: jump @LabelKnight1 :LabelKnightCreate 00D6: if 0 8119: not car $TRAIN wrecked 004D: jump_if_false @LabelKnightCreate1A 00D6: if 0 81FC: not player $PLAYER_CHAR near_car $TRAIN radius 25.0 25.0 0 004D: jump_if_false @LabelKnight1 :LabelKnightCreate1A 00D6: if 0 0119: car 0@ wrecked 004D: jump_if_false @LabelKnight1D 0247: request_model #BFINJECT 038B: load_requested_models :LabelKnightCreate1 0001: wait 10 ms 00D6: if 0 0248: model #BFINJECT available 004D: jump_if_false @LabelKnightCreate1 0506: vehicle_model #BFINJECT set_next_variation 2 2 04C4: create_coordinate 7@ 8@ 9@ from_actor $PLAYER_ACTOR offset 0.0 -10.0 0.0 0172: 1@ = actor $PLAYER_ACTOR z_angle 02CE: 9@ = ground_z 7@ 8@ 9@ 00A5: 0@ = create_car #BFINJECT at 7@ 8@ 9@ 0175: set_car 0@ z_angle_to 1@ 02AC: set_car 0@ immunities 1 1 1 1 1 053F: set_car 0@ tires_vulnerable 0 0407: create_coordinate 1@ 2@ 3@ from_car 0@ offset 13@ 2.0 0.25 0249: release_model #BFINJECT create_thread @TIME 0@ 0 0 0 0 0 0 -5000.0 $CTIME $CTIME1 0 0 $CTIME $CTIME1 -1 0 :LabelKnight1D 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelKnight1 00D6: if 0 8119: NOT car 0@ wrecked 004D: jump_if_false @LabelKnight1 0224: set_car 0@ health_to 1000 02AC: set_car 0@ immunities 1 1 1 1 1 053F: set_car 0@ tires_vulnerable 0 0054: store_player $PLAYER_CHAR position_to 4@ 5@ 6@ 00AA: store_car 0@ position_to 7@ 8@ 9@ 00D6: if 0 8021: NOT 9@ > 0.0 // floating-point values 004D: jump_if_false @LabelKnightDA 04C4: create_coordinate 7@ 8@ 9@ from_actor $PLAYER_ACTOR offset 0.0 -10.0 0.0 02CE: 9@ = ground_z 7@ 8@ 9@ 00AB: put_car 0@ at 7@ 8@ 9@ :LabelKnightDA 0509: unknown 10@ = distance between point 4@ 5@ and point 7@ 8@ 00BC: text_highpriority 'AUTOC' 10 ms 1 // Auto-Cruise 00D6: if 0 0021: 10@ > 25.0 // floating-point values 004D: jump_if_false @LabelKnightDI3 0007: 11@ = 50.0 0002: jump @LabelKnight1EF2 :LabelKnightDI3 0007: 11@ = 15.0 :LabelKnight1EF2 00D6: if 0 80E1: NOT key_pressed 0 4 004D: jump_if_false @LabelKnight1F 00D6: if 0 01FC: player $PLAYER_CHAR near_car 0@ radius 10.0 10.0 0 004D: jump_if_false @LabelKnight1E 00AD: set_car 0@ max_speed_to 0.0 00AF: set_car 0@ driver_behaviour_to 0 00D6: if 0 00DC: player $PLAYER_CHAR driving 0@ 004D: jump_if_false @LabelKnight1D 0002: jump @LabelKnight1 :LabelKnight1E 00A8: set_car 0@ to_psycho_driver 00AE: unknown_set_car 0@ to_ignore_traffic_lights 2 00AD: set_car 0@ max_speed_to 11@ 00AF: set_car 0@ driver_behaviour_to 4 02C2: car 0@ drive_to 4@ 5@ 6@ 00D6: if 0 00DC: player $PLAYER_CHAR driving 0@ 004D: jump_if_false @LabelKnight1D 0002: jump @LabelKnight1 :LabelKnight1F 00D6: if 0 01FC: player $PLAYER_CHAR near_car 0@ radius 10.0 10.0 0 004D: jump_if_false @LabelKnight1 0247: request_model #WFYG2 038B: load_requested_models 03CF: load_wav 'FUD_01' as 1 02D4: unknown_turn_off_car 0@ engine :LabelKnightWait 0001: wait 0 ms 00D6: if 2 03D0: wav 1 loaded 0248: model #WFYG2 available 01C1: car 0@ stopped 004D: jump_if_false @LabelKnightWait 0001: wait 50 ms 00D6: if 0 01C1: car 0@ stopped 004D: jump_if_false @LabelKnightWait 0129: 12@ = create_actor 5 #WFYG2 in_car 0@ driverseat 0337: unknown_actor 12@ flag 0 0332: set_actor 12@ bleeding_to 0 (false) 0249: release_model #WFYG2 0321: kill_actor 12@ 03D1: play_wav 1 :LabelKnightWait1 0001: wait 10 ms 00D6: if 0 80DF: NOT actor 12@ driving 004D: jump_if_false @LabelKnightWait1 009B: destroy_actor_instantly 12@ :LabelKnightWait2 0001: wait 0 ms 00D6: if 0 03D2: wav 1 ended 004D: jump_if_false @LabelKnightWait2 040D: unload_wav 1 0002: jump @LabelKnight1 :LabelAutodrive 03A4: name_thread 'AUTO_D' 0004: $AUTODRIVE = 0 0004: $AUTOCRUISE = 0 0006: 6@ = 50.0 :LabelAutodrive1 0001: wait 10 ms 00D6: if 0 0256: player $PLAYER_CHAR defined 004D: jump_if_false @LabelAutodrive1 00D6: if 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelAutodrive1 00D6: if 1 00E1: key pressed 0 18 00E1: key pressed 0 6 004D: jump_if_false @LabelAutodrive1 040D: unload_wav 1 03CF: load_wav 'FUD_02' as 1 :LabelAutodrive1A 0001: wait 0 ms 00D6: if 0 03D0: wav 1 loaded 004D: jump_if_false @LabelAutodrive1A 03D1: play_wav 1 :LabelAutodrive1B 0001: wait 200 ms 00D6: if 00DE: player $PLAYER_CHAR driving_vehicle_type #BFINJECT 004D: jump_if_false @LabelAutodrive1 00D6: if 1 83D2: NOT wav 1 ended 03D0: wav 1 loaded 004D: jump_if_false @LabelAutodrive2 0050: gosub @LabelVoice 0002: jump @LabelAutodrive1B :LabelAutodrive2 040D: unload_wav 1 0004: $AUTOCRUISE = 1 0050: gosub @LabelLocation1 00D6: if 0 8031: NOT 8@ >= 0.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelAutodrive2A 00BC: text_highpriority 'INV_LOC' 1000 ms 1 0001: wait 1000 ms 0002: jump @LabelAutodrive2 :LabelAutodrive2A 0001: wait 1000 ms 0004: $AUTOCRUISE = 0 00A8: set_car 0@ to_psycho_driver 00AE: unknown_set_car 0@ to_ignore_traffic_lights 2 00AD: set_car 0@ max_speed_to 35.0 02C2: car 0@ drive_to_point 1@ 2@ 8@ :LabelAutodrive3 0001: wait 10 ms 00D6: if 21 01AF: car 0@ 0 ()near_point 1@ 2@ 8@ radius 5.0 5.0 5.0 00E1: key pressed 0 15 004D: jump_if_false @LabelAutodrive3 02D4: unknown_turn_off_car 0@ engine 00AD: set_car 0@ max_speed_to 0.0 0001: wait 500 ms 01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen) :LabelAutodrive4 0001: wait 10 ms 00D6: if 0 01C1: car 0@ stopped 004D: jump_if_false @LabelAutodrive4 040D: unload_wav 1 03CF: load_wav 'FUD_16' as 1 :LabelAutodrive5 0001: wait 0 ms 00D6: if 0 03D0: wav 1 loaded 004D: jump_if_false @LabelAutodrive5 03D1: play_wav 1 :LabelAutodrive6 0001: wait 200 ms 00D6: if 1 83D2: NOT wav 1 ended 03D0: wav 1 loaded 004D: jump_if_false @LabelAutoDrive7 0050: gosub @LabelVoice 0002: jump @LabelAutodrive6 :LabelAutoDrive7 040D: unload_wav 1 0369: put_player $PLAYER_CHAR in_car 0@ 0004: $AUTODRIVE = 0 0002: jump @LabelAutodrive1 :LabelLocation1 0004: $AUTODRIVE = 1 03C1: 0@ = player $PLAYER_CHAR car 01B4: set_player $PLAYER_CHAR frozen_state 0 (frozen) 0407: create_coordinate 1@ 2@ 3@ from_car 0@ offset 0.0 0.0 6@ 0087: 7@ = 2@ // floating-point values only 000B: 7@ += 1.0 // floating-point values 02CE: 8@ = ground_z 1@ 2@ 3@ 0087: 9@ = 3@ // floating-point values only 000F: 9@ -= 5.0 // floating-point values 0087: 11@ = 3@ // floating-point values only 000B: 11@ += 10.0 // floating-point values 012A: put_player $PLAYER_CHAR at 1@ 2@ 11@ and_remove_from_car 015F: set_camera_position 1@ 2@ 3@ 0.0 0.0 0.0 0160: point_camera 1@ 7@ 8@ 1 0001: wait 500 ms :LabelLocation2 0001: wait 10 ms 0087: 10@ = 6@ // floating-point values only 0017: 10@ /= 20.0 // floating-point values (never used in VC or GTA 3) 0087: 9@ = 3@ // floating-point values only 000F: 9@ -= 5.0 // floating-point values 0087: 11@ = 3@ // floating-point values only 000B: 11@ += 10.0 // floating-point values 0055: put_player $PLAYER_CHAR at 1@ 2@ 11@ 015F: set_camera_position 1@ 2@ 3@ 0.0 0.0 0.0 0160: point_camera 1@ 7@ 8@ 2 04D5: create_corona_at 1@ 2@ 9@ radius 0.05 type 1 flare 0 RGB 255 0 0 04D5: create_corona_at 1@ 2@ 9@ radius 0.05 type 1 flare 0 RGB 255 0 0 00D6: if 1 00E1: key pressed 0 11 8031: NOT 1@ >= 2000.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelLocation2A 005b: 1@ += 10@ // floating-point values (never used in VC or GTA 3) :LabelLocation2A 00D6: if 1 00E1: key pressed 0 10 0031: 1@ >= -2000.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelLocation2B 0063: 1@ -= 10@ // floating-point values (never used in VC or GTA 3) :LabelLocation2B 00D6: if 1 00E1: key pressed 0 8 8031: NOT 2@ >= 2000.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelLocation2C 005b: 2@ += 10@ // floating-point values (never used in VC or GTA 3) 005b: 7@ += 10@ // floating-point values (never used in VC or GTA 3) :LabelLocation2C 00D6: if 1 00E1: key pressed 0 9 0031: 2@ >= -2000.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelLocation2D 0063: 2@ -= 10@ // floating-point values (never used in VC or GTA 3) 0063: 7@ -= 10@ // floating-point values (never used in VC or GTA 3) :LabelLocation2D 00D6: if 1 00E1: key pressed 0 7 8031: NOT 3@ >= 500.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelLocation2E 005b: 3@ += 10@ // floating-point values (never used in VC or GTA 3) 005b: 6@ += 10@ // floating-point values (never used in VC or GTA 3) 005b: 3@ += 10@ // floating-point values (never used in VC or GTA 3) 005b: 6@ += 10@ // floating-point values (never used in VC or GTA 3) :LabelLocation2E 00D6: if 1 00E1: key pressed 0 5 0031: 3@ >= 20.0 // floating-point values (never used in VC or GTA 3) 004D: jump_if_false @LabelLocation2F 0063: 3@ -= 10@ // floating-point values (never used in VC or GTA 3) 0063: 6@ -= 10@ // floating-point values (never used in VC or GTA 3) 0063: 3@ -= 10@ // floating-point values (never used in VC or GTA 3) 0063: 6@ -= 10@ // floating-point values (never used in VC or GTA 3) :LabelLocation2F 00D6: if 0 00E1: key_pressed 0 17 004D: jump_if_false @LabelLocation2 00AA: store_car 0@ position_to 12@ 13@ 14@ 0055: put_player $PLAYER_CHAR at 12@ 13@ 11@ 0001: wait 100 ms 0369: put_player $PLAYER_CHAR in_car 0@ 015A: restore_camera 0373: set_camera_directly_behind_player :LabelLocationEnd 0051: return :LabelTimeCircuits3 0340: set_text_draw_color 1@ 2@ 3@ 255 0341: unknown_text_stuff 1 03E4: set_text_draw_align_right 0 0343: set_text_linewidth 5000.0 0348: set_text_draw_proportional 1 0342: set_text_draw_centered 0 0345: set_text_draw_in_box 0 033F: set_text_draw_letter_width_height 0.5 1.8 0051: return :LabelDraw 0001: wait 10 ms 03F0: text_draw_toggle 0 0002: jump @LabelDraw Edited February 23, 2010 by Mini-Me boxed Share this post Link to post Share on other sites
Ashley+ 0 Report post Posted February 23, 2010 Thanks Blue Share this post Link to post Share on other sites
bluespace88 9 Report post Posted February 23, 2010 yw ash, tehe Share this post Link to post Share on other sites