{"hash":"0x8E04FEDD28D42462","ns":"AUDIO","name":"PLAY_PED_AMBIENT_SPEECH_NATIVE","slug":"PLAY_PED_AMBIENT_SPEECH_NATIVE","official":true,"named":true,"luaName":"PlayPedAmbientSpeechNative","game":"rdr3","apiset":"client","returnType":"BOOL","params":[{"name":"speaker","type":"Ped"},{"name":"params","type":"Any*"}],"summary":"const char* speechName; const char* voiceName; 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(ScriptedSpe…","descriptions":[{"source":"alloc8or","format":"text","body":"struct ScriptedSpeechParams\n{\n\tconst char* speechName;\n\tconst char* voiceName;\n\talignas(8) int variation;\n\talignas(8) Hash speechParamHash;\n\talignas(8) Ped listenerPed;\n\talignas(8) BOOL syncOverNetwork;\n\talignas(8) int v7;\n\talignas(8) int v8;\n};\n\nstatic_assert(sizeof(ScriptedSpeechParams) == 0x40, \"incorrect ScriptedSpeechParams size\");\n\n\nExample:\n\nScriptedSpeechParams params{\"RE_PH_RHD_V3_AGGRO\", \"0405_U_M_M_RhdSheriff_01\", 1, joaat(\"SPEECH_PARAMS_BEAT_SHOUTED_CLEAR\"), 0, true, 1, 1};\nPLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params);\n\nOld name: _PLAY_AMBIENT_SPEECH1\nhttps://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks"}],"examples":[],"aliases":[],"enums":[],"related":[],"build":"1207","gtaHash":"0x8E04FEDD28D42462","gtaJhash":"0x5C57B85D","sources":["alloc8or"],"doc":2,"url":"https://natives.borderlinerp.com/natives/AUDIO/PLAY_PED_AMBIENT_SPEECH_NATIVE","markdownUrl":"https://natives.borderlinerp.com/natives/AUDIO/PLAY_PED_AMBIENT_SPEECH_NATIVE.md","snippets":{"lua":"local retval, params = PlayPedAmbientSpeechNative(speaker, params)","luaInvoke":"local retval, params = Citizen.InvokeNative(0x8E04FEDD28D42462, speaker, Citizen.PointerValueIntInitialized(params), Citizen.ReturnResultAnyway())","js":"const [retval, params] = PlayPedAmbientSpeechNative(speaker, params);","jsInvoke":"const [retval, params] = Citizen.invokeNative('0x8E04FEDD28D42462', speaker, Citizen.pointerValueIntInitialized(params), Citizen.returnResultAnyway());","csharp":"var params = new OutputArgument();\nbool retval = Function.Call<bool>((Hash)0x8E04FEDD28D42462, speaker, params);\n// params.GetResult<int>()","notes":["The last argument is an in/out pointer: pass its initial value, and the updated value is returned after the result.","`Any*` arguments are often structs. Build them with a DataView buffer and pass it with `:Buffer()` — see the examples and notes below."]}}