BIS fnc error: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 6: | Line 6: | ||
|gr1= Diagnostic | |gr1= Diagnostic | ||
|descr= | |descr= [[File:BIS_fnc_error.png|300px|right]] | ||
Logs an error message and shows an ingame error message. The message is shown when either of the following is true: | |||
[[File: | |||
* In [[2D Editor]] | |||
* In [[Eden Editor]] via [[BIS_fnc_3DENNotification]] | |||
* Display {{hl|313}} ([[Eden Editor]] display) is available | |||
* <sqf inline>profileNamespace getVariable ["BIS_fnc_init_displayErrors", false]</sqf> is set to <sqf inline>true</sqf>. | |||
'''Output format:''' | |||
* In multiplayer ([[isMultiplayer]]) the function will add the [[profileName]] in front of the message | |||
* If <sqf inline>_fnc_error_exit</sqf> is set to <sqf inline>true</sqf> before the function call, the log message will display {{hl|HALT:}} instead of {{hl|ERROR:}} | |||
* If function is called from within another function, the name of the parent function will be displayed. This can be overwritten by setting <sqf inline>_fnc_scriptName</sqf> to a custom value | |||
| | {{Feature|informative|{{hl|[[Description.ext#allowFunctionsLog|allowFunctionsLog]]}} has to be set to '''1''' in [[Description.ext]] for this function to have any effect.}} | ||
| | |s1= [message, param1, ..., paramN] call [[BIS_fnc_error]] | ||
| | |p1= message: [[String]] - ([[format]]ted) logged message | ||
|p2= param1..paramN: [[Anything]] - (Optional) [[format]] arguments, if any | |||
|r1= [[Array]] in format: [message, param1..paramN] | |||
|x1= <sqf>["Player is too far away (%1 metres)", round (player distance [0, 0, 0])] call BIS_fnc_error;</sqf> | |||
< | |x2= <sqf> | ||
// some useful function cases | |||
if (!isServer) exitWith { ["This function must run on the server"] call BIS_fnc_error }; | |||
if (!hasInterface) exitWith { ["This function must not run on a headless machine"] call BIS_fnc_error }; | |||
if (!local _vehicle) exitWith { ["This function must run on the vehicle owner's machine"] call BIS_fnc_error }; | |||
</sqf> | |||
< | |x3= <sqf> | ||
// Change rpt log to "HALT" indicating that function exited | |||
private _fnc_error_exit = true; | |||
if (exitHere) exitWith | |||
{ | |||
"Some error message!" call BIS_fnc_error; // Output in rpt: "log: HALT: [BIS_fnc_debugConsoleExec] Some error message!" | |||
}; | |||
</sqf> | |||
|x4= <sqf> | |||
private _fnc_scriptName = "My_Awesome_Custom_Function"; | |||
"Some error message!" call BIS_fnc_error; // Output in rpt: "log: ERROR: [My_Awesome_Custom_Function] Some error message!" | |||
</sqf> | |||
|seealso= [[BIS_fnc_errorMsg]] [[BIS_fnc_log]] [[BIS_fnc_logFormat]] [[BIS_fnc_logFormatServer]] | |||
}} |
Latest revision as of 00:23, 12 February 2024
Description
- Description:
-
Logs an error message and shows an ingame error message. The message is shown when either of the following is true:
- In 2D Editor
- In Eden Editor via BIS_fnc_3DENNotification
- Display 313 (Eden Editor display) is available
- profileNamespace getVariable ["BIS_fnc_init_displayErrors", false] is set to true.
Output format:
- In multiplayer (isMultiplayer) the function will add the profileName in front of the message
- If _fnc_error_exit is set to true before the function call, the log message will display HALT: instead of ERROR:
- If function is called from within another function, the name of the parent function will be displayed. This can be overwritten by setting _fnc_scriptName to a custom value
- Execution:
- call
- Groups:
- Diagnostic
Syntax
- Syntax:
- [message, param1, ..., paramN] call BIS_fnc_error
- Parameters:
- message: String - (formatted) logged message
- param1..paramN: Anything - (Optional) format arguments, if any
- Return Value:
- Array in format: [message, param1..paramN]
Examples
- Example 1:
- Example 2:
- // some useful function cases if (!isServer) exitWith { ["This function must run on the server"] call BIS_fnc_error }; if (!hasInterface) exitWith { ["This function must not run on a headless machine"] call BIS_fnc_error }; if (!local _vehicle) exitWith { ["This function must run on the vehicle owner's machine"] call BIS_fnc_error };
- Example 3:
- Example 4:
- private _fnc_scriptName = "My_Awesome_Custom_Function"; "Some error message!" call BIS_fnc_error; // Output in rpt: "log: ERROR: [My_Awesome_Custom_Function] Some error message!"
Additional Information
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