kbTell: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>")
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(4 intermediate revisions by 2 users not shown)
Line 23: Line 23:
|pr= Two units cannot talk on the same channel at the same time, this can lead to weird effects for non-local listeners; make sure not to use the same channel at the same time in multiplayer. [[radioChannelCreate|Custom channels]] are considered as one channel for this matter.
|pr= Two units cannot talk on the same channel at the same time, this can lead to weird effects for non-local listeners; make sure not to use the same channel at the same time in multiplayer. [[radioChannelCreate|Custom channels]] are considered as one channel for this matter.


|s1= person [[kbTell]] [receiver, topicName, sentenceClass, argumentArray1, argumentArray2, (…), forceRadio]
|s1= person [[kbTell]] [receiver, topicName, sentenceClass, argumentArray1, argumentArray2, ..., forceRadio]


|p1= person: [[Object]]
|p1= person: [[Object]]
Line 33: Line 33:
|p4= sentenceClass: [[String]]
|p4= sentenceClass: [[String]]


|p5= argumentArray1toN: [[Array]] - (Optional) format [argumentName, argumentValue, argumentText, argumentSpeech]:
|p5= argumentArrayN: [[Array]] - (Optional) format [argumentName, argumentValue, argumentText, argumentSpeech]:
* argumentName: [[String]]
* argumentName: [[String]]
* argumentValue: [[Code]]
* argumentValue: [[Code]]
* argumentText: [[String]]
* argumentText: [[String]]
* argumentSpeech: [[Array]] of [[String|Strings]] - each string is an already defined word in config.
* argumentSpeech: [[Array]] of [[String]]s - each string is an already defined word in config.


|p6= forceRadio: [[Boolean]], [[Number]] or [[String]] (''last value of the array'') - (Optional)
|p6= forceRadio: [[Boolean]], [[Number]] or [[String]] (''last value of the array'') - (Optional)
Line 43: Line 43:
* [[Number]] 1-10 to force use of custom radio channel
* [[Number]] 1-10 to force use of custom radio channel
* [[String]] name of radio channel to use, from: 'GLOBAL', 'SIDE', 'GROUP', 'VEHICLE', 'DIRECT', 'COMMAND'
* [[String]] name of radio channel to use, from: 'GLOBAL', 'SIDE', 'GROUP', 'VEHICLE', 'DIRECT', 'COMMAND'
|r1= [[Nothing]]


|x1= <sqf>player kbTell [BIS_HQ, "myTopic", "playerSentence1"];</sqf>
|x1= <sqf>player kbTell [BIS_HQ, "myTopic", "playerSentence1"];</sqf>


|x2= <sqf>player kbTell [
|x2= <sqf>
player kbTell [
BIS_HQ, // to
BIS_HQ, // to
"Airstrike", // topic
"Airstrike", // topic
Line 52: Line 55:
["Team", {}, "Anvil", ["Anvil"]], // argument 1
["Team", {}, "Anvil", ["Anvil"]], // argument 1
["Location", {}, "Strelka", ["Strelka"]], // argument 2
["Location", {}, "Strelka", ["Strelka"]], // argument 2
true]; // use radio</sqf>
true]; // use radio
</sqf>
in given .bikb:
in given .bikb:
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
Line 67: Line 71:
</syntaxhighlight>
</syntaxhighlight>


|x3= <sqf>player kbTell [
|x3= <sqf>
player kbTell [
BIS_HQ, // to
BIS_HQ, // to
"Airstrike", // topic
"Airstrike", // topic
"AirstrikeRequest", // sentence
"AirstrikeRequest", // sentence
["argumentName", argumentValue], // argument 1
["argumentName", argumentValue], // argument 1
true]; // use radio</sqf>
true]; // use radio
 
</sqf>
|r1= [[Nothing]]


|seealso= [[Conversations]] [[kbAddTopic]] [[kbHasTopic]] [[kbReact]] [[kbRemoveTopic]] [[kbAddDatabase]] [[kbAddDatabaseTargets]] [[FSM]] [[FSM Editor]]
|seealso= [[Conversations]] [[kbAddTopic]] [[kbHasTopic]] [[kbReact]] [[kbRemoveTopic]] [[kbAddDatabase]] [[kbAddDatabaseTargets]] [[FSM]] [[FSM Editor]]
}}
}}

Latest revision as of 19:43, 3 September 2024

Hover & click on the images for description

Description

Description:
Make the person tell to the receiver the sentence. See Conversations for more details.
Problems:
Two units cannot talk on the same channel at the same time, this can lead to weird effects for non-local listeners; make sure not to use the same channel at the same time in multiplayer. Custom channels are considered as one channel for this matter.
Groups:
Conversations

Syntax

Syntax:
person kbTell [receiver, topicName, sentenceClass, argumentArray1, argumentArray2, ..., forceRadio]
Parameters:
person: Object
receiver: Object
topicName: String
sentenceClass: String
argumentArrayN: Array - (Optional) format [argumentName, argumentValue, argumentText, argumentSpeech]:
  • argumentName: String
  • argumentValue: Code
  • argumentText: String
  • argumentSpeech: Array of Strings - each string is an already defined word in config.
forceRadio: Boolean, Number or String (last value of the array) - (Optional)
  • Boolean true/false to force use of radio
  • Number 1-10 to force use of custom radio channel
  • String name of radio channel to use, from: 'GLOBAL', 'SIDE', 'GROUP', 'VEHICLE', 'DIRECT', 'COMMAND'
Return Value:
Nothing

Examples

Example 1:
player kbTell [BIS_HQ, "myTopic", "playerSentence1"];
Example 2:
player kbTell [ BIS_HQ, // to "Airstrike", // topic "AirstrikeRequest", // sentence ["Team", {}, "Anvil", ["Anvil"]], // argument 1 ["Location", {}, "Strelka", ["Strelka"]], // argument 2 true]; // use radio
in given .bikb:
class AirstrikeRequest 
{
	text = "%team requesting close air support at grid %location ";
	speech[] = { %Team, RequestingCloseAirSupportAtGrid, %Location };
	class Arguments 
	{
		class Team		{ type = "simple"; };
		class Location	{ type = "simple"; };
	};
};
Example 3:
player kbTell [ BIS_HQ, // to "Airstrike", // topic "AirstrikeRequest", // sentence ["argumentName", argumentValue], // argument 1 true]; // use radio

Additional Information

See also:
Conversations kbAddTopic kbHasTopic 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