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
Sa: 19 Juli 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • 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. Mitglieder
    3. Lucian

    Beiträge von Lucian

    • [Tutorial] DE100-Benachrichtigungssystem

      • Lucian
      • 18. September 2016 um 21:24
      Zitat von MrKek

      STRONG also, ja? :D

      :D

    • [Tutorial] DE100-Benachrichtigungssystem

      • Lucian
      • 18. September 2016 um 15:24
      Zitat von br1zey

      Nette Sache wenn ich jetzt Verwendung dafür hatte würde ich aber

      Den 2 Parameter ändern das man die zeit beim aufrufen einstellt :D

      Ja klar, habe noch überlegt, ob ich die NN Version von dem Skript so mache, dass man direkt die Zeit eingeben kann. An sich ist das auch nur eine kleine Änderung, die eigentlich jeder selber machen kann.
      Bei DE100 brauchen wir das nicht. Da reicht lang und kurz.

    • [Tutorial] DE100-Benachrichtigungssystem

      • Lucian
      • 18. September 2016 um 14:35

      Hallo NN,
      heute stelle ich der Öffentlichkeit das DE100-Benachrichtigungssystem zur Verfügung, welches ich für DE100 entwickelt habe.
      Über den Sinn eines solchen Skripts kann man sich streiten. Ich habe das Skript eigentlich nur entwickelt, da mich die Hints abgefuckt haben und ich Langeweile hatte.
      Hier eine kleine Vorschau:

      Wie man auf dem GIF sieht, kann man zwei verschiedene Arten von Meldungen anzeigen.
      Grün(UserFarbe) = Normale Meldung.
      Rot(ErrorFarbe) = Fehler/Error Meldung.
      Es werden auch verschiedene Sounds, je nach Art der Meldung, abgespielt.
      Desweiteren kann man die Meldungen langsam("slow") oder schnell("fast") ausblenden lassen.
      Skript (Funktioniert mit allen Life Versionen, solange man die script_macros von 4.x einfügt):

      C: fn_notification_system.sqf
      #include "..\..\script_macros.hpp"
      /*
          File:    fn_notification_system.sqf
          Date:   2016-07-23 18:15:17
          Author: Patrick "Lucian" Schmidt
          Description:
          Arguments:
              0: Text <STRING>
              1: Type <BOOLEAN>
              2: Speed <STRING>
      */
      params[
          "_text",
          ["_error",false,[false]],
          ["_speed","",[""]]
      ];
      if (isServer || !hasInterface) exitWith {};
      disableSerialization;
      _display = finddisplay 46;
      if (profileNamespace getVariable ["de100_notify",true]) then {
          if (_error) then {
              playSound "3DEN_notificationWarning";
          } else {
              playSound "HintExpand";
          };
      };
      private _headerColor = if (_error) then {
          [0.538433,0,0,0.8];
      } else {
          [(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843]),(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019]),(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862]),(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])];
      };
      if (_text isEqualType "") then {
          _text = parseText _text;
      };
      private _Header = _display ctrlCreate ["RscText", -1];
      _Header ctrlSetPosition [0.005 * safezoneW + safezoneX, 0.01 * safezoneH + safezoneY, 0.2 * safezoneW, 0.011 * safezoneH];
      _Header ctrlSetBackgroundColor _headerColor;
      _Header ctrlSetFade 1;
      _Header ctrlCommit 0;
      _Header ctrlSetFade 0;
      _Header ctrlCommit 0.4;
      private _TextField = _display ctrlCreate ["RscStructuredText", -1];
      _TextField ctrlSetStructuredText _text;
      _TextField ctrlSetPosition [0.005 * safezoneW + safezoneX, 0.021 * safezoneH + safezoneY,0.2 * safezoneW, 0.5];
      _TextField ctrlCommit 0;
      _TextField ctrlSetPosition [0.005 * safezoneW + safezoneX, 0.021 * safezoneH + safezoneY,0.2 * safezoneW, ((ctrlTextHeight _TextField)+ (0.005 * safezoneH))];
      _TextField ctrlSetBackgroundColor [0,0,0,0.75];
      _TextField ctrlSetFade 1;
      _TextField ctrlCommit 0;
      _TextField ctrlSetFade 0;
      _TextField ctrlCommit 0.4;
      [_TextField,_Header,_speed] spawn {
          disableSerialization;
          if (_this select 2 isEqualTo "fast") then {
              uiSleep 5;
          } else {
              uiSleep 15;
          };
          private _TextField = _this select 0;
          private _Header = _this select 1;
          _TextField ctrlSetFade 1;
          _TextField ctrlCommit 0.3;
          _Header ctrlSetFade 1;
          _Header ctrlCommit 0.3;
          uiSleep 0.3;
          ctrlDelete _Header;
          ctrlDelete _TextField;
      };
      private _posText = (ctrlPosition (_TextField)) select 1;
      private _posHeader = (ctrlPosition (_Header)) select 1;
      private _textHigh = (ctrlPosition (_TextField)) select 3;
      if (count life_open_notifications > 0) then {
          private _activeNotifications = 0;
          {
              private _ctrlHeader = _x select 0;
              private _ctrlText = _x select 1;
              if (!isNull _ctrlHeader && !isNull _ctrlText) then {
                  _ctrlHeader ctrlSetPosition [0.005 * safezoneW + safezoneX, (_posHeader + _textHigh + 1.5*(0.011 * safezoneH))];
                  _ctrlText ctrlSetPosition [0.005 * safezoneW + safezoneX, (_posText + _textHigh + 1.5*(0.011 * safezoneH))];
                  _ctrlHeader ctrlCommit 0.25;
                  _ctrlText ctrlCommit 0.25;
                  _posText = (_posText + _textHigh + 1.5*(0.011 * safezoneH));
                  _posHeader = (_posHeader + _textHigh + 1.5*(0.011 * safezoneH));
                  _textHigh = (ctrlPosition (_ctrlText)) select 3;
                  if (_activeNotifications > 3) then {
                      _ctrlText ctrlSetFade 1;
                      _ctrlHeader ctrlSetFade 1;
                      _ctrlText ctrlCommit 0.2;
                      _ctrlHeader ctrlCommit 0.2;
                  };
                  _activeNotifications = _activeNotifications + 1;
              };
          } forEach life_open_notifications;
      };
      life_open_notifications = ([[_Header,_TextField]] + life_open_notifications) select {!isNull (_x select 0) && !isNull (_x select 1)}; // Add the Element to the Front of the Array and remove the deleted Arrays
      Alles anzeigen

      In der configuration.sqf muss noch eine Zeile eingefügt werden:
      life_open_notifications = [];


      Usage:

      ["TEXT",false,"fast"] call life_fnc_notification_system;
      0: Text <STRING>
      1: Type <BOOLEAN> false = noError true = Error
      2: Speed <STRING> fast = fadeout nach 5 sek, slow = fadeout nach 15 sek

    • Shedueler und sleep

      • Lucian
      • 16. September 2016 um 08:59

      Ich denke das hier kaum einer Ahnung davon hat, mich eingeschlossen. Ich habe mich zwar mal damit befasst aber das ist schon etwas länger her. Ich kann dir da nur den Blog von KillzoneKid empfehlen.
      http://killzonekid.com/tag/scheduler/

    • Global-Sound Funktion (Altis Life 4.4 R3)

      • Lucian
      • 15. September 2016 um 10:36

      Anstatt eine ganze Funktion zu schreiben, whiteliste say3D in der cfgRemoteExec/commands.
      Syntax:
      [souece,sound] remoteExec ["say3D",tatget];

    • Spieler tele-portieren nach Schild abchecken!

      • Lucian
      • 15. September 2016 um 10:19

      https://community.bistudio.com/wiki/cutText

    • Infistar braucht lange zum starten

      • Lucian
      • 14. September 2016 um 19:58

      Tritt das Problem immer auf oder nur beim ersten öffnen des Menüs?

    • Mit ctrlTextHeight arbeiten.

      • Lucian
      • 5. August 2016 um 04:08

      Heute will ich euch eine kleine Hilfestellung geben, um eine kleine "unschönheit" in den meisten Altis Life Versionen zu fixen.
      Ich war auf unzähligen Servern und bei fast allen habe ich solche Dialoge gefunden (Auswahl erfolgte rein zufällig. Ich möchte keinen Server damit angreifen oder beleidigen.):


      Quelle: LiveYourLife.cc

      Ein StructuredText oder ähnliche Controls welche nicht dynamisch angepasst werden, dabei ist das ganz doch relativ einfach.

      Am Ende sieht das dann etwa so aus (Die Auswahl war nicht zufällig, da dieser Dialog von mir erstellt wurde):

      Quelle: DE100-Altis.life

      Der Code der dahinter steckt ist besteht eigentlich aus drei Befehlen.
      ctrlTextHeight
      ctrlSetPosition
      ctrlCommit

      Bsp. Lizenzen

      JavaScript
      _dialog = findDisplay 2001;
      _lic = _dialog displayCtrl 2014;
      ...
      _lic ctrlSetStructuredText parseText format["<t size='0.8px'>%1</t>",_licTxt];
      _lic ctrlSetPosition [0,0,0.1080105 * safezoneW,ctrlTextHeight _lic];
      _lic ctrlCommit 0;

      Ich hoffe ich konnte einigen damit helfen, da das eigentlich ein simpler aber sehr nützlicher Trick ist.

      - Lucian

    • Versionsumfrage

      • Lucian
      • 30. Juli 2016 um 02:39

      Meine basiert auf 3.1.4.8. Allerdings mit remoteexec und alles auf Config Files umgestellt. Also eine Mischung aus 3.1.4.8 und 4.4

    • While Schleife für Sounds

      • Lucian
      • 15. Juli 2016 um 10:03

      Display Eventhandler onKeyDown und onKeyUp
      https://community.bistudio.com/wiki/User_Interface_Event_Handlers

      keyDown ist diese KeyHandler Datei.
      Für keyUp würde ich einfach eine ähnliche Datei erstellen.

    • Mission in pbo

      • Lucian
      • 13. Juli 2016 um 23:22

      mikerotools

    • Lösung bei den Tutorials

      • Lucian
      • 4. Juli 2016 um 10:46

      Das ist zwar nicht optimal dafür, aber es funktioniert ubd formatiert dir alles.

      http://jsbeautifier.org/

    • Skins von APEX finden

      • Lucian
      • 30. Juni 2016 um 10:14

      Ggef. BI/Arma3 über Twitter anschreiben und fragen die Antwort in der Regel in 30 Minuten bis 2 Stunden.

    • Suche Duping Fix

      • Lucian
      • 26. Juni 2016 um 00:47

      1:1 geht nicht. Für das NVG würde ich einfach einen Speedclicker-Schutz benutzten.

    • Suche Duping Fix

      • Lucian
      • 25. Juni 2016 um 20:58

      Bei mir in der fn_openInventory

      Code
      if((_vehicle getVariable ["trunk_in_use",false])) exitWith {hint localize "STR_MISC_VehInvUse"};
      _vehicle setVariable["trunk_in_use",true,true];
      
      
      
      
      if((_vehicle getVariable ["trunk_user",getPlayerUID player]) != getPlayerUID player) exitWith {hint localize "STR_MISC_VehInvUse"};
      _vehicle setVariable["trunk_user",getPlayerUID player,true];
      ...
      
      
      
      
      _vehicle spawn
      {
      	uiSleep random 0.3;
      	if (_this getVariable ["trunk_user",getPlayerUID player] != getPlayerUID player) exitWith { closeDialog 0; hint localize "STR_MISC_VehInvUse";};
      	waitUntil {sleep 2; isNull (findDisplay 3500)};
      	_this setVariable["trunk_in_use",false,true];
      	_this setVariable["trunk_user",nil,true];
      	if(_this isKindOf "Car" OR _this isKindOf "Air") then {
      		if (life_HC_isActive) then {
      			[_this] remoteExecCall ["HC_fnc_vehicleSaveInventory",HC_Life];
      		} else {
      			[_this] remoteExecCall ["TON_fnc_vehicleSaveInventory",RSERV];
      		};
      	};
      };
      Alles anzeigen

      und in der fn_vehTakeItem/fn_vehStoreItem


      Code
      if((life_trunk_vehicle getVariable ["trunk_user",getPlayerUID player]) != getPlayerUID player) exitWith { hint localize "STR_MISC_VehInvUse"; closeDialog 0;};
    • Suche Duping Fix

      • Lucian
      • 25. Juni 2016 um 10:51

      Wo genau ?
      Vehicle Trunk oder Shops oder Player Inv?

    • MOCleaner: Mission Object Cleaner

      • Lucian
      • 22. Juni 2016 um 22:13

      Ggef. das loggen über die A3log extension machen, für eine bessere Übersicht.

    • Datum im UI

      • Lucian
      • 20. Juni 2016 um 08:19

      Also um das Datum und die Zeit zu bekommen kannst du das benutzen:
      Richtige Uhrzeit bekommen

    • Dialogs in Arma 3

      • Lucian
      • 17. Juni 2016 um 13:44

      Nahh doch. Habe bei mir die Erfahrung gemacht, dass das Bild durch das colorBackground Attribute weg war. Also einfach mal die colorBackground löschen.

    • Developer Tool

      • Lucian
      • 16. Juni 2016 um 21:10

      Die Fehlermeldungen hier im Thema posten oder per PN ?

    Registrieren oder Einloggen

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

    Registrieren

    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™