Files
gtav-src/script/dev_ng/singleplayer/include/private/Ambient_Speech.sch
T
2025-09-29 00:52:08 +02:00

221 lines
6.0 KiB
Scheme
Executable File

//////////////////////////////////////////////////////////////////////////////////////////
// //
// SCRIPT NAME : Ambient_Speech.sch //
// AUTHOR : Brenda Carey //
// DESCRIPTION : Functions for reading in from dialoguestar //
// and playing dialogue //
// //
//////////////////////////////////////////////////////////////////////////////////////////
///
///
///
///
///
///
///
///
USING "globals.sch"
USING "rage_builtins.sch"
USING "commands_player.sch"
USING "commands_brains.sch"
USING "commands_script.sch"
USING "commands_streaming.sch"
USING "commands_misc.sch"
USING "brains.sch"
USING "script_player.sch"
USING "commands_pad.sch"
USING "commands_object.sch"
USING "commands_path.sch"
USING "dialogue_public.sch"
//PROC GetModelEnums(TEXT_LABEL MissionPrefix, MODEL_NAMES& ModelList[], TEXT_LABEL Role)
//
// INT I = 0
// INT NumberOfModels = 0
//
// TEXT_LABEL ConstructedLabel
//
// //Start with the mission prefix
// ConstructedLabel = MissionPrefix
//
// //Add _Model_
// ConstructedLabel += "_MODELS_"
//
// //Add the role
// ConstructedLabel += Role
//
//
// STRING TheString = GET_STRING_FROM_TEXT_FILE(aString)
//
// WHILE GET_LENGTH_OF_LITERAL_STRING(TheString) > I
// TEXT_LABEL IndividualLetter = GET_STRING_FROM_STRING(TheString, I, I+1)
// IF NOT ARE_STRINGS_EQUAL(IndividualLetter, " ")
// Result += IndividualLetter
// ELSE
// ModelList[NumberOfModels] = Result
// NumberOfModels++
// ENDIF
// I++
// ENDWHILE
//
//ENDPROC
/*
FUNC TEXT_LABEL ReturnMissionPrefix(STRING SubtitleGroupID)
TEXT_LABEL MissionPrefix = "PRE_"
MissionPrefix += SubtitleGroupID
MissionPrefix = GET_STRING_FROM_TEXT_FILE(MissionPrefix)
RETURN MissionPrefix
ENDFUNC
*/
/*
FUNC TEXT_LABEL_63 GetSuffixUsed(TEXT_LABEL MissionPrefix, PED_INDEX SpeakingPed)
//REBRK_G_M_Y_MexGoon_02
INT PedModelHash = ENUM_TO_INT(GET_ENTITY_MODEL(SpeakingPed))
TEXT_LABEL_63 PrefixLabel = MissionPrefix
PrefixLabel += "_"
PrefixLabel += PedModelHash
RETURN PrefixLabel
ENDFUNC
*/
/*
FUNC TEXT_LABEL ConstructFinalLineToPlay(STRING LineRoot, TEXT_LABEL ActualPrefix)
TEXT_LABEL LineToPlay
LineToPlay = LineRoot
LineToPlay += ActualPrefix
RETURN LineToPlay
ENDFUNC
*/
/*
FUNC TEXT_LABEL GetVoiceForPed(PED_INDEX SpeakingPed, STRING SubtitleGroupID)
TEXT_LABEL MissionPrefix = ReturnMissionPrefix(SubtitleGroupID)
TEXT_LABEL PedsVoice = MissionPrefix
PedsVoice += "_VOICE_"
INT PedModelHash = ENUM_TO_INT(GET_ENTITY_MODEL(SpeakingPed))
PedsVoice += PedModelHash
RETURN PedsVoice
ENDFUNC
*/
FUNC BOOL PLAY_AMBIENT_DIALOGUE_LINE(structPedsForConversation& Conversation, PED_INDEX SpeakingPed, STRING SubtitleGroupID, STRING LineRoot)
TEXT_LABEL LineToPlay
REQUEST_ADDITIONAL_TEXT(SubtitleGroupID, MISSION_DIALOGUE_TEXT_SLOT)
IF HAS_ADDITIONAL_TEXT_LOADED(MISSION_DIALOGUE_TEXT_SLOT)
IF NOT IS_PED_INJURED(SpeakingPed)
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: SubtitleGroupID = ")
PRINTSTRING(SubtitleGroupID)
PRINTNL()
PRINTSTRING("***********************************")
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: LineRoot = ")
PRINTSTRING(LineRoot)
PRINTNL()
PRINTSTRING("***********************************")
/*
TEXT_LABEL MissionPrefix = ReturnMissionPrefix(SubtitleGroupID)
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: MissionPrefix = ")
PRINTSTRING(MissionPrefix)
PRINTNL()
PRINTSTRING("***********************************")
*/
//REBRK_G_M_Y_MexGoon_02
/*
TEXT_LABEL_63 PrefixLabel = GetSuffixUsed(MissionPrefix, SpeakingPed)
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: PrefixLabel = ")
PRINTSTRING(PrefixLabel)
PRINTNL()
PRINTSTRING("***********************************")
*/
//Get DialogueStar Chosen Prefix For this Ped
/*
TEXT_LABEL ActualPrefix = GET_STRING_FROM_TEXT_FILE(PrefixLabel)
IF IS_STRING_NULL(ActualPrefix)
OR ARE_STRINGS_EQUAL(ActualPrefix, "NULL")
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: Model Mismatch between script and dialogueStar")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: It's possible you haven't used LOAD_ADDITIONAL_TEXT for this block")
PRINTNL()
PRINTSTRING("***********************************")
ENDIF
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: ActualPrefix = ")
PRINTSTRING(ActualPrefix)
PRINTNL()
PRINTSTRING("***********************************")
*/
//Construct the Line to be played ... REBRK_START4
/*
LineToPlay = ConstructFinalLineToPlay(LineRoot, ActualPrefix)
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: LineToPlay = ")
PRINTSTRING(LineToPlay)
PRINTNL()
PRINTSTRING("***********************************")
*/
LineToPlay = GET_TEXT_KEY_FOR_LINE_OF_AMBIENT_SPEECH(SpeakingPed, SubtitleGroupID, LineRoot)
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: LineToPlay = ")
PRINTSTRING(LineToPlay)
PRINTNL()
PRINTSTRING("***********************************")
IF CREATE_CONVERSATION(Conversation, SubtitleGroupID, LineToPlay, CONV_PRIORITY_MEDIUM)
RETURN TRUE
ENDIF
ELSE
PRINTSTRING("***********************************")
PRINTNL()
PRINTSTRING("PLAY_AMBIENT_DIALOGUE_LINE: Passed in an injured ped")
PRINTNL()
PRINTSTRING("***********************************")
ENDIF
ENDIF
RETURN FALSE
ENDFUNC