Luigi
Материал из GTAModding.ru
Содержание |
luigi1
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // *****************************************Luigi mission 1********************************* // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // Mission start stuff GOSUB mission_start_luigi1 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_luigi1_failed ENDIF GOSUB mission_cleanup_luigi1 MISSION_END // Variable for mission VAR_INT radar_blip_coord1_lm1 VAR_INT radar_blip_ped1_lm1 VAR_INT radar_blip_ped2_lm1 VAR_INT girl1_lm1 VAR_INT girl2_lm1 VAR_INT car_lm1 VAR_INT flag_player_had_car_message_lm1 VAR_INT flag_player_not_in_car_message_lm1 VAR_INT flag_luigi_created_lm1 VAR_INT no_of_passengers_car_lm1 VAR_INT flag_girl1_in_car_lm1 VAR_INT flag_girl2_in_car_lm1 VAR_INT passenger_count_lm1 VAR_INT total_space_in_car_lm1 VAR_INT flag_blip_on_girl1_lm1 VAR_INT flag_blip_on_girl2_lm1 VAR_INT flag_coord_blip_on // ****************************************Mission Start************************************ mission_start_luigi1: flag_player_on_mission = 1 flag_player_on_luigi_mission = 1 WAIT 0 flag_player_had_car_message_lm1 = 0 flag_player_not_in_car_message_lm1 = 0 flag_luigi_created_lm1 = 0 no_of_passengers_car_lm1 = 0 flag_girl1_in_car_lm1 = 0 flag_girl2_in_car_lm1 = 0 passenger_count_lm1 = 0 total_space_in_car_lm1 = 0 flag_blip_on_girl1_lm1 = 0 flag_blip_on_girl2_lm1 = 0 flag_coord_blip_on = 0 LOAD_SPECIAL_CHARACTER 1 MICKY LOAD_SPECIAL_CHARACTER 2 EIGHT LOAD_SPECIAL_CHARACTER 3 LUIGI LOAD_SPECIAL_MODEL cut_obj1 LUDOOR LOAD_SPECIAL_MODEL cut_obj2 MICKYH LOAD_SPECIAL_MODEL cut_obj3 EIGHT LOAD_SPECIAL_MODEL cut_obj4 LUIGI IF flag_failed_luigi1 = 0 SET_FADING_COLOUR 0 0 0 DO_FADE 250 FADE_OUT PRINT_BIG ( LM2 ) 10000 2 //" " TIMERA = 0 // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_SPECIAL_CHARACTER_LOADED 3 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj4 WAIT 0 ENDWHILE //WHILE GET_FADING_STATUS // WAIT 0 //ENDWHILE LOAD_CUTSCENE luigi1 SET_CUTSCENE_OFFSET 901.82 -426.3 13.85 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_micky SET_CUTSCENE_ANIM cs_micky micky CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_eight SET_CUTSCENE_ANIM cs_eight eight CREATE_CUTSCENE_OBJECT PED_SPECIAL3 cs_luigi SET_CUTSCENE_ANIM cs_luigi luigi CREATE_CUTSCENE_HEAD cs_micky CUT_OBJ2 cs_mickyhead SET_CUTSCENE_HEAD_ANIM cs_mickyhead micky CREATE_CUTSCENE_HEAD cs_eight CUT_OBJ3 cs_eighthead SET_CUTSCENE_HEAD_ANIM cs_eighthead eight CREATE_CUTSCENE_HEAD cs_luigi CUT_OBJ4 cs_luigihead SET_CUTSCENE_HEAD_ANIM cs_luigihead luigi CREATE_CUTSCENE_OBJECT cut_obj1 cs_ludoor SET_CUTSCENE_ANIM cs_ludoor LUDOOR WHILE TIMERA < 3500 WAIT 0 ENDWHILE DO_FADE 250 FADE_IN //WHILE GET_FADING_STATUS // WAIT 0 //ENDWHILE START_CUTSCENE SET_PLAYER_VISIBLE player OFF //SET_PLAYER_COORDINATES player 903.1 -424.8 13.9 SET_PLAYER_COORDINATES player 896.6 -426.2 13.9 SET_PLAYER_HEADING player 180.0 // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 16000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_A ) 5000 1 //"There's a new high on the street goes by the name of SPANK. Some wiseguy's been introducing this trash to my girls down Portland Harbour. WHILE cs_time < 21000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_B ) 5000 1//"Go and introduce a bat to his face, then take his car, get it resprayed and take it to the lockup. I want compensation for this insult!" WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_CUTSCENE CLEAR_PRINTS UNLOAD_SPECIAL_CHARACTER 1 UNLOAD_SPECIAL_CHARACTER 2 UNLOAD_SPECIAL_CHARACTER 3 ENDIF //SWITCH_WIDESCREEN ON SET_PLAYER_CONTROL player off REQUEST_MODEL PED_PROSTITUTE LOAD_SPECIAL_CHARACTER 2 misty WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_MODEL_LOADED PED_PROSTITUTE WAIT 0 ENDWHILE /* CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL1 889.83 -415.93 15.5 luigi flag_luigi_created_lm1 = 1 CLEAR_CHAR_THREAT_SEARCH luigi CHAR_SET_IDLE luigi SET_POLICE_IGNORE_PLAYER player ON GET_PLAYER_CHAR player script_controlled_player CLEAR_CHAR_THREAT_SEARCH script_controlled_player CHAR_SET_IDLE script_controlled_player //SET_OBJECT_HEADING luigi_club_door 270.0 //SET_CHAR_OBJ_GOTO_COORD_ON_FOOT luigi 890.50 -415.84 //WHILE NOT IS_CHAR_OBJECTIVE_PASSED luigi // WAIT 0 //ENDWHILE TURN_CHAR_TO_FACE_COORD luigi 882.0 -415.0 -100.0 TURN_PLAYER_TO_FACE_CHAR player luigi SET_FIXED_CAMERA_POSITION 886.0 -415.0 16.0 0.0 0.0 0.0 POINT_CAMERA_AT_CHAR luigi fixed interpolation SET_GANG_PLAYER_ATTITUDE GANG_MAFIA LOVES player //The Mafia now like the player PRINT_BIG ( LM1 ) 5000 1 WAIT 1000 PRINT_NOW ( LM1_A ) 7000 1 //"But he vouched for you. So I was thinking maybe you can do me a favour." MESSAGE_WAIT 7000 flag_played_luigi1_already PRINT_NOW ( LM1_B ) 7000 1 //"A couple of my girls need a ride so grab a car and pick up Trixie from the Reverend Flannery's and Misty from the clinic." MESSAGE_WAIT 7000 flag_played_luigi1_already PRINT_NOW ( LM1_C ) 7000 1 //"Then bring them back here. Remember no one messes with my girls so keep your hands on the wheel!" MESSAGE_WAIT 7000 flag_played_luigi1_already PRINT_NOW ( LM1_D ) 7000 1 //"If you don't mess this up there might be more work for you." MESSAGE_WAIT 7000 flag_played_luigi1_already DELETE_CHAR luigi flag_luigi_created_lm1 = 0 SWITCH_WIDESCREEN OFF RESTORE_CAMERA */ SET_PLAYER_CONTROL player on SET_POLICE_IGNORE_PLAYER player OFF // Creates the first girl CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 1158.0 -536.0 20.0 girl1_lm1 CLEAR_CHAR_THREAT_SEARCH girl1_lm1 TURN_CHAR_TO_FACE_COORD girl1_lm1 1158.0 -541.0 -100.0 ADD_BLIP_FOR_CHAR girl1_lm1 radar_blip_ped1_lm1 // Creates second girl CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE 1383.0 -392.0 -100.0 girl2_lm1 CLEAR_CHAR_THREAT_SEARCH girl2_lm1 TURN_CHAR_TO_FACE_COORD girl2_lm1 1380.0 -391.0 -100.0 ADD_BLIP_FOR_CHAR girl2_lm1 radar_blip_ped2_lm1 // Waiting for the player to be in a car WHILE NOT IS_PLAYER_IN_ANY_CAR player WAIT 0 ENDWHILE STORE_CAR_PLAYER_IS_IN player car_lm1 GET_MAXIMUM_NUMBER_OF_PASSENGERS car_lm1 no_of_passengers_car_lm1 // Waiting for the player and the girls all to be in the one car WHILE NOT IS_PLAYER_IN_ANY_CAR player OR NOT flag_girl1_in_car_lm1 = 1 OR NOT flag_girl2_in_car_lm1 = 1 WAIT 0 IF IS_CHAR_DEAD girl1_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl2_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm1 GET_MAXIMUM_NUMBER_OF_PASSENGERS car_lm1 no_of_passengers_car_lm1 flag_player_not_in_car_message_lm1 = 0 // Checks for girl1 IF flag_girl1_in_car_lm1 = 0 IF LOCATE_PLAYER_IN_CAR_CHAR_2D player girl1_lm1 8.0 8.0 FALSE AND IS_PLAYER_STOPPED player flag_player_had_car_message_lm1 = 0 GET_NUMBER_OF_PASSENGERS car_lm1 passenger_count_lm1 total_space_in_car_lm1 = no_of_passengers_car_lm1 - passenger_count_lm1 IF total_space_in_car_lm1 >= 1 SET_PLAYER_AS_LEADER girl1_lm1 player WHILE NOT IS_CHAR_IN_CAR girl1_lm1 car_lm1 WAIT 0 IF IS_CAR_DEAD car_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl1_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl2_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF //IF LOCATE_PLAYER_IN_CAR_CHAR_2D player girl1_lm1 8.0 8.0 FALSE //AND IS_PLAYER_STOPPED player // SET_PLAYER_AS_LEADER girl1_lm1 player //ENDIF ENDWHILE REMOVE_BLIP radar_blip_ped1_lm1 flag_girl1_in_car_lm1 = 1 ELSE IF flag_player_had_car_message_lm1 = 0 PRINT_NOW (NODOORS ) 7000 1 //"The cars not big enough get another one!" flag_player_had_car_message_lm1 = 1 ENDIF ENDIF ENDIF ENDIF // Checks for girl 2 IF flag_girl2_in_car_lm1 = 0 IF LOCATE_PLAYER_IN_CAR_CHAR_2D player girl2_lm1 8.0 8.0 FALSE AND IS_PLAYER_STOPPED player flag_player_had_car_message_lm1 = 0 GET_NUMBER_OF_PASSENGERS car_lm1 passenger_count_lm1 total_space_in_car_lm1 = no_of_passengers_car_lm1 - passenger_count_lm1 IF total_space_in_car_lm1 >= 1 SET_PLAYER_AS_LEADER girl2_lm1 player WHILE NOT IS_CHAR_IN_CAR girl2_lm1 car_lm1 WAIT 0 IF IS_CAR_DEAD car_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl1_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl2_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF //IF LOCATE_PLAYER_IN_CAR_CHAR_2D player girl2_lm1 8.0 8.0 FALSE //AND IS_PLAYER_STOPPED player // SET_PLAYER_AS_LEADER girl2_lm1 player //ENDIF ENDWHILE REMOVE_BLIP radar_blip_ped2_lm1 flag_girl2_in_car_lm1 = 1 ELSE IF flag_player_had_car_message_lm1 = 0 PRINT_NOW ( NODOORS ) 7000 1 //"The cars not big enough get another one!" flag_player_had_car_message_lm1 = 1 ENDIF ENDIF ENDIF ENDIF IF flag_girl1_in_car_lm1 = 1 IF NOT IS_CHAR_IN_PLAYERS_GROUP girl1_lm1 player AND flag_blip_on_girl1_lm1 = 0 PRINT_SOON ( HEY ) 5000 1 //"Hey wait for me!" ADD_BLIP_FOR_CHAR girl1_lm1 radar_blip_ped1_lm1 flag_girl1_in_car_lm1 = 0 flag_blip_on_girl1_lm1 = 1 ENDIF //IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player girl1_lm1 8.0 8.0 FALSE //AND flag_blip_on_girl1_lm1 = 1 // SET_PLAYER_AS_LEADER girl1_lm1 player // REMOVE_BLIP radar_blip_ped1_lm1 // flag_blip_on_girl1_lm1 = 0 //ENDIF //IF IS_CHAR_DEAD girl1_lm1 // PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" // GOTO mission_luigi1_failed //ENDIF // //IF IS_CHAR_DEAD girl2_lm1 // PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" // GOTO mission_luigi1_failed //ENDIF ENDIF IF flag_girl2_in_car_lm1 = 1 IF NOT IS_CHAR_IN_PLAYERS_GROUP girl2_lm1 player AND flag_blip_on_girl2_lm1 = 0 PRINT_SOON ( HEY ) 5000 1 //"Hey wait for me!" ADD_BLIP_FOR_CHAR girl2_lm1 radar_blip_ped2_lm1 flag_girl2_in_car_lm1 = 0 flag_blip_on_girl2_lm1 = 1 ENDIF //IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player girl2_lm1 8.0 8.0 FALSE // AND flag_blip_on_girl2_lm1 = 1 // SET_PLAYER_AS_LEADER girl2_lm1 player // REMOVE_BLIP radar_blip_ped2_lm1 // flag_blip_on_girl2_lm1 = 0 // ENDIF //IF IS_CHAR_DEAD girl1_lm1 // PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" // GOTO mission_luigi1_failed //ENDIF //IF IS_CHAR_DEAD girl2_lm1 // PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" // GOTO mission_luigi1_failed //ENDIF ENDIF ELSE IF flag_player_not_in_car_message_lm1 = 0 PRINT_NOW ( IN_VEH2 ) 7000 1 //"Get a vehicle and get on with the mission!" flag_player_not_in_car_message_lm1 = 1 ENDIF ENDIF ENDWHILE PRINT_NOW ( LM1_2 ) 7000 1 //"Hi take us to the Red Light District please, we'll be ever so 'grateful'!" ADD_BLIP_FOR_COORD 908.0 -425.0 -100.0 radar_blip_coord1_lm1 flag_coord_blip_on = 1 // waiting for the player to get to luigi's WHILE NOT LOCATE_STOPPED_PLAYER_ANY_MEANS_2D player 908.0 -425.0 4.0 4.0 TRUE OR NOT LOCATE_STOPPED_CHAR_ANY_MEANS_2D girl1_lm1 908.0 -425.0 4.0 4.0 FALSE OR NOT LOCATE_STOPPED_CHAR_ANY_MEANS_2D girl2_lm1 908.0 -425.0 4.0 4.0 FALSE WAIT 0 IF IS_CHAR_DEAD girl1_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl2_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_PLAYER_IN_ANY_CAR player //AND flag_player_not_in_car_message_lm1 = 1 STORE_CAR_PLAYER_IS_IN player car_lm1 GET_MAXIMUM_NUMBER_OF_PASSENGERS car_lm1 no_of_passengers_car_lm1 //IF IS_CHAR_IN_CAR girl1_lm1 car_lm1 //AND IS_CHAR_IN_CAR girl2_lm1 car_lm1 // ADD_BLIP_FOR_COORD 908.0 -425.0 -100.0 radar_blip_coord1_lm1 // flag_player_not_in_car_message_lm1 = 0 //ENDIF IF no_of_passengers_car_lm1 < 2 AND flag_player_had_car_message_lm1 = 0 PRINT_NOW ( NODOORS ) 7000 1 //"The car is not big enought get an other one!" flag_player_had_car_message_lm1 = 1 ENDIF IF no_of_passengers_car_lm1 >= 2 AND flag_player_had_car_message_lm1 = 1 flag_player_had_car_message_lm1 = 0 ENDIF ENDIF //IF NOT IS_PLAYER_IN_ANY_CAR player //AND flag_player_not_in_car_message_lm1 = 0 // PRINT_NOW ( IN_VEH2 ) 7000 1 //"Get a vehicle and get on with the mission!" // REMOVE_BLIP radar_blip_coord1_lm1 // flag_player_not_in_car_message_lm1 = 1 //ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP girl1_lm1 player AND flag_blip_on_girl1_lm1 = 0 PRINT_SOON ( HEY ) 5000 1 //"Hey wait for me!" ADD_BLIP_FOR_CHAR girl1_lm1 radar_blip_ped1_lm1 REMOVE_BLIP radar_blip_coord1_lm1 flag_blip_on_girl1_lm1 = 1 ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP girl2_lm1 player AND flag_blip_on_girl2_lm1 = 0 PRINT_SOON ( HEY ) 5000 1 //"Hey wait for me!" ADD_BLIP_FOR_CHAR girl2_lm1 radar_blip_ped2_lm1 REMOVE_BLIP radar_blip_coord1_lm1 flag_blip_on_girl2_lm1 = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player girl1_lm1 8.0 8.0 FALSE AND flag_blip_on_girl1_lm1 = 1 SET_PLAYER_AS_LEADER girl1_lm1 player REMOVE_BLIP radar_blip_ped1_lm1 flag_coord_blip_on = 0 flag_blip_on_girl1_lm1 = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player girl2_lm1 8.0 8.0 FALSE AND flag_blip_on_girl2_lm1 = 1 SET_PLAYER_AS_LEADER girl2_lm1 player REMOVE_BLIP radar_blip_ped2_lm1 flag_coord_blip_on = 0 flag_blip_on_girl2_lm1 = 0 ENDIF IF IS_CHAR_IN_PLAYERS_GROUP girl1_lm1 player AND IS_CHAR_IN_PLAYERS_GROUP girl2_lm1 player AND flag_coord_blip_on = 0 ADD_BLIP_FOR_COORD 908.0 -425.0 -100.0 radar_blip_coord1_lm1 flag_coord_blip_on = 1 ENDIF ENDWHILE REMOVE_BLIP radar_blip_coord1_lm1 LEAVE_GROUP girl1_lm1 LEAVE_GROUP girl2_lm1 IF IS_CHAR_IN_ANY_CAR girl1_lm1 AND IS_CHAR_IN_ANY_CAR girl2_lm1 STORE_CAR_CHAR_IS_IN girl1_lm1 car_lm1 SET_CHAR_OBJ_LEAVE_CAR girl1_lm1 car_lm1 STORE_CAR_CHAR_IS_IN girl2_lm1 car_lm1 SET_CHAR_OBJ_LEAVE_CAR girl2_lm1 car_lm1 WHILE IS_CHAR_IN_ANY_CAR girl1_lm1 AND IS_CHAR_IN_ANY_CAR girl2_lm1 WAIT 0 IF IS_CHAR_DEAD girl1_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF IF IS_CHAR_DEAD girl2_lm1 PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" GOTO mission_luigi1_failed ENDIF ENDWHILE ENDIF } GOTO mission_luigi1_passed // Mission Luigi1 failed mission_luigi1_failed: flag_failed_luigi1 = 1 START_NEW_SCRIPT luigi_mission1.2_loop RETURN // mission Luigi1 passed mission_luigi1_passed: flag_luigi_mission1_passed = 1 PRINT_BIG ( m_pass ) 2000 1 CLEAR_WANTED_LEVEL player ADD_SCORE player 1500 START_NEW_SCRIPT luigi_mission2_loop RETURN // mission cleanup mission_cleanup_luigi1: flag_player_on_mission = 0 flag_player_on_luigi_mission = 0 MARK_MODEL_AS_NO_LONGER_NEEDED PED_PROSTITUTE UNLOAD_SPECIAL_CHARACTER 1 UNLOAD_SPECIAL_CHARACTER 2 RESTORE_CAMERA SET_PLAYER_CONTROL player on SET_POLICE_IGNORE_PLAYER player off SWITCH_WIDESCREEN OFF //IF flag_girl1_in_car_lm1 = 1 //AND flag_girl2_in_car_lm1 = 1 REMOVE_BLIP radar_blip_coord1_lm1 //ENDIF //IF flag_girl1_in_car_lm1 = 0 //OR flag_blip_on_girl1_lm1 = 1 REMOVE_BLIP radar_blip_ped1_lm1 //ENDIF //IF flag_girl2_in_car_lm1 = 0 //OR flag_blip_on_girl2_lm1 = 1 REMOVE_BLIP radar_blip_ped2_lm1 //ENDIF MISSION_HAS_FINISHED RETURN
luigi2
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // ***********************************Luigi Mission 2*************************************** // *******************************Donna' "Spank" Ma Bitch Up******************************** // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME luigi2 // Mission start stuff GOSUB mission_start_luigi2 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_luigi2_failed ENDIF GOSUB mission_cleanup_luigi2 MISSION_END // Variables for mission VAR_INT radar_blip_ped1_lm2 VAR_INT victim_ped_lm2 VAR_INT flag_player_got_help_message_lm2 VAR_INT flag_victim_ped_lm2_changed VAR_INT car_lm2 VAR_INT radar_blip_car1_lm2 VAR_INT radar_blip_coord1_lm2 VAR_INT radar_blip_coord2_lm2 VAR_INT flag_victim_dead_lm2 VAR_INT flag_player_had_car_message_lm2 VAR_INT flag_car_in_garage_lm2 VAR_INT flag_player_had_garage_message_lm2 VAR_INT flag_blip1_on_lm2 VAR_INT flag_blip2_on_lm2 VAR_INT buyer1_lm2 VAR_INT buyer2_lm2 VAR_INT flag_buyer1_dead_lm2 VAR_INT flag_buyer2_dead_lm2 VAR_INT flag_done_looking_bit_lm2 VAR_INT bat_lm2 VAR_INT sphere1_lm2 VAR_INT sphere2_lm2 VAR_INT flag_had_spray_help VAR_INT flag_player_had_bat_message_lm2 VAR_INT bat_blip_lm2 VAR_INT flag_had_path_message_lm2 VAR_INT flag_lockup_message_lm2 VAR_INT flag_girl1_running_lm2 VAR_INT flag_girl2_running_lm2 VAR_INT flag_player_in_area_lm2 VAR_INT flag_player_in_car_lm2 // ********************************************Mission Start******************************** mission_start_luigi2: flag_player_on_mission = 1 flag_player_on_luigi_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 flag_player_got_help_message_lm2 = 0 flag_victim_ped_lm2_changed = 0 flag_victim_dead_lm2 = 0 flag_car_in_garage_lm2 = 0 flag_player_had_car_message_lm2 = 0 flag_player_had_garage_message_lm2 = 0 flag_buyer1_dead_lm2 = 0 flag_buyer2_dead_lm2 = 0 flag_done_looking_bit_lm2 = 0 flag_had_spray_help = 0 flag_player_had_bat_message_lm2 = 0 flag_had_path_message_lm2 = 0 flag_lockup_message_lm2 = 0 flag_girl1_running_lm2 = 0 flag_girl2_running_lm2 = 0 flag_player_in_area_lm2 = 0 flag_player_in_car_lm2 = 0 REQUEST_MODEL PED_DOCKER2 REQUEST_MODEL PED_PROSTITUTE REQUEST_MODEL PED_PROSTITUTE2 REQUEST_MODEL CAR_STALLION CLEAR_HELP // ****************************************START OF CUTSCENE******************************** /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_luigi2_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT SWITCH_STREAMING OFF PRINT_BIG ( LM2 ) 15000 2 //"Don'a SPANK ma bitch up" */ REQUEST_MODEL indhibuild3 REQUEST_MODEL luigiclubout REQUEST_MODEL luigiineerclub LOAD_SPECIAL_CHARACTER 1 MICKY LOAD_SPECIAL_MODEL cut_obj1 LUDOOR LOAD_SPECIAL_MODEL cut_obj2 MICKYH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH LOAD_SPECIAL_MODEL cut_obj4 NOTE /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ SET_PED_DENSITY_MULTIPLIER 0.0 CLEAR_AREA_OF_CHARS 926.54 -471.72 1.0 830.76 -257.96 25.0 LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj4 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED indhibuild3 OR NOT HAS_MODEL_LOADED luigiclubout OR NOT HAS_MODEL_LOADED luigiineerclub WAIT 0 ENDWHILE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE LOAD_CUTSCENE l2_dsb SET_CUTSCENE_OFFSET 900.782 -427.523 13.829 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_micky SET_CUTSCENE_ANIM cs_micky micky CREATE_CUTSCENE_HEAD cs_micky CUT_OBJ2 cs_mickyhead SET_CUTSCENE_HEAD_ANIM cs_mickyhead micky CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT cut_obj1 cs_ludoor SET_CUTSCENE_ANIM cs_ludoor LUDOOR CREATE_CUTSCENE_OBJECT cut_obj4 cs_note SET_CUTSCENE_ANIM cs_note NOTE CLEAR_AREA 896.6 -426.2 13.9 1.0 TRUE SET_PLAYER_COORDINATES player 896.6 -426.2 13.9 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 5634 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_C ) 10000 1 //"Luigi said to give you this so..." WHILE cs_time < 7989 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_D ) 10000 1 //"So here, here take it" WHILE cs_time < 12078 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_A ) 10000 1 //"There's a new high on the street goes by the name of SPANK." WHILE cs_time < 15287 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_E ) 10000 1 //"Some wiseguy's been introducing this trash to my girls down Portland Harbour." WHILE cs_time < 19558 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_B ) 10000 1//"Go and introduce a bat to his face! WHILE cs_time < 23042 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_F ) 10000 1//"Then take his car, respray it and bring it back here." WHILE cs_time < 25852 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM2_G ) 10000 1//"I want compensation for this insult!" WHILE cs_time < 28632 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM2_G ) WHILE cs_time < 31000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_STREAMING ON SWITCH_RUBBISH ON LOAD_SCENE 920.3 -425.4 15.0 SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_CAMERA_BEHIND_PLAYER SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ4 MARK_MODEL_AS_NO_LONGER_NEEDED indhibuild3 MARK_MODEL_AS_NO_LONGER_NEEDED luigiclubout MARK_MODEL_AS_NO_LONGER_NEEDED luigiineerclub SET_PED_DENSITY_MULTIPLIER 1.0 // ******************************************END OF CUTSCENE******************************** SWITCH_PED_ROADS_OFF 1609.8 -615.2 9.0 1557.8 -673.4 20.0 CREATE_PICKUP WEAPON_BAT PICKUP_ONCE 917.2 -425.3 14.5 bat_lm2 ADD_BLIP_FOR_PICKUP bat_lm2 bat_blip_lm2 WHILE NOT HAS_MODEL_LOADED CAR_STALLION OR NOT HAS_MODEL_LOADED PED_DOCKER2 OR NOT HAS_MODEL_LOADED PED_PROSTITUTE OR NOT HAS_MODEL_LOADED PED_PROSTITUTE2 WAIT 0 ENDWHILE WHILE GET_FADING_STATUS WAIT 0 ENDWHILE SET_PLAYER_CONTROL player ON PRINT_NOW ( BAT1 ) 5000 1 //"Pick up the bat!" PRINT_HELP ( HELP14 ) //"To pick up weapons walk through them. These cannot be collected while in a vehicle" // creates the dealer CREATE_CHAR PEDTYPE_CIVFEMALE PED_DOCKER2 1399.64 -833.72 -100.0 victim_ped_lm2 TURN_CHAR_TO_FACE_COORD victim_ped_lm2 1397.46 -835.52 10.8 CLEAR_CHAR_THREAT_SEARCH victim_ped_lm2 // creates prostitute one CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE 1397.21 -832.86 -100.0 buyer1_lm2 //proper one CLEAR_CHAR_THREAT_SEARCH buyer1_lm2 TURN_CHAR_TO_FACE_COORD buyer1_lm2 1399.64 -833.72 10.8 // creates prostitute two CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE2 1397.28 -834.43 -100.0 buyer2_lm2 CLEAR_CHAR_THREAT_SEARCH buyer2_lm2 TURN_CHAR_TO_FACE_COORD buyer2_lm2 1399.64 -833.72 10.8 // dealers car CREATE_CAR CAR_STALLION 1396.67 -837.69 -100.0 car_lm2 SET_CAR_HEADING car_lm2 301.0 CHANGE_CAR_LOCK car_lm2 CARLOCK_LOCKED ADD_BLIP_FOR_CHAR victim_ped_lm2 radar_blip_ped1_lm2 IF NOT IS_CHAR_DEAD victim_ped_lm2 IF NOT IS_CHAR_DEAD buyer1_lm2 SET_CHARS_CHATTING victim_ped_lm2 buyer1_lm2 -1 // try -1 when this has been fixed ENDIF ENDIF WAIT 0 timerb = 0 WHILE NOT IS_CHAR_DEAD victim_ped_lm2 GOSUB girls_running IF flag_player_had_bat_message_lm2 = 0 IF HAS_PICKUP_BEEN_COLLECTED bat_lm2 PRINT_HELP ( GUN_1A ) REMOVE_BLIP bat_blip_lm2 CLEAR_THIS_PRINT ( BAT1 ) flag_player_had_bat_message_lm2 = 1 ENDIF ENDIF IF flag_had_path_message_lm2 = 0 IF timerb >= 30000 PRINT_HELP ( HELP13 ) //"Sometimes you may need to use pathways not shown on the radar." flag_had_path_message_lm2 = 1 ENDIF ENDIF /* // Camera point at dealer stuff IF flag_done_looking_bit_lm2 = 0 IF IS_PLAYER_IN_AREA_3D player 1535.2 -615.1 10.0 1610.5 -681.0 20.0 FALSE IF IS_PLAYER_IN_ANY_CAR player APPLY_BRAKES_TO_PLAYERS_CAR player ON ENDIF SWITCH_WIDESCREEN ON CLEAR_WANTED_LEVEL player SET_POLICE_IGNORE_PLAYER player ON SET_PLAYER_CONTROL player OFF IF LOCATE_PLAYER_ANY_MEANS_3D player 1589.1 -641.4 11.1 1.0 1.0 1.0 FALSE SET_FIXED_CAMERA_POSITION 1587.8 -651.7 18.3 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1587.5 -651.0 17.6 JUMP_CUT ELSE SET_FIXED_CAMERA_POSITION 1589.1 -641.4 11.1 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1588.3 -642.0 11.3 JUMP_CUT ENDIF WAIT 4500 IF IS_CHAR_DEAD victim_ped_lm2 REMOVE_BLIP radar_blip_ped1_lm2 flag_victim_dead_lm2 = 1 ENDIF IF IS_CAR_DEAD car_lm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi2_failed ELSE IF IS_CAR_UPSIDEDOWN car_lm2 AND IS_CAR_STOPPED car_lm2 PRINT_NOW ( UPSIDE ) 5000 1 //You've flipped your wheels!" GOTO mission_luigi2_failed ENDIF ENDIF IF IS_PLAYER_IN_ANY_CAR player APPLY_BRAKES_TO_PLAYERS_CAR player FALSE ENDIF SWITCH_WIDESCREEN OFF RESTORE_CAMERA_JUMPCUT SET_POLICE_IGNORE_PLAYER player OFF SET_PLAYER_CONTROL player ON flag_done_looking_bit_lm2 = 1 ENDIF ENDIF */ IF IS_CHAR_DEAD victim_ped_lm2 REMOVE_BLIP radar_blip_ped1_lm2 flag_victim_dead_lm2 = 1 ENDIF IF IS_CAR_DEAD car_lm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi2_failed ELSE IF IS_CAR_UPSIDEDOWN car_lm2 AND IS_CAR_STOPPED car_lm2 PRINT_NOW ( UPSIDE ) 5000 1 //You've flipped your wheels!" GOTO mission_luigi2_failed ENDIF ENDIF IF flag_done_looking_bit_lm2 = 1 OR IS_PLAYER_IN_AREA_3D player 1430.75 -807.0 9.0 1355.2 -883.2 20.0 FALSE flag_done_looking_bit_lm2 = 1 // set this here also to stop bloke going for player once he has got out of his car flag_player_in_area_lm2 = 1 IF flag_victim_dead_lm2 = 0 IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player victim_ped_lm2 10.0 10.0 10.0 FALSE AND flag_victim_ped_lm2_changed = 0 TURN_CHAR_TO_FACE_PLAYER victim_ped_lm2 player SET_CHAR_THREAT_SEARCH victim_ped_lm2 THREAT_PLAYER1 SET_CHAR_PERSONALITY victim_ped_lm2 PEDSTAT_TOUGH_GUY SET_CHAR_HEED_THREATS victim_ped_lm2 TRUE SET_CHAR_OBJ_KILL_PLAYER_ON_FOOT victim_ped_lm2 player flag_victim_ped_lm2_changed = 1 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_3D player victim_ped_lm2 6.0 6.0 15.0 FALSE AND flag_player_got_help_message_lm2 = 0 GET_CONTROLLER_MODE controlmode IF controlmode = 0 PRINT_HELP ( LM2_2A ) //"Use the circle button to punch and kick!" flag_player_got_help_message_lm2 = 1 ENDIF IF controlmode = 1 PRINT_HELP ( LM2_2A ) //"Use the circle button to punch and kick!" flag_player_got_help_message_lm2 = 1 ENDIF IF controlmode = 2 PRINT_HELP ( LM2_2C ) //"Use the circle button to punch and kick!" flag_player_got_help_message_lm2 = 1 ENDIF IF controlmode = 3 PRINT_HELP ( LM2_2D ) //"Use the circle button to punch and kick!" flag_player_got_help_message_lm2 = 1 ENDIF ENDIF ENDIF ENDIF WAIT 0 ENDWHILE IF NOT HAS_PICKUP_BEEN_COLLECTED bat_lm2 REMOVE_BLIP bat_blip_lm2 REMOVE_PICKUP bat_lm2 flag_player_had_bat_message_lm2 = 1 ENDIF REMOVE_BLIP radar_blip_ped1_lm2 IF IS_CAR_DEAD car_lm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi2_failed ELSE IF IS_CAR_UPSIDEDOWN car_lm2 AND IS_CAR_STOPPED car_lm2 PRINT_NOW ( UPSIDE ) 5000 1 //You've flipped your wheels!" GOTO mission_luigi2_failed ENDIF ENDIF CHANGE_CAR_LOCK car_lm2 CARLOCK_UNLOCKED ADD_BLIP_FOR_CAR car_lm2 radar_blip_car1_lm2 PRINT_NOW ( LM2_1 ) 7000 1 //"Take the car and get it resprayed." // waiting for the player to get into the car WHILE NOT IS_PLAYER_IN_CAR player car_lm2 WAIT 0 GOSUB girls_running IF IS_CAR_DEAD car_lm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi2_failed ELSE IF IS_CAR_UPSIDEDOWN car_lm2 AND IS_CAR_STOPPED car_lm2 PRINT_NOW ( UPSIDE ) 5000 1 //You've flipped your wheels!" GOTO mission_luigi2_failed ENDIF ENDIF ENDWHILE flag_player_in_car_lm2 = 1 SET_FREE_RESPRAYS ON REMOVE_BLIP radar_blip_car1_lm2 ADD_SPRITE_BLIP_FOR_COORD 924.0 -361.0 10.0 RADAR_SPRITE_SPRAY radar_blip_coord1_lm2 ADD_SPHERE 925.1 -350.5 9.3 2.5 sphere1_lm2 HAS_RESPRAY_HAPPENED sprayshop1 // waiting for the player to respray the car WHILE NOT HAS_RESPRAY_HAPPENED sprayshop1 OR NOT IS_PLAYER_IN_CAR player car_lm2 OR NOT IS_PLAYER_STOPPED_IN_AREA_2D player 922.6 -366.1 928.6 -354.3 FALSE WAIT 0 IF IS_CAR_DEAD car_lm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi2_failed ELSE IF IS_CAR_UPSIDEDOWN car_lm2 AND IS_CAR_STOPPED car_lm2 PRINT_NOW ( UPSIDE ) 5000 1 //You've flipped your wheels!" GOTO mission_luigi2_failed ENDIF ENDIF IF NOT IS_PLAYER_IN_CAR player car_lm2 AND flag_player_had_car_message_lm2 = 0 PRINT_NOW ( IN_VEH ) 7000 1 //"Get back into the car and get on with the mission!" REMOVE_BLIP radar_blip_coord1_lm2 REMOVE_SPHERE sphere1_lm2 ADD_BLIP_FOR_CAR car_lm2 radar_blip_car1_lm2 flag_player_had_car_message_lm2 = 1 ENDIF IF IS_PLAYER_IN_CAR player car_lm2 AND flag_player_had_car_message_lm2 = 1 REMOVE_BLIP radar_blip_car1_lm2 ADD_SPRITE_BLIP_FOR_COORD 924.0 -361.0 10.0 RADAR_SPRITE_SPRAY radar_blip_coord1_lm2 IF flag_had_spray_help = 0 ADD_SPHERE 925.1 -350.5 9.3 2.5 sphere1_lm2 ENDIF flag_player_had_car_message_lm2 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_3D player 925.1 -350.5 9.3 2.5 2.5 2.5 FALSE AND IS_PLAYER_IN_CAR player car_lm2 IF flag_had_spray_help = 0 PRINT_HELP ( SPRAY1 ) REMOVE_SPHERE sphere1_lm2 flag_had_spray_help = 1 ENDIF ENDIF ENDWHILE REMOVE_SPHERE sphere1_lm2 REMOVE_BLIP radar_blip_coord1_lm2 ADD_BLIP_FOR_COORD 1087.0 -574.0 -100.0 radar_blip_coord2_lm2 ADD_SPHERE 1088.4 -574.4 13.7 2.5 sphere2_lm2 flag_blip2_on_lm2 = 1 SET_TARGET_CAR_FOR_MISSION_GARAGE garage_lm2 car_lm2 //PRINT_NOW ( LM2_3 ) 7000 1 //"Good now get the car to the lockup!" timerb = 0 // Waiting for the player to get back to luigi's WHILE NOT IS_CAR_IN_MISSION_GARAGE garage_lm2 WAIT 0 IF flag_lockup_message_lm2 = 0 IF timerb >= 3000 PRINT_NOW ( LM2_3 ) 7000 1 //"Good now get the car to the lockup!" flag_lockup_message_lm2 = 1 ENDIF ENDIF IF flag_car_in_garage_lm2 = 0 IF IS_CAR_DEAD car_lm2 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi2_failed ELSE IF IS_CAR_UPSIDEDOWN car_lm2 AND IS_CAR_STOPPED car_lm2 PRINT_NOW ( UPSIDE ) 5000 1 //You've flipped your wheels!" GOTO mission_luigi2_failed ENDIF ENDIF IF NOT IS_PLAYER_IN_CAR player car_lm2 AND flag_player_had_car_message_lm2 = 0 PRINT_NOW ( IN_VEH ) 5000 1 //" Get back in the car and get on with the mission!" REMOVE_SPHERE sphere2_lm2 ADD_BLIP_FOR_CAR car_lm2 radar_blip_car1_lm2 REMOVE_BLIP radar_blip_coord2_lm2 flag_player_had_car_message_lm2 = 1 ENDIF IF IS_PLAYER_IN_CAR player car_lm2 AND flag_player_had_car_message_lm2 = 1 REMOVE_BLIP radar_blip_car1_lm2 ADD_BLIP_FOR_COORD 1087.0 -574.0 -100.0 radar_blip_coord2_lm2 IF flag_player_had_garage_message_lm2 = 0 ADD_SPHERE 1088.4 -574.4 13.7 2.5 sphere2_lm2 ENDIF flag_player_had_car_message_lm2 = 0 ENDIF IF flag_player_had_garage_message_lm2 = 0 IF LOCATE_PLAYER_IN_CAR_3D player 1088.4 -574.4 13.7 2.5 2.5 2.5 FALSE AND IS_PLAYER_IN_CAR player car_lm2 PRINT_HELP ( GARAGE ) //"Drive the car into the garage, get out of the car and walk outside of the garage" REMOVE_SPHERE sphere2_lm2 flag_player_had_garage_message_lm2 = 1 ENDIF ENDIF IF NOT LOCATE_PLAYER_IN_CAR_3D player 1088.4 -574.4 13.7 2.5 2.5 2.5 FALSE AND flag_player_had_garage_message_lm2 = 1 flag_player_had_garage_message_lm2 = 0 ENDIF ENDIF IF NOT IS_CAR_DEAD car_lm2 // IF IS_CAR_STOPPED_IN_AREA_2D car_lm2 1074.0 -578.0 1085.0 -568.0 FALSE IF DOES_GARAGE_CONTAIN_CAR garage_lm2 car_lm2 flag_car_in_garage_lm2 = 1 ELSE flag_car_in_garage_lm2 = 0 ENDIF ENDIF ENDWHILE REMOVE_BLIP radar_blip_coord2_lm2 REMOVE_SPHERE sphere2_lm2 } GOTO mission_luigi2_passed // Mission luigi1 failed mission_luigi2_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" RETURN // mission Luigi1 passed mission_luigi2_passed: flag_luigi_mission2_passed = 1 REGISTER_MISSION_PASSED ( LM2 ) PLAYER_MADE_PROGRESS 1 PRINT_WITH_NUMBER_BIG ( M_PASS ) 4000 5000 1 //"Mission Passed!" PLAY_MISSION_PASSED_TUNE 1 ADD_SCORE player 4000 CLEAR_WANTED_LEVEL player START_NEW_SCRIPT luigi_mission3_loop RETURN // mission cleanup mission_cleanup_luigi2: flag_player_on_mission = 0 flag_player_on_luigi_mission = 0 IF flag_player_had_bat_message_lm2 = 0 REMOVE_BLIP bat_blip_lm2 REMOVE_PICKUP bat_lm2 ENDIF IF NOT IS_CAR_DEAD car_lm2 CHANGE_CAR_LOCK car_lm2 CARLOCK_UNLOCKED ENDIF SET_TARGET_CAR_FOR_MISSION_GARAGE garage_lm2 -1 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_STALLION MARK_MODEL_AS_NO_LONGER_NEEDED PED_DOCKER2 MARK_MODEL_AS_NO_LONGER_NEEDED PED_PROSTITUTE MARK_MODEL_AS_NO_LONGER_NEEDED PED_PROSTITUTE2 REMOVE_BLIP radar_blip_ped1_lm2 REMOVE_BLIP radar_blip_car1_lm2 REMOVE_BLIP radar_blip_coord1_lm2 REMOVE_BLIP radar_blip_coord2_lm2 REMOVE_BLIP bat_blip_lm2 REMOVE_SPHERE sphere1_lm2 REMOVE_SPHERE sphere2_lm2 SET_FREE_RESPRAYS OFF SWITCH_PED_ROADS_ON 1609.8 -615.2 9.0 1557.8 -673.4 20.0 MISSION_HAS_FINISHED RETURN girls_running: // checks for girl1 IF flag_player_in_car_lm2 = 0 IF flag_player_in_area_lm2 = 1 IF flag_victim_ped_lm2_changed = 1 IF flag_buyer1_dead_lm2 = 0 IF IS_CHAR_DEAD buyer1_lm2 flag_buyer1_dead_lm2 = 1 ELSE IF flag_girl1_running_lm2 = 0 SET_CHAR_OBJ_RUN_TO_COORD buyer1_lm2 1387.21 -837.38 flag_girl1_running_lm2 = 1 ENDIF IF flag_girl1_running_lm2 = 1 IF LOCATE_CHAR_ON_FOOT_3D buyer1_lm2 1387.21 -837.38 10.8 4.0 4.0 4.0 FALSE SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS buyer1_lm2 player flag_girl1_running_lm2 = 2 ENDIF ENDIF ENDIF ENDIF // checks for girl2 IF flag_buyer2_dead_lm2 = 0 IF IS_CHAR_DEAD buyer2_lm2 flag_buyer2_dead_lm2 = 1 ELSE IF flag_girl2_running_lm2 = 0 SET_CHAR_OBJ_RUN_TO_COORD buyer2_lm2 1385.98 -839.30 flag_girl2_running_lm2 = 1 ENDIF IF flag_girl2_running_lm2 = 1 IF LOCATE_CHAR_ON_FOOT_3D buyer2_lm2 1385.98 -839.30 10.8 4.0 4.0 4.0 FALSE SET_CHAR_OBJ_FLEE_PLAYER_ON_FOOT_ALWAYS buyer2_lm2 player flag_girl2_running_lm2 = 2 ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF RETURN
luigi3
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // *****************************************Luigi mission 3********************************* // ***************************************"Drive Misty For Me"****************************** // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME luigi3 // Mission Start Stuff GOSUB mission_start_luigi3 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_luigi3_failed ENDIF GOSUB mission_cleanup_luigi3 MISSION_END // Variable for mission VAR_INT radar_blip_coord1_lm3 VAR_INT radar_blip_coord2_lm3 VAR_INT misty_lm3 VAR_INT car_lm3 VAR_INT flag_player_got_message_lm3 VAR_INT flag_player_got_cops_message_lm3 VAR_INT flag_player_not_in_zone_lm3 VAR_FLOAT door1_position_lm3 VAR_FLOAT door2_position_lm3 VAR_FLOAT difference_in_heading_door1_lm3 VAR_FLOAT difference_in_heading_door2_lm3 VAR_INT flag_blip_on_misty_lm3 VAR_INT radar_blip_ped1_lm3 VAR_INT flag_had_bus_message_lm3 VAR_INT flag_camera_mode_lm3 VAR_INT cut_car_lm3 VAR_INT cut_car2_lm3 VAR_INT cut_car3_lm3 // ****************************************Mission Start************************************ mission_start_luigi3: flag_player_on_mission = 1 flag_player_on_luigi_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 flag_player_got_message_lm3 = 0 flag_player_got_cops_message_lm3 = 0 flag_player_not_in_zone_lm3 = 0 door1_position_lm3 = 0.0 door2_position_lm3 = 0.0 difference_in_heading_door1_lm3 = 0.0 difference_in_heading_door2_lm3 = 0.0 flag_blip_on_misty_lm3 = 0 blob_flag = 1 flag_had_bus_message_lm3 = 0 flag_camera_mode_lm3 = 0 // *****************************************START OF CUT_SCENE****************************** /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_luigi3_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT SWITCH_STREAMING OFF PRINT_BIG ( LM3 ) 15000 2 //"Drive Misty For Me." */ LOAD_SPECIAL_CHARACTER 1 LUIGI LOAD_SPECIAL_CHARACTER 2 MICKY REQUEST_MODEL indhibuild3 REQUEST_MODEL luigiclubout REQUEST_MODEL luigiineerclub LOAD_SPECIAL_MODEL cut_obj1 LUDOOR LOAD_SPECIAL_MODEL cut_obj2 LUIGIH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH LOAD_SPECIAL_MODEL cut_obj4 MICKYH /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ SET_PED_DENSITY_MULTIPLIER 0.0 CLEAR_AREA_OF_CHARS 926.54 -471.72 1.0 830.76 -257.96 25.0 LOAD_ALL_MODELS_NOW WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj4 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED indhibuild3 OR NOT HAS_MODEL_LOADED luigiclubout OR NOT HAS_MODEL_LOADED luigiineerclub WAIT 0 ENDWHILE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE LOAD_CUTSCENE l3_dm SET_CUTSCENE_OFFSET 900.782 -427.523 13.829 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_luigi SET_CUTSCENE_ANIM cs_luigi luigi CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_micky SET_CUTSCENE_ANIM cs_micky micky CREATE_CUTSCENE_HEAD cs_luigi CUT_OBJ2 cs_luigihead SET_CUTSCENE_HEAD_ANIM cs_luigihead luigi CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_HEAD cs_micky CUT_OBJ4 cs_mickyhead SET_CUTSCENE_HEAD_ANIM cs_mickyhead micky CREATE_CUTSCENE_OBJECT cut_obj1 cs_ludoor SET_CUTSCENE_ANIM cs_ludoor LUDOOR CLEAR_AREA 896.6 -426.2 13.9 1.0 TRUE SET_PLAYER_COORDINATES player 896.6 -426.2 13.9 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 2433 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_A ) 10000 1 //"Hey I've gotta talk to you... All right Mick I talk to yah later" WHILE cs_time < 5504 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM3_A ) WHILE cs_time < 8333 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_B ) 10000 1 //"How yah doing kid? WHILE cs_time < 9667 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_C ) 10000 1 //"The Don's son, Joey Leone, he wants some action from his regular girl Misty" WHILE cs_time < 13833 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_D ) 10000 1 //"Go pick her up at Hepburn Heights..." WHILE cs_time < 15467 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_E ) 10000 1 //"but watch yourself that's Diablo turf." WHILE cs_time < 18233 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_F ) 10000 1 //"Then run her over to his garage in Trenton and make it quick," WHILE cs_time < 21100 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_G ) 10000 1 //"Joey ain't the kinda you keep waiting, remember, this is your foot in the door..." WHILE cs_time < 25333 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_H ) 10000 1 //"so keep your eyes on the road and off Misty!" WHILE cs_time < 27701 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM3_H ) WHILE cs_time < 29666 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_STREAMING ON SWITCH_RUBBISH ON LOAD_SCENE 920.3 -425.4 15.0 SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE UNLOAD_SPECIAL_CHARACTER 1 UNLOAD_SPECIAL_CHARACTER 2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ4 MARK_MODEL_AS_NO_LONGER_NEEDED indhibuild3 MARK_MODEL_AS_NO_LONGER_NEEDED luigiclubout MARK_MODEL_AS_NO_LONGER_NEEDED luigiineerclub SET_PED_DENSITY_MULTIPLIER 1.0 // *****************************************END OF CUTSCENE********************************* LOAD_SPECIAL_CHARACTER 2 misty WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 2 WAIT 0 ENDWHILE WHILE GET_FADING_STATUS WAIT 0 ENDWHILE PRINT_NOW ( LM3_10 ) 5000 1 //Get a vehicle!" GET_CONTROLLER_MODE controlmode IF controlmode = 0 PRINT_HELP ( HELP15 ) //"Press the...." ENDIF IF controlmode = 1 PRINT_HELP ( HELP15 ) //"Press the...." ENDIF IF controlmode = 2 PRINT_HELP ( HELP15 ) //"Press the...." ENDIF IF controlmode = 3 PRINT_HELP ( HELP15 ) //"Press the...." ENDIF // waiting for the player to get into a car WHILE NOT IS_PLAYER_IN_ANY_CAR player WAIT 0 ENDWHILE STORE_CAR_PLAYER_IS_IN player car_lm3 PRINT_NOW ( LM3_4 ) 7000 1 //"Now Pick up Misty!" LOAD_MISSION_AUDIO L2_A ADD_BLIP_FOR_COORD 937.9 -259.8 -100.0 radar_blip_coord1_lm3 // waiting for the player to get to Misty's flat blob_flag = 1 WHILE NOT LOCATE_STOPPED_PLAYER_IN_CAR_2D player 937.9 -259.8 3.0 3.0 blob_flag OR NOT HAS_MISSION_AUDIO_LOADED WAIT 0 IF NOT IS_PLAYER_IN_ANY_CAR player AND flag_player_got_message_lm3 = 0 PRINT_NOW ( IN_VEH2 ) 5000 1 //"Get a vehicle and get on with the mission!" REMOVE_BLIP radar_blip_coord1_lm3 flag_player_got_message_lm3 = 1 blob_flag = 0 ENDIF IF IS_PLAYER_IN_ANY_CAR player AND flag_player_got_message_lm3 = 1 ADD_BLIP_FOR_COORD 937.9 -259.8 -100.0 radar_blip_coord1_lm3 STORE_CAR_PLAYER_IS_IN player car_lm3 flag_player_got_message_lm3 = 0 blob_flag = 1 ENDIF ENDWHILE GET_CONTROLLER_MODE controlmode IF controlmode = 0 PRINT_HELP ( LM3_1A ) //"Press the~h~ L3 button~w~ to activate the ~h~horn~w~ and let Misty know you are here." ENDIF IF controlmode = 1 PRINT_HELP ( LM3_1B ) //"Press the~h~ L1 button~w~ to activate the ~h~horn~w~ and let Misty know you are here." ENDIF IF controlmode = 2 PRINT_HELP ( LM3_1C ) //"Press the~h~ R1 button~w~ to activate the ~h~horn~w~ and let Misty know you are here." ENDIF IF controlmode = 3 PRINT_HELP ( LM3_1A ) //"Press the~h~ L3 button~w~ to activate the ~h~horn~w~ and let Misty know you are here." ENDIF blob_flag = 1 WHILE NOT IS_PLAYER_PRESSING_HORN player OR NOT LOCATE_STOPPED_PLAYER_IN_CAR_2D player 937.9 -259.8 3.0 3.0 blob_flag OR NOT IS_PLAYER_SITTING_IN_ANY_CAR player WAIT 0 IF NOT IS_PLAYER_IN_ANY_CAR player AND flag_player_got_message_lm3 = 0 PRINT_NOW ( IN_VEH2 ) 5000 1 //"Get a vehicle and get on with the mission!" REMOVE_BLIP radar_blip_coord1_lm3 flag_player_got_message_lm3 = 1 blob_flag = 0 ENDIF IF IS_PLAYER_IN_ANY_CAR player AND flag_player_got_message_lm3 = 1 ADD_BLIP_FOR_COORD 937.9 -259.8 -100.0 radar_blip_coord1_lm3 STORE_CAR_PLAYER_IS_IN player car_lm3 flag_player_got_message_lm3 = 0 blob_flag = 1 ENDIF ENDWHILE CLEAR_HELP GET_PLAYER_CHAR player script_controlled_player SET_CHAR_CANT_BE_DRAGGED_OUT script_controlled_player TRUE /* IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm3 IF NOT IS_CAR_DEAD car_lm3 LOCK_CAR_DOORS car_lm3 CARLOCK_LOCKED_PLAYER_INSIDE ENDIF ENDIF */ WAIT 500 SWITCH_WIDESCREEN ON SET_PLAYER_CONTROL player OFF /* IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm3 IF NOT IS_CAR_DEAD car_lm3 LOCK_CAR_DOORS car_lm3 CARLOCK_LOCKED_PLAYER_INSIDE ENDIF ENDIF */ CLEAR_AREA 936.2 -263.9 5.0 1.0 TRUE IF LOCATE_PLAYER_IN_CAR_2D player 937.9 -259.8 3.0 3.0 FALSE IF IS_PLAYER_IN_MODEL player CAR_BUS OR IS_PLAYER_IN_MODEL player CAR_COACH OR IS_PLAYER_IN_MODEL player CAR_FLATBED OR IS_PLAYER_IN_MODEL player CAR_FIRETRUCK OR IS_PLAYER_IN_MODEL player CAR_LANDSTALKER OR IS_PLAYER_IN_MODEL player CAR_LINERUNNER flag_camera_mode_lm3 = 1 ENDIF IF IS_PLAYER_IN_MODEL player CAR_TRASHMASTER OR IS_PLAYER_IN_MODEL player CAR_PONY OR IS_PLAYER_IN_MODEL player CAR_MULE OR IS_PLAYER_IN_MODEL player CAR_AMBULANCE OR IS_PLAYER_IN_MODEL player CAR_MRWHOOPEE OR IS_PLAYER_IN_MODEL player CAR_ENFORCER flag_camera_mode_lm3 = 1 ENDIF IF IS_PLAYER_IN_MODEL player CAR_RUMPO OR IS_PLAYER_IN_MODEL player CAR_BELLYUP OR IS_PLAYER_IN_MODEL player CAR_MRWONGS OR IS_PLAYER_IN_MODEL player CAR_YANKEE OR IS_PLAYER_IN_MODEL player CAR_SECURICAR flag_camera_mode_lm3 = 1 ENDIF ENDIF IF flag_camera_mode_lm3 = 1 CLEAR_AREA 930.112 -264.972 7.336 4.0 TRUE SET_FIXED_CAMERA_POSITION 930.112 -264.972 7.336 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 930.959 -265.474 7.164 JUMP_CUT ELSE CLEAR_AREA 928.169 -267.549 4.0 4.0 TRUE SET_FIXED_CAMERA_POSITION 928.169 -267.549 5.623 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 929.162 -267.43 5.656 JUMP_CUT ENDIF SET_POLICE_IGNORE_PLAYER player ON SET_EVERYONE_IGNORE_PLAYER player ON //CLEAR_AREA 943.8 -271.5 4.0 4.0 TRUE // This should get rid of any stuff to block the cut-scene area CLEAR_AREA 941.7 -269.2 4.0 1.0 TRUE // Location misty is going to run to REMOVE_BLIP radar_blip_coord1_lm3 CREATE_CHAR PEDTYPE_SPECIAL PED_SPECIAL2 946.47 -275.50 3.9 misty_lm3 TURN_CHAR_TO_FACE_COORD misty_lm3 942.0 -268.0 -100.0 CLEAR_CHAR_THREAT_SEARCH misty_lm3 SET_ANIM_GROUP_FOR_CHAR misty_lm3 ANIM_SEXY_WOMANPED // opens the doors GET_OBJECT_HEADING misty_door1 door1_position_lm3 WHILE NOT door1_position_lm3 = 90.0 WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF difference_in_heading_door1_lm3 = 90.0 - door1_position_lm3 IF difference_in_heading_door1_lm3 < 10.0 door1_position_lm3 = 90.0 ELSE door1_position_lm3 += 10.0 ENDIF SET_OBJECT_HEADING misty_door1 door1_position_lm3 ENDWHILE WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF CLEAR_AREA 944.1 -270.7 4.0 2.0 TRUE SET_CHAR_OBJ_GOTO_COORD_ON_FOOT misty_lm3 944.1 -270.7 //POINT_CAMERA_AT_CHAR misty_lm3 FIXED JUMP_CUT timerb = 0 WHILE NOT IS_CHAR_OBJECTIVE_PASSED misty_lm3 // Try this one to see if it passes ok WAIT 0 IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm3 IF IS_CAR_DEAD car_lm3 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi3_failed ENDIF ENDIF IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF IF timerb >= 10000 IF NOT IS_CHAR_OBJECTIVE_PASSED misty_lm3 SET_CHAR_COORDINATES misty_lm3 944.1 -270.7 3.9 ENDIF ENDIF ENDWHILE CLEAR_AREA 941.0 -264.0 -100.0 4.0 TRUE /* // Close the door WHILE NOT door1_position_lm3 = 0.0 WAIT 0 IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm3 IF IS_CAR_DEAD car_lm3 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi3_failed ENDIF ENDIF IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF difference_in_heading_door1_lm3 = door1_position_lm3 IF difference_in_heading_door1_lm3 < 10.0 door1_position_lm3 = 0.0 ELSE door1_position_lm3 -= 10.0 ENDIF SET_OBJECT_HEADING misty_door1 door1_position_lm3 ENDWHILE */ SET_FIXED_CAMERA_POSITION 934.2 -265.8 5.9 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 934.7 -264.9 5.7 JUMP_CUT SET_OBJECT_HEADING misty_door1 0.0 IF NOT IS_CHAR_DEAD misty_lm3 IF NOT IS_AREA_OCCUPIED 934.10 -266.46 2.0 935.08 -268.90 10.0 FALSE TRUE TRUE TRUE TRUE CLEAR_AREA 934.79 -267.47 3.9 1.0 TRUE SET_CHAR_COORDINATES misty_lm3 934.79 -267.47 3.9 ENDIF ENDIF IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm3 SET_CHAR_OBJ_ENTER_CAR_AS_PASSENGER misty_lm3 car_lm3 // IF NOT IS_CAR_DEAD car_lm3 // LOCK_CAR_DOORS car_lm3 CARLOCK_UNLOCKED // ENDIF IF IS_CAR_DEAD car_lm3 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi3_failed ENDIF // waiting for Misty to get into the car WHILE NOT IS_CHAR_IN_CAR misty_lm3 car_lm3 WAIT 0 IF IS_CAR_DEAD car_lm3 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ELSE PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi3_failed ENDIF ENDIF IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF ENDWHILE ELSE SET_CHAR_OBJ_GOTO_PLAYER_ON_FOOT misty_lm3 player WHILE NOT IS_CHAR_OBJECTIVE_PASSED misty_lm3 WAIT 0 IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player car_lm3 IF IS_CAR_DEAD car_lm3 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle's wrecked!" GOTO mission_luigi3_failed ENDIF ENDIF IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF ENDWHILE ENDIF SET_PLAYER_AS_LEADER misty_lm3 player SWITCH_WIDESCREEN OFF RESTORE_CAMERA SET_CHAR_CANT_BE_DRAGGED_OUT script_controlled_player FALSE SET_PLAYER_CONTROL player ON SET_POLICE_IGNORE_PLAYER player OFF SET_EVERYONE_IGNORE_PLAYER player OFF PLAY_MISSION_AUDIO PRINT_NOW ( LM3_5 ) 7000 1 //"You working for Luigi regular huh? It's about time he got a driver we can trust!" WHILE NOT HAS_MISSION_AUDIO_FINISHED WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP misty_lm3 player AND flag_blip_on_misty_lm3 = 0 PRINT_NOW ( HEY4 ) 5000 1 //"You have left Misty behind go and get her!" ADD_BLIP_FOR_CHAR misty_lm3 radar_blip_ped1_lm3 //REMOVE_BLIP radar_blip_coord2_lm3 flag_blip_on_misty_lm3 = 1 blob_flag = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player misty_lm3 8.0 8.0 FALSE AND flag_blip_on_misty_lm3 = 1 SET_PLAYER_AS_LEADER misty_lm3 player //PRINT_NOW ( LM3_2 ) 5000 1 //"Take Misty to see Joey Leone." REMOVE_BLIP radar_blip_ped1_lm3 //ADD_BLIP_FOR_COORD 1196.0 -874.0 -100.0 radar_blip_coord2_lm3 flag_blip_on_misty_lm3 = 0 blob_flag = 1 ENDIF ENDWHILE CLEAR_THIS_PRINT ( LM3_5 ) PRINT_NOW ( LM3_2 ) 5000 1 //"Take Misty to see Joey Leone." ADD_BLIP_FOR_COORD 1196.0 -874.0 -100.0 radar_blip_coord2_lm3 blob_flag = 1 WHILE NOT LOCATE_STOPPED_PLAYER_ANY_MEANS_2D player 1196.0 -874.0 3.0 4.0 blob_flag OR NOT LOCATE_STOPPED_CHAR_ANY_MEANS_2D misty_lm3 1196.0 -874.0 3.0 4.0 FALSE WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF IF NOT IS_CHAR_IN_PLAYERS_GROUP misty_lm3 player AND flag_blip_on_misty_lm3 = 0 PRINT_NOW ( HEY4 ) 5000 1 //"You have left Misty behind go and get her!" ADD_BLIP_FOR_CHAR misty_lm3 radar_blip_ped1_lm3 REMOVE_BLIP radar_blip_coord2_lm3 flag_blip_on_misty_lm3 = 1 blob_flag = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player misty_lm3 8.0 8.0 FALSE AND flag_blip_on_misty_lm3 = 1 SET_PLAYER_AS_LEADER misty_lm3 player PRINT_NOW ( LM3_2 ) 5000 1 //"Take Misty to see Joey Leone." REMOVE_BLIP radar_blip_ped1_lm3 ADD_BLIP_FOR_COORD 1196.0 -874.0 -100.0 radar_blip_coord2_lm3 flag_blip_on_misty_lm3 = 0 blob_flag = 1 ENDIF ENDWHILE REMOVE_BLIP radar_blip_coord2_lm3 SET_FIXED_CAMERA_POSITION 1211.85 -882.40 19.42 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1210.99 -881.90 19.34 JUMP_CUT IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF LEAVE_GROUP misty_lm3 SWITCH_WIDESCREEN ON SET_PLAYER_CONTROL player OFF CLEAR_WANTED_LEVEL player CLEAR_AREA 1190.6 -869.1 -100.0 6.0 TRUE // This should get rid of any stuff to block the cut-scene area SET_POLICE_IGNORE_PLAYER player ON GET_PLAYER_CHAR player script_controlled_player IF IS_CHAR_IN_ANY_CAR misty_lm3 STORE_CAR_CHAR_IS_IN misty_lm3 car_lm3 SET_CHAR_OBJ_LEAVE_CAR misty_lm3 car_lm3 ENDIF WHILE IS_CHAR_IN_ANY_CAR misty_lm3 WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF ENDWHILE IF IS_CHAR_IN_ANY_CAR script_controlled_player STORE_CAR_CHAR_IS_IN script_controlled_player car_lm3 SET_CHAR_OBJ_LEAVE_CAR script_controlled_player car_lm3 ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT misty_lm3 1193.1 -868.3 WHILE IS_CHAR_IN_ANY_CAR script_controlled_player WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF ENDWHILE SET_CHAR_OBJ_GOTO_COORD_ON_FOOT script_controlled_player 1193.1 -868.3 WAIT 500 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF MARK_CAR_AS_NO_LONGER_NEEDED car_lm3 // ********************************START OF CUT-SCENE PART TWO****************************** GET_GAME_TIMER breakout_timer_start breakout_diff = 0 WHILE NOT CAN_PLAYER_START_MISSION Player AND breakout_diff < 5000 // if player is not in control after 5 secs do the cutscene anyway WAIT 0 IF IS_CHAR_DEAD misty_lm3 PRINT_NOW ( MISTY1 ) 5000 1 //"Misty's dead!" GOTO mission_luigi3_failed ENDIF GET_GAME_TIMER breakout_timer breakout_diff = breakout_timer - breakout_timer_start ENDWHILE MAKE_PLAYER_SAFE_FOR_CUTSCENE player SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT SWITCH_STREAMING OFF LOAD_SPECIAL_CHARACTER 1 joey LOAD_SPECIAL_MODEL cut_obj1 JOEDOOR LOAD_SPECIAL_MODEL cut_obj2 JOEYH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH LOAD_SPECIAL_MODEL cut_obj4 MISTYH REQUEST_MODEL CAR_MAFIA REQUEST_MODEL CAR_IDAHO REQUEST_MODEL CAR_STALLION REQUEST_MODEL jogarageext REQUEST_MODEL jogarageint WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CHAR_SET_IDLE script_controlled_player IF NOT IS_CHAR_DEAD misty_lm3 CHAR_SET_IDLE misty_lm3 ENDIF LOAD_ALL_MODELS_NOW WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED CAR_IDAHO OR NOT HAS_MODEL_LOADED CAR_MAFIA OR NOT HAS_MODEL_LOADED CAR_STALLION WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj4 OR NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED jogarageext OR NOT HAS_MODEL_LOADED jogarageint WAIT 0 ENDWHILE LOAD_CUTSCENE j0_dm2 SET_CUTSCENE_OFFSET 1190.079 -869.861 13.977 CREATE_CAR CAR_MAFIA 1189.1 -858.8 14.0 cut_car_lm3 SET_CAR_HEADING cut_car_lm3 76.0 CREATE_CAR CAR_IDAHO 1182.5 -857.0 14.1 cut_car2_lm3 SET_CAR_HEADING cut_car2_lm3 291.2 CREATE_CAR CAR_STALLION 1192.9 -860.8 14.0 cut_car3_lm3 SET_CAR_HEADING cut_car3_lm3 150.0 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_joey SET_CUTSCENE_ANIM cs_joey joey CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_misty SET_CUTSCENE_ANIM cs_misty misty CREATE_CUTSCENE_HEAD cs_joey CUT_OBJ2 cs_joeyhead SET_CUTSCENE_HEAD_ANIM cs_joeyhead joey CREATE_CUTSCENE_HEAD cs_misty CUT_OBJ4 cs_mistyhead SET_CUTSCENE_HEAD_ANIM cs_mistyhead misty CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT cut_obj1 cs_joedoor SET_CUTSCENE_ANIM cs_joedoor JOEDOOR SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1192.23 -867.252 14.124 6.0 joey_door1 FALSE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1192.23 -867.252 14.124 6.0 joey_door2 FALSE CLEAR_AREA 1194.0 -872.5 14.0 2.0 TRUE SET_PLAYER_COORDINATES player 1194.0 -872.5 -100.0 SET_PLAYER_HEADING player 230.0 DELETE_CHAR misty_lm3 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 10538 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_6 ) 10000 1 //"Joey..." WHILE cs_time < 11896 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM3_6 ) WHILE cs_time < 14353 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_6A ) 10000 1 //"Am I goin' to play with our big end again?" WHILE cs_time < 16869 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_7 ) 10000 1 //"I'll be with you In a minute spark plug." WHILE cs_time < 20173 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_8 ) 10000 1 //"Hey, I'm Joey." WHILE cs_time < 21116 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_9 ) 10000 1 //"Luigi said you were reliable so come back later," WHILE cs_time < 23397 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_9A ) 10000 1 //"There might be some work for you." WHILE cs_time < 25088 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM3_9B ) 10000 1 //"Alright." WHILE cs_time < 25723 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM3_9B ) WHILE cs_time < 26666 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SWITCH_STREAMING ON SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1192.23 -867.252 14.124 6.0 joey_door1 TRUE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 1192.23 -867.252 14.124 6.0 joey_door2 TRUE UNLOAD_SPECIAL_CHARACTER 1 UNLOAD_SPECIAL_CHARACTER 2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ4 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_MAFIA MARK_MODEL_AS_NO_LONGER_NEEDED CAR_IDAHO MARK_MODEL_AS_NO_LONGER_NEEDED CAR_STALLION MARK_MODEL_AS_NO_LONGER_NEEDED jogarageext MARK_MODEL_AS_NO_LONGER_NEEDED jogarageint DELETE_CAR cut_car_lm3 DELETE_CAR cut_car2_lm3 DELETE_CAR cut_car3_lm3 // **********************************END OF CUT-SCENE PART TWO*********************************** GOTO mission_luigi3_passed // Mission Luigi1 failed mission_luigi3_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" RETURN // mission Luigi1 passed mission_luigi3_passed: flag_luigi_mission3_passed = 1 REGISTER_MISSION_PASSED ( LM3 ) PLAYER_MADE_PROGRESS 1 PRINT_WITH_NUMBER_BIG ( m_pass ) 1000 5000 1 //"Mission Passed!" PLAY_MISSION_PASSED_TUNE 1 ADD_SCORE player 1000 CLEAR_WANTED_LEVEL player ADD_SPRITE_BLIP_FOR_CONTACT_POINT 1191.7 -870.0 -100.0 RADAR_SPRITE_JOEY joey_contact_blip START_NEW_SCRIPT luigi_mission4_loop START_NEW_SCRIPT joey_mission1_loop START_NEW_SCRIPT meat_mission1_loop RETURN // mission cleanup mission_cleanup_luigi3: flag_player_on_mission = 0 flag_player_on_luigi_mission = 0 /* IF NOT IS_CAR_DEAD car_lm3 LOCK_CAR_DOORS car_lm3 CARLOCK_UNLOCKED ENDIF */ REMOVE_CHAR_ELEGANTLY misty_lm3 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_MAFIA MARK_MODEL_AS_NO_LONGER_NEEDED CAR_IDAHO MARK_MODEL_AS_NO_LONGER_NEEDED CAR_STALLION REMOVE_BLIP radar_blip_coord1_lm3 REMOVE_BLIP radar_blip_coord2_lm3 MISSION_HAS_FINISHED RETURN
luigi4
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // *****************************************Luigi mission 4********************************* // *****************************************Pump Action Pimp******************************** // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME luigi4 // Mission Start Stuff GOSUB mission_start_luigi4 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_luigi4_failed ENDIF GOSUB mission_cleanup_luigi4 MISSION_END // Variable for mission VAR_INT radar_blip_ped1_lm4 VAR_INT radar_blip_coord1_lm4 VAR_INT radar_blip_car1_lm4 VAR_INT rival_pimp_to_kill VAR_INT car_lm4 VAR_INT flag_player_got_message_luigi4 VAR_INT car_health_lm4 VAR_INT flag_car_dead_lm4 VAR_INT flag_pimp_dead_lm4 VAR_INT gun_lm4 VAR_FLOAT car_lm4_x VAR_FLOAT car_lm4_y VAR_FLOAT car_lm4_z VAR_INT flag_collected_gun_lm4 VAR_INT flag_gun_message_lm4 VAR_INT flag_pimp2_dead_lm4 VAR_INT pimp_lm4 VAR_INT flag_pimp_kill_player_luigi4 VAR_INT radar_blip_ped2_lm4 VAR_INT flag_ped1_not_in_car VAR_INT flag_ped2_not_in_car VAR_INT flag_player_had_shop_audio_lm4 VAR_INT flag_player_had_message1_lm4 VAR_INT flag_player_had_message2_lm4 VAR_INT flag_blokes_get_out_of_car_lm4 VAR_INT flag_car_blip_on_lm4 VAR_INT flag_done_camera_lm4 VAR_INT flag_set_car_driving_lm4 // **********************************************Mission Start****************************** mission_start_luigi4: flag_player_on_mission = 1 flag_player_on_luigi_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 flag_player_got_message_luigi4 = 0 car_health_lm4 = 0 flag_car_dead_lm4 = 0 flag_pimp_dead_lm4 = 0 car_lm4_x = 0.0 car_lm4_y = 0.0 car_lm4_z = 0.0 flag_collected_gun_lm4 = 0 flag_gun_message_lm4 = 0 flag_pimp2_dead_lm4 = 0 flag_pimp_kill_player_luigi4 = 0 flag_ped1_not_in_car = 0 flag_ped2_not_in_car = 0 flag_player_had_shop_audio_lm4 = 0 flag_player_had_message1_lm4 = 0 flag_player_had_message2_lm4 = 0 flag_blokes_get_out_of_car_lm4 = 0 flag_car_blip_on_lm4 = 0 flag_done_camera_lm4 = 0 flag_set_car_driving_lm4 = 0 // ***************************************START OF CUTSCENE********************************* /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_luigi4_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT PRINT_BIG ( LM4 ) 15000 2 //"Pump Action Pimp" SWITCH_STREAMING OFF */ LOAD_SPECIAL_CHARACTER 1 LUIGI LOAD_SPECIAL_MODEL cut_obj1 LUDOOR LOAD_SPECIAL_MODEL cut_obj2 LUIGIH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH REQUEST_MODEL indhibuild3 REQUEST_MODEL luigiclubout REQUEST_MODEL luigiineerclub REQUEST_MODEL CAR_DIABLOS REQUEST_MODEL PED_GANG_DIABLO_A REQUEST_MODEL PED_PIMP /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ SET_PED_DENSITY_MULTIPLIER 0.0 CLEAR_AREA_OF_CHARS 926.54 -471.72 1.0 830.76 -257.96 25.0 LOAD_ALL_MODELS_NOW // Cutscene stuff WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED indhibuild3 OR NOT HAS_MODEL_LOADED luigiclubout OR NOT HAS_MODEL_LOADED luigiineerclub OR NOT HAS_MODEL_LOADED CAR_DIABLOS OR NOT HAS_MODEL_LOADED PED_GANG_DIABLO_A OR NOT HAS_MODEL_LOADED PED_PIMP WAIT 0 ENDWHILE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE LOAD_CUTSCENE l4_pap SET_CUTSCENE_OFFSET 900.782 -427.523 13.829 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_luigi SET_CUTSCENE_ANIM cs_luigi luigi CREATE_CUTSCENE_HEAD cs_luigi CUT_OBJ2 cs_luigihead SET_CUTSCENE_HEAD_ANIM cs_luigihead luigi CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_OBJECT cut_obj1 cs_ludoor SET_CUTSCENE_ANIM cs_ludoor LUDOOR //CLEAR_AREA 902.2 -425.8 13.9 1.0 TRUE //SET_PLAYER_COORDINATES player 902.2 -425.8 13.9 CLEAR_AREA 896.6 -426.2 13.9 1.0 TRUE SET_PLAYER_COORDINATES player 896.6 -426.2 13.9 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 8775 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM4_A ) 10000 1 //"Some Diablo skumball has been pimping his skuzzy bitches in my backyard." WHILE cs_time < 12872 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM4_B ) 10000 1 //"Go and take care of things for me." WHILE cs_time < 14886 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM4_C ) 10000 1 //"If you need a "piece" go round the back of AmmuNation opposite the subway." WHILE cs_time < 18506 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM4_C ) WHILE cs_time < 19333 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SWITCH_STREAMING ON LOAD_SCENE 920.3 -425.4 15.0 SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE UNLOAD_SPECIAL_CHARACTER 1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED indhibuild3 MARK_MODEL_AS_NO_LONGER_NEEDED luigiclubout MARK_MODEL_AS_NO_LONGER_NEEDED luigiineerclub SET_PED_DENSITY_MULTIPLIER 1.0 // ******************************************END OF CUT_SCENE******************************* REQUEST_MODEL CAR_DIABLOS REQUEST_MODEL PED_GANG_DIABLO_A REQUEST_MODEL PED_PIMP LOAD_ALL_MODELS_NOW WHILE NOT HAS_MODEL_LOADED CAR_DIABLOS OR NOT HAS_MODEL_LOADED PED_GANG_DIABLO_A OR NOT HAS_MODEL_LOADED PED_PIMP WAIT 0 ENDWHILE SWITCH_WIDESCREEN ON SET_PLAYER_CONTROL player OFF SET_POLICE_IGNORE_PLAYER player ON SET_EVERYONE_IGNORE_PLAYER player ON CREATE_CAR CAR_DIABLOS 1058.5 -421.0 -100.0 car_lm4 LOCK_CAR_DOORS car_lm4 CARLOCK_LOCKOUT_PLAYER_ONLY SET_CAR_HEADING car_lm4 360.0 SET_CAR_ONLY_DAMAGED_BY_PLAYER car_lm4 TRUE SET_CAR_WATERTIGHT car_lm4 TRUE CREATE_CHAR_INSIDE_CAR car_lm4 PEDTYPE_CIVMALE PED_GANG_DIABLO_A rival_pimp_to_kill CLEAR_CHAR_THREAT_SEARCH rival_pimp_to_kill GIVE_WEAPON_TO_CHAR rival_pimp_to_kill WEAPONTYPE_UZI 30000 // sets weapon to infinate ammo CREATE_CHAR_AS_PASSENGER car_lm4 PEDTYPE_CIVMALE PED_PIMP 0 pimp_lm4 CLEAR_CHAR_THREAT_SEARCH pimp_lm4 GIVE_WEAPON_TO_CHAR pimp_lm4 WEAPONTYPE_SHOTGUN 30000 // sets weapon to infinate ammo SET_CAR_MISSION car_lm4 MISSION_STOP_FOREVER ADD_BLIP_FOR_CAR car_lm4 radar_blip_car1_lm4 flag_car_blip_on_lm4 = 1 LOAD_SCENE 1065.1 -398.6 14.97 SET_FIXED_CAMERA_POSITION 1048.1 -398.3 15.5 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1049.1 -398.3 15.5 JUMP_CUT CREATE_PICKUP_WITH_AMMO WEAPON_COLT45 pickup_once 45 1080.5 -396.0 14.5 gun_lm4 ADD_SPRITE_BLIP_FOR_PICKUP gun_lm4 RADAR_SPRITE_WEAPON radar_blip_coord1_lm4 timerb = 0 WHILE timerb < 8400 WAIT 0 IF flag_set_car_driving_lm4 = 0 IF timerb >= 2000 IF NOT IS_CAR_DEAD car_lm4 SET_CAR_MISSION car_lm4 MISSION_CRUISE SET_CAR_CRUISE_SPEED car_lm4 20.0 flag_set_car_driving_lm4 = 1 ENDIF ENDIF ENDIF IF flag_done_camera_lm4 = 0 IF NOT IS_CAR_DEAD car_lm4 IF LOCATE_CAR_2D car_lm4 1058.5 -398.5 6.0 6.0 FALSE POINT_CAMERA_AT_POINT 1048.6 -397.4 15.5 INTERPOLATION flag_done_camera_lm4 = 1 ENDIF ENDIF ENDIF GOSUB car_check_lm4 GOSUB ped_death_check_lm4 GOSUB help_text_check_lm4 IF flag_collected_gun_lm4 = 0 IF HAS_PICKUP_BEEN_COLLECTED gun_lm4 REMOVE_BLIP radar_blip_coord1_lm4 flag_collected_gun_lm4 = 1 ENDIF IF flag_player_had_shop_audio_lm4 = 0 IF IS_PLAYER_IN_AREA_3D player 1066.6 -403.5 14.0 1072.8 -394.0 18.0 FALSE IF camera_ammu1 = 1 GOSUB audio_load_lm4 ENDIF ENDIF ENDIF ENDIF IF flag_ped2_not_in_car = 1 AND flag_ped1_not_in_car = 1 IF flag_car_blip_on_lm4 = 1 REMOVE_BLIP radar_blip_car1_lm4 flag_car_blip_on_lm4 = 0 ENDIF ENDIF ENDWHILE LOAD_SCENE 920.3 -425.4 15.0 RESTORE_CAMERA_JUMPCUT SWITCH_WIDESCREEN OFF SET_PLAYER_CONTROL player ON SET_POLICE_IGNORE_PLAYER player OFF SET_EVERYONE_IGNORE_PLAYER player OFF WHILE flag_pimp_dead_lm4 = 0 OR flag_pimp2_dead_lm4 = 0 WAIT 0 GOSUB car_check_lm4 GOSUB ped_death_check_lm4 GOSUB help_text_check_lm4 IF flag_collected_gun_lm4 = 0 IF HAS_PICKUP_BEEN_COLLECTED gun_lm4 REMOVE_BLIP radar_blip_coord1_lm4 flag_collected_gun_lm4 = 1 ENDIF IF flag_player_had_shop_audio_lm4 = 0 IF IS_PLAYER_IN_AREA_3D player 1066.6 -403.5 14.0 1072.8 -394.0 18.0 FALSE GOSUB audio_load_lm4 ENDIF ENDIF ENDIF IF flag_ped2_not_in_car = 1 AND flag_ped1_not_in_car = 1 IF flag_car_blip_on_lm4 = 1 REMOVE_BLIP radar_blip_car1_lm4 flag_car_blip_on_lm4 = 0 ENDIF ENDIF ENDWHILE REMOVE_BLIP radar_blip_coord1_lm4 //timera = 0 //WHILE timera < 3000 // WAIT 0 //ENDWHILE GOTO mission_luigi4_passed // Mission Luigi1 failed mission_luigi4_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" IF NOT IS_CHAR_DEAD rival_pimp_to_kill REMOVE_CHAR_ELEGANTLY rival_pimp_to_kill ENDIF IF IS_CHAR_DEAD pimp_lm4 REMOVE_CHAR_ELEGANTLY pimp_lm4 ENDIF RETURN // mission Luigi1 passed mission_luigi4_passed: flag_luigi_mission4_passed = 1 REGISTER_MISSION_PASSED ( LM4 ) PLAYER_MADE_PROGRESS 1 PRINT_WITH_NUMBER_BIG ( m_pass ) 4000 5000 1 //"Mission Passed!" PLAY_MISSION_PASSED_TUNE 1 ADD_SCORE player 4000 CLEAR_WANTED_LEVEL player START_NEW_SCRIPT luigi_mission5_loop IF out_of_stock_pistol = 0 START_NEW_SCRIPT pistol_message ENDIF RETURN // mission cleanup mission_cleanup_luigi4: flag_player_on_mission = 0 flag_player_on_luigi_mission = 0 special_ammu_audio = 0 IF flag_car_dead_lm4 = 0 IF NOT IS_CAR_DEAD car_lm4 SET_CAR_ONLY_DAMAGED_BY_PLAYER car_lm4 FALSE LOCK_CAR_DOORS car_lm4 CARLOCK_UNLOCKED SET_CAR_WATERTIGHT car_lm4 FALSE ENDIF ENDIF REMOVE_PICKUP gun_lm4 MARK_MODEL_AS_NO_LONGER_NEEDED CAR_DIABLOS MARK_MODEL_AS_NO_LONGER_NEEDED PED_GANG_DIABLO_A MARK_MODEL_AS_NO_LONGER_NEEDED PED_PIMP IF flag_collected_gun_lm4 = 0 REMOVE_PICKUP gun_lm4 ENDIF GOSUB shite_complier_bit MISSION_HAS_FINISHED RETURN // *************************PED GOSUB HAS TO GO HERE FOR STUPID COMPILER******************** ped_death_check_lm4: // Checks for the Diablo IF flag_pimp_dead_lm4 = 0 IF NOT IS_CHAR_DEAD rival_pimp_to_kill IF flag_blokes_get_out_of_car_lm4 = 1 OR NOT IS_CHAR_IN_CAR rival_pimp_to_kill car_lm4 IF flag_player_got_message_luigi4 = 0 SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS rival_pimp_to_kill player SET_CHAR_THREAT_SEARCH rival_pimp_to_kill THREAT_PLAYER1 SET_CHAR_PERSONALITY rival_pimp_to_kill PEDSTAT_TOUGH_GUY flag_player_got_message_luigi4 = 1 ENDIF ENDIF IF flag_ped1_not_in_car = 0 IF NOT IS_CHAR_IN_CAR rival_pimp_to_kill car_lm4 ADD_BLIP_FOR_CHAR rival_pimp_to_kill radar_blip_ped1_lm4 flag_ped1_not_in_car = 1 ENDIF ENDIF ENDIF IF IS_CHAR_DEAD rival_pimp_to_kill REMOVE_BLIP radar_blip_ped1_lm4 flag_pimp_dead_lm4 = 1 ENDIF ENDIF // Checks for the pimp model IF flag_pimp2_dead_lm4 = 0 IF NOT IS_CHAR_DEAD pimp_lm4 IF flag_blokes_get_out_of_car_lm4 = 1 OR NOT IS_CHAR_IN_CAR pimp_lm4 car_lm4 IF flag_pimp_kill_player_luigi4 = 0 SET_CHAR_OBJ_KILL_PLAYER_ANY_MEANS pimp_lm4 player SET_CHAR_THREAT_SEARCH pimp_lm4 THREAT_PLAYER1 SET_CHAR_PERSONALITY pimp_lm4 PEDSTAT_TOUGH_GUY flag_pimp_kill_player_luigi4 = 1 ENDIF ENDIF IF flag_ped2_not_in_car = 0 IF NOT IS_CHAR_IN_CAR pimp_lm4 car_lm4 ADD_BLIP_FOR_CHAR pimp_lm4 radar_blip_ped2_lm4 flag_ped2_not_in_car = 1 ENDIF ENDIF ENDIF IF IS_CHAR_DEAD pimp_lm4 REMOVE_BLIP radar_blip_ped2_lm4 flag_pimp2_dead_lm4 = 1 ENDIF ENDIF RETURN // **************************************************END OF PED GOSUB****************************** audio_load_lm4: IF IS_PLAYER_IN_AREA_3D player 1066.6 -403.5 14.0 1072.8 -394.0 18.0 FALSE special_ammu_audio = 1 IF camera_ammu1 = 1 IF NOT IS_CHAR_DEAD ammu_shop_bloke1 IF flag_player_had_message1_lm4 = 0 LOAD_MISSION_AUDIO AMMU_A flag_player_had_message1_lm4 = 1 ENDIF IF flag_player_had_message1_lm4 = 1 IF HAS_MISSION_AUDIO_LOADED PLAY_MISSION_AUDIO PRINT_NOW ( AMMU_A ) 5000 1 //"Luigi said..." flag_player_had_message1_lm4 = 2 ENDIF ENDIF IF flag_player_had_message1_lm4 = 2 IF HAS_MISSION_AUDIO_FINISHED CLEAR_THIS_PRINT ( AMMU_A ) flag_player_had_message1_lm4 = 3 ENDIF ENDIF IF flag_player_had_message1_lm4 = 3 AND flag_player_had_message2_lm4 = 0 LOAD_MISSION_AUDIO AMMU_C flag_player_had_message2_lm4 = 1 ENDIF IF flag_player_had_message2_lm4 = 1 IF HAS_MISSION_AUDIO_LOADED PLAY_MISSION_AUDIO PRINT_NOW ( AMMU_C ) 5000 1 //"Go round the back..." flag_player_had_message2_lm4 = 2 ENDIF ENDIF IF flag_player_had_message2_lm4 = 2 IF HAS_MISSION_AUDIO_FINISHED CLEAR_THIS_PRINT ( AMMU_C ) flag_player_had_shop_audio_lm4 = 1 special_ammu_audio = 0 flag_player_had_message2_lm4 = 3 ENDIF ENDIF ELSE CLEAR_MISSION_AUDIO special_ammu_audio = 0 ENDIF ENDIF ELSE CLEAR_MISSION_AUDIO special_ammu_audio = 0 ENDIF RETURN car_check_lm4: IF flag_car_dead_lm4 = 0 IF IS_CAR_DEAD car_lm4 IF flag_car_blip_on_lm4 = 1 REMOVE_BLIP radar_blip_car1_lm4 flag_car_blip_on_lm4 = 0 ENDIF flag_car_dead_lm4 = 1 ELSE IF IS_CAR_IN_WATER car_lm4 IF IS_CAR_ON_SCREEN car_lm4 SET_CAR_WATERTIGHT car_lm4 FALSE ELSE GET_CAR_COORDINATES car_lm4 car_lm4_x car_lm4_y car_lm4_z GET_CLOSEST_CAR_NODE car_lm4_x car_lm4_y car_lm4_z car_lm4_x car_lm4_y car_lm4_z ENDIF IF NOT IS_POINT_ON_SCREEN car_lm4_x car_lm4_y car_lm4_z 5.0 SET_CAR_COORDINATES car_lm4 car_lm4_x car_lm4_y car_lm4_z ENDIF ENDIF GET_CAR_HEALTH car_lm4 car_health_lm4 IF car_health_lm4 < 999 flag_blokes_get_out_of_car_lm4 = 1 ELSE flag_blokes_get_out_of_car_lm4 = 0 ENDIF ENDIF ENDIF RETURN help_text_check_lm4: IF flag_player_had_gun_message = 0 IF IS_PLAYER_IN_AREA_ON_FOOT_3D player 1075.2 -384.8 14.0 1086.2 -403.3 17.0 FALSE GET_CONTROLLER_MODE controlmode IF controlmode = 0 IF flag_gun_message_lm4 = 0 PRINT_HELP ( GUN_1A ) //"Use R2 and L2 to cycle through your weapons." timerb = 0 flag_gun_message_lm4 = 1 ENDIF IF flag_gun_message_lm4 = 1 IF timerb > 10000 PRINT_HELP ( GUN_2A ) //"Hold R1 to auto-target, press circle to fire!" timerb = 0 flag_gun_message_lm4 = 2 ENDIF ENDIF IF flag_gun_message_lm4 = 2 IF timerb > 10000 PRINT_HELP ( GUN_3A ) //"While holding the ~h~R1 button,~w~ press the ~h~L2 button~w~ or the ~h~R2 button to switch target." timerb = 0 flag_gun_message_lm4 = 3 ENDIF ENDIF IF flag_gun_message_lm4 = 3 IF timerb > 10000 PRINT_HELP ( GUN_4A ) //"While holding the ~h~R1 button~w~ you can walk or run while remaining locked onto a target." timerb = 0 flag_gun_message_lm4 = 4 ENDIF ENDIF IF flag_gun_message_lm4 = 4 IF timerb > 10000 PRINT_HELP ( GUN_5 ) //"You can practice targeting and shooting on these paper targets, when you are finished resume the mission." flag_gun_message_lm4 = 5 flag_player_had_gun_message = 1 ENDIF ENDIF ENDIF // Control Mode 1 IF controlmode = 1 IF flag_gun_message_lm4 = 0 PRINT_HELP ( GUN_1A ) //"Use R2 and L2 to cycle through your weapons." timerb = 0 flag_gun_message_lm4 = 1 ENDIF IF flag_gun_message_lm4 = 1 IF timerb > 10000 PRINT_HELP ( GUN_2A ) //"Hold R1 to auto-target, press circle to fire!" timerb = 0 flag_gun_message_lm4 = 2 ENDIF ENDIF IF flag_gun_message_lm4 = 2 IF timerb > 10000 PRINT_HELP ( GUN_3A ) //"While holding the ~h~R1 button,~w~ press the ~h~L2 button~w~ or the ~h~R2 button to switch target." timerb = 0 flag_gun_message_lm4 = 3 ENDIF ENDIF IF flag_gun_message_lm4 = 3 IF timerb > 10000 PRINT_HELP ( GUN_4A ) //"While holding the ~h~R1 button~w~ you can walk or run while remaining locked onto a target." timerb = 0 flag_gun_message_lm4 = 4 ENDIF ENDIF IF flag_gun_message_lm4 = 4 IF timerb > 10000 PRINT_HELP ( GUN_5 ) //"You can practice targeting and shooting on these paper targets, when you are finished resume the mission." flag_gun_message_lm4 = 5 flag_player_had_gun_message = 1 ENDIF ENDIF ENDIF // Control Mode 2 IF controlmode = 2 IF flag_gun_message_lm4 = 0 PRINT_HELP ( GUN_1A ) //"Use R2 and L2 to cycle through your weapons." timerb = 0 flag_gun_message_lm4 = 1 ENDIF IF flag_gun_message_lm4 = 1 IF timerb > 10000 PRINT_HELP ( GUN_2C ) //"Hold R1 to auto-target, press circle to fire!" timerb = 0 flag_gun_message_lm4 = 2 ENDIF ENDIF IF flag_gun_message_lm4 = 2 IF timerb > 10000 PRINT_HELP ( GUN_3A ) //"While holding the ~h~R1 button,~w~ press the ~h~L2 button~w~ or the ~h~R2 button to switch target." timerb = 0 flag_gun_message_lm4 = 3 ENDIF ENDIF IF flag_gun_message_lm4 = 3 IF timerb > 10000 PRINT_HELP ( GUN_4A ) //"While holding the ~h~R1 button~w~ you can walk or run while remaining locked onto a target." timerb = 0 flag_gun_message_lm4 = 4 ENDIF ENDIF IF flag_gun_message_lm4 = 4 IF timerb > 10000 PRINT_HELP ( GUN_5 ) //"You can practice targeting and shooting on these paper targets, when you are finished resume the mission." flag_gun_message_lm4 = 5 flag_player_had_gun_message = 1 ENDIF ENDIF ENDIF // Control Mode 3 IF controlmode = 3 IF flag_gun_message_lm4 = 0 PRINT_HELP ( GUN_1A ) //"Use R2 and L2 to cycle through your weapons." timerb = 0 flag_gun_message_lm4 = 1 ENDIF IF flag_gun_message_lm4 = 1 IF timerb > 10000 PRINT_HELP ( GUN_2D ) //"Hold R1 to auto-target, press circle to fire!" timerb = 0 flag_gun_message_lm4 = 2 // flag_player_had_gun_message = 1 ENDIF ENDIF IF flag_gun_message_lm4 = 1 IF timerb > 10000 PRINT_HELP ( GUN_2C ) //"Hold R1 to auto-target, press circle to fire!" timerb = 0 flag_gun_message_lm4 = 2 ENDIF ENDIF IF flag_gun_message_lm4 = 2 IF timerb > 10000 PRINT_HELP ( GUN_3B ) //"While holding the ~h~R1 button,~w~ press the ~h~L2 button~w~ or the ~h~R2 button to switch target." timerb = 0 flag_gun_message_lm4 = 3 ENDIF ENDIF IF flag_gun_message_lm4 = 3 IF timerb > 10000 PRINT_HELP ( GUN_4B ) //"While holding the ~h~R1 button~w~ you can walk or run while remaining locked onto a target." timerb = 0 flag_gun_message_lm4 = 4 ENDIF ENDIF IF flag_gun_message_lm4 = 4 IF timerb > 10000 PRINT_HELP ( GUN_5 ) //"You can practice targeting and shooting on these paper targets, when you are finished resume the mission." flag_gun_message_lm4 = 5 flag_player_had_gun_message = 1 ENDIF ENDIF ENDIF ENDIF ENDIF RETURN shite_complier_bit: REMOVE_BLIP radar_blip_ped1_lm4 REMOVE_BLIP radar_blip_ped2_lm4 REMOVE_BLIP radar_blip_coord1_lm4 REMOVE_BLIP radar_blip_car1_lm4 RETURN
luigi5
MISSION_START // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** // *****************************************Luigi mission 5********************************* // ***************************************************************************************** // ***************************************************************************************** // ***************************************************************************************** SCRIPT_NAME luigi5 // Mission Start Stuff GOSUB mission_start_luigi5 IF HAS_DEATHARREST_BEEN_EXECUTED GOSUB mission_luigi5_failed ENDIF GOSUB mission_cleanup_luigi5 MISSION_END // Vehicles for mission VAR_INT vehicle_lm5 // radar_blips VAR_INT flag_blip_on_prossie1_lm5 VAR_INT flag_blip_on_prossie2_lm5 VAR_INT flag_blip_on_prossie3_lm5 VAR_INT flag_blip_on_prossie4_lm5 VAR_INT flag_blip_on_prossie5_lm5 VAR_INT flag_blip_on_prossie6_lm5 VAR_INT flag_blip_on_prossie7_lm5 VAR_INT flag_blip_on_prossie8_lm5 VAR_INT radar_blip_coord1_lm5 //location of the fuzz ball VAR_INT radarped_prossie1_lm5 //blip for real char VAR_INT radarped_prossie2_lm5 //blip for real char VAR_INT radarped_prossie3_lm5 //blip for real char VAR_INT radarped_prossie4_lm5 //blip for real char VAR_INT radarped_prossie5_lm5 //blip for real char VAR_INT radarped_prossie6_lm5 //blip for real char VAR_INT radarped_prossie7_lm5 //blip for real char VAR_INT radarped_prossie8_lm5 //blip for real char // timers VAR_INT timer_lm5 // Characters for mission VAR_INT prossie1_lm5 VAR_INT prossie2_lm5 VAR_INT prossie3_lm5 VAR_INT prossie4_lm5 VAR_INT prossie5_lm5 VAR_INT prossie6_lm5 VAR_INT prossie7_lm5 VAR_INT prossie8_lm5 //Character created and at ball flags VAR_INT flag_prossie1_at_ball VAR_INT flag_prossie2_at_ball VAR_INT flag_prossie3_at_ball VAR_INT flag_prossie4_at_ball VAR_INT flag_prossie5_at_ball VAR_INT flag_prossie6_at_ball VAR_INT flag_prossie7_at_ball VAR_INT flag_prossie8_at_ball // girls in car flag VAR_INT flag_prossie1_lm5_in_car VAR_INT flag_prossie2_lm5_in_car VAR_INT flag_prossie3_lm5_in_car VAR_INT flag_prossie4_lm5_in_car VAR_INT flag_prossie5_lm5_in_car VAR_INT flag_prossie6_lm5_in_car VAR_INT flag_prossie7_lm5_in_car VAR_INT flag_prossie8_lm5_in_car // no of passenger stuff VAR_INT max_no_of_passengers_lm5 VAR_INT room_left_in_car_lm5 VAR_INT no_of_passengers_lm5 VAR_INT flag_had_room_message_lm5 // Scoreing stuff VAR_INT counter_no_of_girls_at_the_ball VAR_INT score_lm5 // PEds in to the building stuff VAR_INT flag_prossie2_in_car_park VAR_INT flag_prossie2_told_to_go_into_ball VAR_INT flag_prossie1_in_car_park VAR_INT flag_prossie1_told_to_go_into_ball VAR_INT flag_prossie3_in_car_park VAR_INT flag_prossie3_told_to_go_into_ball VAR_INT flag_prossie4_in_car_park VAR_INT flag_prossie4_told_to_go_into_ball VAR_INT flag_prossie5_in_car_park VAR_INT flag_prossie5_told_to_go_into_ball VAR_INT flag_prossie6_in_car_park VAR_INT flag_prossie6_told_to_go_into_ball VAR_INT flag_prossie7_in_car_park VAR_INT flag_prossie7_told_to_go_into_ball VAR_INT flag_prossie8_in_car_park VAR_INT flag_prossie8_told_to_go_into_ball VAR_INT fuzzball_sign VAR_INT number_of_dead_prossies VAR_INT ball_sounds // Door Stuff VAR_INT flag_moved_door1_lm5 VAR_INT flag_moved_door2_lm5 // Message from girl to tell player to get a car VAR_INT flag_had_car_message1_lm5 VAR_INT flag_had_car_message2_lm5 VAR_INT flag_had_car_message3_lm5 VAR_INT flag_had_car_message4_lm5 VAR_INT flag_had_car_message5_lm5 VAR_INT flag_had_car_message6_lm5 VAR_INT flag_had_car_message7_lm5 VAR_INT flag_had_car_message8_lm5 VAR_INT sphere_lm5 VAR_INT cop_car1_lm5 VAR_INT cop_car2_lm5 VAR_INT counter_girls_trying_to_get_to_ball VAR_INT flag_timer_prossie1_lm5 // If the girls get stuck VAR_INT flag_timer_prossie2_lm5 // If the girls get stuck VAR_INT flag_timer_prossie3_lm5 // If the girls get stuck VAR_INT flag_timer_prossie4_lm5 // If the girls get stuck VAR_INT flag_timer_prossie5_lm5 // If the girls get stuck VAR_INT flag_timer_prossie6_lm5 // If the girls get stuck VAR_INT flag_timer_prossie7_lm5 // If the girls get stuck VAR_INT flag_timer_prossie8_lm5 // If the girls get stuck // ******************************************Mission Start********************************** mission_start_luigi5: flag_player_on_mission = 1 flag_player_on_luigi_mission = 1 REGISTER_MISSION_GIVEN WAIT 0 max_no_of_passengers_lm5 = 0 flag_prossie1_at_ball = 0 flag_prossie2_at_ball = 0 flag_prossie3_at_ball = 0 flag_prossie4_at_ball = 0 flag_prossie5_at_ball = 0 flag_prossie6_at_ball = 0 flag_prossie7_at_ball = 0 flag_prossie8_at_ball = 0 room_left_in_car_lm5 = 0 no_of_passengers_lm5 = 0 flag_had_room_message_lm5 = 0 counter_no_of_girls_at_the_ball = 0 score_lm5 = 0 flag_prossie2_in_car_park = 0 flag_prossie2_told_to_go_into_ball = 0 flag_prossie1_in_car_park = 0 flag_prossie1_told_to_go_into_ball = 0 timer_lm5 = 301000 // 5 mins flag_blip_on_prossie1_lm5 = 0 flag_blip_on_prossie2_lm5 = 0 flag_blip_on_prossie3_lm5 = 0 flag_blip_on_prossie4_lm5 = 0 flag_blip_on_prossie5_lm5 = 0 flag_blip_on_prossie6_lm5 = 0 flag_blip_on_prossie7_lm5 = 0 flag_blip_on_prossie8_lm5 = 0 flag_prossie1_lm5_in_car = 0 flag_prossie2_lm5_in_car = 0 flag_prossie3_lm5_in_car = 0 flag_prossie4_lm5_in_car = 0 flag_prossie5_lm5_in_car = 0 flag_prossie6_lm5_in_car = 0 flag_prossie7_lm5_in_car = 0 flag_prossie8_lm5_in_car = 0 flag_prossie3_in_car_park = 0 flag_prossie3_told_to_go_into_ball = 0 flag_prossie4_in_car_park = 0 flag_prossie4_told_to_go_into_ball = 0 flag_prossie5_in_car_park = 0 flag_prossie5_told_to_go_into_ball = 0 flag_prossie6_in_car_park = 0 flag_prossie6_told_to_go_into_ball = 0 flag_prossie7_in_car_park = 0 flag_prossie7_told_to_go_into_ball = 0 flag_prossie8_in_car_park = 0 flag_prossie8_told_to_go_into_ball = 0 number_of_dead_prossies = 0 flag_moved_door1_lm5 = 0 flag_moved_door2_lm5 = 0 flag_had_car_message1_lm5 = 0 flag_had_car_message2_lm5 = 0 flag_had_car_message3_lm5 = 0 flag_had_car_message4_lm5 = 0 flag_had_car_message5_lm5 = 0 flag_had_car_message6_lm5 = 0 flag_had_car_message7_lm5 = 0 flag_had_car_message8_lm5 = 0 counter_girls_trying_to_get_to_ball = 0 flag_timer_prossie1_lm5 = 0 // If the girls get stuck flag_timer_prossie2_lm5 = 0 // If the girls get stuck flag_timer_prossie3_lm5 = 0 // If the girls get stuck flag_timer_prossie4_lm5 = 0 // If the girls get stuck flag_timer_prossie5_lm5 = 0 // If the girls get stuck flag_timer_prossie6_lm5 = 0 // If the girls get stuck flag_timer_prossie7_lm5 = 0 // If the girls get stuck flag_timer_prossie8_lm5 = 0 // If the girls get stuck // *****************************************START OF CUTSCENE******************************* /* IF CAN_PLAYER_START_MISSION player MAKE_PLAYER_SAFE_FOR_CUTSCENE player ELSE GOTO mission_luigi5_failed ENDIF SET_FADING_COLOUR 0 0 0 DO_FADE 1500 FADE_OUT PRINT_BIG ( LM5 ) 15000 2 //"Fuzz Ball" SWITCH_STREAMING OFF */ LOAD_SPECIAL_CHARACTER 1 LUIGI LOAD_SPECIAL_CHARACTER 2 MICKY LOAD_SPECIAL_MODEL cut_obj1 LUDOOR LOAD_SPECIAL_MODEL cut_obj2 LUIGIH LOAD_SPECIAL_MODEL cut_obj3 PLAYERH LOAD_SPECIAL_MODEL cut_obj4 MICKYH REQUEST_MODEL indhibuild3 REQUEST_MODEL luigiclubout REQUEST_MODEL luigiineerclub /* WHILE GET_FADING_STATUS WAIT 0 ENDWHILE */ SET_PED_DENSITY_MULTIPLIER 0.0 CLEAR_AREA_OF_CHARS 926.54 -471.72 1.0 830.76 -257.96 25.0 LOAD_ALL_MODELS_NOW WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 1 OR NOT HAS_SPECIAL_CHARACTER_LOADED 2 OR NOT HAS_MODEL_LOADED cut_obj1 OR NOT HAS_MODEL_LOADED cut_obj2 OR NOT HAS_MODEL_LOADED cut_obj3 OR NOT HAS_MODEL_LOADED cut_obj4 WAIT 0 ENDWHILE WHILE NOT HAS_MODEL_LOADED indhibuild3 OR NOT HAS_MODEL_LOADED luigiclubout OR NOT HAS_MODEL_LOADED luigiineerclub WAIT 0 ENDWHILE SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor FALSE LOAD_CUTSCENE l5_tfb SET_CUTSCENE_OFFSET 900.782 -427.523 13.829 CREATE_CUTSCENE_OBJECT PED_PLAYER cs_player SET_CUTSCENE_ANIM cs_player player CREATE_CUTSCENE_OBJECT PED_SPECIAL1 cs_luigi SET_CUTSCENE_ANIM cs_luigi luigi CREATE_CUTSCENE_OBJECT PED_SPECIAL2 cs_micky SET_CUTSCENE_ANIM cs_micky micky CREATE_CUTSCENE_HEAD cs_luigi CUT_OBJ2 cs_luigihead SET_CUTSCENE_HEAD_ANIM cs_luigihead luigi CREATE_CUTSCENE_HEAD cs_player CUT_OBJ3 cs_playerhead SET_CUTSCENE_HEAD_ANIM cs_playerhead player CREATE_CUTSCENE_HEAD cs_micky CUT_OBJ4 cs_mickyhead SET_CUTSCENE_HEAD_ANIM cs_mickyhead micky CREATE_CUTSCENE_OBJECT cut_obj1 cs_ludoor SET_CUTSCENE_ANIM cs_ludoor LUDOOR //CLEAR_AREA 902.2 -425.8 13.9 1.0 TRUE //SET_PLAYER_COORDINATES player 902.2 -425.8 13.9 CLEAR_AREA 896.6 -426.2 13.9 1.0 TRUE SET_PLAYER_COORDINATES player 896.6 -426.2 13.9 SET_PLAYER_HEADING player 270.0 DO_FADE 1500 FADE_IN SWITCH_RUBBISH OFF START_CUTSCENE // Displays cutscene text GET_CUTSCENE_TIME cs_time WHILE cs_time < 11950 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM5_A ) 10000 1 //"The Policeman's Ball is being held at the old school hall near the Callahan Bridge" WHILE cs_time < 15702 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM5_B ) 10000 1 //"and they'll be looking for some "old school action." WHILE cs_time < 17617 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM5_C ) 10000 1 //"Now I got girls all over town walking the streets." WHILE cs_time < 20281 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM5_D ) 10000 1 //"Get 'em to the ball they'll make a bundle" WHILE cs_time < 22295 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE PRINT_NOW ( LM5_E ) 10000 1 //"Get as many of them there as you can before those cops have drunk away their green." WHILE cs_time < 25606 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE CLEAR_THIS_PRINT ( LM5_E ) WHILE cs_time < 26000 WAIT 0 GET_CUTSCENE_TIME cs_time ENDWHILE DO_FADE 1500 FADE_OUT WHILE NOT HAS_CUTSCENE_FINISHED WAIT 0 ENDWHILE CLEAR_PRINTS WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CLEAR_CUTSCENE SWITCH_RUBBISH ON SWITCH_STREAMING ON LOAD_SCENE 920.3 -425.4 15.0 SET_CAMERA_BEHIND_PLAYER WAIT 500 DO_FADE 1500 FADE_IN SET_VISIBILITY_OF_CLOSEST_OBJECT_OF_TYPE 890.9 -416.9 15.0 6.0 backdoor TRUE UNLOAD_SPECIAL_CHARACTER 1 UNLOAD_SPECIAL_CHARACTER 2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ1 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ2 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ3 MARK_MODEL_AS_NO_LONGER_NEEDED CUT_OBJ4 MARK_MODEL_AS_NO_LONGER_NEEDED indhibuild3 MARK_MODEL_AS_NO_LONGER_NEEDED luigiclubout MARK_MODEL_AS_NO_LONGER_NEEDED luigiineerclub SET_PED_DENSITY_MULTIPLIER 1.0 // *****************************************END OF CUTSCENE********************************* SWITCH_CAR_GENERATOR gen_car28 0 ADD_SPHERE 999.9 -879.3 14.0 4.0 sphere_lm5 REQUEST_MODEL PED_PROSTITUTE REQUEST_MODEL PED_PROSTITUTE2 WHILE NOT HAS_MODEL_LOADED PED_PROSTITUTE OR NOT HAS_MODEL_LOADED PED_PROSTITUTE2 WAIT 0 ENDWHILE WHILE GET_FADING_STATUS WAIT 0 ENDWHILE CREATE_CAR CAR_POLICE 1027.7 -873.1 13.9 cop_car1_lm5 SET_CAR_HEADING cop_car1_lm5 90.0 LOCK_CAR_DOORS cop_car1_lm5 CARLOCK_UNLOCKED CREATE_CAR CAR_POLICE 998.68 -860.80 14.5 cop_car2_lm5 SET_CAR_HEADING cop_car2_lm5 90.0 LOCK_CAR_DOORS cop_car2_lm5 CARLOCK_UNLOCKED CREATE_OBJECT_NO_OFFSET policeballsigns 1010.74 -896.46 24.161 fuzzball_sign ADD_CONTINUOUS_SOUND 999.9 -892.4 16.0 SOUND_POLICE_BALL_LOOP_L ball_sounds SET_OBJECT_HEADING fuzz_door1 270.0 SET_OBJECT_HEADING fuzz_door2 270.0 DISPLAY_ONSCREEN_TIMER timer_lm5 ADD_BLIP_FOR_COORD 999.9 -879.3 -100.0 radar_blip_coord1_lm5 // creates prossie 1 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE2 870.0 -482.0 -100.0 prossie1_lm5 SET_CHAR_HEADING prossie1_lm5 180.0 CLEAR_CHAR_THREAT_SEARCH prossie1_lm5 ADD_BLIP_FOR_CHAR prossie1_lm5 radarped_prossie1_lm5 flag_blip_on_prossie1_lm5 = 1 SET_CHAR_RUNNING prossie1_lm5 TRUE // creates prossie 2 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE 916.0 -90.0 -100.0 prossie2_lm5 SET_CHAR_HEADING prossie2_lm5 180.0 CLEAR_CHAR_THREAT_SEARCH prossie2_lm5 ADD_BLIP_FOR_CHAR prossie2_lm5 radarped_prossie2_lm5 flag_blip_on_prossie2_lm5 = 1 SET_CHAR_RUNNING prossie2_lm5 TRUE // creates prossie 3 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE2 1203.0 23.0 -100.0 prossie3_lm5 CLEAR_CHAR_THREAT_SEARCH prossie3_lm5 ADD_BLIP_FOR_CHAR prossie3_lm5 radarped_prossie3_lm5 flag_blip_on_prossie3_lm5 = 1 SET_CHAR_RUNNING prossie3_lm5 TRUE // creates prossie 4 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE 1240.0 -336.0 -100.0 prossie4_lm5 SET_CHAR_HEADING prossie4_lm5 180.0 CLEAR_CHAR_THREAT_SEARCH prossie4_lm5 ADD_BLIP_FOR_CHAR prossie4_lm5 radarped_prossie4_lm5 flag_blip_on_prossie4_lm5 = 1 SET_CHAR_RUNNING prossie4_lm5 TRUE // creates prossie 5 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE2 1231.0 -511.0 -100.0 prossie5_lm5 CLEAR_CHAR_THREAT_SEARCH prossie5_lm5 ADD_BLIP_FOR_CHAR prossie5_lm5 radarped_prossie5_lm5 flag_blip_on_prossie5_lm5 = 1 SET_CHAR_RUNNING prossie5_lm5 TRUE // creates prossie 6 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE 1360.0 -798.0 -100.0 prossie6_lm5 CLEAR_CHAR_THREAT_SEARCH prossie6_lm5 ADD_BLIP_FOR_CHAR prossie6_lm5 radarped_prossie6_lm5 flag_blip_on_prossie6_lm5 = 1 SET_CHAR_RUNNING prossie6_lm5 TRUE // creates prossie 7 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE2 1093.0 -973.0 -100.0 prossie7_lm5 CLEAR_CHAR_THREAT_SEARCH prossie7_lm5 ADD_BLIP_FOR_CHAR prossie7_lm5 radarped_prossie7_lm5 flag_blip_on_prossie7_lm5 = 1 SET_CHAR_RUNNING prossie7_lm5 TRUE // creates prossie 8 CREATE_CHAR PEDTYPE_PROSTITUTE PED_PROSTITUTE 975.0 -754.0 -100.0 prossie8_lm5 SET_CHAR_HEADING prossie8_lm5 180.0 CLEAR_CHAR_THREAT_SEARCH prossie8_lm5 ADD_BLIP_FOR_CHAR prossie8_lm5 radarped_prossie8_lm5 flag_blip_on_prossie8_lm5 = 1 SET_CHAR_RUNNING prossie8_lm5 TRUE IF timer_help_message_displayed = 0 PRINT_HELP ( TIMER ) //"This is a timed mission, you must complete it before the timer runs out." timer_help_message_displayed = 1 ENDIF PRINT_NOW ( LM5_7 ) 7000 1 //"You need to get a minimum of four girls to the ball!" DISPLAY_ONSCREEN_COUNTER_WITH_STRING counter_no_of_girls_at_the_ball COUNTER_DISPLAY_NUMBER ( LM5_9 ) // checking to see how many girls the player get to the ball prossie_checks: WHILE timer_lm5 > 0 WAIT 0 CLEAR_AREA 1000.4 -886.7 14.4 6.0 FALSE // This should clear the area GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF counter_no_of_girls_at_the_ball = 8 GOTO mission_luigi5_passed ENDIF IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 ENDIF room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 //starts checking for prossie1 IF flag_prossie1_at_ball = 0 IF flag_prossie1_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie1_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message1_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message1_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie1_lm5 8.0 8.0 2.0 FALSE flag_had_car_message1_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie1_lm5 8.0 8.0 2.0 FALSE IF flag_prossie1_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie1_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie1_lm5 player REMOVE_BLIP radarped_prossie1_lm5 flag_blip_on_prossie1_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie1_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie1_at_ball = 0 IF IS_CHAR_DEAD prossie1_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie1_lm5 player AND flag_blip_on_prossie1_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie1_lm5 radarped_prossie1_lm5 flag_blip_on_prossie1_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie1_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie1_lm5 = 1 SET_PLAYER_AS_LEADER prossie1_lm5 player REMOVE_BLIP radarped_prossie1_lm5 flag_blip_on_prossie1_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie1_lm5_in_car = 1 SET_CHAR_RUNNING prossie1_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie1_lm5_in_car = 1 IF flag_prossie1_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie1_lm5 player AND flag_blip_on_prossie1_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie1_lm5 radarped_prossie1_lm5 flag_blip_on_prossie1_lm5 = 1 flag_prossie1_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie1_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie1_lm5 = 1 SET_PLAYER_AS_LEADER prossie1_lm5 player REMOVE_BLIP radarped_prossie1_lm5 flag_blip_on_prossie1_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie1_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie1_at_ball = 0 AND flag_prossie1_in_car_park = 0 WAIT 0 IF flag_prossie1_at_ball = 0 IF IS_CHAR_DEAD prossie1_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie1_lm5 IF IS_CHAR_IN_ANY_CAR prossie1_lm5 STORE_CAR_CHAR_IS_IN prossie1_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie1_lm5 vehicle_lm5 ENDIF flag_prossie1_in_car_park = 1 ENDIF ENDIF IF flag_prossie1_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie1_lm5 AND flag_prossie1_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie1_at_ball = 0 IF IS_CHAR_DEAD prossie1_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie1_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie1_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie1_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie1_lm5 REMOVE_CHAR_ELEGANTLY prossie1_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie1_at_ball = 1 ENDIF IF flag_prossie1_told_to_go_into_ball = 1 IF flag_prossie1_at_ball = 0 IF flag_timer_prossie1_lm5 = 0 timerb = 0 flag_timer_prossie1_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie1_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF //starts checking for prossie2 IF flag_prossie2_at_ball = 0 IF IS_CHAR_DEAD prossie2_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie2_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie2_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message2_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message2_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie2_lm5 8.0 8.0 2.0 FALSE flag_had_car_message2_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie2_lm5 8.0 8.0 2.0 FALSE IF flag_prossie2_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie2_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie2_lm5 player REMOVE_BLIP radarped_prossie2_lm5 flag_blip_on_prossie2_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie2_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie2_at_ball = 0 IF IS_CHAR_DEAD prossie2_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie2_lm5 player AND flag_blip_on_prossie2_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie2_lm5 radarped_prossie2_lm5 flag_blip_on_prossie2_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie2_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie2_lm5 = 1 SET_PLAYER_AS_LEADER prossie2_lm5 player REMOVE_BLIP radarped_prossie2_lm5 flag_blip_on_prossie2_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie2_lm5_in_car = 1 SET_CHAR_RUNNING prossie2_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie2_lm5_in_car = 1 IF flag_prossie2_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie2_lm5 player AND flag_blip_on_prossie2_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie2_lm5 radarped_prossie2_lm5 flag_blip_on_prossie2_lm5 = 1 flag_prossie2_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie2_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie2_lm5 = 1 SET_PLAYER_AS_LEADER prossie2_lm5 player REMOVE_BLIP radarped_prossie2_lm5 flag_blip_on_prossie2_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie2_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie2_at_ball = 0 AND flag_prossie2_in_car_park = 0 WAIT 0 IF flag_prossie2_at_ball = 0 IF IS_CHAR_DEAD prossie2_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie2_lm5 IF IS_CHAR_IN_ANY_CAR prossie2_lm5 STORE_CAR_CHAR_IS_IN prossie2_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie2_lm5 vehicle_lm5 ENDIF flag_prossie2_in_car_park = 1 ENDIF ENDIF IF flag_prossie2_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie2_lm5 AND flag_prossie2_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie2_at_ball = 0 IF IS_CHAR_DEAD prossie2_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie2_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie2_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie2_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie2_lm5 REMOVE_CHAR_ELEGANTLY prossie2_lm5 //++ counter_no_of_girls_at_the_ball // PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie2_at_ball = 1 ENDIF IF flag_prossie2_told_to_go_into_ball = 1 IF flag_prossie2_at_ball = 0 IF flag_timer_prossie2_lm5 = 0 timerb = 0 flag_timer_prossie2_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie2_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF // starts check for prossie 3 IF flag_prossie3_at_ball = 0 IF IS_CHAR_DEAD prossie3_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie3_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie3_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message3_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message3_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie3_lm5 8.0 8.0 2.0 FALSE flag_had_car_message3_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie3_lm5 8.0 8.0 2.0 FALSE IF flag_prossie3_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie3_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie3_lm5 player REMOVE_BLIP radarped_prossie3_lm5 flag_blip_on_prossie3_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie3_lm5 vehicle_lm5 WAIT 0 IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle has been wrecked!" GOTO mission_luigi5_failed ENDIF GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie3_at_ball = 0 IF IS_CHAR_DEAD prossie3_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie3_lm5 player AND flag_blip_on_prossie3_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie3_lm5 radarped_prossie3_lm5 flag_blip_on_prossie3_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie3_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie3_lm5 = 1 SET_PLAYER_AS_LEADER prossie3_lm5 player REMOVE_BLIP radarped_prossie3_lm5 flag_blip_on_prossie3_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie3_lm5_in_car = 1 SET_CHAR_RUNNING prossie3_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie3_lm5_in_car = 1 IF flag_prossie3_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie3_lm5 player AND flag_blip_on_prossie3_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie3_lm5 radarped_prossie3_lm5 flag_blip_on_prossie3_lm5 = 1 flag_prossie3_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie3_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie3_lm5 = 1 SET_PLAYER_AS_LEADER prossie3_lm5 player REMOVE_BLIP radarped_prossie3_lm5 flag_blip_on_prossie3_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie3_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie3_at_ball = 0 AND flag_prossie3_in_car_park = 0 WAIT 0 IF flag_prossie3_at_ball = 0 IF IS_CHAR_DEAD prossie3_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie3_lm5 IF IS_CHAR_IN_ANY_CAR prossie3_lm5 STORE_CAR_CHAR_IS_IN prossie3_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie3_lm5 vehicle_lm5 ENDIF flag_prossie3_in_car_park = 1 ENDIF ENDIF IF flag_prossie3_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie3_lm5 AND flag_prossie3_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie3_at_ball = 0 IF IS_CHAR_DEAD prossie3_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie3_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie3_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie3_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie3_lm5 REMOVE_CHAR_ELEGANTLY prossie3_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie3_at_ball = 1 ENDIF IF flag_prossie3_told_to_go_into_ball = 1 IF flag_prossie3_at_ball = 0 IF flag_timer_prossie3_lm5 = 0 timerb = 0 flag_timer_prossie3_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie3_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF // checks for prossie 4 IF flag_prossie4_at_ball = 0 IF IS_CHAR_DEAD prossie4_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie4_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie4_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message4_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message4_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie4_lm5 8.0 8.0 2.0 FALSE flag_had_car_message4_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie4_lm5 8.0 8.0 2.0 FALSE IF flag_prossie4_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie4_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie4_lm5 player REMOVE_BLIP radarped_prossie4_lm5 flag_blip_on_prossie4_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie4_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie4_at_ball = 0 IF IS_CHAR_DEAD prossie4_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie4_lm5 player AND flag_blip_on_prossie4_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie4_lm5 radarped_prossie4_lm5 flag_blip_on_prossie4_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie4_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie4_lm5 = 1 SET_PLAYER_AS_LEADER prossie4_lm5 player REMOVE_BLIP radarped_prossie4_lm5 flag_blip_on_prossie4_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie4_lm5_in_car = 1 SET_CHAR_RUNNING prossie4_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie4_lm5_in_car = 1 IF flag_prossie4_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie4_lm5 player AND flag_blip_on_prossie4_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie4_lm5 radarped_prossie4_lm5 flag_blip_on_prossie4_lm5 = 1 flag_prossie4_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie4_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie4_lm5 = 1 SET_PLAYER_AS_LEADER prossie4_lm5 player REMOVE_BLIP radarped_prossie4_lm5 flag_blip_on_prossie4_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie4_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie4_at_ball = 0 AND flag_prossie4_in_car_park = 0 WAIT 0 IF flag_prossie4_at_ball = 0 IF IS_CHAR_DEAD prossie4_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie4_lm5 IF IS_CHAR_IN_ANY_CAR prossie4_lm5 STORE_CAR_CHAR_IS_IN prossie4_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie4_lm5 vehicle_lm5 ENDIF flag_prossie4_in_car_park = 1 ENDIF ENDIF IF flag_prossie4_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie4_lm5 AND flag_prossie4_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie4_at_ball = 0 IF IS_CHAR_DEAD prossie4_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie4_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE // PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie4_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie4_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie4_lm5 REMOVE_CHAR_ELEGANTLY prossie4_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie4_at_ball = 1 ENDIF IF flag_prossie4_told_to_go_into_ball = 1 IF flag_prossie4_at_ball = 0 IF flag_timer_prossie4_lm5 = 0 timerb = 0 flag_timer_prossie4_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie4_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF // checks for prossie 5 IF flag_prossie5_at_ball = 0 IF IS_CHAR_DEAD prossie5_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie5_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie5_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message5_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message5_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie5_lm5 8.0 8.0 2.0 FALSE flag_had_car_message5_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie5_lm5 8.0 8.0 2.0 FALSE IF flag_prossie5_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie5_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie5_lm5 player REMOVE_BLIP radarped_prossie5_lm5 flag_blip_on_prossie5_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie5_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie5_at_ball = 0 IF IS_CHAR_DEAD prossie5_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie5_lm5 player AND flag_blip_on_prossie5_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie5_lm5 radarped_prossie5_lm5 flag_blip_on_prossie5_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie5_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie5_lm5 = 1 SET_PLAYER_AS_LEADER prossie5_lm5 player REMOVE_BLIP radarped_prossie5_lm5 flag_blip_on_prossie5_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie5_lm5_in_car = 1 SET_CHAR_RUNNING prossie5_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie5_lm5_in_car = 1 IF flag_prossie5_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie5_lm5 player AND flag_blip_on_prossie5_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie5_lm5 radarped_prossie5_lm5 flag_blip_on_prossie5_lm5 = 1 flag_prossie5_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie5_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie5_lm5 = 1 SET_PLAYER_AS_LEADER prossie5_lm5 player REMOVE_BLIP radarped_prossie5_lm5 flag_blip_on_prossie5_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie5_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie5_at_ball = 0 AND flag_prossie5_in_car_park = 0 WAIT 0 IF flag_prossie5_at_ball = 0 IF IS_CHAR_DEAD prossie5_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie5_lm5 IF IS_CHAR_IN_ANY_CAR prossie5_lm5 STORE_CAR_CHAR_IS_IN prossie5_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie5_lm5 vehicle_lm5 ENDIF flag_prossie5_in_car_park = 1 ENDIF ENDIF IF flag_prossie5_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie5_lm5 AND flag_prossie5_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie5_at_ball = 0 IF IS_CHAR_DEAD prossie5_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie5_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball // PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie5_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie5_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie5_lm5 REMOVE_CHAR_ELEGANTLY prossie5_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie5_at_ball = 1 ENDIF IF flag_prossie5_told_to_go_into_ball = 1 IF flag_prossie5_at_ball = 0 IF flag_timer_prossie5_lm5 = 0 timerb = 0 flag_timer_prossie5_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie5_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF // checks for prossie 6 IF flag_prossie6_at_ball = 0 IF IS_CHAR_DEAD prossie6_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie6_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie6_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message6_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message6_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie6_lm5 8.0 8.0 2.0 FALSE flag_had_car_message6_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie6_lm5 8.0 8.0 2.0 FALSE IF flag_prossie6_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie6_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie6_lm5 player REMOVE_BLIP radarped_prossie6_lm5 flag_blip_on_prossie6_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie6_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie6_at_ball = 0 IF IS_CHAR_DEAD prossie6_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie6_lm5 player AND flag_blip_on_prossie6_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie6_lm5 radarped_prossie6_lm5 flag_blip_on_prossie6_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie6_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie6_lm5 = 1 SET_PLAYER_AS_LEADER prossie6_lm5 player REMOVE_BLIP radarped_prossie6_lm5 flag_blip_on_prossie6_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie6_lm5_in_car = 1 SET_CHAR_RUNNING prossie6_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie6_lm5_in_car = 1 IF flag_prossie6_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie6_lm5 player AND flag_blip_on_prossie6_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie6_lm5 radarped_prossie6_lm5 flag_blip_on_prossie6_lm5 = 1 flag_prossie6_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie6_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie6_lm5 = 1 SET_PLAYER_AS_LEADER prossie6_lm5 player REMOVE_BLIP radarped_prossie6_lm5 flag_blip_on_prossie6_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie6_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie6_at_ball = 0 AND flag_prossie6_in_car_park = 0 WAIT 0 IF flag_prossie6_at_ball = 0 IF IS_CHAR_DEAD prossie6_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie6_lm5 IF IS_CHAR_IN_ANY_CAR prossie6_lm5 STORE_CAR_CHAR_IS_IN prossie6_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie6_lm5 vehicle_lm5 ENDIF flag_prossie6_in_car_park = 1 ENDIF ENDIF IF flag_prossie6_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie6_lm5 AND flag_prossie6_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie6_at_ball = 0 IF IS_CHAR_DEAD prossie6_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie6_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE // PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie6_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie6_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie6_lm5 REMOVE_CHAR_ELEGANTLY prossie6_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie6_at_ball = 1 ENDIF IF flag_prossie6_told_to_go_into_ball = 1 IF flag_prossie6_at_ball = 0 IF flag_timer_prossie6_lm5 = 0 timerb = 0 flag_timer_prossie6_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie6_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF // checks for prossie 7 IF flag_prossie7_at_ball = 0 IF IS_CHAR_DEAD prossie7_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie7_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie7_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message7_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message7_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie7_lm5 8.0 8.0 2.0 FALSE flag_had_car_message7_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie7_lm5 8.0 8.0 2.0 FALSE IF flag_prossie7_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie7_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie7_lm5 player REMOVE_BLIP radarped_prossie7_lm5 flag_blip_on_prossie7_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie7_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie7_at_ball = 0 IF IS_CHAR_DEAD prossie7_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie7_lm5 player AND flag_blip_on_prossie7_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie7_lm5 radarped_prossie7_lm5 flag_blip_on_prossie7_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie7_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie7_lm5 = 1 SET_PLAYER_AS_LEADER prossie7_lm5 player REMOVE_BLIP radarped_prossie7_lm5 flag_blip_on_prossie7_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie7_lm5_in_car = 1 SET_CHAR_RUNNING prossie7_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie7_lm5_in_car = 1 IF flag_prossie7_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie7_lm5 player AND flag_blip_on_prossie7_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie7_lm5 radarped_prossie7_lm5 flag_blip_on_prossie7_lm5 = 1 flag_prossie7_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie7_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie7_lm5 = 1 SET_PLAYER_AS_LEADER prossie7_lm5 player REMOVE_BLIP radarped_prossie7_lm5 flag_blip_on_prossie7_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie7_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie7_at_ball = 0 AND flag_prossie7_in_car_park = 0 WAIT 0 IF flag_prossie7_at_ball = 0 IF IS_CHAR_DEAD prossie7_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie7_lm5 IF IS_CHAR_IN_ANY_CAR prossie7_lm5 STORE_CAR_CHAR_IS_IN prossie7_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie7_lm5 vehicle_lm5 ENDIF flag_prossie7_in_car_park = 1 ENDIF ENDIF IF flag_prossie7_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie7_lm5 AND flag_prossie7_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie7_at_ball = 0 IF IS_CHAR_DEAD prossie7_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie7_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE // PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie7_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie7_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie7_lm5 REMOVE_CHAR_ELEGANTLY prossie7_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie7_at_ball = 1 ENDIF IF flag_prossie7_told_to_go_into_ball = 1 IF flag_prossie7_at_ball = 0 IF flag_timer_prossie7_lm5 = 0 timerb = 0 flag_timer_prossie7_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie7_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF // checks for prossie 8 IF flag_prossie8_at_ball = 0 IF IS_CHAR_DEAD prossie8_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF flag_prossie8_lm5_in_car = 0 IF LOCATE_PLAYER_ON_FOOT_CHAR_3D player prossie8_lm5 8.0 8.0 2.0 FALSE AND flag_had_car_message8_lm5 = 0 PRINT_NOW ( LM5_3 ) 5000 1 //"You need a car!" flag_had_car_message8_lm5 = 1 ENDIF IF NOT LOCATE_PLAYER_ANY_MEANS_CHAR_3D player prossie8_lm5 8.0 8.0 2.0 FALSE flag_had_car_message8_lm5 = 0 ENDIF IF LOCATE_PLAYER_IN_CAR_CHAR_3D player prossie8_lm5 8.0 8.0 2.0 FALSE IF flag_prossie8_lm5_in_car = 0 TURN_CHAR_TO_FACE_PLAYER prossie8_lm5 player ENDIF IF IS_PLAYER_STOPPED player IF IS_PLAYER_IN_ANY_CAR player STORE_CAR_PLAYER_IS_IN player vehicle_lm5 GET_MAXIMUM_NUMBER_OF_PASSENGERS vehicle_lm5 max_no_of_passengers_lm5 GET_NUMBER_OF_PASSENGERS vehicle_lm5 no_of_passengers_lm5 room_left_in_car_lm5 = max_no_of_passengers_lm5 - no_of_passengers_lm5 ENDIF IF room_left_in_car_lm5 > 0 SET_PLAYER_AS_LEADER prossie8_lm5 player REMOVE_BLIP radarped_prossie8_lm5 flag_blip_on_prossie8_lm5 = 0 WHILE NOT IS_CHAR_IN_CAR prossie8_lm5 vehicle_lm5 WAIT 0 GOSUB check_for_dead_prossies IF number_of_dead_prossies > 0 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF IF IS_CAR_DEAD vehicle_lm5 PRINT_NOW ( WRECKED ) 5000 1 //"The vehicle is wrecked!" GOTO mission_luigi5_failed ENDIF IF flag_prossie8_at_ball = 0 IF IS_CHAR_DEAD prossie8_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ELSE IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie8_lm5 player AND flag_blip_on_prossie8_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie8_lm5 radarped_prossie8_lm5 flag_blip_on_prossie8_lm5 = 1 GOTO prossie_checks ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie8_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie8_lm5 = 1 SET_PLAYER_AS_LEADER prossie8_lm5 player REMOVE_BLIP radarped_prossie8_lm5 flag_blip_on_prossie8_lm5 = 0 ENDIF ENDIF ENDIF ENDWHILE flag_prossie8_lm5_in_car = 1 SET_CHAR_RUNNING prossie8_lm5 FALSE ELSE IF flag_had_room_message_lm5 = 0 PRINT_NOW ( LM5_1 ) 7000 1 //"Get a bigger car!" flag_had_room_message_lm5 = 1 ENDIF //room message ENDIF //room left in car ENDIF //stopped ELSE flag_had_room_message_lm5 = 0 ENDIF // locate ENDIF IF flag_prossie8_lm5_in_car = 1 IF flag_prossie8_in_car_park = 0 IF NOT IS_CHAR_IN_PLAYERS_GROUP prossie8_lm5 player AND flag_blip_on_prossie8_lm5 = 0 PRINT_NOW ( HEY5 ) 5000 1 //"You have left one of the girls behind go and get her!" ADD_BLIP_FOR_CHAR prossie8_lm5 radarped_prossie8_lm5 flag_blip_on_prossie8_lm5 = 1 flag_prossie8_lm5_in_car = 0 ENDIF IF LOCATE_PLAYER_ANY_MEANS_CHAR_2D player prossie8_lm5 8.0 8.0 FALSE AND flag_blip_on_prossie8_lm5 = 1 SET_PLAYER_AS_LEADER prossie8_lm5 player REMOVE_BLIP radarped_prossie8_lm5 flag_blip_on_prossie8_lm5 = 0 ENDIF ENDIF IF IS_CHAR_STOPPED_IN_AREA_3D prossie8_lm5 1003.5 -883.0 13.9 996.8 -876.4 18.0 FALSE AND flag_prossie8_at_ball = 0 AND flag_prossie8_in_car_park = 0 WAIT 0 IF flag_prossie8_at_ball = 0 IF IS_CHAR_DEAD prossie8_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF LEAVE_GROUP prossie8_lm5 IF IS_CHAR_IN_ANY_CAR prossie8_lm5 STORE_CAR_CHAR_IS_IN prossie8_lm5 vehicle_lm5 SET_CHAR_OBJ_LEAVE_CAR prossie8_lm5 vehicle_lm5 ENDIF flag_prossie8_in_car_park = 1 ENDIF ENDIF IF flag_prossie8_in_car_park = 1 IF NOT IS_CHAR_IN_ANY_CAR prossie8_lm5 AND flag_prossie8_told_to_go_into_ball = 0 WAIT 0 IF flag_prossie8_at_ball = 0 IF IS_CHAR_DEAD prossie8_lm5 PRINT_NOW ( LM5_2 ) 5000 1 //"A girl has died!" GOTO mission_luigi5_failed ENDIF ENDIF SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie8_lm5 999.0 -891.0 ++ counter_no_of_girls_at_the_ball ADD_ONE_OFF_SOUND 999.9 -879.3 15.0 SOUND_PART_MISSION_COMPLETE // PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball CLEAR_WANTED_LEVEL player flag_prossie8_told_to_go_into_ball = 1 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie8_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie8_lm5 REMOVE_CHAR_ELEGANTLY prossie8_lm5 //++ counter_no_of_girls_at_the_ball //PRINT_WITH_NUMBER_NOW ( LM5_8 ) counter_no_of_girls_at_the_ball 5000 1 // Girls at ball flag_prossie8_at_ball = 1 ENDIF IF flag_prossie8_told_to_go_into_ball = 1 IF flag_prossie8_at_ball = 0 IF flag_timer_prossie8_lm5 = 0 timerb = 0 flag_timer_prossie8_lm5 = 1 ENDIF IF timerb > 20000 SET_CHAR_COORDINATES prossie8_lm5 999.0 -891.0 14.3 ENDIF ENDIF ENDIF ENDIF ENDIF ENDWHILE // pass or fail checks IF counter_no_of_girls_at_the_ball < 4 PRINT_NOW ( OUTTIME ) 5000 1 //"You ran out of time!" GOTO mission_luigi5_failed ELSE GOTO mission_luigi5_passed ENDIF // Mission Luigi1 failed mission_luigi5_failed: PRINT_BIG ( M_FAIL ) 5000 1 //"Mission Failed!" RETURN // mission Luigi1 passed mission_luigi5_passed: FREEZE_ONSCREEN_TIMER TRUE GOSUB mission_end_cutscene IF counter_girls_trying_to_get_to_ball > 0 REMOVE_SPHERE sphere_lm5 SWITCH_WIDESCREEN ON SET_PLAYER_CONTROL player OFF SET_POLICE_IGNORE_PLAYER player ON SET_EVERYONE_IGNORE_PLAYER player ON CLEAR_AREA 1006.845 -885.5 14.7 2.0 TRUE SET_FIXED_CAMERA_POSITION 1006.845 -885.5 14.7 0.0 0.0 0.0 POINT_CAMERA_AT_POINT 1005.9 -885.0 14.6 JUMP_CUT GOSUB mission_end_cutscene2 SWITCH_WIDESCREEN OFF RESTORE_CAMERA_JUMPCUT SET_PLAYER_CONTROL player ON SET_POLICE_IGNORE_PLAYER player OFF SET_EVERYONE_IGNORE_PLAYER player OFF ENDIF flag_luigi_mission5_passed = 1 flag_all_luigi_missions_passed = 1 REGISTER_MISSION_PASSED ( LM5 ) PLAYER_MADE_PROGRESS 1 PLAY_MISSION_PASSED_TUNE 1 score_lm5 = counter_no_of_girls_at_the_ball * 500 PRINT_WITH_NUMBER_BIG ( M_PASS ) score_lm5 10000 1 //"Mission Passed!" ADD_SCORE player score_lm5 CLEAR_WANTED_LEVEL player IF counter_no_of_girls_at_the_ball = 8 PRINT_WITH_NUMBER_NOW ( BONUS ) 2000 5000 1 //"Bonus of $2000!" ADD_SCORE player 2000 ENDIF REMOVE_BLIP luigi_contact_blip RETURN // mission cleanup mission_cleanup_luigi5: flag_player_on_mission = 0 flag_player_on_luigi_mission = 0 SWITCH_CAR_GENERATOR gen_car28 101 REMOVE_SOUND ball_sounds REMOVE_SPHERE sphere_lm5 MARK_OBJECT_AS_NO_LONGER_NEEDED fuzzball_sign MARK_MODEL_AS_NO_LONGER_NEEDED PED_PROSTITUTE MARK_MODEL_AS_NO_LONGER_NEEDED PED_PROSTITUTE2 CLEAR_ONSCREEN_TIMER timer_lm5 FREEZE_ONSCREEN_TIMER FALSE CLEAR_ONSCREEN_COUNTER counter_no_of_girls_at_the_ball REMOVE_BLIP radar_blip_coord1_lm5 REMOVE_BLIP radarped_prossie1_lm5 REMOVE_BLIP radarped_prossie2_lm5 REMOVE_BLIP radarped_prossie3_lm5 REMOVE_BLIP radarped_prossie4_lm5 REMOVE_BLIP radarped_prossie5_lm5 REMOVE_BLIP radarped_prossie6_lm5 REMOVE_BLIP radarped_prossie7_lm5 REMOVE_BLIP radarped_prossie8_lm5 MISSION_HAS_FINISHED START_NEW_SCRIPT close_fuzz_doors RETURN check_for_dead_prossies: number_of_dead_prossies = 0 IF flag_prossie1_at_ball = 0 IF IS_CHAR_DEAD prossie1_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie2_at_ball = 0 IF IS_CHAR_DEAD prossie2_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie3_at_ball = 0 IF IS_CHAR_DEAD prossie3_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie4_at_ball = 0 IF IS_CHAR_DEAD prossie4_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie5_at_ball = 0 IF IS_CHAR_DEAD prossie5_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie6_at_ball = 0 IF IS_CHAR_DEAD prossie6_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie7_at_ball = 0 IF IS_CHAR_DEAD prossie7_lm5 number_of_dead_prossies++ ENDIF ENDIF IF flag_prossie8_at_ball = 0 IF IS_CHAR_DEAD prossie8_lm5 number_of_dead_prossies++ ENDIF ENDIF RETURN mission_end_cutscene: IF flag_prossie1_at_ball = 0 IF flag_prossie1_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie1_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie1_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie2_at_ball = 0 IF flag_prossie2_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie2_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie2_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie3_at_ball = 0 IF flag_prossie3_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie3_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie3_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie4_at_ball = 0 IF flag_prossie4_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie4_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie4_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie5_at_ball = 0 IF flag_prossie5_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie5_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie5_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie6_at_ball = 0 IF flag_prossie6_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie6_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie6_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie7_at_ball = 0 IF flag_prossie7_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie7_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie7_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF IF flag_prossie8_at_ball = 0 IF flag_prossie8_in_car_park = 1 IF NOT IS_CHAR_DEAD prossie8_lm5 SET_CHAR_OBJ_GOTO_COORD_ON_FOOT prossie8_lm5 999.0 -891.0 ++ counter_girls_trying_to_get_to_ball ENDIF ENDIF ENDIF RETURN mission_end_cutscene2: timerb = 0 WHILE counter_girls_trying_to_get_to_ball > 0 WAIT 0 CLEAR_AREA 1000.4 -886.7 14.4 6.0 FALSE // This should clear the area IF flag_prossie1_at_ball = 0 IF NOT IS_CHAR_DEAD prossie1_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie1_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie1_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie1_lm5 REMOVE_CHAR_ELEGANTLY prossie1_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie1_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie1_at_ball = 1 ENDIF ENDIF IF flag_prossie2_at_ball = 0 IF NOT IS_CHAR_DEAD prossie2_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie2_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie2_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie2_lm5 REMOVE_CHAR_ELEGANTLY prossie2_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie2_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie2_at_ball = 1 ENDIF ENDIF IF flag_prossie3_at_ball = 0 IF NOT IS_CHAR_DEAD prossie3_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie3_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie3_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie3_lm5 REMOVE_CHAR_ELEGANTLY prossie3_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie3_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie3_at_ball = 1 ENDIF ENDIF IF flag_prossie4_at_ball = 0 IF NOT IS_CHAR_DEAD prossie4_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie4_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie4_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie4_lm5 REMOVE_CHAR_ELEGANTLY prossie4_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie4_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie4_at_ball = 1 ENDIF ENDIF IF flag_prossie5_at_ball = 0 IF NOT IS_CHAR_DEAD prossie5_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie5_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie5_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie5_lm5 REMOVE_CHAR_ELEGANTLY prossie5_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie5_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie5_at_ball = 1 ENDIF ENDIF IF flag_prossie6_at_ball = 0 IF NOT IS_CHAR_DEAD prossie6_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie6_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie6_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie6_lm5 REMOVE_CHAR_ELEGANTLY prossie6_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie6_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie6_at_ball = 1 ENDIF ENDIF IF flag_prossie7_at_ball = 0 IF NOT IS_CHAR_DEAD prossie7_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie7_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie7_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie7_lm5 REMOVE_CHAR_ELEGANTLY prossie7_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie7_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie7_at_ball = 1 ENDIF ENDIF IF flag_prossie8_at_ball = 0 IF NOT IS_CHAR_DEAD prossie8_lm5 IF timerb > 20000 SET_CHAR_COORDINATES prossie8_lm5 999.0 -891.0 14.3 ENDIF IF LOCATE_CHAR_ON_FOOT_2D prossie8_lm5 999.0 -891.0 1.0 1.0 FALSE CHAR_SET_IDLE prossie8_lm5 REMOVE_CHAR_ELEGANTLY prossie8_lm5 -- counter_girls_trying_to_get_to_ball flag_prossie8_at_ball = 1 ENDIF ELSE -- counter_girls_trying_to_get_to_ball flag_prossie8_at_ball = 1 ENDIF ENDIF ENDWHILE RETURN