kbTell: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(84 intermediate revisions by 17 users not shown)
Line 1: Line 1:
[[Category:Scripting Commands|KBTELL]]
{{RV|type=command
[[Category:Scripting Commands ArmA|KBTELL]]


|game1= arma2
|version1= 1.00


<h2 style="color:#000066">'''''person'' kbTell ''[receiver, topic, sentence id, [argument name, argument value, argument text, argument speech], ...]'''''</h2>
|game2= arma2oa
|version2= 1.50


|game3= tkoh
|version3= 1.00


'''Operand types:'''
|game4= arma3
   
|version4= 0.50
'''person:''' [[Object]]


'''[receiver, topic, sentence id, [argument name, argument value, argument text, argument speech], ...]:''' [[Array]]
|gr1= Conversations


'''Type of returned value:'''
|arg= local


[[Nothing]]
|eff= global


'''Compatibility:'''
|descr= Make the person tell to the receiver the sentence. See [[Conversations]] for more details.


Version 2.92 required.
|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.


'''Description:'''
|s1= person [[kbTell]] [receiver, topicName, sentenceClass, argumentArray1, argumentArray2, ..., forceRadio]


Make the person tell to the receiver the sentence..
|p1= person: [[Object]]
 
|p2= receiver: [[Object]]
 
|p3= topicName: [[String]]
 
|p4= sentenceClass: [[String]]
 
|p5= argumentArrayN: [[Array]] - (Optional) format [argumentName, argumentValue, argumentText, argumentSpeech]:
* argumentName: [[String]]
* argumentValue: [[Code]]
* argumentText: [[String]]
* 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)
* [[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'
 
|r1= [[Nothing]]
 
|x1= <sqf>player kbTell [BIS_HQ, "myTopic", "playerSentence1"];</sqf>
 
|x2= <sqf>
player kbTell [
BIS_HQ, // to
"Airstrike", // topic
"AirstrikeRequest", // sentence
["Team", {}, "Anvil", ["Anvil"]], // argument 1
["Location", {}, "Strelka", ["Strelka"]], // argument 2
true]; // use radio
</sqf>
in given .bikb:
<syntaxhighlight lang="cpp">
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"; };
};
};
</syntaxhighlight>
 
|x3= <sqf>
player kbTell [
BIS_HQ, // to
"Airstrike", // topic
"AirstrikeRequest", // sentence
["argumentName", argumentValue], // argument 1
true]; // use radio
</sqf>
 
|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