Hey^^
Hatte bzgl. dieses Themas schonmal etwas Ähnliches gepostet, jedoch tritt ein erneutes Problem auf
Und zwar werden die Rang-Bezeichnungen bei den Sanitätern vor dem Namen nicht angezeigt.
Bei den Polizisten allerdings schon, jedoch ist das grundlegend der selbe Eintrag
Hier einmal meine Datei:
Code
#include "..\..\script_macros.hpp"
/*
File: fn_playerTags.sqf
Author: Bryan "Tonic" Boardwine
Description:
Adds the tags above other players heads when close and have visible range.
*/
if (!life_settings_tagson) exitWith {};
private ["_ui","_units","_masks"];
#define iconID 78000
#define scale 0.8
if (visibleMap || {!alive player} || {dialog}) exitWith {
500 cutText["","PLAIN"];
};
_ui = uiNamespace getVariable ["Life_HUD_nameTags",displayNull];
if (isNull _ui) then {
500 cutRsc["Life_HUD_nameTags","PLAIN"];
_ui = uiNamespace getVariable ["Life_HUD_nameTags",displayNull];
};
_units = nearestObjects[(visiblePosition player),["Man","Land_Pallet_MilBoxes_F","Land_Sink_F"],50];
_units = _units - [player];
_masks = LIFE_SETTINGS(getArray,"clothing_masks");
private _index = -1;
{
private "_text";
_idc = _ui displayCtrl (iconID + _forEachIndex);
if (!(lineIntersects [eyePos player, eyePos _x, player, _x]) && alive _x && {!isNil {_x getVariable "realname"}}) then {
_pos = switch (typeOf _x) do {
case "Land_Pallet_MilBoxes_F": {[visiblePosition _x select 0, visiblePosition _x select 1, (getPosATL _x select 2) + 1.5]};
case "Land_Sink_F": {[visiblePosition _x select 0, visiblePosition _x select 1, (getPosATL _x select 2) + 2]};
default {[visiblePosition _x select 0, visiblePosition _x select 1, ((_x modelToWorld (_x selectionPosition "head")) select 2)+.5]};
};
_sPos = worldToScreen _pos;
_distance = _pos distance player;
if (!((headgear _x) in _masks || (goggles _x) in _masks || (uniform _x) in _masks)) then {
if (count _sPos > 1 && {_distance < 15}) then {
_text = switch (true) do {
case (_x in (units group player) && playerSide isEqualTo civilian): {format ["<t color='#00FF00'>%1</t>",(_x getVariable ["realname",name _x])];};
case (side _x isEqualTo west && {!isNil {_x getVariable "rank"}}): {format ["%1 %2",switch ((_x getVariable "rank")) do {
case 2: {"[Rekrut]"};
case 3: {"[Officer]"};
case 4: {"[Detective]"};
case 5: {"[Captain]"};
case 6: {"[SWAT]"};
case 7: {"[Chief]"};
default {"[Praktikant]"};
},_x getVariable ["realname",name _x]]};
case (side _x isEqualTo independent && {!isNil {_x getVariable "rank"}}): {format ["%1 %2",switch ((_x getVariable "rank")) do {
case 2: {"[Sanitäter]"};
case 3: {"[Arzthelfer]"};
case 4: {"[Arzt]"};
case 5: {"[Chefarzt]"};
default {"[Probe-Sanitäter]"};
},_x getVariable ["realname",name _x]]};
default {
if (!isNil {(group _x) getVariable "gang_name"}) then {
format ["%1<br/><t size='0.8' color='#B6B6B6'>%2</t>",_x getVariable ["realname",name _x],(group _x) getVariable ["gang_name",""]];
} else {
if (alive _x) then {
_x getVariable ["realname",name _x];
} else {
if (!isPlayer _x) then {
_x getVariable ["realname","ERROR"];
};
};
};
};
};
_idc ctrlSetStructuredText parseText _text;
_idc ctrlSetPosition [_sPos select 0, _sPos select 1, 0.4, 0.65];
_idc ctrlSetScale scale;
_idc ctrlSetFade 0;
_idc ctrlCommit 0;
_idc ctrlShow true;
} else {
_idc ctrlShow false;
};
} else {
_idc ctrlShow false;
};
} else {
_idc ctrlShow false;
};
_index = _forEachIndex;
} forEach _units;
(_ui displayCtrl (iconID + _index + 1)) ctrlSetStructuredText parseText "";
Alles anzeigen
Vielleicht kann mir ja wer weiterhelfen