Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/02/2024 in Natives

  1. Here's a list of most of the in-game voice-lines: https://raw.githubusercontent.com/femga/rdr3_discoveries/refs/heads/master/audio/audio_banks/audio_banks.lua speechParamHash can be found here: https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks ("speech_params_force" seems to work best) Text indented on the left such as "0008_S_F_M_ISPWORKER_01_BLACK_02" is the dictionary_name, the strings underneath is the index_name. index_name with a number (E.G _01, _02, _03 etc..) are just extra voice lines, most voice lines seem to works best without the added '_01' on the end Here's the following setup I was able to create for playing voice lines through your Player (this of course can be changed to be used for other Peds) struct ScriptedSpeechParams { const char* IndexName; const char* DictionaryName; alignas(8) int variation; alignas(8) Hash speechParamHash; alignas(8) Ped listenerPed; alignas(8) BOOL syncOverNetwork; alignas(8) int v7; alignas(8) int v8; }; static_assert(sizeof(ScriptedSpeechParams) == 0x40, "incorrect ScriptedSpeechParams size"); void play_npc_voice(Entity npc, const char* dictionary_name, const char* index_name) { // set the ScriptedSpeechParams struct as you wish ScriptedSpeechParams params; params.IndexName = index_name; params.DictionaryName = dictionary_name; params.variation = 0; params.speechParamHash = RAGE_JOAAT("speech_params_force"); params.listenerPed = PLAYER::PLAYER_PED_ID(); params.syncOverNetwork = true; params.v7 = 1; params.v8 = 1; AUDIO::PLAY_PED_AMBIENT_SPEECH_NATIVE(npc, (Any*)&params); } example of use: play_npc_voice(npc, "0405_U_M_M_RhdSheriff_01", "RE_PH_RHD_V3_AGGRO");
    1 point
×
×
  • Create New...