Hallo,
Ich habe mich nach einer längeren Altis Life Pause entschieden mal wieder vorbeizuschauen und hab mal unsere alte fn_playerTags.sqf mit den Nametags für die Polizei, den Adac und für die Medics rausgekramt. Aber nun zum Tutorial:
Das Tutorial funktioniert getestet bei der Vanilla 4.4R3 sollte aber auch in allen Versionen aber der 4.0 aufwärts klappen.
1. Sucht nach eurer fn_playerTags.sqf in core / functions
2. Ersetzt alles mit:
#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 "_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 == civilian): {format ["<t color='#00FF00'>%1</t>",(_x getVariable ["realname",name _x])];};
case (!isNil {(_x getVariable "rank")} && side _x == west): {format["<img image='%1' size='1'></img> <t size='1.2' color='#318CE7'>%3<br/></t>%2",
switch ((_x getVariable "rank")) do {
case 2: {"\a3\ui_f\data\gui\cfg\Ranks\corporal_gs.paa"};
case 3: {"\a3\ui_f\data\gui\cfg\Ranks\sergeant_gs.paa"};
case 4: {"\a3\ui_f\data\gui\cfg\Ranks\lieutenant_gs.paa"};
case 5: {"\a3\ui_f\data\gui\cfg\Ranks\captain_gs.paa"};
case 6: {"\a3\ui_f\data\gui\cfg\Ranks\major_gs.paa"};
case 7: {"\a3\ui_f\data\gui\cfg\Ranks\colonel_gs.paa"};
case 8: {"\a3\ui_f\data\gui\cfg\Ranks\general_gs.paa"};
default {"\a3\ui_f\data\gui\cfg\Ranks\private_gs.paa"};
},
_x getVariable ["realname",name _x],
switch ((_x getVariable "rank")) do {
case 2: {"POLIZEI RANG2"};
case 3: {"POLIZEI RANG3"};
case 4: {"POLIZEI RANG4"};
case 5: {"POLIZEI RANG5"};
case 6: {"POLIZEI RANG6"};
case 7: {"POLIZEI RANG7"};
default {"POLIZEI RANG1"};
}
]
};
case (side _x == independent): {format["<t color='#FF0000'><img image='a3\ui_f\data\map\MapControl\hospital_ca.paa' size='1'></img> <t size='1.2' color='#FF0000'>%2<br/></t>%1",
_x getVariable ["realname",name _x],
switch ((_x getVariable "medrank")) do {
case 2: {"MEDIC RANG2"};
case 3: {"MEDIC RANG3"};
case 4: {"MEDIC RANG4"};
case 5: {"MEDIC RANG5"};
case 6: {"MEDIC RANG6"};
case 7: {"MEDIC RANG7"};
default {"MEDIC RANG1"};
}
]
};
case (side _x == east): {format["<t color='#FFF700'><img image='a3\ui_f\data\map\MapControl\hospital_ca.paa' size='1'></img> <t size='1.2' color='#FFF700'>%2<br/></t>%1",
_x getVariable ["realname",name _x],
switch ((_x getVariable "adacrank")) do {
case 2: {"ADAC RANG2"};
case 3: {"ADAC RANG3"};
case 4: {"ADAC RANG4"};
case 5: {"ADAC RANG5"};
case 6: {"ADAC RANG6"};
case 7: {"ADAC RANG7"};
default {"ADAC RANG1"};
}
]
};
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 {
_x getVariable ["realname",name _x];
};
};
};
_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;
};
} forEach _units;
Alles anzeigen
3. Sucht jetzt nach
case (!isNil {(_x getVariable "rank")} && side _x == west): {format["<img image='%1' size='1'></img> <t size='1.2' color='#318CE7'>%3<br/></t>%2",
switch ((_x getVariable "rank")) do {
case 2: {"\a3\ui_f\data\gui\cfg\Ranks\corporal_gs.paa"};
case 3: {"\a3\ui_f\data\gui\cfg\Ranks\sergeant_gs.paa"};
case 4: {"\a3\ui_f\data\gui\cfg\Ranks\lieutenant_gs.paa"};
case 5: {"\a3\ui_f\data\gui\cfg\Ranks\captain_gs.paa"};
case 6: {"\a3\ui_f\data\gui\cfg\Ranks\major_gs.paa"};
case 7: {"\a3\ui_f\data\gui\cfg\Ranks\colonel_gs.paa"};
case 8: {"\a3\ui_f\data\gui\cfg\Ranks\general_gs.paa"};
default {"\a3\ui_f\data\gui\cfg\Ranks\private_gs.paa"};
},
_x getVariable ["realname",name _x],
switch ((_x getVariable "rank")) do {
case 2: {"POLIZEI RANG2"};
case 3: {"POLIZEI RANG3"};
case 4: {"POLIZEI RANG4"};
case 5: {"POLIZEI RANG5"};
case 6: {"POLIZEI RANG6"};
case 7: {"POLIZEI RANG7"};
default {"POLIZEI RANG1"};
}
]
};
case (side _x == independent): {format["<t color='#FF0000'><img image='a3\ui_f\data\map\MapControl\hospital_ca.paa' size='1'></img> <t size='1.2' color='#FF0000'>%2<br/></t>%1",
_x getVariable ["realname",name _x],
switch ((_x getVariable "medrank")) do {
case 2: {"MEDIC RANG2"};
case 3: {"MEDIC RANG3"};
case 4: {"MEDIC RANG4"};
case 5: {"MEDIC RANG5"};
case 6: {"MEDIC RANG6"};
case 7: {"MEDIC RANG7"};
default {"MEDIC RANG1"};
}
]
};
case (side _x == east): {format["<t color='#FFF700'><img image='a3\ui_f\data\map\MapControl\hospital_ca.paa' size='1'></img> <t size='1.2' color='#FFF700'>%2<br/></t>%1",
_x getVariable ["realname",name _x],
switch ((_x getVariable "adacrank")) do {
case 2: {"ADAC RANG2"};
case 3: {"ADAC RANG3"};
case 4: {"ADAC RANG4"};
case 5: {"ADAC RANG5"};
case 6: {"ADAC RANG6"};
case 7: {"ADAC RANG7"};
default {"ADAC RANG1"};
}
]
};
Alles anzeigen
und tragt dort eure Namen für die Polizei,Adac und Medicränge ein.
4. Fügt jetzt noch in eurer fn_initMedic.sqf das
über
ein und wenn ihr einen ADAC haben solltet noch das in die fn_initADAC.sqf
über
ein.
Falls der Name eures ADAC Levels in der Datenbank anders sein sollte dann müsst ihr ihn noch in der initADAC.sqf anpassen.
So das sollte es gewesen sein.
MFG Tallion