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
Do: 22 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
    1. offizieller Beitrag
    • Xylometachlorid
      Nerd
      Reaktionen
      402
      Trophäen
      11
      Beiträge
      584
      • 20. Oktober 2015 um 14:33
      • #1

      Hallo,

      Heute zeige ich euch, wie ihr in euer Altis Life eine Infoleiste reinmacht.

      Sieht dann ungefär so aus:
      FPS: X | Zivilisten: X | Polizisten: X | Sanitäter: X | ADAC: X | Position: X

      • erstellt eine neue sqf datei namens monitor.sqf in den Ordner Altis_Life.Altis\scripts (falls ihr den Ordner nicht habt dann erstellt ihn) mit folgendem Inhalt:
        Code
        waitUntil {!(isNull (findDisplay 46))};
        disableSerialization;
        
        
        
        
        _rscLayer = "osefStatusBar" call BIS_fnc_rscLayer;
        _rscLayer cutRsc["osefStatusBar","PLAIN"];
        systemChat format["Willkommen auf dem Server", _rscLayer];
        
        
        
        
        [] spawn {
            sleep 5;
            _counter = 360;
            _timeSinceLastUpdate = 0;
            while {true} do
            {
                sleep 5;
                _counter = _counter - 1;
                        ((uiNamespace getVariable "osefStatusBar")displayCtrl 1000)ctrlSetText format["FPS: %1 | Polizei: %2 | Zivilisten: %3 | Sanitäter: %4 | ADAC: %5 | Position: %6", round diag_fps, west countSide playableUnits, civilian countSide playableUnits, independent countSide playableUnits, east countSide playableUnits, mapGridPosition player, _counter];
            }; 
        };
        Alles anzeigen


      • Erstellt eine neue hpp datei namens statusBar.hpp in den Ordner dialog mit folgendem Inhallt:
        C
        #define ST_RIGHT 0x01
        
        
        
        
        class osefStatusBar {
            idd = -1;
            onLoad = "uiNamespace setVariable ['osefStatusBar', _this select 0]";
            onUnload = "uiNamespace setVariable ['osefStatusBar', objNull]";
            onDestroy = "uiNamespace setVariable ['osefStatusBar', objNull]";
            fadein = 0;
            fadeout = 0;
            duration = 10e10;
            movingEnable = 0;
            controlsBackground[] = {};
            objects[] = {};
            class controls {
                class statusBarText {
                    idc = 1000;
                    x = safezoneX + safezoneW - 1;
                    y = safezoneY + safezoneH - 0.08;
                    w = 1;
                    h = 0.04;
                    shadow = 2;
                    colorBackground[] = { 1, 0.3, 0, 0.0 };  // uncomment and increase 4th number to have a background
                    font = "PuristaSemibold";
                    size = 0.03;
                    type = 13;
                    style = 1;
                    text="Lade Serverinfo...";
                    class Attributes {
                        align="right";
                        color = "#FFFFFF";
                    };
                };
            };
        };
        Alles anzeigen
      • Geht in eure description.ext und fügt unter 'class RscTitles' folgendes ein:
        #include "dialog\statusBar.hpp"
      • 4. Geht in eure init (Altis_Life.Altis\init.sqf) und fügt ganz unten folgendes ein:
        [] execVM "scripts\monitor.sqf";
      • Geht in in diese Datein (falls vorhanden) :


        core\action : fn_repairTruck.sqf + fn_impoundAction.sqf + fn_processAction.sqf + fn_captureHideout.sqf
        core\items : fn_boltcutter.sqf + fn_lockpick.sqf + fn_defuseKit.sqf
        (falls ihr eins nicht habt ist es nicht so schlimm)

        und fügt bei JEDEM exitWith {}; //in die Kammern

        das ein : _ui = "osefStatusBar" call BIS_fnc_rscLayer;_ui cutRsc["osefStatusBar","PLAIN"]; das sieht dann ungefähr so aus:
        exitWith {_ui = "osefStatusBar" call BIS_fnc_rscLayer;_ui cutRsc["osefStatusBar","PLAIN"];};

      • Fertig.


      Quelle Tutorial & Script: @Noldy


      Grüße
      Xylometachlorid

      extDB2 Tutorial: extDB2 Einrichten - so geht's richtig

      Einmal editiert, zuletzt von Xylometachlorid (23. Juli 2016 um 21:20)

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 11. November 2015 um 16:09
      • #2

      Ich werd mal dein Beitrag hier ein wenig pushen
      +1 für das tolle Basisscript, aber ein Großteil der Leute wollen ja die Epoch Toolbar im Altis Life haben. Wie das geht? Ganz einfach, ein paar Variablen hinzufügen, einige ändern, viel entfernen und schon kommt folgendes dabei raus.

      nodezone.net/attachment/162/

      Wie, Wo, Was macht die Toolbar?

      - Spieleranzahl aller 4 Fraktionen werden angezeigt. Die Farben für die Fraktionen können im Code verändert werden, kein extra Bild benötigt.
      - Essen, Trinken, Heilung, Ausdauer, GPS und FPS sind mit den Altis-Life Werten angepasst worden
      - Dynamische Symbolfarben, genauer gesagt, Ampelfarben(Rot,Gelb,Grün)
      - Serveruptime ... also die Zeit wie lange der Server schon läuft (kein Countdown u. kein Farbwechsel)

      Entwickelt & getestet mit Altis Life 4.0 müßte aber auch auf der 3.1.4.8 funktionieren

      Das Script ist eine Erweiterung zu dem Script von Xylometaclorid, folgt den Anweisungen im ersten Beitrag und nehmt erst dann die folgenden Änderungen vor.

      1.) Das Script von der Epoch Toolbar stammt von Darth_Rogue und wurde für Epoch entwickelt: Github: Statusbar für Epoch
      2.) Nehmt die folgenden Änderungen daran vor.
      3.) Schritt 5 im ersten Beitrag komplett rückgängig machen. Also entfernt _ui = "osefStatusBar" call BIS_fnc_rscLayer;_ui cutRsc["osefStatusBar","PLAIN"]; in den Dateien wieder.

      Fügt am Ende der Dateien folgendes ein:

      [] call life_fnc_hudUpdate;

      das macht ihr auch noch bei folgenden Dateien:
      - core/medical/fn_onPlayerRespawn.sqf
      - core/medical/fn_onPlayerkilled.sqf
      - core/housing/fn_copBreakDoor.sqf

      Anschließend ersetzt Ihr folgende Dateien:

      dialog\Statusbar.hpp --> vollständig ersetzen mit folgendem Script

      Code: dialog/Statusbar.hpp
      #define ST_RIGHT 0x01
      class osefStatusBar {
          idd = -1;
          onLoad = "uiNamespace setVariable ['osefStatusBar', _this select 0]";
          onUnload = "uiNamespace setVariable ['osefStatusBar', objNull]";
          onDestroy = "uiNamespace setVariable ['osefStatusBar', objNull]";
          fadein = 0;
          fadeout = 0;
          duration = 10e10;
          movingEnable = 0;
          controlsBackground[] = {};
          objects[] = {};
          class controls {
              class statusBarText {
              idc = 555556;
      	x = safezoneX + safezoneW - 0.85;
      	y = safezoneY + safezoneH - 0.08;
      	w = 0.85;
      	h = 0.056;
              shadow = 2;
      	colorBackground[] = { 0, 0, 0, 0.5 };
      	font = "PuristaSemibold";
      	size = 0.03;
      	type = 13;
      	style = 1;
      	text="";
      	class Attributes {
      	align="left";
      	color = "#CCCCCC";//#5fe60c
                  };
              };
          };
      };
      Alles anzeigen

      Fortsetzung im nächsten Kommentar !!!

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

      8 Mal editiert, zuletzt von SBuserhy (26. Juli 2016 um 21:21)

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 11. November 2015 um 18:16
      • #3

      scripts\monitor.sqf --> vollständig ersetzen mit folgendem Script

      Code
      /*
      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"];
      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;
              _WestplayHUD = west countSide playableUnits;
              _IndepplayHUD = independent countSide playableUnits;
              _EastplayHUD = east countSide playableUnits;
              _grid = mapGridPosition  player;
              _xx = (format[_grid]) select  [0,3];
              _yy = (format[_grid]) select  [3,3];
              _hunger = round(life_hunger);
              _thirst = round(life_thirst);
              _damage = round ((1 - (damage player)) * 100);
              _FpsHud = round (diag_fps);
              _stamina = round(getFatigue player * 100) / 100;
              _UpTimeHUD = [serverTime,"HH:MM:SS"] call BIS_fnc_secondsToString;
              //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 >= 60) : {_colourFps = _colour70;};
      			case((_FpsHud >= 30) && (_FpsHud < 60)) : {_colourFps =  _colour30;};
      			case((_FpsHud >= 1) && (_FpsHud < 30)) : {_colourFps =  _colour0;};
      			case(_FpsHud < 1) : {_colourFps =  _colourDead;};
      		};
          ((uiNamespace getVariable "osefStatusBar")displayCtrl 555556)ctrlSetStructuredText parseText 
                  format["<t shadow='1' shadowColor='#000000'><img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#FFFFFF'/>%1 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#3399FF'/>%2 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#009933'/>%3 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#CC0000'/>%4  <img size='1.6' shadowColor='#000000' image='icons\Statusbar\ico_map.paa'/>%5 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\hunger.paa' color='%7'/>%6 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\thirst.paa' color='%9'/>%8 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\damage.paa' color='%11'/>%10 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\stamina.paa' color='%13'/>%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,_EastplayHUD, format["%1/%2",_xx,_yy], _hunger, _colourHunger, _thirst, _colourThirst, _damage, _colourDamage, _stamina, _colourStamina, _FpsHud, _colourFps, _UpTimeHUD, _colourUpTimeHUD,_players,_energyPercent,_colourDefault];
          }; 
      };
      Alles anzeigen


      Missionsordner:

      3.) Ordner "Icons" erstellen und die folgenden Dateien einfügen (siehe Dateianhang).

      Icons/Statusbar/players.paa
      Icons/Statusbar/ico_map.paa
      Icons/Statusbar/hunger.paa
      Icons/Statusbar/thirst.paa
      Icons/Statusbar/damage.paa
      Icons/Statusbar/stamina.paa
      Icons/Statusbar/monitor_fps.paa
      Icons/Statusbar/restart.paa

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

      2 Mal editiert, zuletzt von SBuserhy (26. Juli 2016 um 21:21)

    • PoweredByte
      Amateur
      Reaktionen
      36
      Trophäen
      11
      Beiträge
      261
      • 11. November 2015 um 18:20
      • #4

      Gibt es eine Möglichkeit dadraus ein Counter zu machen?, also z.B das er von 6std runterzählt?.

      Gruß Lukas

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 11. November 2015 um 18:27
      • #5

      kannst du in der Zeile berechnen lassen

      _UpTimeHUD = [serverTime,"HH:MM:SS"] call BIS_fnc_secondsToString;

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • crackhead
      Anfänger
      Reaktionen
      36
      Trophäen
      11
      Beiträge
      73
      Bilder
      1
      • 12. November 2015 um 14:24
      • #6

      Falls jemand das alte HUD entfernen möchte bezogen auf die 3.1.4.8

      1. in der \core\init.sqf ([] call life_fnc_hudSetup;) entfernen

      Code: init.sqf
      life_sidechat = true;
      [[player,life_sidechat,playerSide],"TON_fnc_managesc",false,false] spawn life_fnc_MP;
      0 cutText ["","BLACK IN"];
      [] call life_fnc_hudSetup;     <-------------------- ENTFERNEN
      LIFE_ID_PlayerTags = ["LIFE_PlayerTags","onEachFrame","life_fnc_playerTags"] call BIS_fnc_addStackedEventHandler;
      LIFE_ID_RevealObjects = ["LIFE_RevealObjects","onEachFrame","life_fnc_revealObjects"] call BIS_fnc_addStackedEventHandler;
      [] call life_fnc_settingsInit;

      2. in der dialog\function\fn_spawnConfirm.sqf ([] call life_fnc_hudSetup;) entfernen


      Code: fn_spawnConfirm.sqf
      if(life_firstSpawn) then {
      	life_firstSpawn = false;
      	[] call life_fnc_welcomeNotification;
      };
      [] call life_fnc_hudSetup;     <----------------------- Entfernen

      3. in der Functions.h (class hudSetup {};) entfernen

      Code: functions.h
      class Functions
      	{
      		file = "core\functions";
      		class calWeightDiff {};
      		class fetchCfgDetails {};
      		class handleInv {};
      		class hudSetup {};   <---------------- Entfernen
      		class hudUpdate {};
      		class tazeSound {};

      Dann seit ihr auch schon Fertig hoffe es hat euch weiter geholfen

    • Doctor
      Frischling
      Trophäen
      11
      Beiträge
      4
      • 15. November 2015 um 14:42
      • #7

      Gibt es auch eine Möglichkeit statt zb die Koordinaten zb das Geld anzeigen zu lassen..?

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 15. November 2015 um 15:17
      • #8

      Das auslesen der Daten in der Statusbar basiert auf Variablen. Was für Werte du da anzeigen lässt, bleibt dir überlassen. Wenn du das ändern willst, dann ändere das Bild und den Wert der Variable.

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • crackhead
      Anfänger
      Reaktionen
      36
      Trophäen
      11
      Beiträge
      73
      Bilder
      1
      • 15. November 2015 um 17:14
      • #9

      hier die lösung :
      Bank : [life_atmcash] call life_fnc_numberText
      BAR : [life_cash] call life_fnc_numberText

    • Tass
      Fortgeschrittener
      Reaktionen
      103
      Beiträge
      408
      Bilder
      3
      • 15. November 2015 um 17:50
      • #10

      für 4.0 sollte das dann sein


      Bank: [life_atmbank] call life_fnc_numberText
      Bar: [life_cash] call life_fnc_numberText

      Ich bin keine Signatur... ich putz hier nur ;d

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 16. November 2015 um 01:58
      • #11

      Moin,
      habe das problem das meine statusleißte nach der spawnauswahl weg ist samt dem alten hud

      jemand ne idee

      lösche ich den alten hud geht es auch ned


      mfg Oxy


      edit/ das hier wird bei mir auch ned gefunden wenn er das abfragt

      Code
      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"];
      		};

      https://www.fs-life.de

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 16. November 2015 um 13:41
      • #12

      der inhalt deiner Monitor.sqf ist ja auch nicht der, welcher im ersten Beitrag steht. Das Epoch-Toolbar-Layout ist eine Erweiterung zu dem Script im ersten Beitrag von Xylometachlorid. Also zuerst seins installieren komplett und dann die Erweiterung.

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 16. November 2015 um 20:40
      • #13

      das ist ja nicht die ganze
      so sieht sie aus und das ist die aus deiner erweiterung

      Code
      /*
      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"];
      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;
              _WestplayHUD = west countSide playableUnits;
              _IndepplayHUD = independent countSide playableUnits;
              _EastplayHUD = east countSide playableUnits;
              _grid = mapGridPosition  player;
              _hunger = round(life_hunger);
              _thirst = round(life_thirst);
              _damage = round ((1 - (damage player)) * 100);
              _FpsHud = round (diag_fps);
              _stamina = round(getFatigue player * 100) / 100;
              _UpTimeHUD = [serverTime,"HH:MM:SS"] call BIS_fnc_secondsToString;
              //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 >= 60) : {_colourFps = _colour70;};
      			case((_FpsHud >= 30) && (_FpsHud < 60)) : {_colourFps =  _colour30;};
      			case((_FpsHud >= 1) && (_FpsHud < 30)) : {_colourFps =  _colour0;};
      			case(_FpsHud < 1) : {_colourFps =  _colourDead;};
      		};
          ((uiNamespace getVariable "osefStatusBar")displayCtrl 555556)ctrlSetStructuredText parseText 
                  format["<t shadow='1' shadowColor='#000000'><img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#FFFFFF'/>%1 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#3399FF'/>%2 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#009933'/>%3 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\players.paa' color='#CC0000'/>%4  <img size='1.6' shadowColor='#000000' image='icons\Statusbar\ico_map.paa'/>%5 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\hunger.paa' color='%7'/>%6 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\thirst.paa' color='%9'/>%8 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\damage.paa' color='%11'/>%10 <img size='1.6' shadowColor='#000000' image='icons\Statusbar\stamina.paa' color='%13'/>%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,_EastplayHUD, format["%1",_grid], _hunger, _colourHunger, _thirst, _colourThirst, _damage, _colourDamage, _stamina, _colourStamina, _FpsHud, _colourFps, _UpTimeHUD, _colourUpTimeHUD,_players,_energyPercent,_colourDefault];
          }; 
      };
      Alles anzeigen


      zu dem habe ich das Problem das nach einer zeig bzw nach ein paar Server Starts die statusbar nicht mehr angezeigt wir wer ne Idee


      und weiß jemand wie man die leißte wieder anzeigen lässt wenn man stirbt weil nach einem Tod ist die Leißte weg und kommt nicht wieder wer ne idee

      https://www.fs-life.de

      Einmal editiert, zuletzt von Oxygen (16. November 2015 um 21:14)

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 16. November 2015 um 23:35
      • #14

      warum ist das nicht die ganze ?? Was fehlt denn?

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 17. November 2015 um 16:30
      • #15

      du sagtest meine monitor.sqf wäre nicht die von oben da hatte ich aber ned die ganze sondern nur ein teil ausschnit gepostet

      es ist aber genau die selbe wie in der beschrieben von deiner modifikation

      https://www.fs-life.de

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 17. November 2015 um 16:31
      • #16

      funktioniert denn das Basisscript von der Toolbar bei dir?

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 17. November 2015 um 16:35
      • #17

      ja das abgeänderte auch hat sich hier auch erstmal erldeigt danke ^^

      https://www.fs-life.de

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 17. November 2015 um 22:06
      • #18

      Bugfix: Schritt 3 ist neu

      Zitat von SBuserhy

      Ich werd mal dein Beitrag hier ein wenig pushen
      +1 für das tolle Basisscript, aber ein Großteil der Leute wollen ja die Epoch Toolbar im Altis Life haben. Wie das geht? Ganz einfach, ein paar Variablen hinzufügen, einige ändern, viel entfernen und schon kommt folgendes dabei raus.

      nodezone.net/attachment/162/

      Wie, Wo, Was macht die Toolbar?

      - Spieleranzahl aller 4 Fraktionen werden angezeigt. Die Farben für die Fraktionen können im Code verändert werden, kein extra Bild benötigt.
      - Essen, Trinken, Heilung, Ausdauer, GPS und FPS sind mit den Altis-Life Werten angepasst worden
      - Dynamische Symbolfarben, genauer gesagt, Ampelfarben(Rot,Gelb,Grün)
      - Serveruptime ... also die Zeit wie lange der Server schon läuft (kein Countdown u. kein Farbwechsel)

      Entwickelt & getestet mit Altis Life 4.0 müßte aber auch auf der 3.1.4.8 funktionieren

      Das Script ist eine Erweiterung zu dem Script von Xylometaclorid, folgt den Anweisungen im ersten Beitrag und nehmt erst dann die folgenden Änderungen vor.

      1.) Das Script von der Epoch Toolbar stammt von Darth_Rogue und wurde für Epoch entwickelt: Github: Statusbar für Epoch
      2.) Nehmt die folgenden Änderungen daran vor.
      3.) Schritt 5 im ersten Beitrag komplett rückgängig machen. Also entfernt _ui = "osefStatusBar" call BIS_fnc_rscLayer;_ui cutRsc["osefStatusBar","PLAIN"]; in den Dateien wieder.

      Fügt am Ende der Dateien folgendes ein:

      [] call life_fnc_hudUpdate;

      das macht ihr auch noch bei folgenden Dateien:
      - core/medical/fn_onPlayerRespawn.sqf
      - core/medical/fn_onPlayerkilled.sqf
      - core/housing/fn_copBreakDoor.sqf

      Anschließend ersetzt Ihr folgende Dateien:

      dialog\Statusbar.hpp --> vollständig ersetzen mit folgendem Script

      Code: dialog/Statusbar.hpp
      #define ST_RIGHT 0x01
      class osefStatusBar {
          idd = -1;
          onLoad = "uiNamespace setVariable ['osefStatusBar', _this select 0]";
          onUnload = "uiNamespace setVariable ['osefStatusBar', objNull]";
          onDestroy = "uiNamespace setVariable ['osefStatusBar', objNull]";
          fadein = 0;
          fadeout = 0;
          duration = 10e10;
          movingEnable = 0;
          controlsBackground[] = {};
          objects[] = {};
          class controls {
              class statusBarText {
              idc = 555556;
      	x = safezoneX + safezoneW - 0.85;
      	y = safezoneY + safezoneH - 0.08;
      	w = 0.85;
      	h = 0.056;
              shadow = 2;
      	colorBackground[] = { 0, 0, 0, 0.5 };
      	font = "PuristaSemibold";
      	size = 0.03;
      	type = 13;
      	style = 1;
      	text="";
      	class Attributes {
      	align="left";
      	color = "#CCCCCC";//#5fe60c
                  };
              };
          };
      };
      Alles anzeigen

      Fortsetzung im nächsten Kommentar !!!

      Alles anzeigen

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

      Einmal editiert, zuletzt von SBuserhy (26. Juli 2016 um 21:22)

    • bennyazure
      Frischling
      Trophäen
      11
      Beiträge
      3
      • 18. November 2015 um 21:43
      • #19

      Hat jemand eine Idee durch was man "ADAC" ersetzen könnte?

    • Oxygen
      Schüler
      Reaktionen
      16
      Trophäen
      11
      Beiträge
      109
      • 18. November 2015 um 21:46
      • #20

      Kompass zb

      https://www.fs-life.de

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Ä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

    Benutzer online in diesem Thema

    • 1 Besucher

    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™