BIS fnc kbTell: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
(Add soundVolume default values)
 
(6 intermediate revisions by the same user not shown)
Line 17: Line 17:
|descr= Play given sentence/conversation. Script terminates itself when conversation is finished.<br>
|descr= Play given sentence/conversation. Script terminates itself when conversation is finished.<br>
Conversation must be declared in [[Description.ext#CfgSentences|Description.ext/CfgSentences]].
Conversation must be declared in [[Description.ext#CfgSentences|Description.ext/CfgSentences]].
{{Feature|Informative|This function can also be executed with [[call]]. Doing so will make it internally [[spawn]] since it needs to be able suspend its execution.}}
{{Feature|informative|This function can also be executed with [[call]]. Doing so will make it internally [[spawn]] since it needs to be able suspend its execution.}}


|s1= [topic, container, section, radioMode, code, speakers, soundVolume, radioProtocol] spawn [[BIS_fnc_kbTell]]
|s1= [topic, container, section, radioMode, code, speakers, soundVolume, radioProtocol] spawn [[BIS_fnc_kbTell]]
Line 38: Line 38:
|p4= radioMode: [[Boolean]], [[String]], [[Object]] or [[Code]] - (Optional, default: [[false]]) can be:
|p4= radioMode: [[Boolean]], [[String]], [[Object]] or [[Code]] - (Optional, default: [[false]]) can be:
* [[Boolean]] - true to force radio
* [[Boolean]] - true to force radio
* [[String]] - name of radio channel, original or [[radioChannelCreate|custom]]
* [[String]] - name of radio channel ("DIRECT" or "VEHICLE") or [[radioChannelCreate|custom]]
* [[Object]] - listener's channel
* [[Object]] - listener's channel
* [[Code]] - returned value of code
* [[Code]] - returned value of code


|p5= code: [[Code]] or [[Array]] - (Optional, default {{ic|{[[true]]<nowiki>}</nowiki>}} ) can be:
|p5= code: [[Code]] or [[Array]] - (Optional, default <sqf inline>{ true }</sqf>) can be:
* [[Code]] - executed at the start of every sentence (arguments are same as in kbAddTopic event handler)
* [[Code]] - executed at the start of every sentence (arguments are same as in kbAddTopic event handler)
* [[Array]] - code with arguments in format [code, arguments]
* [[Array]] - code with arguments in format [code, arguments]


|p6= speakers: [[Array]] or [[Boolean]] - (Optional, default []) can be:
|p6= speakers: [[Array]] or [[Boolean]] - (Optional, default <sqf inline>[]</sqf>) can be:
* [[Array]] - replacement units for those defined in .bikb file (in chronological order)
* [[Array]] - replacement units for those defined in .bikb file (in chronological order)
* [[Boolean]] - when true, dummy logics will be created for all actor units which doesn't exist (default: false or value of 'BIS_fnc_kbTell_createDummy' variable)
* [[Boolean]] - when true, dummy logics will be created for all actor units which doesn't exist (default: false or value of 'BIS_fnc_kbTell_createDummy' variable)


|p7= soundVolume: [[Number]] - (Optional, default 0.1) music and sound volumes will be multiplied by this value when conversation starts
|p7= soundVolume: [[Number]] - (Optional, default {{GVI|tkoh|1.00|size= 0.75}} 0.2, {{GVI|arma3|1.00|size= 0.75}} -1) music and sound volumes lowering ratio during the conversation, range 0..1 (e.g 0 = no music, 0.25 = a quarter of the current volume, 1 or out of range = no change)


|p8= radioProtocol: [[Boolean]] - (Optional, default [[true]]) true to disable radio protocol message while the conversation is playing
|p8= radioProtocol: [[Boolean]] - (Optional, default [[true]]) true to disable radio protocol message while the conversation is playing
Line 56: Line 56:
|r1= [[Nothing]]
|r1= [[Nothing]]


|x1= <code>["01_Wave", "A_in", nil, "SIDE", nil, nil, 1, false] spawn [[BIS_fnc_kbTell]];</code>
|x1= <sqf>["01_Wave", "A_in", nil, "SIDE", nil, nil, 1, false] spawn BIS_fnc_kbTell;</sqf>


|seealso= [[Conversations]] [[kbTell]] [[BIS_fnc_kbCanSpeak]] [[BIS_fnc_kbCreateDummy]] [[BIS_fnc_kbIsSpeaking]] [[BIS_fnc_kbMenu]] [[BIS_fnc_kbPriority]] [[BIS_fnc_kbSentence]] [[BIS_fnc_kbSkip]] [[BIS_fnc_kbTellLocal]] [[BIS_fnc_kbTopicConfig]]
|seealso= [[Conversations]] [[kbTell]] [[BIS_fnc_kbCanSpeak]] [[BIS_fnc_kbCreateDummy]] [[BIS_fnc_kbIsSpeaking]] [[BIS_fnc_kbMenu]] [[BIS_fnc_kbPriority]] [[BIS_fnc_kbSentence]] [[BIS_fnc_kbSkip]] [[BIS_fnc_kbTellLocal]] [[BIS_fnc_kbTopicConfig]]
}}
}}

Latest revision as of 00:00, 29 September 2024

Hover & click on the images for description

Description

Description:
Play given sentence/conversation. Script terminates itself when conversation is finished.
Conversation must be declared in Description.ext/CfgSentences.
This function can also be executed with call. Doing so will make it internally spawn since it needs to be able suspend its execution.
Execution:
spawn
Groups:
Conversations

Syntax

Syntax:
[topic, container, section, radioMode, code, speakers, soundVolume, radioProtocol] spawn BIS_fnc_kbTell
Parameters:
topic: String - topic name
container: String - (Optional, default missionName) container name (CfgSentences sub-category)
section: Array or String - (Optional, default "") section to be played. Elements can be:
  • String - "variant" - play specific variant
  • Array
    • [startingSentence(, endingSentence)] - play all sentences between specific start and end
      • startingSentence and endingSentence can be in format:
        • String - full sentence name (example: "04_intro_team_PLA_0")
        • Array - [<actorID>(, <sentenceID>)] (example: ["PLA", 0] or just ["PLA_0"])
        • Boolean - true to play random sentence, false to play first sentence
        • default - first sentence for startingSentence, last sentence for endingSentence
  • default: play everything
radioMode: Boolean, String, Object or Code - (Optional, default: false) can be:
  • Boolean - true to force radio
  • String - name of radio channel ("DIRECT" or "VEHICLE") or custom
  • Object - listener's channel
  • Code - returned value of code
code: Code or Array - (Optional, default { true }) can be:
  • Code - executed at the start of every sentence (arguments are same as in kbAddTopic event handler)
  • Array - code with arguments in format [code, arguments]
speakers: Array or Boolean - (Optional, default []) can be:
  • Array - replacement units for those defined in .bikb file (in chronological order)
  • Boolean - when true, dummy logics will be created for all actor units which doesn't exist (default: false or value of 'BIS_fnc_kbTell_createDummy' variable)
soundVolume: Number - (Optional, default tkoh logo small.png1.00 0.2, Arma 3 logo black.png1.00 -1) music and sound volumes lowering ratio during the conversation, range 0..1 (e.g 0 = no music, 0.25 = a quarter of the current volume, 1 or out of range = no change)
radioProtocol: Boolean - (Optional, default true) true to disable radio protocol message while the conversation is playing
Return Value:
Nothing

Examples

Example 1:
["01_Wave", "A_in", nil, "SIDE", nil, nil, 1, false] spawn BIS_fnc_kbTell;

Additional Information

See also:
Conversations kbTell BIS_fnc_kbCanSpeak BIS_fnc_kbCreateDummy BIS_fnc_kbIsSpeaking BIS_fnc_kbMenu BIS_fnc_kbPriority BIS_fnc_kbSentence BIS_fnc_kbSkip BIS_fnc_kbTellLocal BIS_fnc_kbTopicConfig

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note