Difference between revisions of "hint"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (trimmed example)
m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ")
 
(74 intermediate revisions by 22 users not shown)
Line 1: Line 1:
{{Command|= Comments
+
{{RV|type=command
____________________________________________________________________________________________
 
  
| ofp |= Game name
+
|game1= ofp
 +
|version1= 1.00
  
|1.00|= Game version
+
|game2= ofpe
 +
|version2= 1.00
  
|eff= local |= Effects in MP
+
|game3= arma1
____________________________________________________________________________________________
+
|version3= 1.00
  
| Outputs a hint message on the left upper corner of the screen together with a ding sound.
+
|game4= arma2
 +
|version4= 1.00
  
The text may contain several lines. |= Description
+
|game5= arma2oa
____________________________________________________________________________________________
+
|version5= 1.50
  
| '''hint''' text |= Syntax
+
|game6= tkoh
 +
|version6= 1.00
  
|p1= text: [[String]] - the message to write on the screen may consist of any characters. \n indicates a line break. |= Parameter 1
+
|game7= arma3
 +
|version7= 0.50
  
| [[Nothing]] |= Return value
+
|eff= local
____________________________________________________________________________________________
 
 
 
|x1= <pre>hint "Press W to move forward. \nPress S to move backwards."</pre>
 
  
outputs the following message:
+
|gr1= Interaction
  
<pre>Press W to move forward.
+
|gr2= Structured Text
Press S to move backwards.</pre>
 
  
Known Problems: Avoid hint messages that exceed the screen, as this may lead to crashes. |= Example 1
+
|gr3= Strings
____________________________________________________________________________________________
 
  
| [[hintC]], [[hintCadet]], [[hintC array]], [[hintC structuredText]], [[hintC text]] |= See also
+
|descr= Outputs a hint message to the right of the screen (left of the screen in {{ofp}}) with a sound (except in {{arma1}}). Use [[hintSilent]] for soundless hint. To split message in multiple lines either use [[Structured Text]] or <tt>\n</tt> (in lower case).
  
 +
|s1= [[hint]] message
 +
 +
|p1= message: [[String]] or [[Structured Text]] - the message to display.
 +
 +
|r1=[[Nothing]]
 +
 +
|x1= <code>{{codecomment|// outputs the following:
 +
// Press W to move forward.
 +
// Press S to move backwards.}}
 +
[[hint]] "Press W to move forward.\nPress S to move backwards."</code>
 +
 +
|x2= <code>[[hint]] [[format]] ["Hello, %1!", [[name]] [[player]]];</code>
 +
 +
|x3= <code>[[hint]] [[str]] [[count]] [[allPlayers]];
 +
[[sleep]] 10;
 +
[[hintSilent]] ""; {{cc|hides the previous hint display}}</code>
 +
 +
|x4= <code>[[hint]] [[parseText]] "<t size='2.0'>Large text</t>"; {{cc|Displays text twice as large as the default one}}</code>
 +
 +
|pr= {{GVI|ofp|1.00}} {{GVI|arma1|1.00}} {{GVI|arma2|1.00}} Hint messages that exceed the screen may lead to crashes.<br>
 +
{{GVI|arma3|1.00}} The game would not crash but suffer FPS drop / temporary freezing.
 +
 +
|seealso= [[hintC]], [[hintCadet]], [[hintSilent]], [[diag_log]]
 
}}
 
}}
  
<h3 style="display:none">Notes</h3>
 
 
<dl class="command_description">
 
<dl class="command_description">
<!-- Note Section BEGIN -->
+
 
<dt class="note">'''[[User:ArmAtec|ArmAtec]]'''</dt><dd class="note">
+
<dt></dt>
Hint can be used with formatting like this:
+
<dd class="notedate">Posted on October 20, 2014 - 19:27 (UTC)</dd>
<pre>hint format["Hello %1",player]</pre></dd>
+
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
<dt class="note">'''[[User:pyro05x|pyro05x]]'''</dt>
+
<dd class="note">
<dd class="note">To remove the hint box from the screen, pass a null string (<tt>""</tt>) to the command.
+
Be careful when using hints to visualize the effects of commands using the Debug Console. Hint can accept an undefined variable and neither the error nor the hint is shown, the command simply fails. Also notice how the hint command should be {{ic|[[hint]] [[str]] _i;}}:
<pre>hint ""</pre></dd>
+
<code>[[for]] "_i" [[from]] 0 [[to]] 50 [[do]] {
<!-- Note Section END -->
+
[[hint]] _i;
 +
};</code>
 +
'''tested in A3 1.32.127785'''<br>
 +
<br>
 +
In a script, an "undefined variable" error will be shown as expected.
 +
</dd>
 +
 
 +
<dt><dt>
 +
<dd class="notedate">Posted on October 21, 2014 - 23:07 (UTC)</dd>
 +
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
 +
<dd class="note">
 +
Contrary to previous games, Arma 3 will happily display hints that far exceed screen space.<br>
 +
However, as hints get longer, FPS suffers tremendously.<br>
 +
'''tested in Debug Console, A3 1.32.127785 with the following:'''
 +
<code>[[hint]] [[str]] (([[nearestObjects]] [<nowiki/>[[player]], ["BUILDING"], 100]) - [<nowiki/>[[player]]]); [] [[spawn]] { [[sleep]] 5; [[systemChat]] [[str]] [[diag_fps]]; };
 +
[[sleep]] 10;
 +
[[hint]] [[str]] (([[nearestObjects]] [<nowiki/>[[player]], ["BUILDING"], 1000]) - [<nowiki/>[[player]]]); [] [[spawn]] { [[sleep]] 5; [[systemChat]] [[str]] [[diag_fps]]; };</code>
 +
Results were: '''59.7015''' and '''5.17297''', respectively. Drawing a hint even longer than this, such as [[nearestObjects]] with a radius of 10,000 or 100,000 reduces your FPS so much Arma 3 '''appears''' to crash, though it doesn't.<br>
 +
<br>
 +
Unrelated: Hints will stay on screen for 30 seconds, then fade away over the course of 5 seconds. '''Tested with: A3 1.32.127785'''
 +
</dd>
 +
 
 +
<dt><dt>
 +
<dd class="notedate">Posted on February 17, 2015 - 23:14 (UTC)</dd>
 +
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
 +
<dd class="note">
 +
An open dialog will pause the 30-second hint fade timer.
 +
'''(A3 1.38.128937)'''
 +
</dd>
 +
 
 +
<dt><dt>
 +
<dd class="notedate">Posted on March 25, 2017 - 20:47 (UTC)</dd>
 +
<dt class="note">[[User:Feint|Feint]]</dt>
 +
<dd class="note">
 +
The [[hint]] sound is audible only when you have the music volume turned up above 0 in the audio settings.
 +
Otherwise, it seems to act the same as [[hintSilent]].<br>
 +
<br>
 +
This is important because if you are running a [[hint]] that fires at 30 fps or more, the [[hint]] will slow down machines that have the music volume turned up but won't slow down machines that have the music volume turned off.<br>
 +
<br>
 +
Best practice is to use [[hint]] for an alert to the player and use [[hintSilent]] for a makeshift display of data to the player that is updated fairly often.
 +
</dd>
 +
 
 
</dl>
 
</dl>
 
<h3 style="display:none">Bottom Section</h3>
 
[[Category:Scripting Commands|HINT]]
 
[[Category:Scripting Commands OFP 1.96|HINT]]
 
[[Category:Scripting Commands OFP 1.46|HINT]]
 
[[Category:Scripting Commands ArmA|HINT]]
 
[[Category:Command_Group:_Interaction|{{uc:{{PAGENAME}}}}]]
 

Latest revision as of 23:14, 19 June 2021

Hover & click on the images for description

Description

Description:
Outputs a hint message to the right of the screen (left of the screen in Operation Flashpoint) with a sound (except in Armed Assault). Use hintSilent for soundless hint. To split message in multiple lines either use Structured Text or \n (in lower case).
Problems:
Logo A0.png1.00 Logo A1 black.png1.00 Logo A2.png1.00 Hint messages that exceed the screen may lead to crashes.
Arma 3 logo black.png1.00 The game would not crash but suffer FPS drop / temporary freezing.
Groups:
InteractionStructured TextStrings

Syntax

Syntax:
hint message
Parameters:
message: String or Structured Text - the message to display.
Return Value:
Nothing

Examples

Example 1:
// outputs the following: // Press W to move forward. // Press S to move backwards. hint "Press W to move forward.\nPress S to move backwards."
Example 2:
hint format ["Hello, %1!", name player];
Example 3:
hint str count allPlayers; sleep 10; hintSilent ""; // hides the previous hint display
Example 4:
hint parseText "<t size='2.0'>Large text</t>"; // Displays text twice as large as the default one

Additional Information

See also:
hintChintCadethintSilentdiag_log

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
Posted on October 20, 2014 - 19:27 (UTC)
DreadedEntity
Be careful when using hints to visualize the effects of commands using the Debug Console. Hint can accept an undefined variable and neither the error nor the hint is shown, the command simply fails. Also notice how the hint command should be hint str _i;: for "_i" from 0 to 50 do { hint _i; }; tested in A3 1.32.127785

In a script, an "undefined variable" error will be shown as expected.
Posted on October 21, 2014 - 23:07 (UTC)
DreadedEntity
Contrary to previous games, Arma 3 will happily display hints that far exceed screen space.
However, as hints get longer, FPS suffers tremendously.
tested in Debug Console, A3 1.32.127785 with the following: hint str ((nearestObjects [player, ["BUILDING"], 100]) - [player]); [] spawn { sleep 5; systemChat str diag_fps; }; sleep 10; hint str ((nearestObjects [player, ["BUILDING"], 1000]) - [player]); [] spawn { sleep 5; systemChat str diag_fps; }; Results were: 59.7015 and 5.17297, respectively. Drawing a hint even longer than this, such as nearestObjects with a radius of 10,000 or 100,000 reduces your FPS so much Arma 3 appears to crash, though it doesn't.

Unrelated: Hints will stay on screen for 30 seconds, then fade away over the course of 5 seconds. Tested with: A3 1.32.127785
Posted on February 17, 2015 - 23:14 (UTC)
DreadedEntity
An open dialog will pause the 30-second hint fade timer. (A3 1.38.128937)
Posted on March 25, 2017 - 20:47 (UTC)
Feint
The hint sound is audible only when you have the music volume turned up above 0 in the audio settings. Otherwise, it seems to act the same as hintSilent.

This is important because if you are running a hint that fires at 30 fps or more, the hint will slow down machines that have the music volume turned up but won't slow down machines that have the music volume turned off.

Best practice is to use hint for an alert to the player and use hintSilent for a makeshift display of data to the player that is updated fairly often.