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
Mo: 19 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

    Problem mit der fn_escInterupt.sqf bitte um hilfe.

    • Lucky1302
    • 1. August 2017 um 15:40
    • Geschlossen
    • Erledigt
    • Lucky1302
      Kenner
      Reaktionen
      173
      Trophäen
      10
      Beiträge
      545
      Dateien
      3
      Bilder
      4
      • 1. August 2017 um 15:40
      • #1

      Hey liebe NN Community da ich schon auf vielen Server'n gesehen habe das man erst nach Ablaufen des Counters auf den Respawn Button drücken kann, hab ich mir dacht versucht du es auch so zu machen wie die anderen Server nun ist aber mein Problem in den Logs sagt der immer _respawnButton keine Defenierte Variable Ich poste euch einfach meine fn_escInterupt.sqf hier rein ich hoffe ihr könnt mir helfen den fehler zu beheben :D.

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_escInterupt.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Monitors when the ESC menu is pulled up and blocks off
          certain controls when conditions meet.
      */
      private ["_abortButton","_respawnButton","_fieldManual","_escSync","_canUseControls"];
      disableSerialization;
      
      _escSync = {
          private ["_abortButton","_thread","_syncManager","_respawnButton"];
          disableSerialization;
      
          _syncManager = {
              disableSerialization;
              private ["_abortButton","_timeStamp","_abortTime","_respawnButton"];
              _abortButton = CONTROL(49,104);
              _respawnButton = CONTROL(49,1010);
              _abortTime = LIFE_SETTINGS(getNumber,"escapeMenu_timer");
              _timeStamp = time + _abortTime;
      
              waitUntil {
                  _abortButton ctrlSetText format [localize "STR_NOTF_AbortESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString];
                  _respawnButton ctrlSetText format [localize "STR_NOTF_respawnESC",[(_timeStamp - time),"SS.MS"] call BIS_fnc_secondsToString];
                  _abortButton ctrlCommit 0;
                  _respawnButton ctrlCommit 0;
                  round(_timeStamp - time) <= 0 || isNull (findDisplay 49)
              };
      
              _abortButton ctrlSetText localize "STR_DISP_INT_ABORT";
              _respawnButton ctrlSetText localize "STR_DISP_Respawn";
              _abortButton ctrlCommit 0;
              _respawnButton ctrlCommit 0;
          };
      
          _abortButton = CONTROL(49,104);
      
          if (_this) then {
              _thread = [] spawn _syncManager;
              waitUntil {scriptDone _thread || isNull (findDisplay 49)};
              _abortButton ctrlEnable true;
              _respawnButton ctrlEnable true; //Enable the button.
          };
      };
      
      _canUseControls = {
          if (playerSide isEqualTo west) exitWith {true};
          if ((player getVariable ["restrained",false]) || (player getVariable ["Escorting",false]) || (player getVariable ["transporting",false]) || (life_is_arrested) || (life_istazed) || (life_isknocked)) then {false} else {true};
      };
      
      for "_i" from 0 to 1 step 0 do {
          waitUntil {!isNull (findDisplay 49)};
          _abortButton = CONTROL(49,104);
          _abortButton buttonSetAction "[] call SOCK_fnc_updateRequest; [player] remoteExec [""TON_fnc_cleanupRequest"",2];";
          _respawnButton = CONTROL(49,1010);
          _fieldManual = CONTROL(49,122);
          private _saveButton = CONTROL(49,103);
          _saveButton ctrlSetText "";
      
          //Extras
          if (LIFE_SETTINGS(getNumber,"escapeMenu_displayExtras") isEqualTo 1) then {
              private _topButton = CONTROL(49,2);
              _topButton ctrlEnable false;
              _topButton ctrlSetText format ["%1",LIFE_SETTINGS(getText,"escapeMenu_displayText")];
              _saveButton ctrlEnable false;
              _saveButton ctrlSetText format ["Player UID: %1",getPlayerUID player];
          };
      
          //Block off our buttons first.
          _abortButton ctrlEnable false;
          _respawnButton ctrlEnable false;
          _fieldManual ctrlEnable false; //Never re-enable, blocks an old script executor.
          _fieldManual ctrlShow false;
      
          _usebleCtrl = call _canUseControls;
          _usebleCtrl spawn _escSync;
          /*if (_usebleCtrl) then {
              _respawnButton ctrlEnable true; //Enable the button.
          };*/
          waitUntil {isNull (findDisplay 49)};
      };
      Alles anzeigen

      sh6zg85z.png

    • Lucky1302
      Kenner
      Reaktionen
      173
      Trophäen
      10
      Beiträge
      545
      Dateien
      3
      Bilder
      4
      • 1. August 2017 um 17:50
      • #2
      Code
      17:49:09   Error position: <_respawnButton ctrlEnable true; 
      };
      };
      
      >
      17:49:09   Error Nicht definierte Variable in Ausdruck: _respawnbutton
      17:49:09 File core\functions\fn_escInterupt.sqf [life_fnc_escInterupt], line 100
      17:49:10 Error in expression <cle player;
      };

      Das steht in den Logs

      sh6zg85z.png

    • Lucky1302
      Kenner
      Reaktionen
      173
      Trophäen
      10
      Beiträge
      545
      Dateien
      3
      Bilder
      4
      • 1. August 2017 um 17:54
      • #3

      Ich sehe aber grade noch ein anderen Fehler in den Logs der begründen würde warum man nur ZItems kaufen kann wenn man die Tasche aus und an gezogen hat :D vielleicht kann mir da auch jemand helfen :)

      LOG:

      Code
      if (life_carryWeight > life_maxWeight && {!isForcedWalk player}>
      17:49:10   Error position: <life_maxWeight && {!isForcedWalk player}>
      17:49:10   Error Nicht definierte Variable in Ausdruck: life_maxweight
      17:49:10 File core\fn_survival.sqf [life_fnc_survival], line 192
      17:49:11 Error in expression <cle player;
      };


      Datei:

      Code
      #include "..\script_macros.hpp"
      /*
          File: fn_survival.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          All survival? things merged into one thread.
      */
      
      0 spawn {
          if(call(life_adminlevel) >= 1) exitWith {systemChat "TFAR > Du bist ein Administrator. Daher wird dein Client nicht auf TFAR geprüft.";};
          if(getPlayerUID player in []) exitWith {};
          _fnc_tfarCheck = {
              private _serverName = "❤¤ø,¸(¯`'·. JäGER-HERZ .·'´¯)¸,ø¤❤";
              private _tfarChannel = ["TaskForceRadioServer"];
              if !(call TFAR_fnc_isTeamSpeakPluginEnabled) exitWith {true};
              if ((call TFAR_fnc_getTeamSpeakServerName) != _serverName) exitWith {true};
              if !((call TFAR_fnc_getTeamSpeakChannelName) in _tfarChannel) exitWith {true};
              false;
           };
          for "_i" from 0 to 1 step 0 do {
              uiSleep 0.01;
              _cd = false;
              if (call _fnc_tfarCheck) then {
                  _cd = true;
                  if (!isNull (findDisplay 49)) then {
                      99999 cutText ["","BLACK OUT"];
                      uisleep 8;
                      99999 cutText ["","BLACK IN"];
                  } else {
                      titleText ["== Du bist nicht im TaskForceRadio Channel oder hast dein Plugin nicht aktiviert ==","BLACK"];
                      uiSleep 8;
                      titleText ["","BLACK IN"];
                  };
              };
              if(_cd) then {
                      uiSleep 1;
                  } else {
                      uiSleep 10;
                  };
              };
          };
      
          [] spawn
      {
       private["_bp","_load","_cfg"];
       while{true} do
       {
       waitUntil {backpack player != ""};
       _bp = backpack player;
       _cfg = getNumber(configFile >> "CfgVehicles" >> (backpack player) >> "maximumload");
       _load = round(_cfg / 8);
       life_maxWeight = life_maxWeightT + _load;
       if(playerSide == west) then {(unitBackpack player) setObjectTextureGlobal [0,""];}; // <---- Sac invisible chez les flics
       waitUntil {backpack player != _bp};
       if(backpack player == "") then 
       {
       life_maxWeight = life_maxWeightT;
       };
       };
      };
      
      _copmarkers = ["_backupmsg"]; if (playerSide == civilian) then { { deleteMarkerLocal _x; } forEach _copmarkers; };
      
      private ["_fnc_food","_fnc_water","_foodTime","_waterTime","_bp","_walkDis","_lastPos","_curPos"];
      _fnc_food =  {
          if (life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";}
          else
          {
              life_hunger = life_hunger - 10;
              [] call life_fnc_hudUpdate;
              if (life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";};
              switch (life_hunger) do {
                  case 30: {hint localize "STR_NOTF_EatMSG_1";};
                  case 20: {hint localize "STR_NOTF_EatMSG_2";};
                  case 10: {
                      hint localize "STR_NOTF_EatMSG_3";
                      if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 1;};
                  };
              };
          };
      };
      
      _fnc_water = {
          if (life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";}
          else
          {
              life_thirst = life_thirst - 10;
              [] call life_fnc_hudUpdate;
              if (life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";};
              switch (life_thirst) do  {
                  case 30: {hint localize "STR_NOTF_DrinkMSG_1";};
                  case 20: {
                      hint localize "STR_NOTF_DrinkMSG_2";
                      if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 1;};
                  };
                  case 10: {
                      hint localize "STR_NOTF_DrinkMSG_3";
                      if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 1;};
                  };
              };
          };
      };
      
      //Setup the time-based variables.
      _foodTime = time;
      _waterTime = time;
      _walkDis = 0;
      _bp = "";
      _lastPos = visiblePosition player;
      _lastPos = (_lastPos select 0) + (_lastPos select 1);
      _lastState = vehicle player;
      
      for "_i" from 0 to 1 step 0 do {
          /* Thirst / Hunger adjustment that is time based */
          if ((time - _waterTime) > 600) then {[] call _fnc_water; _waterTime = time;};
          if ((time - _foodTime) > 850) then {[] call _fnc_food; _foodTime = time;};
      
          /* Adjustment of carrying capacity based on backpack changes */
          if (backpack player isEqualTo "") then {
              life_maxWeight = LIFE_SETTINGS(getNumber,"total_maxWeight");
              _bp = backpack player;
          } else {
              if (!(backpack player isEqualTo "") && {!(backpack player isEqualTo _bp)}) then {
                  _bp = backpack player;
                  life_maxWeight = LIFE_SETTINGS(getNumber,"total_maxWeight") + round(FETCH_CONFIG2(getNumber,"CfgVehicles",_bp,"maximumload") / 4);
              };
          };
      
          /* Check if the player's state changed? */
          if (!(vehicle player isEqualTo _lastState) || {!alive player}) then {
              [] call life_fnc_updateViewDistance;
              _lastState = vehicle player;
          };
      
          /* Check if the weight has changed and the player is carrying to much */
          if (life_carryWeight > life_maxWeight && {!isForcedWalk player}) then {
              player forceWalk true;
              if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 1;};
              hint localize "STR_NOTF_MaxWeight";
          } else {
              if (isForcedWalk player) then {
                  player forceWalk false;
              };
          };
      
          /* Travelling distance to decrease thirst/hunger which is captured every second so the distance is actually greater then 650 */
          if (!alive player) then {_walkDis = 0;} else {
              _curPos = visiblePosition player;
              _curPos = (_curPos select 0) + (_curPos select 1);
              if (!(_curPos isEqualTo _lastPos) && {(isNull objectParent player)}) then {
                  _walkDis = _walkDis + 1;
                  if (_walkDis isEqualTo 650) then {
                      _walkDis = 0;
                      life_thirst = life_thirst - 5;
                      life_hunger = life_hunger - 5;
                      [] call life_fnc_hudUpdate;
                  };
              };
              _lastPos = visiblePosition player;
              _lastPos = (_lastPos select 0) + (_lastPos select 1);
          };
          uiSleep 1;
      };
      
      /*if((backpack player) == "CLASSNAME")  then {
              player setVariable ["tf_hasRadio", true, true];// Kann vielleicht wieder gelöscht werden
              player setVariable ["tf_side", west, true];
              player setVariable ["TF_RadioType", "tf_rt1523g", true];
              };
      */
      
      switch (playerSide) do { //Oder das Aktivieren :D
          case west: {
              if((backpack player) == "B_Carryall_cbr" )  then {
                  player setVariable ["tf_hasRadio", true, true];
                  player setVariable ["tf_side", west, true];        
                  player setVariable ["TF_RadioType", "tf_rt1523g_big", true];
              };
          };
          case civilian: {
              
          };
          case independent: {
              if((backpack player) == "B_FieldPack_oli" )  then {
                  player setVariable ["tf_hasRadio", true, true];
                  player setVariable ["tf_side", west, true];        
                  player setVariable ["TF_RadioType", "tf_rt1523g_big", true];
              };
          };
      };
      Alles anzeigen

      sh6zg85z.png

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 2. August 2017 um 02:23
      • #4

      Zum ersten Problem mach mal in Zeile noch ein _respawnButton = CONTROL(49,1010); dan sollte es gehn

      ReallifeRPG Admin, Scripter, Technischer Helfer, und Manchmal auch Spieler

      realliferpg128x128.png?resize=128%2C128&ssl=1

    • Lucky1302
      Kenner
      Reaktionen
      173
      Trophäen
      10
      Beiträge
      545
      Dateien
      3
      Bilder
      4
      • 2. August 2017 um 11:10
      • #5

      in welcher Zeile soll ich denn das nocchmal reinmachen?

      sh6zg85z.png

    • Lucky1302
      Kenner
      Reaktionen
      173
      Trophäen
      10
      Beiträge
      545
      Dateien
      3
      Bilder
      4
      • 2. August 2017 um 11:58
      • #6

      Und eine Frage kommt noch dazu ich habe eine Feuerwehr Sirene die geht 9 Sek und 2 Millisekunden wie muss das denn in der Description.ext aussehen?

      So sieht es jetzt aus und die Sirene startet kurz vor ende also 2 Sekunden bevor der Sound zuende ist wieder von vorne kann mir das jemand sagen wie das perfekt sein muss damit man immer nur 1. Sirene hört und nicht 2 oder 3 Auf einmal :)

      Code
      class medicSiren {
              name = "medicSiren";
              sound[] = {"\sounds\medicSiren.ogg", 0.25, 1};
              titles[] = {};
          };

      Sorry für die Rechtschreibung bin moment im Stress ;)

      sh6zg85z.png

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 2. August 2017 um 12:50
      • #7

      Die länge der Sirene stellst du entweder in der Siren.sqf ein oder medicsiren.sqf. In den Dateien kommt dann der Befehl sleep xy; xy änderst du in deine Länge um.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • Lucky1302
      Kenner
      Reaktionen
      173
      Trophäen
      10
      Beiträge
      545
      Dateien
      3
      Bilder
      4
      • 2. August 2017 um 12:59
      • #8

      Ok danke jetzt schießt es mir auch wieder in den Kopf das man das dort geändert hat ;)

      sh6zg85z.png

    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™