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

    Durst wie "hunger" benutzen

    • NetPeggle
    • 26. Juli 2017 um 23:59
    • Geschlossen
    • Erledigt
    • NetPeggle
      Schüler
      Reaktionen
      19
      Trophäen
      9
      Beiträge
      120
      Bilder
      12
      • 26. Juli 2017 um 23:59
      • #1

      Moin Moin ihr flöten hier auch wieder was wo man sein saft dazu geben kann und sich das vielleicht auch für sein Project so übernehmen kann

      wenns dann so klappt.

      Folgendes: Wenn man isst scaliert das ja mit dem "edible".

      Beim trinken bekommt man immer 100 Trinken so das es voll ist.

      Das ganze mal so fix durchgeschaut und in der ""5.0"" ist es wie folgt:

      in der fn_survival steht nur das wenn das trinken zu wenig ist dann kneift man den arsch zu das ist dort unter _fnc_water = {....

      dort wird dann der player setDamage auf 1 gesetzt. Vielleicht könnte man da auch sowas in die richtung set damage 0.1 -> sleep -> set damage 0.2 usw.

      das man net sofort den arsch zukneift sondern langsam dan verdurstet aber das ist auch wieder was anderes und interesiert nicht.

      Also im fn_hudUpdate ist noch der progessSetPosition kram

      auch unwichtig.

      fn_requstReceived steht nur der stats kram drin

      in der fn_Update steht der _array pushBack für hunger und durst und so

      auch net das wonach ich suche in der Configurations.sqf ist auch nichts relevantes und in fn_respawned und fn_onPlayerKilled siht nur das es auf 100 gesetzt wird.

      ansonsten falls noch vorhanden spyglass müll.

      so Also zum wichtigen teil:

      der fn_useitem:

      Hier wird man fündig:

      Habs mal extra bissel "Rasiert" damit das übersichtlich bleibt:

      Code
      private "_item";
      disableSerialization;
      if ((lbCurSel 2005) isEqualTo -1) exitWith {hint localize "STR_ISTR_SelectItemFirst";};
      _item = CONTROL_DATA(2005);
      
      switch (true) do {
          case (_item in ["waterBottle","coffee","redgull"]): {
              if ([false,_item,1] call life_fnc_handleInv) then {
                  life_thirst = 100;
                  if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 0;};
                  if (_item isEqualTo "redgull" && {LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1}) then {
                      [] spawn {
                          life_redgull_effect = time;
                          titleText[localize "STR_ISTR_RedGullEffect","PLAIN"];
                          player enableFatigue false;
                          waitUntil {!alive player || ((time - life_redgull_effect) > (3 * 60))};
                          player enableFatigue true;
                      };
                  };
              };
          };
      
          case (_item in ["apple","rabbit","salema","ornate","mackerel","tuna","mullet","catshark","turtle_soup","hen","rooster","sheep","goat","donuts","tbacon","peach"]): {
              if (!(M_CONFIG(getNumber,"VirtualItems",_item,"edible") isEqualTo -1)) then {
                  if ([false,_item,1] call life_fnc_handleInv) then {
                      _val = M_CONFIG(getNumber,"VirtualItems",_item,"edible");
                      _sum = life_hunger + _val;
                      switch (true) do {
                          case (_val < 0 && _sum < 1): {life_hunger = 5;}; //This adds the ability to set the entry edible to a negative value and decrease the hunger without death
                          case (_sum > 100): {life_hunger = 100;};
                          default {life_hunger = _sum;};
                      };
                  };
              };
          };
      
          default {
              hint localize "STR_ISTR_NotUsable";
          };
      };
      
      [] call life_fnc_p_updateMenu;
      [] call life_fnc_hudUpdate;
      Alles anzeigen

      Hier ist also das system hier noch etwas mehr rasiert damit man den überblick bekommt:

      Code
      switch (true) do {
          case (_item in ["waterBottle","coffee","redgull"]): {
              if ([false,_item,1] call life_fnc_handleInv) then {
                  life_thirst = 100;
                  if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 0;};
      
                      };
                  };
              };

      Hier wird gesagt : "Wenn item = wasser caffee oder redbull dann wird 1x das item abgezogen und durst wird auf 100 gesetzt. und den noch son ausdauer müll was aber so erstma nicht interesiert.

      Beim Essen stark runter gebrochen:

      Code
      case (_item in ["apple","rabbit","salema","ornate","mackerel","tuna","mullet","catshark","turtle_soup","hen","rooster","sheep","goat","donuts","tbacon","peach"]): {
              if (!(M_CONFIG(getNumber,"VirtualItems",_item,"edible") isEqualTo -1)) then {
                  if ([false,_item,1] call life_fnc_handleInv) then {
                      _val = M_CONFIG(getNumber,"VirtualItems",_item,"edible");
                      _sum = life_hunger + _val;
                      switch (true) do {
                          case (_val < 0 && _sum < 1): {life_hunger = 5;}; //This adds the ability to set the entry edible to a negative value and decrease the hunger without death
                          case (_sum > 100): {life_hunger = 100;};
                          default {life_hunger = _sum;};
                      };
                  };
              };
          };
      Alles anzeigen

      Hier wird gesagt : "wenn item = apfel,hase usw. und edible ist nicht wegen dem (!) davor was aus dem == -1 eine art doppelte verneinung macht dann wird wieder das item 1 mal aus dem inventar genommen und _val = value (wert) also der wert der in der "M_CONFIG die nummer vom dem _item in der zuweisung "Edible" : also hier:

      Code
      //Food
          class apple {
              variable = "apple";
              displayName = "STR_Item_Apple";
              weight = 2;
              buyPrice = 6;
              sellPrice = 2;
              illegal = false;
              edible = 10;           <----------------------HIER
              icon = "icons\ico_apple.paa";
          };
      Alles anzeigen

      in der Config_Vitems.

      dort wird der edible festgelegt also der wert wie viel die _val (value/wert) ist.


      und durch:

      _sum = life_hunger + _val; wird gesagt das _Sum (summe) bedeutet Hunger + val (Value/wert) der in der Config_Vitems festgelegt wird.

      Code
      switch (true) do {
                          case (_val < 0 && _sum < 1): {life_hunger = 5;}; //This adds the ability to set the entry edible to a negative value and decrease the hunger without death
                          case (_sum > 100): {life_hunger = 100;};
                          default {life_hunger = _sum;};

      Hier gehts dann weiter hier wird quasi das essbare berechnet und wie viel hinzugefügt wird und dort habe ich rumgewurschtelt und habe eigentlich was zusammen gebastelt.

      das sah am ende denn so aus:

      Code
      switch (true) do {
           case (_item in ["waterBottle","coffee","redgull"]): {
              if (!(M_CONFIG(getNumber,"VirtualItems",_item,"edible") isEqualTo -1)) then {
              if ([false,_item,1] call life_fnc_handleInv) then {
                  _val = M_CONFIG(getNumber,"VirtualItems",_item,"edible");
                  _sum = life_thrist + _val;
                  switch (true) do {
                      case (_val < 0 && _sum < 1): {life_thirst = 5;};
                      case (_sum > 100): {life_thirst = 100;};
                      default {life_thirst = _sum;};
                       if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 0;};
                      if (_item isEqualTo "redgull" && {LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1}) then {
                      [] spawn {
                          life_redgull_effect = time;
                          titleText[localize "STR_ISTR_RedGullEffect","PLAIN"];
                          player enableFatigue false;
                          waitUntil {!alive player || ((time - life_redgull_effect) > (3 * 60))};
                          player enableFatigue true;
                          };
                      };
                  };
              };
          };
      };
      Alles anzeigen

      Es ist zwar benutzbar füllt aber die leiste nicht auf...
      jemand ne idee? :/

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 27. Juli 2017 um 00:10
      • #2

      hm, vielleicht ein hudupdate hinterher schieben?

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • NetPeggle
      Schüler
      Reaktionen
      19
      Trophäen
      9
      Beiträge
      120
      Bilder
      12
      • 27. Juli 2017 um 00:14
      • #3

      kommt ganz am ende

      [] call life_fnc_p_updateMenu;


      [] call life_fnc_hudUpdate;

    • Don
      Amateur
      Reaktionen
      103
      Trophäen
      9
      Beiträge
      221
      Dateien
      1
      • 27. Juli 2017 um 01:41
      • #4

      Ich würde dir gerne helfen, allerdings verstehe ich nicht so ganz was du meinst. Aus deiner Überschrift "Durst wie hunger benutzen" werde ich ebenfalls nicht schlau... Vielleicht kannst du dein Vorhaben nochmal genauer schildern.

    • NetPeggle
      Schüler
      Reaktionen
      19
      Trophäen
      9
      Beiträge
      120
      Bilder
      12
      • 27. Juli 2017 um 01:47
      • #5

      Wenn ich trink egal wie weit unten es ist gehts sofort auf 100 hoch also voll

      und wenn ich esse und edible auf 10 einstelle machts nur 10% hoch und ich will verschiendene trinken mit verschidenen werten haben

    • Don
      Amateur
      Reaktionen
      103
      Trophäen
      9
      Beiträge
      221
      Dateien
      1
      • 27. Juli 2017 um 01:58
      • #6

      Meinst du in etwa so? Ich hab dir mal zwei Versionen gemacht.


      fn_useItem.sqf

      Code
      Auf einen festen Wert erhöhen
      
      case (_item in ["waterBottle","coffee","redgull"]): {
              if ([false,_item,1] call life_fnc_handleInv) then {
                  switch(_item) do
                  {
                      case "waterBottle": {life_thirst = 100}; //setzt Trinken fest auf 100
                      case "coffee": {life_thirst = 70}; //setzt Trinken fest auf 70
                      case "redgull": {life_thirst = 60}; //setzt Trinken fest auf 60
                  };
                  life_thirst = 100;
                  if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 0;};
                  if (_item isEqualTo "redgull" && {LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1}) then {
                      [] spawn {
                          life_redgull_effect = time;
                          titleText[localize "STR_ISTR_RedGullEffect","PLAIN"];
                          player enableFatigue false;
                          waitUntil {!alive player || ((time - life_redgull_effect) > (3 * 60))};
                          player enableFatigue true;
                      };
                  };
              };
          };
      
      
      
      
      
      
      
      ///////////////////////////////////////////////////////////////////////////////
      Um einen festen Wert erhöhen
      
      case (_item in ["waterBottle","coffee","redgull"]): {
              if ([false,_item,1] call life_fnc_handleInv) then {
                  switch(_item) do
                  {
                      case "waterBottle": {life_thirst = life_thirst + 50}; //nimmt den aktuellen Thirst Wert und addiert +50
                      case "coffee": {life_thirst = life_thirst + 30}; //nimmt den aktuellen Thirst Wert und addiert +30
                      case "redgull": {life_thirst = life_thirst + 40}; //nimmt den aktuellen Thirst Wert und addiert +40
                  };
                  life_thirst = 100;
                  if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 0;};
                  if (_item isEqualTo "redgull" && {LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1}) then {
                      [] spawn {
                          life_redgull_effect = time;
                          titleText[localize "STR_ISTR_RedGullEffect","PLAIN"];
                          player enableFatigue false;
                          waitUntil {!alive player || ((time - life_redgull_effect) > (3 * 60))};
                          player enableFatigue true;
                      };
                  };
              };
          };
      Alles anzeigen
    • NetPeggle
      Schüler
      Reaktionen
      19
      Trophäen
      9
      Beiträge
      120
      Bilder
      12
      • 27. Juli 2017 um 02:03
      • #7

      Nein

      Weil denn würdest du ja nur selbst wenn du 20 coffe trinkst nur auf 70 % kommen

      aber wenn du sagen wir auf 10% trinken kommst und ein caffee bringt 10% das du 9 trinken musst um wieder auf 100% zu sein als beispiel wie halt mit dem essen...

    • Don
      Amateur
      Reaktionen
      103
      Trophäen
      9
      Beiträge
      221
      Dateien
      1
      • 27. Juli 2017 um 02:04
      • #8
      Zitat von NetPeggle

      Nein

      Weil denn würdest du ja nur selbst wenn du 20 coffe trinkst nur auf 70 % kommen

      aber wenn du sagen wir auf 10% trinken kommst und ein caffee bringt 10% das du 9 trinken musst um wieder auf 100% zu sein als beispiel wie halt mit dem essen...

      Ich habe dir zwei Versionen gezeigt, die zweite ist wie von dir gewünscht... Einfach mal unten gucken!

    • NetPeggle
      Schüler
      Reaktionen
      19
      Trophäen
      9
      Beiträge
      120
      Bilder
      12
      • 27. Juli 2017 um 02:14
      • #9

      aber kann man net statt den wert da festzustellen über die edible auslesen wie ich das beim letzten codeschnipsel bei mir gebastelt habe

    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™