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
So: 18 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. Hilfeforum

    Ladebildschirm Map-Bild ändern

      • Mapping & Modding
    • twiiZe
    • 10. Februar 2018 um 18:48
    • Erledigt
    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 18:48
      • #1

      Hi NN-Community,

      ich möchte gerne, dass im Ladebildschirm bei unserem Fall jetzt nicht mehr die Map Altis angezeigt wird sondern ein Custom Bild, wisst ihr wie dass geht? :D

    • Kaibu
      Amateur
      Reaktionen
      141
      Trophäen
      9
      Beiträge
      166
      Bilder
      31
      • 10. Februar 2018 um 19:04
      • #2

      Das UI modden geht durchaus.

      ReallifeRPG Admin seit 2014

      Disclaimer: Falls nicht ausdrücklich markiert sind alle Aussagen lediglich meine eigenen und spiegeln nicht die Ansichten des Projektes ReallifeRPG.de da.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 19:04
      • #3
      Zitat von Kaibu

      Das UI modden geht durchaus.

      Und wie? :D

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 10. Februar 2018 um 19:07
      • #4

      So hatte Exile es mal gemacht:

      Bevor du loslegst und selbst soetwas einbauen möchtest, lese dir bitte das Kommentar des Devs durch :D

      C: exile_client/bootstrap/fn_preStart.sqf
      /**
       * Pre-Start
       *
       * Exile Mod
       * www.exilemod.com
       * © 2015 Exile Mod Team
       *
       * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
       * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
       *
       * --------------------------
       *
       * Eichi: 
       * Do not use "with uiNameSpace do" here or you will collect mini dumps.
       * Also, do not call or spawn shit here. Serialization does not work. FSMs
       * are not executed at all. onEachFrame never fires. onDraw does not fire.
       * onLoad fires for all, onUnload only fires for some. And CT_ANIMATED_TEXTURE
       * looks ugly. If I ever have to touch this again, I will kill myself.
       *
       */
      
      if !(hasInterFace) exitWith {false};
      
      ///////////////////////////////////////////////////////////////////////////////
      // Reset loading screen data
      ///////////////////////////////////////////////////////////////////////////////
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_reset",
      {
          uiNameSpace setVariable ["ExileLoadingScreenBackgroundPicture", nil];
          uiNameSpace setVariable ["ExileLoadingScreenMapData", nil];
          uiNameSpace setVariable ["ExileLoadingScreenMissionData", nil];
          uiNameSpace setVariable ["ExileClientLoadingScreenDisplays", nil];
          uiNameSpace setVariable ["RscDisplayLoading_display", nil];
      }];
      
      ///////////////////////////////////////////////////////////////////////////////
      // Constructor of our loading screen
      //
      // Eichi: Careful! Passing the display to call or spawn DOES NOT WORK!
      // I had this split into multiple functions, but serializing them is 
      // obivously not possible. Means we have a big booty functio now :(
      ///////////////////////////////////////////////////////////////////////////////
      
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_load",
      {
          disableSerialization;
      
          private ["_spinnerTextControl", "_newsControl", "_cookie", "_cookieAlphabet", "_loadingText"];
      
          params ["_display", "_displayType"];
      
          // Seems to be required so the core engine functions work
          uiNameSpace setVariable ["RscDisplayLoading_display", _display];
      
          // So BIS_fnc_progressLoadingScreen works
          RscDisplayLoading_progress = (_display displayCtrl 104);
      
          // Update the text to either loading map or mission
          _spinnerTextControl = _display displayCtrl 66002;
      
          switch (_displayType) do 
          {
              case "RscDisplayMultiplayerSetup":
              {
                  _spinnerTextControl ctrlSetStructuredText (parseText "<t>Joining...</t>");
              };
      
              case "RscDisplayClient":
              {
                  _spinnerTextControl ctrlSetStructuredText (parseText "<t>Connecting...</t>");
              };
      
              default
              {
                  _loadingText = selectRandom 
                  [
                      "<t>Hiding treasures...</t>",
                      "<t>Shaving sheep...</t>",
                      "<t>Even more loading...</t>",
                      "<t>Still loading...</t>",
                      "<t>Ironing Bambi overalls...</t>",
                      "<t>And even more loading...</t>",
                      "<t>Loading something...</t>",
                      "<t>Counting pop tabs...</t>",
                      "<t>Spawning land fish...</t>",
                      "<t>Doing something...</t>",
                      "<t>Sprinkling salt...</t>",
                      "<t>Trying to not crash...</t>",
                      "<t>Booting 8G Network...</t>",
                      "<t>Forecasting weather...</t>",
                      "<t>Planting trees...</t>",
                      "<t>Planting shrubberies of death...",
                      "<t>Counting bugs...",
                      "<t>Sing me a song and I will load faster...</t>",
                      "<t>Hiding loot...</t>",
                      "<t>Blowing up vehicles...</t>",
                      "<t>Locating campers...</t>"
                  ];
      
                  _spinnerTextControl ctrlSetStructuredText (parseText _loadingText);
              };
          };
      
          ///////////////////////////////////////////////////////////////////////////
      
          private ["_backgroundPicture", "_backgroundPictureControl"];
      
          // If we do not have a background image yet, choose a random one
          _backgroundPicture = uiNameSpace getVariable ["ExileLoadingScreenBackgroundPicture", false];
      
          // Update the background picture. This is not needed to be done
          // in the loop below, since onLoad fires at least once for all 
          // of them and the background image does not depend on mission
          // or map info
          if (_backgroundPicture isEqualTo false) then 
          {
              _backgroundPicture = selectRandom 
              [
                  "exile_assets\texture\loading\loading_axe_co.paa",
                  "exile_assets\texture\loading\loading_bigmomma_co.paa",
                  "exile_assets\texture\loading\loading_cement_co.paa",
                  "exile_assets\texture\loading\loading_cheathas_co.paa",
                  "exile_assets\texture\loading\loading_cockonut_co.paa",
                  "exile_assets\texture\loading\loading_codelock_co.paa",
                  "exile_assets\texture\loading\loading_concrete_mixer_co.paa",
                  "exile_assets\texture\loading\loading_dsnuts_co.paa",
                  "exile_assets\texture\loading\loading_emre_co.paa",
                  "exile_assets\texture\loading\loading_flag_co.paa",
                  "exile_assets\texture\loading\loading_foolbox_co.paa",
                  "exile_assets\texture\loading\loading_knife_co.paa",
                  "exile_assets\texture\loading\loading_laptop_co.paa",
                  "exile_assets\texture\loading\loading_metal_screws_co.paa",
                  "exile_assets\texture\loading\loading_moobar_co.paa",
                  "exile_assets\texture\loading\loading_pop_tabs_co.paa",
                  "exile_assets\texture\loading\loading_raisins_co.paa",
                  "exile_assets\texture\loading\loading_shovel_co.paa",
                  "exile_assets\texture\loading\loading_sledge_hammer_co.paa",
                  "exile_assets\texture\loading\loading_vishpirin_co.paa"
              ];    
      
              uiNameSpace setVariable ["ExileLoadingScreenBackgroundPicture", _backgroundPicture];
          };
      
          _backgroundPictureControl = _display displayCtrl 66000;
          _backgroundPictureControl ctrlSetText _backgroundPicture;
      
          ///////////////////////////////////////////////////////////////////////////
      
          private ["_mapData", "_mapConfig", "_mapName", "_mapAuthor", "_mapPicture"];
          private ["_mapControl", "_mapNameControl", "_mapAuthorControl", "_mapPictureControl"];
      
          // Do we have map data already?
          _mapData = uiNameSpace getVariable ["ExileLoadingScreenMapData", false];
      
          if (_mapData isEqualTo false) then 
          {
              // Is a map there now?
              if !(worldName in ["", "VR"]) then 
              {
                  // Do not save "VR" / background intro mission
                  if !(_displayType isEqualTo "RscMPSetupMessage") then
                  {
                      // Access the map config
                      _mapConfig = configFile >> "CfgWorlds" >> worldName;
      
                      // Get the map name
                      _mapName = getText (_mapConfig >> "description");
                      
                      // Fall back to the config name of this map
                      if (_mapName isEqualTo "") then 
                      {
                          _mapName = worldName;
                      };
      
                      // Extract the map author...
                      _mapAuthor = getText (_mapConfig >> "author");
      
                      // ...or default to "Unknown Community Author"
                      if (_mapAuthor isEqualTo "") then 
                      {
                          _mapAuthor = localize "STR_AUTHOR_UNKNOWN";
                      };
      
                      // Update the map picture
                      _mapPicture = getText (_mapConfig >> "pictureShot");
      
                      // Because VR is utterly broken. It only has a white image
                      if (_mapPicture isEqualTo "A3\Map_VR\data\ui_VR_ca.paa") then 
                      {
                          _mapPicture = "";
                      };
      
                      if (_mapPicture isEqualTo "") then 
                      {
                          _mapPicture = getText (_mapConfig >> "pictureMap");
                      };
      
                      // Default to Arma 3 logo if there is no map picture
                      if (_mapPicture isEqualTo "") then 
                      {
                          _mapPicture = "a3\ui_f\data\Logos\arma3_white_ca.paa"
                      };
      
                      // Tanoa does not have a good pictureMap
                      if (worldName isEqualTo "Tanoa") then 
                      {
                          _mapPicture = "exile_assets\texture\map\tanoa_co.paa"
                      };
      
                      // Save the map data for later use
                      _mapData = 
                      [
                          _mapName,
                          _mapAuthor,
                          _mapPicture
                      ];
      
                      uiNameSpace setVariable ["ExileLoadingScreenMapData", _mapData];
                  };
              };
          };
      
          ///////////////////////////////////////////////////////////////////////////
      
          private ["_missionData", "_missionName", "_missionAuthor", "_missionPicture"];
          private ["_missionControl", "_missionPictureControl", "_missionNameControl", "_missionAuthorControl"];
      
          _missionData = uiNameSpace getVariable ["ExileLoadingScreenMissionData", false];
      
          // If we do not have a mission data, try to extract it
          if (_missionData isEqualTo false) then 
          {
              // Ignore these missions...
              if !(missionName in ["", "tempMissionSP", "ExileIntro"]) then 
              {
                  // Get the defined mission name or briefing name
                  _missionName = getMissionConfigValue ["onLoadName", briefingName];
      
                  // If there is no mission name, use "Unnamed Mission"
                  if (_missionName isEqualTo "") then 
                  {
                      _missionName = localize "STR_a3_rscdisplay_loading_noname";
                  };
      
                  // Get the defined mission author or "Unknown Community Author"
                  _missionAuthor = getMissionConfigValue ["author", localize "STR_AUTHOR_UNKNOWN"];
      
                  // Try to get a community logo first
                  _missionPicture = getText (missionConfigFile >> "loadScreen");
      
                  // If there is no community logo, try another, older property
                  if (_missionPicture isEqualTo "") then 
                  {
                      _missionPicture = getText (missionConfigFile >> "overviewPicture");
                  };
      
                  // If that still is not defined, use our logo
                  if (_missionPicture isEqualTo "") then 
                  {
                      _missionPicture = "exile_assets\texture\mod\logo.paa";
                  };
      
                  // Keep this in mind :D
                  _missionData = 
                  [
                      _missionName,
                      _missionAuthor,
                      _missionPicture
                  ];
      
                  // Store the data so we can access it later (where missionConfig is not there)
                  uiNameSpace setVariable ["ExileLoadingScreenMissionData", _missionData];
              };
          };
      
          ///////////////////////////////////////////////////////////////////////////
      
          // Keep all involved displays in mind. onLoad does not fire
          // for all of them. "Receiving data..." for example never has
          // a onLoad...
          _loadingDisplays = uiNameSpace getVariable ["ExileClientLoadingScreenDisplays", []];
          _loadingDisplays pushBackUnique _display;
      
          {
              if !(isNull _x) then 
              {
                  // Update the map info
                  _mapControl = _x displayCtrl 66003;
      
                  if (_mapData isEqualTo false) then 
                  {
                      // Hide the map, if we lack data
                      _mapControl ctrlShow false;
                  }
                  else 
                  {
                      // Show the map data
                      _mapControl ctrlShow true;
      
                      // Update the map name
                      _mapNameControl = _x displayCtrl 66005;
                      _mapNameControl ctrlSetText (_mapData select 0);
      
                      // Update the map author
                      _mapAuthorControl = _x displayCtrl 66006;
                      _mapAuthorControl ctrlSetText (_mapData select 1);
      
                      // Update the map picture
                      _mapPictureControl = _x displayCtrl 66004;
                      _mapPictureControl ctrlSetText (_mapData select 2);
                  };
      
                  // Update the mission info
                  _missionControl = _x displayCtrl 66007;
      
                  // If we do not have mission data, hide the mission
                  if (_missionData isEqualTo false) then 
                  {
                      _missionControl ctrlShow false;
                  }
                  else 
                  {
                      // Ensure it is shown if we have data
                      _missionControl ctrlShow true;
      
                      // Update the name
                      _missionNameControl = _x displayCtrl 66009;
                      _missionNameControl ctrlSetText (_missionData select 0);
      
                      // Update the author
                      _missionAuthorControl = _x displayCtrl 66010;
                      _missionAuthorControl ctrlSetText (_missionData select 1);
      
                      // Update the picture
                      _missionPictureControl = _x displayCtrl 66008;
                      _missionPictureControl ctrlSetText (_missionData select 2);
                  };
              };
          }
          forEach _loadingDisplays;
      
          uiNameSpace setVariable ["ExileClientLoadingScreenDisplays", _loadingDisplays];
      }];
      
      ///////////////////////////////////////////////////////////////////////////////
      // A spawned thread to animate the spinning wheel of our loading screen
      //
      // -----
      // 
      //_animationThread = uiNameSpace getVariable ["ExileLoadingScreenSpinnerThread", scriptNull];
      // 
      // if (isNull _animationThread) then 
      // {
      //     // We cannot pass _spinner here :(
      //     _animationThread = [] spawn (uiNameSpace getVariable ["ExileClient_gui_animateLoadingScreen", scriptNull]);
      // 
      //     uiNameSpace setVariable ["ExileLoadingScreenSpinnerThread", _animationThread];
      // };
      // 
      // uiNameSpace setVariable ["ExileLoadingScreenSpinnerThread", _animationThread];
      ///////////////////////////////////////////////////////////////////////////////
      
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_animate",
      {
          disableSerialization;
      
          private ["_spinner", "_startTime"];
      
          _spinner = (uiNameSpace getVariable ["RscExileLoadingScreen", controlNull]) displayCtrl 66001;
          _startTime = diag_tickTime;
      
          while {true} do // until terminate on unload fires
          {
              _spinner ctrlSetAngle [(diag_tickTime - _startTime) * 360, 0.5, 0.5];
      
              // 1/60 results in underflow = the spinner lags
              // minimum in Arma is 3ms, but this works:
              uiSleep 0.016; 
          };
      }];
      
      ///////////////////////////////////////////////////////////////////////////////
      // Deconstruct the loading screen
      ///////////////////////////////////////////////////////////////////////////////
      
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_unload",
      {
          disableSerialization;
      
          private ["_animationThread"];
      
          _animationThread = uiNameSpace getVariable ["ExileLoadingScreenSpinnerThread", scriptNull];
      
          if !(isNull _animationThread) then 
          {
              terminate _animationThread;
              uiNameSpace setVariable ["ExileLoadingScreenSpinnerThread", scriptNull]
          };
      }];
      
      true
      Alles anzeigen

      EDIT:

      Das ganze muss als Funktion mit

      Code
      preStart = 1;

      in der Config eingetragen werden.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 19:17
      • #5
      Zitat von Stig

      So hatte Exile es mal gemacht:

      Bevor du loslegst und selbst soetwas einbauen möchtest, lese dir bitte das Kommentar des Devs durch :D

      C: exile_client/bootstrap/fn_preStart.sqf
      /**
       * Pre-Start
       *
       * Exile Mod
       * www.exilemod.com
       * © 2015 Exile Mod Team
       *
       * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
       * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
       *
       * --------------------------
       *
       * Eichi: 
       * Do not use "with uiNameSpace do" here or you will collect mini dumps.
       * Also, do not call or spawn shit here. Serialization does not work. FSMs
       * are not executed at all. onEachFrame never fires. onDraw does not fire.
       * onLoad fires for all, onUnload only fires for some. And CT_ANIMATED_TEXTURE
       * looks ugly. If I ever have to touch this again, I will kill myself.
       *
       */
      
      if !(hasInterFace) exitWith {false};
      
      ///////////////////////////////////////////////////////////////////////////////
      // Reset loading screen data
      ///////////////////////////////////////////////////////////////////////////////
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_reset",
      {
          uiNameSpace setVariable ["ExileLoadingScreenBackgroundPicture", nil];
          uiNameSpace setVariable ["ExileLoadingScreenMapData", nil];
          uiNameSpace setVariable ["ExileLoadingScreenMissionData", nil];
          uiNameSpace setVariable ["ExileClientLoadingScreenDisplays", nil];
          uiNameSpace setVariable ["RscDisplayLoading_display", nil];
      }];
      
      ///////////////////////////////////////////////////////////////////////////////
      // Constructor of our loading screen
      //
      // Eichi: Careful! Passing the display to call or spawn DOES NOT WORK!
      // I had this split into multiple functions, but serializing them is 
      // obivously not possible. Means we have a big booty functio now :(
      ///////////////////////////////////////////////////////////////////////////////
      
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_load",
      {
          disableSerialization;
      
          private ["_spinnerTextControl", "_newsControl", "_cookie", "_cookieAlphabet", "_loadingText"];
      
          params ["_display", "_displayType"];
      
          // Seems to be required so the core engine functions work
          uiNameSpace setVariable ["RscDisplayLoading_display", _display];
      
          // So BIS_fnc_progressLoadingScreen works
          RscDisplayLoading_progress = (_display displayCtrl 104);
      
          // Update the text to either loading map or mission
          _spinnerTextControl = _display displayCtrl 66002;
      
          switch (_displayType) do 
          {
              case "RscDisplayMultiplayerSetup":
              {
                  _spinnerTextControl ctrlSetStructuredText (parseText "<t>Joining...</t>");
              };
      
              case "RscDisplayClient":
              {
                  _spinnerTextControl ctrlSetStructuredText (parseText "<t>Connecting...</t>");
              };
      
              default
              {
                  _loadingText = selectRandom 
                  [
                      "<t>Hiding treasures...</t>",
                      "<t>Shaving sheep...</t>",
                      "<t>Even more loading...</t>",
                      "<t>Still loading...</t>",
                      "<t>Ironing Bambi overalls...</t>",
                      "<t>And even more loading...</t>",
                      "<t>Loading something...</t>",
                      "<t>Counting pop tabs...</t>",
                      "<t>Spawning land fish...</t>",
                      "<t>Doing something...</t>",
                      "<t>Sprinkling salt...</t>",
                      "<t>Trying to not crash...</t>",
                      "<t>Booting 8G Network...</t>",
                      "<t>Forecasting weather...</t>",
                      "<t>Planting trees...</t>",
                      "<t>Planting shrubberies of death...",
                      "<t>Counting bugs...",
                      "<t>Sing me a song and I will load faster...</t>",
                      "<t>Hiding loot...</t>",
                      "<t>Blowing up vehicles...</t>",
                      "<t>Locating campers...</t>"
                  ];
      
                  _spinnerTextControl ctrlSetStructuredText (parseText _loadingText);
              };
          };
      
          ///////////////////////////////////////////////////////////////////////////
      
          private ["_backgroundPicture", "_backgroundPictureControl"];
      
          // If we do not have a background image yet, choose a random one
          _backgroundPicture = uiNameSpace getVariable ["ExileLoadingScreenBackgroundPicture", false];
      
          // Update the background picture. This is not needed to be done
          // in the loop below, since onLoad fires at least once for all 
          // of them and the background image does not depend on mission
          // or map info
          if (_backgroundPicture isEqualTo false) then 
          {
              _backgroundPicture = selectRandom 
              [
                  "exile_assets\texture\loading\loading_axe_co.paa",
                  "exile_assets\texture\loading\loading_bigmomma_co.paa",
                  "exile_assets\texture\loading\loading_cement_co.paa",
                  "exile_assets\texture\loading\loading_cheathas_co.paa",
                  "exile_assets\texture\loading\loading_cockonut_co.paa",
                  "exile_assets\texture\loading\loading_codelock_co.paa",
                  "exile_assets\texture\loading\loading_concrete_mixer_co.paa",
                  "exile_assets\texture\loading\loading_dsnuts_co.paa",
                  "exile_assets\texture\loading\loading_emre_co.paa",
                  "exile_assets\texture\loading\loading_flag_co.paa",
                  "exile_assets\texture\loading\loading_foolbox_co.paa",
                  "exile_assets\texture\loading\loading_knife_co.paa",
                  "exile_assets\texture\loading\loading_laptop_co.paa",
                  "exile_assets\texture\loading\loading_metal_screws_co.paa",
                  "exile_assets\texture\loading\loading_moobar_co.paa",
                  "exile_assets\texture\loading\loading_pop_tabs_co.paa",
                  "exile_assets\texture\loading\loading_raisins_co.paa",
                  "exile_assets\texture\loading\loading_shovel_co.paa",
                  "exile_assets\texture\loading\loading_sledge_hammer_co.paa",
                  "exile_assets\texture\loading\loading_vishpirin_co.paa"
              ];    
      
              uiNameSpace setVariable ["ExileLoadingScreenBackgroundPicture", _backgroundPicture];
          };
      
          _backgroundPictureControl = _display displayCtrl 66000;
          _backgroundPictureControl ctrlSetText _backgroundPicture;
      
          ///////////////////////////////////////////////////////////////////////////
      
          private ["_mapData", "_mapConfig", "_mapName", "_mapAuthor", "_mapPicture"];
          private ["_mapControl", "_mapNameControl", "_mapAuthorControl", "_mapPictureControl"];
      
          // Do we have map data already?
          _mapData = uiNameSpace getVariable ["ExileLoadingScreenMapData", false];
      
          if (_mapData isEqualTo false) then 
          {
              // Is a map there now?
              if !(worldName in ["", "VR"]) then 
              {
                  // Do not save "VR" / background intro mission
                  if !(_displayType isEqualTo "RscMPSetupMessage") then
                  {
                      // Access the map config
                      _mapConfig = configFile >> "CfgWorlds" >> worldName;
      
                      // Get the map name
                      _mapName = getText (_mapConfig >> "description");
                      
                      // Fall back to the config name of this map
                      if (_mapName isEqualTo "") then 
                      {
                          _mapName = worldName;
                      };
      
                      // Extract the map author...
                      _mapAuthor = getText (_mapConfig >> "author");
      
                      // ...or default to "Unknown Community Author"
                      if (_mapAuthor isEqualTo "") then 
                      {
                          _mapAuthor = localize "STR_AUTHOR_UNKNOWN";
                      };
      
                      // Update the map picture
                      _mapPicture = getText (_mapConfig >> "pictureShot");
      
                      // Because VR is utterly broken. It only has a white image
                      if (_mapPicture isEqualTo "A3\Map_VR\data\ui_VR_ca.paa") then 
                      {
                          _mapPicture = "";
                      };
      
                      if (_mapPicture isEqualTo "") then 
                      {
                          _mapPicture = getText (_mapConfig >> "pictureMap");
                      };
      
                      // Default to Arma 3 logo if there is no map picture
                      if (_mapPicture isEqualTo "") then 
                      {
                          _mapPicture = "a3\ui_f\data\Logos\arma3_white_ca.paa"
                      };
      
                      // Tanoa does not have a good pictureMap
                      if (worldName isEqualTo "Tanoa") then 
                      {
                          _mapPicture = "exile_assets\texture\map\tanoa_co.paa"
                      };
      
                      // Save the map data for later use
                      _mapData = 
                      [
                          _mapName,
                          _mapAuthor,
                          _mapPicture
                      ];
      
                      uiNameSpace setVariable ["ExileLoadingScreenMapData", _mapData];
                  };
              };
          };
      
          ///////////////////////////////////////////////////////////////////////////
      
          private ["_missionData", "_missionName", "_missionAuthor", "_missionPicture"];
          private ["_missionControl", "_missionPictureControl", "_missionNameControl", "_missionAuthorControl"];
      
          _missionData = uiNameSpace getVariable ["ExileLoadingScreenMissionData", false];
      
          // If we do not have a mission data, try to extract it
          if (_missionData isEqualTo false) then 
          {
              // Ignore these missions...
              if !(missionName in ["", "tempMissionSP", "ExileIntro"]) then 
              {
                  // Get the defined mission name or briefing name
                  _missionName = getMissionConfigValue ["onLoadName", briefingName];
      
                  // If there is no mission name, use "Unnamed Mission"
                  if (_missionName isEqualTo "") then 
                  {
                      _missionName = localize "STR_a3_rscdisplay_loading_noname";
                  };
      
                  // Get the defined mission author or "Unknown Community Author"
                  _missionAuthor = getMissionConfigValue ["author", localize "STR_AUTHOR_UNKNOWN"];
      
                  // Try to get a community logo first
                  _missionPicture = getText (missionConfigFile >> "loadScreen");
      
                  // If there is no community logo, try another, older property
                  if (_missionPicture isEqualTo "") then 
                  {
                      _missionPicture = getText (missionConfigFile >> "overviewPicture");
                  };
      
                  // If that still is not defined, use our logo
                  if (_missionPicture isEqualTo "") then 
                  {
                      _missionPicture = "exile_assets\texture\mod\logo.paa";
                  };
      
                  // Keep this in mind :D
                  _missionData = 
                  [
                      _missionName,
                      _missionAuthor,
                      _missionPicture
                  ];
      
                  // Store the data so we can access it later (where missionConfig is not there)
                  uiNameSpace setVariable ["ExileLoadingScreenMissionData", _missionData];
              };
          };
      
          ///////////////////////////////////////////////////////////////////////////
      
          // Keep all involved displays in mind. onLoad does not fire
          // for all of them. "Receiving data..." for example never has
          // a onLoad...
          _loadingDisplays = uiNameSpace getVariable ["ExileClientLoadingScreenDisplays", []];
          _loadingDisplays pushBackUnique _display;
      
          {
              if !(isNull _x) then 
              {
                  // Update the map info
                  _mapControl = _x displayCtrl 66003;
      
                  if (_mapData isEqualTo false) then 
                  {
                      // Hide the map, if we lack data
                      _mapControl ctrlShow false;
                  }
                  else 
                  {
                      // Show the map data
                      _mapControl ctrlShow true;
      
                      // Update the map name
                      _mapNameControl = _x displayCtrl 66005;
                      _mapNameControl ctrlSetText (_mapData select 0);
      
                      // Update the map author
                      _mapAuthorControl = _x displayCtrl 66006;
                      _mapAuthorControl ctrlSetText (_mapData select 1);
      
                      // Update the map picture
                      _mapPictureControl = _x displayCtrl 66004;
                      _mapPictureControl ctrlSetText (_mapData select 2);
                  };
      
                  // Update the mission info
                  _missionControl = _x displayCtrl 66007;
      
                  // If we do not have mission data, hide the mission
                  if (_missionData isEqualTo false) then 
                  {
                      _missionControl ctrlShow false;
                  }
                  else 
                  {
                      // Ensure it is shown if we have data
                      _missionControl ctrlShow true;
      
                      // Update the name
                      _missionNameControl = _x displayCtrl 66009;
                      _missionNameControl ctrlSetText (_missionData select 0);
      
                      // Update the author
                      _missionAuthorControl = _x displayCtrl 66010;
                      _missionAuthorControl ctrlSetText (_missionData select 1);
      
                      // Update the picture
                      _missionPictureControl = _x displayCtrl 66008;
                      _missionPictureControl ctrlSetText (_missionData select 2);
                  };
              };
          }
          forEach _loadingDisplays;
      
          uiNameSpace setVariable ["ExileClientLoadingScreenDisplays", _loadingDisplays];
      }];
      
      ///////////////////////////////////////////////////////////////////////////////
      // A spawned thread to animate the spinning wheel of our loading screen
      //
      // -----
      // 
      //_animationThread = uiNameSpace getVariable ["ExileLoadingScreenSpinnerThread", scriptNull];
      // 
      // if (isNull _animationThread) then 
      // {
      //     // We cannot pass _spinner here :(
      //     _animationThread = [] spawn (uiNameSpace getVariable ["ExileClient_gui_animateLoadingScreen", scriptNull]);
      // 
      //     uiNameSpace setVariable ["ExileLoadingScreenSpinnerThread", _animationThread];
      // };
      // 
      // uiNameSpace setVariable ["ExileLoadingScreenSpinnerThread", _animationThread];
      ///////////////////////////////////////////////////////////////////////////////
      
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_animate",
      {
          disableSerialization;
      
          private ["_spinner", "_startTime"];
      
          _spinner = (uiNameSpace getVariable ["RscExileLoadingScreen", controlNull]) displayCtrl 66001;
          _startTime = diag_tickTime;
      
          while {true} do // until terminate on unload fires
          {
              _spinner ctrlSetAngle [(diag_tickTime - _startTime) * 360, 0.5, 0.5];
      
              // 1/60 results in underflow = the spinner lags
              // minimum in Arma is 3ms, but this works:
              uiSleep 0.016; 
          };
      }];
      
      ///////////////////////////////////////////////////////////////////////////////
      // Deconstruct the loading screen
      ///////////////////////////////////////////////////////////////////////////////
      
      uiNameSpace setVariable ["ExileClient_gui_loadingScreen_unload",
      {
          disableSerialization;
      
          private ["_animationThread"];
      
          _animationThread = uiNameSpace getVariable ["ExileLoadingScreenSpinnerThread", scriptNull];
      
          if !(isNull _animationThread) then 
          {
              terminate _animationThread;
              uiNameSpace setVariable ["ExileLoadingScreenSpinnerThread", scriptNull]
          };
      }];
      
      true
      Alles anzeigen

      EDIT:

      Das ganze muss als Funktion mit

      Code
      preStart = 1;

      in der Config eingetragen werden.

      Wo heißt die Datei bei Altis oder muss ich die fn_bootstrap.sqf selber erstellen in nem Ordner? 2. Frage :D muss ich alles von Exile zu Altis Life ändern?

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 10. Februar 2018 um 20:15
      • #6

      Bei Altis Life gibt es noch keine preStart Funktion, dafür brauchst du einen Mod. Und logischerweise kannst du das Script so nicht nehmen da es mit Exile Sachen arbeitet.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 21:30
      • #7

      Zero-One ist Vanilla und hat dass, müsste iwie gehen oder? ;/

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 10. Februar 2018 um 21:43
      • #8

      Als ich mal drauf war, war auch nur der ganze normale Ladescreen und als der Fertig war kam nochmal ein gescripteter Ladescreen mit eigenem Bild hinterher. Wenn es anders sein sollte mach mal bitte ein Video davon und stell es hier rein.

      Eigentlich dürfte es nicht gehen, weil man dazu Script Code während des Ladens ausführen müsste und Missionsscripte können erst nach dem Laden ausgeführt werden. Die dafür benötigten preStart Funktionen werden nur von Addons unterstützt laut Wiki.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 21:47
      • #9

      Richtig, die haben die Altis Map durch ihr Bild ersetzt.. :/

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 21:48
      • #10

      Finde dass so nice, deswegen möchte ich sowas auch :D

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 10. Februar 2018 um 21:52
      • #11

      Haben die jetzt erst einen normalen "Altis" Loadingscreen und dann einen custom Loadingscreen oder haben die nur einen custom Loadingscreen, der direkt nach dem Herunterladen der Missionsdatei kommt?

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 21:54
      • #12

      Von Anfang an kommt der bin ich der Meinung..

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 10. Februar 2018 um 22:11
      • #13

      LÜGNER


      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 10. Februar 2018 um 22:13
      • #14

      Srryyyy :D, war anscheinend so fasziniert, aber der kommt dann danach oder?

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 10. Februar 2018 um 22:14
      • #15

      Danach kommt dann ein normaler custom Dialog, in dem nochmal ewig irgendwelche Scripte im Hintergrund etwas "laden" -.-

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 11. Februar 2018 um 00:04
      • #16

      Weißt du wie dass gehen würde? :P

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 11. Februar 2018 um 00:10
      • #17

      Wie man Dialoge erstellt musst du selbst herausfinden.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 11. Februar 2018 um 00:17
      • #18

      Ok ich dank dir trotzdem

    • addemadde
      Frischling
      Reaktionen
      7
      Trophäen
      8
      Beiträge
      23
      • 11. Februar 2018 um 02:18
      • #19

      ich meine das geht nur beim modded server..bin mir aber nicht sicher:D

      beim modded müsstes nur die .paa datei ändern inne pbo

    • twiiZe
      Schüler
      Reaktionen
      10
      Trophäen
      8
      Beiträge
      96
      • 11. Februar 2018 um 12:51
      • #20

      Es geht aber erst nach dem man in der Lobby war, Deswegen suche ich den Code quasi :D

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

    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™