PlayDialogueFromSpeakerEx
- Parameters
-
toForce force
speaker unit
speakerType integer
soundHandle sound
timeType integer
timeVal real
wait boolean
- comment
- patch
1.32.0.13369
- Source
- Blizzard.j
- return type
boolean
- Source code
function PlayDialogueFromSpeakerEx takes force toForce, unit speaker, integer speakerType, sound soundHandle, integer timeType, real timeVal, boolean wait returns boolean //Make sure that the runtime unit type and the parameter are the same, //otherwise the offline animations will not match and will fail if GetUnitTypeId(speaker) != speakerType then debug call BJDebugMsg(("Attempted to play FacialAnimation with the wrong speaker UnitType - Param: " + I2S(speakerType) + " Runtime: " + I2S(GetUnitTypeId(speaker)))) //return false endif call TryInitCinematicBehaviorBJ() call AttachSoundToUnit(soundHandle, speaker) // Ensure that the time value is non-negative. set timeVal = RMaxBJ(timeVal, 0) set bj_lastTransmissionDuration = GetTransmissionDuration(soundHandle, timeType, timeVal) set bj_lastPlayedSound = soundHandle if (IsPlayerInForce(GetLocalPlayer(), toForce)) then call SetCinematicSceneBJ(soundHandle, speakerType, GetPlayerColor(GetOwningPlayer(speaker)), GetLocalizedString(GetDialogueSpeakerNameKey(soundHandle)), GetLocalizedString(GetDialogueTextKey(soundHandle)), bj_lastTransmissionDuration + bj_TRANSMISSION_PORT_HANGTIME, bj_lastTransmissionDuration) endif if wait and (bj_lastTransmissionDuration > 0) then // call TriggerSleepAction(bj_lastTransmissionDuration) call WaitTransmissionDuration(soundHandle, timeType, timeVal) endif return true endfunction