Autor: Repentz
1. Ersetzt eure Hudstate.hpp durch folgendes:
Code
//---------------------------------
//By Repentz
//---------------------------------
#define INFINITE 1e+1000
#define IDC_LIFE_BAR_FOOD 2200
#define IDC_LIFE_BAR_FOOD_RING 3200
#define IDC_LIFE_BAR_WATER 2201
#define IDC_LIFE_BAR_WATER_RING 3201
#define IDC_LIFE_BAR_HEALTH 2202
#define IDC_LIFE_BAR_HEALTH_RING 3202
//#define IDC_LIFE_BAR_POOP 4202
#define IDC_LIFE_BAR_Speaker 3007
#define IDC_LIFE_BAR_SeatBelt 4203
class playerHUD {
idd = -1;
duration = INFINITE;
movingEnable = 0;
fadein = 0;
fadeout = 0;
name = "playerHUD";
onLoad = "uiNamespace setVariable ['playerHUD',_this select 0]";
objects[] = {};
controls[] = {
LIFE_BAR_FOOD_RING,
LIFE_BAR_WATER_RING,
LIFE_BAR_HEALTH_RING,
LIFE_BAR_Speaker,
LIFE_BAR_SeatBelt
};
class LIFE_BAR_SeatBelt: Life_RscPicture
{
idc = IDC_LIFE_BAR_SeatBelt;
text = "";
x = 0.952292 * safezoneW + safezoneX;
y = 0.574333 * safezoneH + safezoneY;
w = 0.0331042 * safezoneW;
h = 0.0589743 * safezoneH;
};
class LIFE_BAR_Speaker: Life_RscPicture
{
idc = IDC_LIFE_BAR_Speaker;
text = "";
x = 0.952292 * safezoneW + safezoneX;
y = 0.640333 * safezoneH + safezoneY;
w = 0.0331042 * safezoneW;
h = 0.0589743 * safezoneH;
};
class LIFE_BAR_HEALTH_RING: Life_RscPicture
{
idc = IDC_LIFE_BAR_HEALTH_RING;
text = "";
x = 0.952292 * safezoneW + safezoneX;
y = 0.706333 * safezoneH + safezoneY;
w = 0.0331042 * safezoneW;
h = 0.0589743 * safezoneH;
};
class LIFE_BAR_FOOD_RING: Life_RscPicture
{
idc = IDC_LIFE_BAR_FOOD_RING;
text = "";
x = 0.952292 * safezoneW + safezoneX;
y = 0.772333 * safezoneH + safezoneY;
w = 0.0331042 * safezoneW;
h = 0.0589743 * safezoneH;
};
class LIFE_BAR_WATER_RING: Life_RscPicture
{
idc = IDC_LIFE_BAR_WATER_RING;
text = "";
x = 0.952292 * safezoneW + safezoneX;
y = 0.838333 * safezoneH + safezoneY;
w = 0.0331042 * safezoneW;
h = 0.0589743 * safezoneH;
};
};
Alles anzeigen
2. Ersetzt jetzt den Inhalt der fn_HudUpdate.sqf durch folgendes:
Code
#include "..\..\script_macros.hpp"
//---------------------------------
//By Repentz
//---------------------------------
#define INFINITE 1e+1000
#define IDC_LIFE_BAR_FOOD 2200
#define IDC_LIFE_BAR_FOOD_RING 3200
#define IDC_LIFE_BAR_WATER 2201
#define IDC_LIFE_BAR_WATER_RING 3201
#define IDC_LIFE_BAR_HEALTH 2202
#define IDC_LIFE_BAR_HEALTH_RING 3202
#define IDC_LIFE_BAR_Speaker 3007
#define IDC_LIFE_BAR_SeatBelt 4203
disableSerialization;
if(isNull LIFEdisplay) then {[] call life_fnc_hudSetup;};
//[LIFE_ID_PlayerTags,"onEachFrame"] call BIS_fnc_removeStackedEventHandler;
LIFE_ID_PlayerTags = ["LIFE_PlayerTags","onEachFrame","life_fnc_playerTags"] call BIS_fnc_addStackedEventHandler;
if(!isNil "life_seatbelt") then {
if ( vehicle player != player ) then {
if(life_seatbelt) then {
LIFEctrl(IDC_LIFE_BAR_SeatBelt) ctrlSetText "VindicateAssets\images\textures\HUD\seatbeltOn.paa";
} else {
LIFEctrl(IDC_LIFE_BAR_SeatBelt) ctrlSetText "VindicateAssets\images\textures\HUD\seatbeltOff.paa";
};
} else {
LIFEctrl(IDC_LIFE_BAR_SeatBelt) ctrlSetText "";
};
};
if(!isNil "life_fadeSound") then
{
if(life_fadeSound) then
{
LIFEctrl(IDC_LIFE_BAR_Speaker) ctrlSetText "VindicateAssets\images\textures\HUD\earplugsY.paa";
} else {
LIFEctrl(IDC_LIFE_BAR_Speaker) ctrlSetText "VindicateAssets\images\textures\HUD\earplugsN.paa";
};
};
if(!isNil "life_thirst") then
{
if (life_thirst <= 100) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water0.paa";
};
if (life_thirst <= 90) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water1.paa";
};
if (life_thirst <= 80) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water2.paa";
};
if (life_thirst <= 70) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water3.paa";
};
if (life_thirst <= 60) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water4.paa";
};
if (life_thirst <= 50) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water5.paa";
};
if (life_thirst <= 40) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water6.paa";
};
if (life_thirst <= 30) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water7.paa";
};
if (life_thirst <= 20) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water8.paa";
};
if (life_thirst <= 10) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water9.paa";
};
if (life_thirst <= 0) then
{
LIFEctrl(IDC_LIFE_BAR_WATER_RING) ctrlSetText "VindicateAssets\images\textures\HUD\water10.paa";
};
};
if (damage player >= 0) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health0.paa";
};
if (damage player >= 0.01) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health1.paa";
};
if (damage player >= 0.02) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health2.paa";
};
if (damage player >= 0.03) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health3.paa";
};
if (damage player >= 0.07) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health4.paa";
};
if (damage player >= 0.13) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health5.paa";
};
if (damage player >= 0.2) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health6.paa";
};
if (damage player >= 0.3) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health7.paa";
};
if (damage player >= 0.4) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health8.paa";
};
if (damage player >= 0.7) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health9.paa";
};
if (damage player >= 1) then
{
LIFEctrl(IDC_LIFE_BAR_HEALTH_RING) ctrlSetText "VindicateAssets\images\textures\HUD\health10.paa";
};
if(!isNil "life_hunger") then
{
if (life_hunger <= 100) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food0.paa";
};
if (life_hunger <= 90) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food1.paa";
};
if (life_hunger <= 80) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food2.paa";
};
if (life_hunger <= 70) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food3.paa";
};
if (life_hunger <= 60) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food4.paa";
};
if (life_hunger <= 50) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food5.paa";
};
if (life_hunger <= 40) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food6.paa";
};
if (life_hunger <= 30) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food7.paa";
};
if (life_hunger <= 20) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food8.paa";
};
if (life_hunger <= 10) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food9.paa";
};
if (life_hunger <= 0) then
{
LIFEctrl(IDC_LIFE_BAR_FOOD_RING) ctrlSetText "VindicateAssets\images\textures\HUD\food1.paa";
};
};
Alles anzeigen
3. Als letztes Ersetzt ihr die fn_hudSetup.sqf durch folgendes:
Code
#include "..\..\script_macros.hpp"
disableSerialization;
2 cutRsc ["playerHUD","PLAIN"];
[] call life_fnc_hudUpdate;
[] spawn
{
private["_dam"];
while {true} do
{
_dam = damage player;
waitUntil {(damage player) != _dam};
[] call life_fnc_hudUpdate;
};
};
Alles anzeigen
Optional:
Wenn ihr Anschnallgurte fürs Auto nutzt, dann könnt ihr in eurer setupActions.sqf folgendes einfügen:
(Anschnallgurte für Fahrzeuge)
Code
life_actions pushBack (player addAction["<t color = '#009900'>Put on Seatbelt</t>",life_fnc_seatbelt,"",6,false,false,"",' !life_seatbelt && vehicle player != player ']);
life_actions pushBack (player addAction["<t color = '#ff3300'>Remove Seatbelt</t>",life_fnc_seatbelt,"",6,false,false,"",' life_seatbelt && vehicle player != player ']);
Bild: