1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Fr: 16 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Tutorials & Releases

    [Tutorial] Statusbar / Infoleiste

      • Altis Life
    • Xylometachlorid
    • 20. Oktober 2015 um 14:33
    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 2. April 2016 um 21:19
      • #81

      hm, diese Datei habe ich nichtmal im Ordner. Ich habe nur eine fn_survival.sqf im Ordner. Und diese sieht so aus.

      Bash: fn_survival.sqf
      #include <macro.h>
      /*
      	Author: Bryan "Tonic" Boardwine
      	Description:
      	All survival? things merged into one thread.
      */
      private["_fnc_food","_fnc_water","_foodTime","_waterTime","_bp","_walkDis","_lastPos","_curPos"];
      _fnc_food =  {
      	if(life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";}
      	else
      	{
      		SUB(life_hunger,10);
      		[] call life_fnc_hudUpdate;
      		if(life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";};
      		switch(life_hunger) do {
      			case 30: {hint localize "STR_NOTF_EatMSG_1";};
      			case 20: {hint localize "STR_NOTF_EatMSG_2";};
      			case 10: {
      				hint localize "STR_NOTF_EatMSG_3";
      				if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      			};
      		};
      	};
      };
      _fnc_water = {
      	if(life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";}
      	else
      	{
      		SUB(life_thirst,10);
      		[] call life_fnc_hudUpdate;
      		if(life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";};
      		switch(life_thirst) do  {
      			case 30: {hint localize "STR_NOTF_DrinkMSG_1";};
      			case 20: {
      				hint localize "STR_NOTF_DrinkMSG_2";
      				if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      			};
      			case 10: {
      				hint localize "STR_NOTF_DrinkMSG_3";
      				if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      			};
      		};
      	};
      };
      [] spawn
      {
      	while {true} do
      	{
      		waitUntil {(life_drink > 0)};
      		while{(life_drink > 0)} do {
      			if(life_drink > 0.08) then {
      			"radialBlur" ppEffectEnable true;
      			"radialBlur" ppEffectAdjust[0.08, 0,0.35,0.37];
      			"radialblur" ppEffectCommit 3;
      			sleep 240;
      			life_drink = life_drink - 0.02;
      		} else {
      			"radialBlur" ppEffectEnable true;
      			"radialBlur" ppEffectAdjust[0.05, 0,0.36,0.38];
      			"radialBlur" ppEffectCommit 1;
      			sleep 180;
      			life_drink = life_drink - 0.02;
      		};
      	};
      	"radialBlur" ppEffectAdjust [0,0,0,0];
      	"radialblur" ppEffectCommit 5;
      	"radialblur" ppEffectEnable false;
      	life_drink = 0;
      	};
      }; 
      //Setup the time-based variables.
      _foodTime = time;
      _waterTime = time;
      _walkDis = 0;
      _bp = "";
      _lastPos = visiblePosition player;
      _lastPos = (SEL(_lastPos,0)) + (SEL(_lastPos,1));
      _lastState = vehicle player;
      while {true} do {
      	/* Thirst / Hunger adjustment that is time based */
      	if((time - _waterTime) > 600) then {[] call _fnc_water; _waterTime = time;};
      	if((time - _foodTime) > 850) then {[] call _fnc_food; _foodTime = time;};
      	/* Adjustment of carrying capacity based on backpack changes */
      	if(EQUAL(backpack player,"")) then {
      		life_maxWeight = life_maxWeightT;
      		_bp = backpack player;
      	} else {
      		if(!(EQUAL(backpack player,"")) && {!(EQUAL(backpack player,_bp))}) then {
      			_bp = backpack player;
      			life_maxWeight = life_maxWeightT + (round(FETCH_CONFIG2(getNumber,CONFIG_VEHICLES,_bp,"maximumload") / 4));
      		};
      	};
      	/* Check if the player's state changed? */
      	if(vehicle player != _lastState OR {!alive player}) then {
      		[] call life_fnc_updateViewDistance;
      		_lastState = vehicle player;
      	};
      	/* Check if the weight has changed and the player is carrying to much */
      	if(life_carryWeight > life_maxWeight && {!isForcedWalk player}) then {
      		player forceWalk true;
      		if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      		hint localize "STR_NOTF_MaxWeight";
      	} else {
      		if(isForcedWalk player) then {
      			player forceWalk false;
      		};
      	};
      	/* Travelling distance to decrease thirst/hunger which is captured every second so the distance is actually greater then 650 */
      	if(!alive player) then {_walkDis = 0;} else {
      		_curPos = visiblePosition player;
      		_curPos = (SEL(_curPos,0)) + (SEL(_curPos,1));
      		if(!(EQUAL(_curPos,_lastPos)) && {(vehicle player == player)}) then {
      			ADD(_walkDis,1);
      			if(EQUAL(_walkDis,650)) then {
      				_walkDis = 0;
      				SUB(life_thirst,5);
      				SUB(life_hunger,5);
      				[] call life_fnc_hudUpdate;
      			};
      		};
      		_lastPos = visiblePosition player;
      		_lastPos = (SEL(_lastPos,0)) + (SEL(_lastPos,1));
      	};
      	uiSleep 1;
      };
      [] spawn
      {
      	while {true} do
      	{
      		waitUntil {(life_drug > 0)};
      		while{(life_drug > 0)} do {
      			if(life_drug > 0.08) then {
      				sleep 60;
      				[] spawn life_fnc_suechtig;
      				hint "Sie sollten bei einen Notarzt vorbei schauen! Sie sind stark Drogensuechtig!";
      				sleep 240;
      			};
      		};
      	};
      };
      Alles anzeigen

      heißt es dann dass in allen Dateien (also repair usw. das -- [] call life_fnc_hudUpdate; -- wieder raus muß.
      Sorry wenn ich hier jetzt total blöde frage. Habe mir das Tut nun 3 mal durchgelesen. erst sollen die raus, dann wieder rein und dann wieder raus. Irgendwei stehe ich grad auf dem schlauch.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 2. April 2016 um 22:05
      • #82
      Zitat von Saturin78

      hm, diese Datei habe ich nichtmal im Ordner. Ich habe nur eine fn_survival.sqf im Ordner. Und diese sieht so aus.

      Bash: fn_survival.sqf
      #include <macro.h>
      /*
      	Author: Bryan "Tonic" Boardwine
      	Description:
      	All survival? things merged into one thread.
      */
      private["_fnc_food","_fnc_water","_foodTime","_waterTime","_bp","_walkDis","_lastPos","_curPos"];
      _fnc_food =  {
      	if(life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";}
      	else
      	{
      		SUB(life_hunger,10);
      		[] call life_fnc_hudUpdate;
      		if(life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";};
      		switch(life_hunger) do {
      			case 30: {hint localize "STR_NOTF_EatMSG_1";};
      			case 20: {hint localize "STR_NOTF_EatMSG_2";};
      			case 10: {
      				hint localize "STR_NOTF_EatMSG_3";
      				if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      			};
      		};
      	};
      };
      _fnc_water = {
      	if(life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";}
      	else
      	{
      		SUB(life_thirst,10);
      		[] call life_fnc_hudUpdate;
      		if(life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";};
      		switch(life_thirst) do  {
      			case 30: {hint localize "STR_NOTF_DrinkMSG_1";};
      			case 20: {
      				hint localize "STR_NOTF_DrinkMSG_2";
      				if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      			};
      			case 10: {
      				hint localize "STR_NOTF_DrinkMSG_3";
      				if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      			};
      		};
      	};
      };
      [] spawn
      {
      	while {true} do
      	{
      		waitUntil {(life_drink > 0)};
      		while{(life_drink > 0)} do {
      			if(life_drink > 0.08) then {
      			"radialBlur" ppEffectEnable true;
      			"radialBlur" ppEffectAdjust[0.08, 0,0.35,0.37];
      			"radialblur" ppEffectCommit 3;
      			sleep 240;
      			life_drink = life_drink - 0.02;
      		} else {
      			"radialBlur" ppEffectEnable true;
      			"radialBlur" ppEffectAdjust[0.05, 0,0.36,0.38];
      			"radialBlur" ppEffectCommit 1;
      			sleep 180;
      			life_drink = life_drink - 0.02;
      		};
      	};
      	"radialBlur" ppEffectAdjust [0,0,0,0];
      	"radialblur" ppEffectCommit 5;
      	"radialblur" ppEffectEnable false;
      	life_drink = 0;
      	};
      }; 
      //Setup the time-based variables.
      _foodTime = time;
      _waterTime = time;
      _walkDis = 0;
      _bp = "";
      _lastPos = visiblePosition player;
      _lastPos = (SEL(_lastPos,0)) + (SEL(_lastPos,1));
      _lastState = vehicle player;
      while {true} do {
      	/* Thirst / Hunger adjustment that is time based */
      	if((time - _waterTime) > 600) then {[] call _fnc_water; _waterTime = time;};
      	if((time - _foodTime) > 850) then {[] call _fnc_food; _foodTime = time;};
      	/* Adjustment of carrying capacity based on backpack changes */
      	if(EQUAL(backpack player,"")) then {
      		life_maxWeight = life_maxWeightT;
      		_bp = backpack player;
      	} else {
      		if(!(EQUAL(backpack player,"")) && {!(EQUAL(backpack player,_bp))}) then {
      			_bp = backpack player;
      			life_maxWeight = life_maxWeightT + (round(FETCH_CONFIG2(getNumber,CONFIG_VEHICLES,_bp,"maximumload") / 4));
      		};
      	};
      	/* Check if the player's state changed? */
      	if(vehicle player != _lastState OR {!alive player}) then {
      		[] call life_fnc_updateViewDistance;
      		_lastState = vehicle player;
      	};
      	/* Check if the weight has changed and the player is carrying to much */
      	if(life_carryWeight > life_maxWeight && {!isForcedWalk player}) then {
      		player forceWalk true;
      		if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
      		hint localize "STR_NOTF_MaxWeight";
      	} else {
      		if(isForcedWalk player) then {
      			player forceWalk false;
      		};
      	};
      	/* Travelling distance to decrease thirst/hunger which is captured every second so the distance is actually greater then 650 */
      	if(!alive player) then {_walkDis = 0;} else {
      		_curPos = visiblePosition player;
      		_curPos = (SEL(_curPos,0)) + (SEL(_curPos,1));
      		if(!(EQUAL(_curPos,_lastPos)) && {(vehicle player == player)}) then {
      			ADD(_walkDis,1);
      			if(EQUAL(_walkDis,650)) then {
      				_walkDis = 0;
      				SUB(life_thirst,5);
      				SUB(life_hunger,5);
      				[] call life_fnc_hudUpdate;
      			};
      		};
      		_lastPos = visiblePosition player;
      		_lastPos = (SEL(_lastPos,0)) + (SEL(_lastPos,1));
      	};
      	uiSleep 1;
      };
      [] spawn
      {
      	while {true} do
      	{
      		waitUntil {(life_drug > 0)};
      		while{(life_drug > 0)} do {
      			if(life_drug > 0.08) then {
      				sleep 60;
      				[] spawn life_fnc_suechtig;
      				hint "Sie sollten bei einen Notarzt vorbei schauen! Sie sind stark Drogensuechtig!";
      				sleep 240;
      			};
      		};
      	};
      };
      Alles anzeigen

      heißt es dann dass in allen Dateien (also repair usw. das -- [] call life_fnc_hudUpdate; -- wieder raus muß.
      Sorry wenn ich hier jetzt total blöde frage. Habe mir das Tut nun 3 mal durchgelesen. erst sollen die raus, dann wieder rein und dann wieder raus. Irgendwei stehe ich grad auf dem schlauch.

      Es gibt eine komplizierte ([] call life..... rein) und eine unkomplizierte (die ich beschrieben habe). Welche du davon nimmst ist dein Ding. Funktionieren tun beide, die eine geht NIE weg, die andere aktualisiert sich nach jeder Aktion mit Progress-Bar usw.

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 2. April 2016 um 22:30
      • #83

      Du meinst doch diese Änderung, oder?

      Bash: monitor.sqf
      /*
      Player Status Bar with Icons v 1.36
      Author: Dart_Rogue
      Mod: Epoch
      https://github.com/DarthRogue/Status_Bar
      
      
      
      
      Transfered to Altis Life + add   SBUserhy
      */
      waitUntil {!(isNull (findDisplay 46))};
      disableSerialization;
      
      
      
      
      /*_rscLayer = "osefStatusBar" call BIS_fnc_rscLayer;
      _rscLayer cutRsc["osefStatusBar","PLAIN"];
      */
      4 cutRsc ["osefStatusBar","PLAIN"];
      
      
      
      
      //systemChat format["Willkommen auf dem Server", _rscLayer];
      
      
      
      
      [] spawn {
          sleep 2;
              _counter = 360;
              _timeSinceLastUpdate = 0;
              _colourDefault  = parseText "#ADADAD"; //set your default colour here
      		_colour100 		= parseText "#33FF00";
      		_colour90 		= parseText "#33FF00";
      		_colour80 		= parseText "#33FF00";
      		_colour70 		= parseText "#33FF00";
      		_colour60 		= parseText "#66FF00";
      		_colour50 		= parseText "#CCFF00";
      		_colour40 		= parseText "#FFFF00";
      		_colour30 		= parseText "#FFFF00";
      		_colour20 		= parseText "#CC0000";
      		_colour10 		= parseText "#CC0000";
      		_colour0 		= parseText "#CC0000";
      		_colourDead 	= parseText "#000000";
              _colourUpTimeHUD  = parseText "#CCCCCC";
      
      
      
      
      while {true} do 
      	{
      		sleep 1;
      		//moved the creation of the status bar inside the loop and create it if it is null,
      		//this is to handle instance where the status bar is disappearing 
      		if(isNull ((uiNamespace getVariable "statusBar")displayCtrl 55555)) then
      		{
      			diag_log "statusbar is null create";
      			disableSerialization;
      			_rscLayer = "statusBar" call BIS_fnc_rscLayer;
      			_rscLayer cutRsc["statusBar","PLAIN"];
      		};
              //initialize variables and set values
              //neu
              _CivplayHUD = civilian countSide playableUnits;							//1
              _WestplayHUD = west countSide playableUnits;							//2
              _IndepplayHUD = independent countSide playableUnits;					//3
              _EastplayHUD = east countSide playableUnits;							//4
              _grid = mapGridPosition  player;										//5
              _xx = (format[_grid]) select  [0,3];									//6
              _yy = (format[_grid]) select  [3,3];									//7
              _hunger = round(life_hunger);											//8
              _thirst = round(life_thirst);											//9
              _damage = round ((1 - (damage player)) * 100);							//10
              _FpsHud = round (diag_fps);												//11
              _stamina = round(getFatigue player * 100) / 100;						//12
              _UpTimeHUD = [serverTime,"HH:MM:SS"] call BIS_fnc_secondsToString;		//13
      		_barcash = [life_cash] call life_fnc_numberText;						//14
      		_bankcash = [life_atmbank] call life_fnc_numberText;					//15
              //neu ende
      		_toxPercent = round(life_thirst);
      		_energy = round(life_thirst);
      		_energyPercent =  floor((_energy / 2500 ) * 100);
      		_players = (count playableUnits -1);
              //Colour coding
      		//Hunger
      		_colourHunger = _colourDefault;
      		switch true do {
      			case(_hunger >= 100) : {_colourHunger = _colour70;};
      			case((_hunger >= 90) && (_hunger < 100)) :  {_colourHunger =  _colour70;};
      			case((_hunger >= 80) && (_hunger < 90)) :  {_colourHunger =  _colour70;};
      			case((_hunger >= 70) && (_hunger < 80)) :  {_colourHunger =  _colour70;};
      			case((_hunger >= 60) && (_hunger < 70)) :  {_colourHunger =  _colour60;};
      			case((_hunger >= 50) && (_hunger < 60)) :  {_colourHunger =  _colour50;};
      			case((_hunger >= 40) && (_hunger < 50)) :  {_colourHunger =  _colour40;};
      			case((_hunger >= 30) && (_hunger < 40)) :  {_colourHunger =  _colour30;};
      			case((_hunger >= 20) && (_hunger < 30)) :  {_colourHunger =  _colour20;};
      			case((_hunger >= 10) && (_hunger < 20)) :  {_colourHunger =  _colour10;};
      			case((_hunger >= 1) && (_hunger < 10)) :  {_colourHunger =  _colour0;};
      			case(_hunger < 1) : {_colourHunger =  _colourDead;};
      		};
      		//Thirst
      		_colourThirst = _colourDefault;		
      		switch true do{
      			case(_thirst >= 100) : {_colourThirst = _colour70;};
      			case((_thirst >= 90) && (_thirst < 100)) :  {_colourThirst =  _colour70;};
      			case((_thirst >= 80) && (_thirst < 90)) :  {_colourThirst =  _colour70;};
      			case((_thirst >= 70) && (_thirst < 80)) :  {_colourThirst =  _colour70;};
      			case((_thirst >= 60) && (_thirst < 70)) :  {_colourThirst =  _colour60;};
      			case((_thirst >= 50) && (_thirst < 60)) :  {_colourThirst =  _colour50;};
      			case((_thirst >= 40) && (_thirst < 50)) :  {_colourThirst =  _colour40;};
      			case((_thirst >= 30) && (_thirst < 40)) :  {_colourThirst =  _colour30;};
      			case((_thirst >= 20) && (_thirst < 30)) :  {_colourThirst =  _colour20;};
      			case((_thirst >= 10) && (_thirst < 20)) :  {_colourThirst =  _colour10;};
      			case((_thirst >= 1) && (_thirst < 10)) :  {_colourThirst =  _colour0;};
      			case(_thirst < 1) : {_colourThirst =  _colourDead;};
      		};
              //Damage
      		_colourDamage = _colourDefault;
      		switch true do {
      			case(_damage >= 100) : {_colourDamage = _colour70;};
      			case((_damage >= 90) && (_damage < 100)) : {_colourDamage =  _colour70;};
      			case((_damage >= 80) && (_damage < 90)) : {_colourDamage =  _colour70;};
      			case((_damage >= 70) && (_damage < 80)) : {_colourDamage =  _colour70;};
      			case((_damage >= 60) && (_damage < 70)) : {_colourDamage =  _colour60;};
      			case((_damage >= 50) && (_damage < 60)) : {_colourDamage =  _colour50;};
      			case((_damage >= 40) && (_damage < 50)) : {_colourDamage =  _colour40;};
      			case((_damage >= 30) && (_damage < 40)) : {_colourDamage =  _colour30;};
      			case((_damage >= 20) && (_damage < 30)) : {_colourDamage =  _colour20;};
      			case((_damage >= 10) && (_damage < 20)) : {_colourDamage =  _colour10;};
      			case((_damage >= 1) && (_damage < 10)) : {_colourDamage =  _colour0;};
      			case(_damage < 1) : {_colourDamage =  _colourDead;};
      		};
              //Stamina
      		_colourStamina = _colourDefault;
      		switch true do{
      			case(_Stamina < 0.01) : {_colourStamina = _colour70;};
      			case((_Stamina >= 0.01) && (_Stamina < 0.3)) :  {_colourStamina =  _colour70;};
      			case((_Stamina >= 0.3) && (_Stamina < 0.6)) :  {_colourStamina =  _colour30;};
      			case(_Stamina >= 0.6) : {_colourStamina =  _colour0;};
      		};
              //FPS
              _colourFps = _colourDefault;
              switch true do {
      			case(_FpsHud >= 50) : {_colourFps = _colour70;};
      			case((_FpsHud >= 30) && (_FpsHud < 50)) : {_colourFps =  _colour30;};
      			case((_FpsHud >= 1) && (_FpsHud < 30)) : {_colourFps =  _colour0;};
      			case(_FpsHud < 1) : {_colourFps =  _colourDead;};
      		};
      		//  Kompass im Hud //////////////////////////////////////////
      		_compass = "";
      		_mydir = getDirVisual player;
      		switch (true) do {
      			case ((_mydir >= 348.75) || (_mydir < 11.25)) : {_compass 	= "N"};
      			case ((_mydir >= 11.25) && (_mydir < 33.75)) : {_compass 	= "NNO"};
      			case ((_mydir >= 33.75) && (_mydir < 56.25)) : {_compass 	= "NO"};
      			case ((_mydir >= 56.25) && (_mydir < 78.75)) : {_compass 	= "ONO"};
      			case ((_mydir >= 78.75) && (_mydir < 101.25)) : {_compass 	= "O"};
      			case ((_mydir >= 101.25) && (_mydir < 123.75)) : {_compass 	= "OSO"};
      			case ((_mydir >= 123.75) && (_mydir < 146.25)) : {_compass 	= "SO"};
      			case ((_mydir >= 146.25) && (_mydir < 168.75)) : {_compass 	= "SSO"};
      			case ((_mydir >= 168.75) && (_mydir < 191.25)) : {_compass 	= "S"};
      			case ((_mydir >= 191.25) && (_mydir < 213.75)) : {_compass 	= "SSW"};
      			case ((_mydir >= 213.75) && (_mydir < 236.25)) : {_compass 	= "SW"};
      			case ((_mydir >= 236.25) && (_mydir < 258.75)) : {_compass 	= "WSW"};
      			case ((_mydir >= 258.75) && (_mydir < 281.25)) : {_compass 	= "W"};
      			case ((_mydir >= 281.25) && (_mydir < 303.75)) : {_compass 	= "WNW"};
      			case ((_mydir >= 303.75) && (_mydir < 326.25)) : {_compass 	= "NW"};
      			case ((_mydir >= 326.25) && (_mydir < 348.75)) : {_compass 	= "NNW"};
      			default {_compass = ""};
      		};
          ((uiNamespace getVariable "osefStatusBar")displayCtrl 555556)ctrlSetStructuredText parseText 
                  format["<t shadow='1' shadowColor='#000000'><img size='1.6' shadowColor='#000000' image='icons\Statusbar\civ.paa' />%1 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\polizei.paa' />%2 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\drk.paa' />%3 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\food.paa' />%4 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\thirst.paa' />%6 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\life.paa' color='%9'/>%8 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\money.paa' />%10 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\bank.paa' />%12 
      			<img size='1.6' shadowColor='#000000' image='icons\Statusbar\monitor_fps.paa' color='%15'/>%14
      			<img size='1.6'  shadowColor='#000000' image='icons\Statusbar\restart.paa' color='%17'/>%16
      			</t>",_CivplayHUD,_WestplayHUD,_IndepplayHUD,_hunger, _colourHunger, _thirst, _colourThirst, _damage, _colourDamage, _barcash,_colourUpTimeHUD, _bankcash,_colourUpTimeHUD, _FpsHud, _colourFps, _UpTimeHUD, _colourUpTimeHUD,_players,_energyPercent,_colourDefault];
          //</t>",_CivplayHUD,_WestplayHUD,_IndepplayHUD, _compass, format["%1/%2",_xx,_yy], _hunger, _colourHunger, _thirst, _colourThirst, _damage, _colourDamage, _stamina, _colourStamina, _FpsHud, _colourFps, _UpTimeHUD, _colourUpTimeHUD,_players,_energyPercent,_colourDefault];
          //<img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#CC0000'/>%4  
      	//<img size='1.6' shadowColor='#000000' image='icons\Statusbar\monitor_fps.paa' color='%15'/>%14
      	//<img size='1.6' shadowColor='#000000' image='icons\Statusbar\monitor_fps.paa' color='%15'/>%14
      	}; 
      };
      Alles anzeigen

      Weil so habe ich das ja drin. Nur kommt nach dem Beratbeiten etc. dann immer diese hässliche alte Statusbar. Ok, das Logo kommt nun auch endlich, aber das sollte ohne diese originale Statusbar erscheinen. Und wenn ich eben in der Function.h das -- class hudUpdate {}; -- mit // ausklammere kommt die Leiste nimmer , das Logo auch nimmer und dafür alle paar Minuten die Fehlermeldung vom ersten meiner Posts.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 2. April 2016 um 23:34
      • #84

      @Motombo Besten Dank, habe es geschafft. Habe einfach im gesammten Ordner alle call HudUpdate mit // ausgeklammert und nun geht alles ohne Fehlermeldung und die Leiste verschwindet nimmer. Super.

      Nur weißt du vielleicht wie ich nun das Logo da unten wieder in die Mitte bekomme? Weil jetzt ist das wieder weg.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • chris89
      Schüler
      Reaktionen
      15
      Trophäen
      10
      Beiträge
      108
      • 16. Mai 2016 um 06:48
      • #85

      Ich weis nicht ob ich etwas überlesen habe aber ich muss folgende Fragen.

      Und zwar die leiste funktioniert wenn ich Spawn einwandfrei.

      Jetzt aber wenn ich Respawn ist sie weg kommt nicht wieder ich hab alle so gemacht wie es in den tut steht.

      Bin nochmal alles durchgegangen komm aber nicht auf den Fehler.

      Weis jemand wo ich genau suchen muss ?

      Gruß

      Chris

    • Jayster(J)oker
      Frischling
      Trophäen
      10
      Beiträge
      9
      • 25. Mai 2016 um 13:46
      • #86

      Guten Tag,
      bei mir funktioniert der Script mit der Statusbar so gut wie ohne Probleme. Zwei kleine Fehler/Probleme haben sie bei mir eingeschlichen und weiß nicht wie ich diese fixen kann.

      1. Nachdem man bei mir eine Aktion wie z.B. Reparieren, Wiederbeleben, Einnehmen etc. ausgeführt hat, wird einem die Statusbar nicht mehr angegeben. (In jeder dieser Datein befindet sich der Widerruf [] call life_fnc_hudUpdate; )

      2. Mir ist leider die Variable für den Countdown vom Serverneustart unbekannt. ... ?( Würde mich freuen, wenn man mir diesen geben kann. (Die Standard Variable zeigt leider bei mir nur an, wie lange man schon auf dem Server online ist.)

      [Verwende die Version: 4.4]

      Mit freundlichen Grüßen,
      Jayster(J)oker

      Mit freundlichen Grüßen,
      Jayster(J)oker

    • xDreamzZ
      Anfänger
      Reaktionen
      21
      Trophäen
      11
      Beiträge
      81
      • 25. Mai 2016 um 17:38
      • #87

      @Jayster(J)oker

      Zu Punkt 2: Die Standart variable zeigt an seid wann der Server läuft. Nur mal so als edit. Weiter kann ich dir nicht helfen sorry.

      Gruß

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 25. Mai 2016 um 17:41
      • #88

      es gibt keine Variable die die restzeit anzeigt. Du must das berechnen lassen. Also zB. Der Server lauft 6h, dann minus die zeit die er schon lauft und bekommst so die restzeit angezeigt.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Jayster(J)oker
      Frischling
      Trophäen
      10
      Beiträge
      9
      • 25. Mai 2016 um 18:48
      • #89
      Zitat von Saturin78

      es gibt keine Variable die die restzeit anzeigt. Du must das berechnen lassen. Also zB. Der Server lauft 6h, dann minus die zeit die er schon lauft und bekommst so die restzeit angezeigt.

      Okey, klingt plausibel... . Nächste Frage wäre wie so eine Variable geschrieben wird. Würde mich sehr freuen, wenn man mir diesen geben könnte.

      Mit freundlichen Grüßen,
      Jayster(J)oker

      Mit freundlichen Grüßen,
      Jayster(J)oker

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 25. Mai 2016 um 19:06
      • #90

      Das erstellen bzw. verwenden von Variablen sind Basics in der Programmierung. Wenn du nicht weist wie man Sie verwendet empfiehlt es sich, sich erst mal mit dem Thema auseinanderzusetzen.

      Folgender Link wird dir helfen: [ArmA 3 Scripting für Einsteiger] SQF Guide - ArmA 3 Scripting


      Und an alle Neulinge da draußen .... wenn Ihr die Scripte und deren Ablauf nicht versteht solltet Ihr sie nicht verwenden

      Lernt die Basics!!! dash

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

      kein Support per PM | schnelle Fehleranalyse >> RPT log Filter

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 25. Mai 2016 um 19:20
      • #91

      naja, jeder hat mal klein angefangen.

      ich schaue heute Abend wenn ich von der Schicht heim komme ma danach.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 25. Mai 2016 um 19:34
      • #92

      du könntest auch die Zeit aus [lexicon]extDB[/lexicon] auslesen und je nachdem wie spät es ist, den Restarttimer anzeigen lassen. So lassen sich auch unregelmäßige Restarts umsetzen

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • xDreamzZ
      Anfänger
      Reaktionen
      21
      Trophäen
      11
      Beiträge
      81
      • 29. Mai 2016 um 13:28
      • #93

      Hallo,

      ich habe ein Problem:

      Es funktioniert alles wunderbar außer natürlich das das es neu dem Respawnen oder Tod neu laden soll. Ich habe keine Client Errors und auch keine RPT Errors. Ich weis auch was mein Problem ist.

      Das hier ist meine hudUpdate:


      Code: fn_hudUpdate.sqf
      /*
      	File: fn_hudUpdate.sqf
      	Author: Bryan "Tonic" Boardwine
      	Description:
      	Updates the HUD when it needs to.
      */
      private["_ui","_food","_water","_health"];
      disableSerialization;
      
      
      
      
      _ui = uiNameSpace getVariable ["playerHUD",displayNull];
      if(isNull _ui) then {[] call life_fnc_hudSetup;};
      _food = _ui displayCtrl 23500;
      _water = _ui displayCtrl 23510;
      _health = _ui displayCtrl 23515;
      
      
      
      
      
      
      
      //Update food
      _food ctrlSetText format["%1", life_hunger];
      _food ctrlCommit 0;
      //Update Water
      _water ctrlSetText format["%1", life_thirst];
      _water ctrlCommit 0;
      //Update Health
      _health ctrlSetText format["%1", round((1 - (damage player)) * 100)];
      _health ctrlCommit 0;
      Alles anzeigen

      Ich hatte vorher keine Serverinfoleiste sondern lediglich 3 Infobilder mit Hunger, Wasser und Lebensanzeige. Diese waren mit meiner ui.hpp verknüpft.

      Wie unschwer zu erkennen ist aktualisiert er also _food bla bla mit der idc 23500
      Wie ist es den hier aufgebaut? Gibt es keine idc´s? Wurde es anders gemacht. Weil es bringt mir ja nix wen ich in jede Datei "[] call hudUpdate" blabla reinschreibe wen er völlig andere idc´s nehmen will.
      Hat jemand paar Ansätze für mich?
      Danke

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 29. Mai 2016 um 14:07
      • #94

      für alle die probs mit dem neuladen nach tod oder so haben hier eine simple lösung^^

      in der fn_hudUpdate.sqf das hier ganz unten eintragen:

      Code
      //save statusBar
      4 cutRsc ["osefStatusBar","PLAIN"];

      funktioniert natürlich nur wenn ihr folgendes abgeändert habt

      Code
      _rscLayer = "osefStatusBar" call BIS_fnc_rscLayer;
      _rscLayer cutRsc["osefStatusBar","PLAIN"];

      ändern in:

      Code
      4 cutRsc ["osefStatusBar","PLAIN"];

      https://www.fs-life.de

    • xDreamzZ
      Anfänger
      Reaktionen
      21
      Trophäen
      11
      Beiträge
      81
      • 29. Mai 2016 um 14:35
      • #95

      Danke! Es funktioniert nur ich bekomme einen Client Error?


      Code
      14:31:39 Error in expression <ormat["Willkommen auf !", _rscLayer];
      [] spawn {
      sleep 2;
      _counter>
      14:31:39   Error position: <_rscLayer];
      [] spawn {
      sleep 2;
      _counter>
      14:31:39   Error Nicht definierte Variable in Ausdruck: _rsclayer

      // Gelöst, Sorry

      Nochmal Danke!

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 29. Mai 2016 um 14:59
      • #96

      das rsclayer muss auch aus der text zeile raus

      https://www.fs-life.de

    • tklein
      Fortgeschrittener
      Reaktionen
      9
      Trophäen
      9
      Beiträge
      261
      • 5. Juni 2016 um 01:49
      • #97

      die Status bar verschwindet beim umwandeln ! jemand ne idee

      tklein104

      TS3: 94.250.223.15:15065

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 10. Juni 2016 um 07:22
      • #98

      Hi,

      seit dem Update auf 1.60 verschwindet die Statusbar einfach so im Spiele, ohne was zu machen oder so. Es erscheint auch kein Fehler. Sie wird irgendwie auf einmal nicht mehr angezeigt. Das seltsame ist dass ich das noch nie selbst erlebt habe, wurde mir von Spielern berichtet, aber kann mir das garnicht erklären. Weiß jemand was, ob es da vielleicht wirklich Probleme geben soltle die mit dem Update zusammen hängen?

      MfG

      Satuin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • xDreamzZ
      Anfänger
      Reaktionen
      21
      Trophäen
      11
      Beiträge
      81
      • 10. Juni 2016 um 14:37
      • #99
      Zitat von Saturin78

      Hi,

      seit dem Update auf 1.60 verschwindet die Statusbar einfach so im Spiele, ohne was zu machen oder so. Es erscheint auch kein Fehler. Sie wird irgendwie auf einmal nicht mehr angezeigt. Das seltsame ist dass ich das noch nie selbst erlebt habe, wurde mir von Spielern berichtet, aber kann mir das garnicht erklären. Weiß jemand was, ob es da vielleicht wirklich Probleme geben soltle die mit dem Update zusammen hängen?

      MfG

      Satuin78

      Moin, ich könnt mir nicht erklären wie das passiert. Habe damit keine Probleme. Meine spontan Idee wäre das du einen Timer erstellst das er z.b jede 10 Minuten einfach mal das hud aktuallisiert, Wie oben im Tutorial """[] call life_fnc_hudUpdate;"

      Gruß

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 10. Juni 2016 um 14:43
      • #100

      So wie hier beschrieben, funktioniert es bei mir Problemlos unter 4.0, 4.3 und 4.4

      weis nicht, was Ihr da falsch macht. Und ja, Ich habe es ausführlich getestet unter diesen Versionen. Gab nie Probleme.

      [Tutorial] Statusbar / Infoleiste

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

      kein Support per PM | schnelle Fehleranalyse >> RPT log Filter

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Ähnliche Themen

    • MOCleaner: Mission Object Cleaner

      • SBuserhy
      • 5. Juni 2016 um 16:18
      • Entwicklung & Codeschnipsel
    • Hud für die 4.4 Ändern?

      • Andre-2
      • 23. August 2016 um 17:27
      • Hilfeforum
    • StatusLeiste

      • Scrpt
      • 28. September 2016 um 15:36
      • Hilfeforum

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™