kbAddTopic: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(tidy fsm param)
m (Text replacement - "\{\{Feature *\| *Informative *\| ([^↵]+) *\}\}" to "{{Feature|informative|$1}}")
 
(60 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Scripting Commands|KBADDTOPIC]]
{{RV|type=command
[[Category:Scripting Commands ArmA|KBADDTOPIC]]
[[Category:Scripting Commands ArmA2|KBADDTOPIC]]
{{future-use}}


{{Command|= Comments
|game1= arma2
____________________________________________________________________________________________
|version1= 1.00


| arma |= Game name
|game2= arma2oa
|version2= 1.50


|1.00|= Game version
|game3= tkoh
____________________________________________________________________________________________
|version3= 1.00


| Register conversation topic to given person.|= Description
|game4= arma3
____________________________________________________________________________________________
|version4= 0.50


| person '''kbAddTopic''' [name, filename.bikb, (filename.fsm, (event_handler))] |= Syntax
|gr1= Conversations


|p1= person: [[Object]] |= Parameter 1
|arg= local


|p2= [name, filename.bikb, (filename.fsm, (event_handler))]: [[Array]] |= Parameter 2
|eff= local


|p3= name: [[String]] - |= Parameter 3
|descr= Register conversation topic to given person. See [[Conversations]] for more details.
{{Feature|informative|Only the speaker(s) need to have the topic added.}}


|p4= filename.bikb: [[String]] - Must exist. bikb file name. |= Parameter 4
|s1= person [[kbAddTopic]] [topicName, conversationFile, fsmFile, eventHandler]


|p5= filename.fsm: [[String]] - Optional. Can be empty string. fsm file name |= Parameter 5
|p1= person: [[Object]]


|p6= event_handler: [[Code]] or [[String]] - Optional. New to Arma2.
|p2= topicName: [[String]] - the topic id for further reference


The event handler receives parameters:
|p3= conversationFile: [[String]] - .bikb file path


<b>_sentenceId:</b> the sentence as defined in the .bikb file
|p4= fsmFile: [[String]] - (Optional) .fsm file path. Receives the following parameters:
* '''_sentenceId:''' the sentence as defined in the .bikb file
* '''_topic:''' TopicName registered via kbAddTopic
* '''_this:''' the person that was talked to (receiver)
* '''_from:''' the person that talked to the receiver and triggered the script


<b>_topic:</b> topic name registered via kbAddTopic
|p5= eventHandler: [[Code]] or [[String]] - (Optional) code to execute - given String will be [[compile]]d. This is '''not''' an sqf file path.<br>
Parameters: identical to ''fsmFile'' - see above.


<b>_this:</b> the person that was talked to (receiver)
|r1= [[Nothing]]


<b>_from:</b> the person that talked to the receiver and triggered the script
|x1= <sqf>player kbAddTopic ["myTest", "myTest.bikb", "myTest.fsm", compile preprocessFileLineNumbers "myTest.sqf"];</sqf>


|= Parameter 6
|x2= <sqf>player kbAddTopic ["itsGettingWarm", "weatherTalk.bikb"];</sqf>
 
| [[Nothing]] |= Return value
____________________________________________________________________________________________
 
|x1= <pre>player kbAddtopic["myTest", "myTest.bikb", "myTest.fsm", {call compile preprocessFileLineNumbers "myTest.sqf"}];</pre>
 
| [[kbRemoveTopic]], [[kbHasTopic]], [[kbTell]], [[FSM]] |= See also


|seealso= [[Conversations]] [[kbHasTopic]] [[kbTell]] [[kbWasSaid]] [[kbReact]] [[kbRemoveTopic]] [[kbAddDatabase]] [[kbAddDatabaseTargets]] [[FSM]] [[FSM Editor]]
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]

Latest revision as of 18:11, 15 March 2024

Hover & click on the images for description

Description

Description:
Register conversation topic to given person. See Conversations for more details.
Only the speaker(s) need to have the topic added.
Groups:
Conversations

Syntax

Syntax:
person kbAddTopic [topicName, conversationFile, fsmFile, eventHandler]
Parameters:
person: Object
topicName: String - the topic id for further reference
conversationFile: String - .bikb file path
fsmFile: String - (Optional) .fsm file path. Receives the following parameters:
  • _sentenceId: the sentence as defined in the .bikb file
  • _topic: TopicName registered via kbAddTopic
  • _this: the person that was talked to (receiver)
  • _from: the person that talked to the receiver and triggered the script
eventHandler: Code or String - (Optional) code to execute - given String will be compiled. This is not an sqf file path.
Parameters: identical to fsmFile - see above.
Return Value:
Nothing

Examples

Example 1:
player kbAddTopic ["myTest", "myTest.bikb", "myTest.fsm", compile preprocessFileLineNumbers "myTest.sqf"];
Example 2:
player kbAddTopic ["itsGettingWarm", "weatherTalk.bikb"];

Additional Information

See also:
Conversations kbHasTopic kbTell kbWasSaid kbReact kbRemoveTopic kbAddDatabase kbAddDatabaseTargets FSM FSM Editor

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