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
Fr: 30 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

    ACE Bewusstlosmeldung nur einmal Abgeben

      • Exile Mod
    • Kraftwerk
    • 30. Mai 2019 um 11:02
    • Erledigt
    • Kraftwerk
      Anfänger
      Reaktionen
      2
      Trophäen
      7
      Beiträge
      39
      • 30. Mai 2019 um 11:02
      • #1

      Hey, wir haben das bei uns so das die Spieler wenn Sie bewusstlos sind einen Notruf Absetzen können, nun würden wir es aber gern so haben das man diese Wahl ob man einen Sanitäter rufen Möchte oder nicht nur einmal bekommt, wie muss ich das da abändern?


      Code: fn_survival.sqf
      #include "..\script_macros.hpp"
      /*
          File: fn_survival.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          All survival? things merged into one thread.
      */
      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 && {!life_god}) then {[] call _fnc_water; _waterTime = time;};
          if ((time - _foodTime) > 850 && {!life_god}) 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} && {!life_god}) 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 || {life_god}) 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);
          };
      
          if(player getVariable "ACE_isUnconscious") then {
          
           _action = [
           format["Du bist Ohnmächtig. Mit letzter kraft kannst du dein Handy ziehen. Möchtest du einen Notarzt über deine Lage informieren? Wenn nicht hast du noch ca 10 Minuten zu leben."],
           "Ohnmächtig",
           localize "STR_Global_Yes",
           localize "STR_Global_No"
           ] call BIS_fnc_guiMessage;
           life_corpse = player;
           if(!isNil "_action" && {_action}) then {
           [] call life_fnc_requestMedic;
           _medicsOnline = {_x != player && {side _x == independent} && {alive _x}} count playableUnits > 0;
           if(!_medicsOnline) then {
           _action = [
           format["Kein Notarzt hat auf deine Nachricht geantwortet. Wenn ein Spieler dich findet kann er dich in einn Krankenhaus bringen und dort von einem Artzt (NPC) behandeln lassen."],
           "Niemand da",
           "Ok"
           ] call BIS_fnc_guiMessage;
           };
           };
          };
          
          uiSleep 1;
      };
      Alles anzeigen
    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      10
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 30. Mai 2019 um 13:03
      • #2

      Machs nicht in der Survival. Dafür gibt es Eventhandler.

      https://ace3mod.com/wiki/framework/events-framework.html


      ["ace_unconscious", {_this spawn life_fnc_ohnmachtFunktion}] call CBA_fnc_addEventHandler;

      Dann brauchst du nur noch eine Funktion dazu die du aufrufst wo die ganzen Sachen reinkommen.

      Parameter sind:

      _this select 0 - Die Unit (also der Spieler)

      _this select 2 - der State. true = bewusstlos, false = aufgewacht.

      Heißt in die Funktion deinen code rein, prüfen ob bewusstlos geworden oder aufgewacht und fertig.

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    Registrieren oder Einloggen

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

    Registrieren

    Benutzer online in diesem Thema

    • 2 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™