USING "script_MATHS.sch" //need my bits defined but get cycle header include cause of taxi_globals.sch CONST_FLOAT TAXIOJ_DIALOGUE_Q_DELAY_BEFORE_RESUME_LINE 1.5 CONST_INT CONST_TAXIOJ_SIZE_Q 5 CONST_INT CONST_TAXI_OJ_NUM_RESUME_INTERRUPT_LINES 5 CONST_INT CONST_TAXI_OJ_LINE_NUM_TO_CLOSE_DIALOGUE_Q 15 //Use this when you don't want the dialogue queue playing anymore lines period in conjunction with //Example: CLEAR_DIALOGUE_QUEUE(tDialogueLine) // CLOSE_DIALOGUE_QUEUE(tTaxiOJ_DQ_Data,CONST_TAXI_OJ_LINE_NUM_TO_CLOSE_DIALOGUE_Q) // Different States for Dialogue Q ENUM TAXIOJ_DIALOGUE_Q_STATES TDQ_STOPPED = -1, TDQ_CLOSED, TDQ_PLAY_LINE, TDQ_CONFIRM_LINE_IS_PLAYING, TDQ_WAIT_FOR_INTERRUPTION, TDQ_ADD_DELAY_BEFORE_RESUME, TDQ_RESUME_FROM_INTERUPTION, TDQ_RESUME_CONVERSATION, TDQ_SPECIAL_CASE_FOR_LAST_LINE_IN_CONVERSATION_INTERRUPTION, TDQ_TOTAL_NUM_STATES ENDENUM ENUM TAXI_DQ_LINE_BIT_FLAGS TAXI_DQL_TIME_SENSITIVE = BIT0, //whether this is time sensitive otherwise it's just MISSION CRITICAL TAXI_DQL_VALID = BIT1, //if this is a valid spot in the queue TAXI_DQL_CURRENTLY_PLAYING = BIT2, //is this line currently playing TAXI_DQL_DONE_PLAYING = BIT3, //is this line done playing TAXI_DQL_TOTAL = BIT30 ENDENUM STRUCT TAXI_OJ_DQ_CONVERSATION_LINE TEXT_LABEL_23 sLineToSay INT tTimeStamp INT iDQFlagBits //See TAXI_DQ_LINE_BIT_FLAGS above ENDSTRUCT STRUCT TAXI_OJ_DIALOGUE_Q_DATA TAXIOJ_DIALOGUE_Q_STATES tDialogueQStates = TDQ_STOPPED TEXT_LABEL_23 sResumeLabel //the line to resume from TEXT_LABEL_23 sTexLabelCurrentlyPlaying //the line Root to check if it's playing using TEXT_LABEL_23 sCurrentConvoPlaying //keeps track of the conversation playing so we can see how many lines are remaining before it is completey finished TEXT_LABEL_23 sLabelNowPlaying //this stores the label currently playing NOTE * Label is the line, where Root is the entire conversation INT iResumeDXBitMask // needed by GET_TAXI_OJ_LINE_TO_SAY to loop through all the different resume one-offs INT iDialogueQBITS //this Bitmask can be used as a way to verify that a line has played in global space(currently NOT USED) INT iCurrentDQLine = 0 //the iterator into the dialogueQ array INT iSpecialMissionBits BOOL bPlayerWasInterupted //use this flag to track whether or not the player was the last one talking before an interuption kicked in ENDSTRUCT ENUM TAXI_SPECIAL_DQ_BITS TAXI_SQB_TTB_BUMP_DROPPED = BIT0, TAXI_SQB_NUM = BIT30 ENDENUM ENUM TAXI_GATE_BITS TAXI_GATE_CLEAR_PICKUP = BIT0, TAXI_GATE_CLEAR_DROPOFF = BIT1, TAXI_GATE_RETURN_TO_TAXI = BIT2, TAXI_GATE_REGIVE_OBJ = BIT3, TAXI_GATE_CYI_WAIT_PASS = BIT28, TAXI_GATE_CYI_RETURN_RENDEVOUS = BIT29, TAXI_GATES_NUM = BIT30 ENDENUM ENUM TAXI_DIALOGUE_MISSION_SPECIFIC_FLAG_BITS TAXI_DMSFB_BIT0 = BIT0, TAXI_DMSFB_BIT1 = BIT1, TAXI_DMSFB_BIT2 = BIT2, TAXI_DMSFB_TOTAL = BIT30 ENDENUM ENUM TAXI_DIALOGUE_FLAG_BITS TAXI_DXF_SICK1 = BIT0, TAXI_DXF_SICK2 = BIT1, TAXI_DXF_TURNS1 = BIT2, TAXI_DXF_TURNS2 = BIT3, TAXI_DXF_CARHIT1 = BIT4, TAXI_DXF_CARHIT2 = BIT5, // TAXI_DXF_AIR1 = BIT6, // TAXI_DXF_AIR2 = BIT7, // TAXI_DXF_HITNR1 = BIT8, // TAXI_DXF_HITNR2 = BIT9, // TAXI_DXF_NEARMISS1 = BIT10, // TAXI_DXF_NEARMISS2 = BIT11, TAXI_DXF_SIDEWALK1 = BIT12, TAXI_DXF_SIDEWALK2 = BIT13, TAXI_DXF_LANE1 = BIT14, TAXI_DXF_LANE2 = BIT15, TAXI_DXF_LIGHT1 = BIT16, TAXI_DXF_LIGHT2 = BIT17, TAXI_DXF_RADIO_CHANGE = BIT18, //TAXI_DXF_RADIO_LIKE = BIT19, TAXI_DXF_RADIO_CHANGE2 = BIT20, TAXI_DXF_THANKS = BIT21, TAXI_DXF_MAKEPAY = BIT22, TAXI_DXF_FORGOT = BIT23, TAXI_DXF_RETURN = BIT24, TAXI_DXF_RUNOFF = BIT25, TAXI_DXF_BANTER = BIT26, TAXI_DXF_BANTER2 = BIT27, TAXI_DXF_KILLEDTHIEF = BIT28, TAXI_DXF_REMINDCYIWAIT = BIT29, TAXI_DXF_TOTAL_CLEAR = BIT30 ENDENUM ENUM TAXI_REACT_DIALOGUE_FLAGS TAXI_DXF_AIR1 = BIT0, TAXI_DXF_AIR2 = BIT1, TAXI_DXF_AIR3 = BIT2, TAXI_DXF_HITNR1 = BIT3, TAXI_DXF_HITNR2 = BIT4, TAXI_DXF_HITNR3 = BIT5, TAXI_DXF_HITNR4 = BIT6, TAXI_DXF_NEARMISS1 = BIT7, TAXI_DXF_NEARMISS2 = BIT8, TAXI_DXF_NEARMISS3 = BIT9, TAXI_DXF_SWRV1 = BIT10, TAXI_DXF_SWRV2 = BIT11, TAXI_DXF_SWRV3 = BIT12 ENDENUM ENUM TAXI_DIALOGUE_FLAG_BITS_2 TAXI_DXF2_STOP_CLOSE1 = BIT0, TAXI_DXF2_STOP_CLOSE2 = BIT1, TAXI_DXF2_STOP_CLOSE3 = BIT2, TAXI_DXF_BORED1 = BIT3, TAXI_DXF_BORED2 = BIT4, TAXI_DXF_BORED3 = BIT5, TAXI_DRB_ROLLED1 = BIT6, TAXI_DRB_ROLLED2 = BIT7, // TAXI_DXF_SWRV1 = BIT8, // TAXI_DXF_SWRV2 = BIT9, TAXI_DXF_RVRS1 = BIT10, TAXI_DXF_RVRS2 = BIT11, TAXI_DXF_BANTER3 = BIT12, TAXI_DXF_DEST_BANT = BIT13, TAXI_DXF_SEEN_DEST = BIT14, TAXI_DXF_SEEN_DEST_2 = BIT15, TAXI_DXF_CC_BANTER = BIT16, TAXI_DXF_CC_BANTER2 = BIT17, TAXI_DXF_CC_TTB_BANTER = BIT18, TAXI_DXF_BANTER4 = BIT19, TAXI_DXF_CARHIT3 = BIT20, TAXI_DXF_NOPUKE1 = BIT21, TAXI_DXF_NOPUKE2 = BIT22, TAXI_DXF_CC_CLOSE1 = BIT23, TAXI_DXF_CC_CLOSE2 = BIT24, TAXI_DXF_CC_CLOSE3 = BIT25, TAXI_DXF_RADIO_LIKE = BIT26, TAXI_DXF_RADIO_LIKE2 = BIT27, TAXI_DXF_CC_DROPOFF = BIT28, // TAXI_DXF_NEARMISS2 = BIT11, // TAXI_DXF_SIDEWALK1 = BIT12, // TAXI_DXF_SIDEWALK2 = BIT13, // TAXI_DXF_LANE1 = BIT14, // TAXI_DXF_LANE2 = BIT15, // TAXI_DXF_LIGHT1 = BIT16, // TAXI_DXF_LIGHT2 = BIT17, // TAXI_DXF_RADIO_CHANGE = BIT18, // TAXI_DXF_RADIO_LIKE = BIT19, // TAXI_DXF_RADIO_CHANGE2 = BIT20, // TAXI_DXF_THANKS = BIT21, // TAXI_DXF_MAKEPAY = BIT22, // TAXI_DXF_FORGOT = BIT23 // TAXI_DXF_RETURN = BIT24 // TAXI_DXF_RUNOFF = BIT25 // TAXI_DXF_BANTER = BIT26 TAXI_DXF2_TOTAL_CLEAR = BIT30 ENDENUM ENUM TAXI_DIALOGUE_INDEX TAXI_DISPATCH_DIRECTIONS = 0, TAXI_OBJ_PICKUP, //Obj - "Pick up ~yPassenger" TAXI_OBJ_LEFT_CAR, TAXI_OBJ_RETURN, TAXI_DI_HAIL, //Dialogue- "Taxi!" TAXI_OBJ_PU_PASSENGER, TAXI_DI_RATE_PICKUP, TAXI_DI_TTB_SHOP, TAXI_DI_OBJ, TAXI_DI_GREET, TAXI_OBJ_GIVE_MAIN, TAXI_OBJ_GYN, TAXI_OBJ_GYB, TAXI_DI_FOLLOW_CAR_BARKS, TAXI_DI_VARIABLE_BANTER, TAXI_DI_BANTER, //10 TAXI_DI_BANTER_2, TAXI_DI_BANTER_3, TAXI_DI_BANTER_4, TAXI_DI_BANTER_5, TAXI_DI_TTB_BANTER, TAXI_DI_SICK_WHOA, TAXI_DI_DIDNT_PUKE, TAXI_DI_IKW_SEEPT, TAXI_OBJ_IKW_DROPOFF, TAXI_DI_GET_CLOSER, TAXI_DI_TIME_FAST, TAXI_DI_TIME_BAD, TAXI_DI_1ST_STOP, TAXI_OBJ_WAIT_PASS, //20 TAXI_DI_TO_AIRPORT_AMAZING, TAXI_DI_TO_AIRPORT_AVG, TAXI_DI_TO_AIRPORT_ASS, TAXI_OBJ_GO_AIRPORT, TAXI_DI_AIRPORT_BANTER, TAXI_DI_SEEN_DESTINATION, TAXI_DI_SEEN_DESTINATION_2, TAXI_DI_DROP_OFF, TAXI_DI_GROUP_DROPOFF, TAXI_DI_GROUP_DROPOFF_ASS, TAXI_DI_GROUP_DROPOFF2, TAXI_DI_GROUP_DROPOFF2_GOOD, TAXI_DI_GROUP_DROPOFF2_BAD, TAXI_DI_GROUP_DROPOFF3, TAXI_OBJ_CC_2, //30 TAXI_OBJ_CC_3, TAXI_OBJ_DROP, TAXI_DI_HORN_HONK, TAXI_DI_COMPLETE_STOP, TAXI_LOSE_JEWELRY_POL, TAXI_DI_WENT_WANTED, TAXI_DI_ESCAPE_POLICE, //36 TAXI_OBJ_POLICE, TAXI_DI_POLICE_LOST, TAXI_DI_POLICE_ARREST, TAXI_DI_CYI_GET_BACK_TO_CAR, TAXI_DI_CYI_DONT_FOLLOW_ME, TAXI_OBJ_CYI_RETURN_WAIT, TAXI_DI_ENEMY_KILL, TAXI_DI_ENEMY_EVADED, TAXI_DI_PICKUP_MONEY, TAXI_DI_PUKE, TAXI_DI_PUKE_REACT_GOOD, TAXI_DI_PUKE_REACT_BAD, TAXI_DI_PUKE_PLAYER_REACT, TAXI_DI_AGGRO, TAXI_DI_SHOOTING, TAXI_DI_OFFROAD, TAXI_DI_OFFROAD_CHALLENGE, TAXI_DI_REVERSE, TAXI_DI_SWERVE, TAXI_DI_POWERSLIDING, TAXI_DI_COLLISION, TAXI_DI_COLLISION_BIG, TAXI_DI_ROLLED, TAXI_DI_NEARMISS, TAXI_DI_AIRBORN, TAXI_DI_QUICKSTOP, TAXI_DI_SPEEDING, TAXI_DI_SIDEWALKIN, TAXI_DI_OPPLANE, TAXI_DI_RANRED, TAXI_DI_HITNRUN, TAXI_DI_BORING, TAXI_DI_RADIO_CHANGE, TAXI_DI_RADIO_LIKE, TAXI_DI_RADIO_CHANGE_NEUTRAL, TAXI_DI_RADIO_HINT, TAXI_DI_FLEE, TAXI_DI_AMBUSHED, TAXI_DI_AMBUSHED_TALK, TAXI_DI_AMBUSH_EXTRA_BANTER, TAXI_DI_EXCITED_TO_BORED, TAXI_DI_BORED_TO_EXCITED, //Clown car banters TAXI_DI_BUILD_HOTBOX, TAXI_DI_BUILD_HOTBOX_ONE_LINE, TAXI_DI_INIT_HOTBOX, TAXI_DI_CC_BANTER, TAXI_DI_CC_BANTER2, TAXI_DI_CC_CLOSE, TAXI_OBJ_RETURN_TO_PED, //Tip ratings TAXI_DI_RATE_TIP_AMAZING, TAXI_DI_RATE_TIP_AVERAGE, TAXI_DI_RATE_TIP_ASS, TAXI_DI_JOKE, TAXI_DI_RUNOFF, TAXI_DI_RUNOFF_SHOUTS, TAXI_DI_KILLED_THIEF, TAXI_OBJ_RUNOFF, TAXI_DI_MAKE_PAY, TAXI_DI_MAKE_PAY_END, TAXI_OBJ_GET_RUNAWAY_MONEY, TAXI_DI_FORGOT, TAXI_DI_CUTSCENE, TAXI_DI_POST_CUTSCENE, TAXI_DI_ENEMY_EGG_ON, TAXI_DI_ENEMY_EGG_ON_2, TAXI_DI_ENEMY_FIRES, TAXI_DI_PLAYER_RUNS, TAXI_DI_PLAYER_WINS_FAIR_FIGHT, TAXI_DI_PUT_GUN_AWAY, TAXI_DI_GIRL_NOTICE, TAXI_DI_START_FIGHT, TAXI_DI_GIRL_EGGON_PLAYER_NO_HIT, TAXI_DI_GIRL_EGGON_BF, TAXI_DI_GIRL_EGGON_PLAYER_WINNING, TAXI_DI_GIRL_LEAVE, TAXI_DI_GIRL_BF_KILLED, TAXI_DI_GIRL_KOD, TAXI_DI_GIRL_HELP, TAXI_DI_GIRL_DEST, TAXI_DI_GIRL_BANTER, TAXI_DI_GIRL_THANKS, TAXI_DI_GET_CAR, TAXI_OBJ_GET_CAR, TAXI_DI_JACKED_CAR, TAXI_DI_WRONG_WAY, TAXI_OBJ_FORGOT, TAXI_DI_FOLLOW, TAXI_OBJ_FTC2, TAXI_DI_SHOOT, TAXI_DI_RETURN, TAXI_DI_EXCEPTION_DISABLED, TAXI_DI_EMPTY, //Send here for debug only TAXI_DI_NUM_DIALOGUE ENDENUM //EOF