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
Alles anzeigenwaitUntil {!(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]; }; };
- Erstellt eine neue hpp datei namens statusBar.hpp in den Ordner dialog mit folgendem Inhallt:
C
Alles anzeigen#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"; }; }; }; };
- 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