kbAddTopic: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Add Conversations link)
m (typo, example fix and comment cleanup)
Line 16: Line 16:
|p2= topicName: [[String]] - the topic id for further reference |= Parameter 2
|p2= topicName: [[String]] - the topic id for further reference |= Parameter 2


|p3= conversationFile: [[String]] - .bikb file path, mandatory |= Parameter 3
|p3= conversationFile: [[String]] - .bikb file path |= Parameter 3


|p4= fsmFile: [[String]] - (Optional) .fsm file path |= Parameter 4
|p4= fsmFile: [[String]] - (Optional) .fsm file path. Receives the following parameters:
 
|p5= eventHandler: [[Code]] or [[String]] - (Optional) New to Arma2.
The event handler receives parameters:
* '''_sentenceId:''' the sentence as defined in the .bikb file
* '''_sentenceId:''' the sentence as defined in the .bikb file
* '''_topic:''' TopicName registered via kbAddTopic
* '''_topic:''' TopicName registered via kbAddTopic
* '''_this:''' the person that was talked to (receiver)
* '''_this:''' the person that was talked to (receiver)
* '''_from:''' the person that talked to the receiver and triggered the script  
* '''_from:''' the person that talked to the receiver and triggered the script
|= Parameter 6
|= Parameter 4
 
|p5= eventHandler: [[Code]] or [[String]] - (Optional) '''The event handler receives the same parameters as the fsm''' |= Parameter 6


| [[Nothing]] |= Return value
| [[Nothing]] |= Return value
____________________________________________________________________________________________
____________________________________________________________________________________________


|x1= <code>[[player]] [[kbAddTopic]] ["myTest", "myTest.bikb", "myTest.fsm", { execVM "myTest.sqf" }];</code> |= Example 1
|x1= <code>[[player]] [[kbAddTopic]] ["myTest", "myTest.bikb", "myTest.fsm", [[compile]] [[preprocessFileLineNumbers]] "myTest.sqf"];</code> |= Example 1


|x2= <code>[[player]] [[kbAddTopic]] ["itsGettingWarm", "weatherTalk.bikb"];</code> |= Example 2
|x2= <code>[[player]] [[kbAddTopic]] ["itsGettingWarm", "weatherTalk.bikb"];</code> |= Example 2


| [[kbHasTopic]], [[kbTell]], [[kbReact]], [[kbRemoveTopic]], [[kbAddDatabase]], [[kbAddDatabaseTargets]], [[FSM]], [[FSM_editor]] |= See also
| [[kbHasTopic]], [[kbTell]], [[kbReact]], [[kbRemoveTopic]], [[kbAddDatabase]], [[kbAddDatabaseTargets]], [[FSM]], [[FSM Editor]] |= See also


}}
}}
Line 42: Line 41:
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section BEGIN -->
<dt class="note">[[User:Mikero|Mikero]]
<dd class="note">
*.bikb extension is by convention only. It can be anything.
*There is no default extension.
*Even tho bikb's are standard class text they cannot be raPified.


<!-- Note Section END -->
<!-- Note Section END -->

Revision as of 21:46, 27 March 2018

Hover & click on the images for description

Description

Description:
Register conversation topic to given person. See Conversations for more details.
Groups:
Uncategorised

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) The event handler receives the same parameters as the fsm
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:
kbHasTopickbTellkbReactkbRemoveTopickbAddDatabasekbAddDatabaseTargetsFSMFSM 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

Notes

Bottom Section