2015-01-11 16:42:31 +00:00
|
|
|
/*
|
|
|
|
* Author: commy2
|
|
|
|
* Display a message.
|
|
|
|
*
|
2015-09-20 18:25:25 +00:00
|
|
|
* Arguments:
|
|
|
|
* 0: Message <STRING>
|
|
|
|
* 1: Play a clicking sound (default: false) <BOOL>
|
|
|
|
* 2: How long before hiding the message in seconds (default: 2) <NUMBER>
|
|
|
|
* 3: Priority, higher priority messages will override lesser important ones (default: 0) <NUMBER>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
2015-01-11 16:42:31 +00:00
|
|
|
*
|
2015-09-20 18:25:25 +00:00
|
|
|
* Public: Yes
|
2015-01-11 16:42:31 +00:00
|
|
|
*/
|
2015-01-13 19:56:02 +00:00
|
|
|
#include "script_component.hpp"
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-09-20 18:25:25 +00:00
|
|
|
params ["_text", ["_sound", false], ["_delay", 2], ["_priority", 0]];
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-02-19 18:29:54 +00:00
|
|
|
if (isNil QGVAR(lastHint)) then {
|
|
|
|
GVAR(lastHint) = [0, 0];
|
|
|
|
};
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-09-20 18:25:25 +00:00
|
|
|
if !(typeName _text in ["STRING", "TEXT"]) then {_text = str _text};
|
|
|
|
|
|
|
|
private ["_lastHintTime", "_lastHintPriority", "_time"];
|
|
|
|
|
2015-02-19 18:29:54 +00:00
|
|
|
_lastHintTime = GVAR(lastHint) select 0;
|
|
|
|
_lastHintPriority = GVAR(lastHint) select 1;
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-05-21 16:42:44 +00:00
|
|
|
_time = ACE_time;
|
2015-09-20 18:25:25 +00:00
|
|
|
|
2015-02-19 18:29:54 +00:00
|
|
|
if (_time > _lastHintTime + _delay || {_priority >= _lastHintPriority}) then {
|
2015-01-11 16:42:31 +00:00
|
|
|
hintSilent _text;
|
2015-01-12 04:02:33 +00:00
|
|
|
if (_sound) then {playSound "ACE_Sound_Click"};
|
2015-01-11 16:42:31 +00:00
|
|
|
GVAR(lastHint) set [0, _time];
|
|
|
|
GVAR(lastHint) set [1, _priority];
|
|
|
|
|
2015-02-19 18:29:54 +00:00
|
|
|
[{if ((_this select 0) == GVAR(lastHint) select 0) then {hintSilent ""};}, [_time], _delay, 0] call FUNC(waitAndExecute);
|
2015-01-11 16:42:31 +00:00
|
|
|
};
|