BIS fnc setUnitInsignia: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (template:command argument fix)
(15 intermediate revisions by 5 users not shown)
Line 12: Line 12:
____________________________________________________________________________________________
____________________________________________________________________________________________


| <pre>/*
| Sets unit insignia (e.g., shoulder insignia on soldiers). See [[Arma 3 Unit Insignia]] for more details. This function is global and should work from any client. '''Do not remote execute'''|DESCRIPTION=
 
Description:
Set unit inisgnia (e.g., should insignia on soldiers)
 
Parameter(s):
0: OBJECT
2: STRING - CfgUnitInsignia class
 
Returns:
BOOL - true if insignia was set
*/
 
</pre><small>''(Placeholder description extracted from the function header by [[BIS_fnc_exportFunctionsToWiki]])''</small> |= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


| <!-- [] call [[BIS_fnc_setUnitInsignia]]; --> |= Syntax
| [target , className] call [[BIS_fnc_setUnitInsignia]] |SYNTAX=


|p1= |= Parameter 1
|p1= target: [[Object]] - unit to which the insignia is going to be attached |=
|p2= class: [[String]] - CfgUnitInsignia class name to use. Use an empty string to remove the current insignia. |=


| [[Boolean]] |= Return value
| [[Boolean]] - Returns [[true]] if successful. |RETURNVALUE=
____________________________________________________________________________________________
____________________________________________________________________________________________


|x1= <code></code> |=  
|x1= Place insignia: <code><nowiki>[</nowiki>[[player]], "111thID"] [[call]] [[BIS_fnc_setUnitInsignia]];</code> |=
|x2= Remove insignia: <code><nowiki>[</nowiki>[[player]], ""] [[call]] [[BIS_fnc_setUnitInsignia]];</code> |=  
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[Arma 3 Unit Insignia]], [[BIS_fnc_getUnitInsignia]] |= See also
| [[Arma 3 Unit Insignia]], [[BIS_fnc_getUnitInsignia]] |SEEALSO=


}}
}}
Line 45: Line 34:
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on July 28, 2014 - 12:58 (UTC)
 
<dt class="note>'''[[User:Sxp2hiiigh|Sxp2hiiigh]]'''
<dd class="note">Multiplayer locality (As of Arma 3 v1.24):
<br>Effect of this function is global, it should be executed consistently for JIP otherwise insignias are gone after respawn, so they have to be reapplied afterwards (On all machines again).
<br>
This would apply insignia "111thID" to player unit on all machines (incl. Join In Progress):
<code>[[ [[player]], "111thID"], "[[BIS_fnc_setUnitInsignia]]", nil, [[true]], [[true]]] [[call]] [[BIS_fnc_MP]];</code>


<dd class="notedate">Posted on July 29, 2014 1500
<dd class="notedate">Posted on July 29, 2014 1500
Line 125: Line 108:
And then run it the normal way:
And then run it the normal way:
<code>[player, "empty"] [[call]] [[BIS_fnc_setUnitInsignia]]</code>
<code>[player, "empty"] [[call]] [[BIS_fnc_setUnitInsignia]]</code>
<br/>
<dd class="notedate">Posted on August 9, 2016 2300
<dt class="note>'''[[User:Pierre MGI|Pierre MGI]]'''
<dd class="note">In https://community.bistudio.com/wiki/Arma_3_Unit_Insignia, you can read:<br/>
<quote>You can add a new insignia in Config.cpp and Description.ext.</quote><br/>
If it's possible to add a cfgUnitInsignia class in a description.ext, please note that the path of the texture differs for server and client in MP environment.
Config.cpp (addon) is more reliable. Description.ext, in this case, should be used for SP mission only.<br/>
This function calls the setObjectTextureGlobal, which is a broken command in MP (see feedback tracker) August 2016.


<!-- Note Section END -->
<!-- Note Section END -->
Line 135: Line 126:


<!-- CONTINUE Notes -->
<!-- CONTINUE Notes -->
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 15:33, 7 April 2019


Hover & click on the images for description

Description

Description:
Sets unit insignia (e.g., shoulder insignia on soldiers). See Arma 3 Unit Insignia for more details. This function is global and should work from any client. Do not remote execute
Execution:
call
Groups:
Uncategorised

Syntax

Syntax:
[target , className] call BIS_fnc_setUnitInsignia
Parameters:
target: Object - unit to which the insignia is going to be attached
class: String - CfgUnitInsignia class name to use. Use an empty string to remove the current insignia.
Return Value:
Boolean - Returns true if successful.

Examples

Example 1:
Place insignia: [player, "111thID"] call BIS_fnc_setUnitInsignia;
Example 2:
Remove insignia: [player, ""] call BIS_fnc_setUnitInsignia;

Additional Information

See also:
Arma 3 Unit InsigniaBIS_fnc_getUnitInsignia

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

Notes

Posted on July 29, 2014 1500
ffur2007slx2_5
(A3 1.24)Predefined textures that can be used directly in game.
Img Code Note
111thID ca.png [this,"111thID"] call BIS_fnc_setUnitInsignia; NATO division which dispatched one brigade to liberate Altis in Episode 3 - Win.
bi ca.png [this,"BI"] call BIS_fnc_setUnitInsignia; Bohemia Interactive glyph
curator ca.png [this,"Curator"] call BIS_fnc_setUnitInsignia; Zeus eye
gryffinRegiment ca.png [this,"GryffinRegiment"] call BIS_fnc_setUnitInsignia; CSAT regiment that occupied Altis in episodes 2 and 3 of the Arma 3 campaign.
manw ca.png [this,"MANW"] call BIS_fnc_setUnitInsignia; Make Arma Not War competition logo
TFAegis ca.png [this,"TFAegis"] call BIS_fnc_setUnitInsignia; Combined force of NATO and AAF which operated on Stratis and Altis at the beginning of Episode 1 and in the Bootcamp campaign.


Posted on September 29, 2014 1500
BrotherhoodOfHam
There are two ways of removing an insignia when placed.
The first way would be to run this function on the unit:
fnc_removeUnitInsignia = { _unit = _this select 0; _index = -1; { if (_x == "insignia") exitwith {_index = _foreachindex;}; } foreach getarray (configfile >> "CfgVehicles" >> gettext ( configfile >> "CfgWeapons" >> uniform _unit >> "ItemInfo" >> "uniformClass") >> "hiddenSelections"); _unit setObjectTextureGlobal [_index, ""]; }; [player] call fnc_removeUnitInsignia
The second way would be to create an empty cfgUnitInsignia class in the description.ext:
class CfgUnitInsignia { class empty { author = ""; displayName = ""; texture = ""; }; }; And then run it the normal way: [player, "empty"] call BIS_fnc_setUnitInsignia
Posted on August 9, 2016 2300
Pierre MGI
In https://community.bistudio.com/wiki/Arma_3_Unit_Insignia, you can read:
<quote>You can add a new insignia in Config.cpp and Description.ext.</quote>
If it's possible to add a cfgUnitInsignia class in a description.ext, please note that the path of the texture differs for server and client in MP environment. Config.cpp (addon) is more reliable. Description.ext, in this case, should be used for SP mission only.
This function calls the setObjectTextureGlobal, which is a broken command in MP (see feedback tracker) August 2016.

Bottom Section