Примерно как то так
// config.cpp
class cfgScriptPaths {
A3SPL_IGUI = "A3SPL\ui\scripts\IGUI\";
};
class RscBackground;
class RscTitle;
class RscProgress;
class RscTitles {
class RscDisplayPlayerStatus {
idd = 6900;
movingEnable = 0;
duration = 1000000;
name = "DisplayPlayerStatus";
onLoad = "[""onLoad"",_this,""RscDisplayPlayerStatus"",'A3SPL_IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
onUnload = "[""onUnload"",_this,""RscDisplayPlayerStatus"",'A3SPL_IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
class ControlsBackground {
class CA_ContainerBackground : RscBackground {
idc = 1001;
x = "47 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "26.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "12.2 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
h = "5.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
colorBackground[] = {0.05, 0.05, 0.05, 0.55};
};
};
class controls {
class DammageTitle : RscTitle {
idc = 2000;
colorText[] = {0.5, 0.5, 0.5, 0.9};
text = "$STR_A3SPL_DAMMAGE";
x = "47.2 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "30.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "3.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class BloodTitle : DammageTitle {
idc = 2001;
text = "$STR_A3SPL_BLOOD";
y = "29.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class FoodTitle : DammageTitle {
idc = 2002;
text = "$STR_A3SPL_FOOD";
y = "28.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class DrinkTitle : DammageTitle {
idc = 2003;
text = "$STR_A3SPL_DRINK";
y = "27.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class DammageProgress : RscProgress {
idc = 6300;
texture = "";
textureExt = "";
colorBar[] = {0.9, 0.9, 0.9, 0.2};
colorExtBar[] = {1, 1, 1, 1};
colorFrame[] = {1, 1, 1, 1};
x = "51 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "30.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "8 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class BloodProgress : DammageProgress {
idc = 6301;
y = "29.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class FoodProgress : DammageProgress {
idc = 6302;
y = "28.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class DrinkProgress : DammageProgress {
idc = 6303;
y = "27.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
};
};
};
// A3SPL\ui\scripts\IGUI\RscDisplayPlayerStatus.sqf
#define CONTROL (_display displayctrl _idc)
disableserialization;
_mode = _this select 0;
_params = _this select 1;
_class = _this select 2;
switch _mode do {
case "onLoad": {
with missionNamespace do {
DisplayPlayerStatus = _params spawn PTm_fnc_playerMonitorDisplayStatus;
};
};
case "onUnload": {
terminate DisplayPlayerStatus;
};
};
Как такое выглядит смотрим на видео, правый нижний угол
http://arma3.ru/foru...atform/?p=39666
А ещё лучше, скачиваем архив и изучаем в более удобной форме аддон
ui.pbo
http://arma3.ru/foru...&attach_id=2896