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: 16 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. Entwicklung & Codeschnipsel

    [SCHNIPSEL] Sitzscript von Natic

      • Altis Life
    • Natic
    • 4. Februar 2020 um 19:05
    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      9
      Beiträge
      408
      • 4. Februar 2020 um 19:05
      • #1

      Hallo :)

      Code
      /*
          Author: Natic
      */
      private _chair = param [0,ObjNull,[ObjNull]];
      life_sitting = 0;
      private _standUp;
      
      if (player getVariable ["restrained",false]) exitWith {};
      if (player getVariable ["isTazed",false]) exitWith {};
      
      switch(life_sitting) do
      {
          case 0:
          {
              _standUp = getPos player;
              [player,"Crew"] remoteExecCall ["life_fnc_animSync",-2];
              life_sitting = 1;
              while {life_sitting} do
              {
                  player setDir (getDir _chair) + 180;
                  player setPosATL [((getPosATL _chair) select 0),((getPosATL _chair) select 1),(((getPosATL _chair) select 2) + 0.09)];
              };
          };
      
          case 1:
          {
              life_sitting = 0;
              player setPos _standUp;
              [player,""] remoteExecCall ["life_fnc_animSync",-2];
          };
      };
      Alles anzeigen

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Henne
      Nerd
      Reaktionen
      155
      Trophäen
      7
      Beiträge
      840
      Bilder
      7
      • 4. Februar 2020 um 19:46
      • #2

      Schade das du dein anderes Thema, bei dem ich bereits Verbesserungsvorschläge gebracht habe, entfernt hast. Leider ist es auch diesmal nicht wirklich besser.

      1. Du hast diese Stelle geändert: private _standUp; zuvor war es private ["_standUp"];.
        Der Syntax von private _standUp; ist leider falsch, denn es muss private "_standUp"; heißen.
      2. Weiter ist immer noch der selbe Fehler vorhanden, dass die Variable _standUp bei der zweiten Ausführung (beim aufstehen), leider nicht mehr gesetzt ist und somit ein Fehler entsteht.
      3. Die Bedingung der while-Schleife ist falsch, da du eine Number als Bedingung setzt. Du musst diese aber natürlich auch prüfen. Besser wäre also soetwas: while {life_sitting isEqualTo 1} do
      4. Wenn die Function per call aufgerufen wird, sorgt dies dafür, dass die Schleife nur maximal 10.000 mal ausgeführt wird. Aber auch so, wird die Schleife dauerhaft ausgeführt und sorgt für einen extremen Anstieg der benötigten Leistung, die sogar das Spiel abstürzen lassen kann.

      Schön wäre es, wenn du dieses mal einfach den Code verbesserst und nicht wieder das ganze Thema entfernst.

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      9
      Beiträge
      408
      • 4. Februar 2020 um 20:05
      • #3

      lol, ist mir gar nicht aufgefallen xDD habe das Script nur aufn USB Stick gefunden xD werde es verbessern

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      9
      Beiträge
      408
      • 4. Februar 2020 um 20:11
      • #4

      Henne ich habe es jetzt schnell gemacht aber so in Richtung?

      Code
      /*
          Author: Natic
      */
      private _chair = param [0,ObjNull,[ObjNull]];
      life_sitting = 0;
      private ["_standUp"];
      
      if (player getVariable ["restrained",false]) exitWith {};
      if (player getVariable ["isTazed",false]) exitWith {};
      
      if (life_sitting isEqualTo 0) then {
      _standUp = getPos player;
      };
      switch(life_sitting) do
      {
          case 0:
          {
              [player,"Crew"] remoteExecCall ["life_fnc_animSync",-2];
              life_sitting = 1;
              while {life_sitting isEqualTo 1} do
              {
                  player setDir (getDir _chair) + 180;
                  player setPosATL [((getPosATL _chair) select 0),((getPosATL _chair) select 1),(((getPosATL _chair) select 2) + 0.09)];
              };
          };
      
          case 1:
          {
              life_sitting = 0;
              player setPos _standUp;
              [player,""] remoteExecCall ["life_fnc_animSync",-2];
          };
      };
      Alles anzeigen

      Das While schleifen dingst änder ich noch

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Joe Barbaro
      Nerd
      Reaktionen
      199
      Trophäen
      8
      Beiträge
      688
      • 4. Februar 2020 um 20:49
      • #5

      Mach´s doch so:

      life_sitting in der config Master mit life_sitting = false; definieren.

      Code
      private _chair = param [0,ObjNull,[ObjNull]]; 
      private _standUp = getPos player; 
      
      if (player getVariable ["restrained",false]) exitWith {};
      if (player getVariable ["isTazed",false]) exitWith {};
      
      if (!life_sitting) then { 
             [player,"Crew"] remoteExecCall ["life_fnc_animSync",-2];
             life_sitting = true; 
                 player setDir (getDir _chair) + 180; 
                 player setPosATL [((getPosATL _chair) select 0),((getPosATL _chair) select 1),(((getPosATL _chair) select 2) + 0.09)]; 
         }else{ 
             life_sitting = false; 
             player setPos _standUp; 
             [player,""] remoteExecCall ["life_fnc_animSync",-2]; 
         };
      Alles anzeigen

      So müsste es klappen.

      Habe es mit diesem Code im Editor getestet:

      Code
      private _chair = cursorObject; 
      private _standUp = getPos player; 
      if (!life_sitting) then { 
             player switchmove "Crew"; 
             life_sitting = true; 
                 player setDir (getDir _chair) + 180; 
                 player setPosATL [((getPosATL _chair) select 0),((getPosATL _chair) select 1),(((getPosATL _chair) select 2) + 0.09)]; 
         }else{ 
             life_sitting = false; 
             player setPos _standUp; 
             player switchmove ""; 
         };
      Alles anzeigen


      Mit freundlichen Grüßen

      Joe Barbaro

      Entwickler vom Arma 3 Batch Generator


    • Henne
      Nerd
      Reaktionen
      155
      Trophäen
      7
      Beiträge
      840
      Bilder
      7
      • 4. Februar 2020 um 20:51
      • #6

      Die Variable _standUp ist bei der zweiten Ausfürhrung nicht gesetzt. Besser wäre also sowas:

      Code
      private _chair = param [0,ObjNull,[ObjNull]];
      if (player getVariable ["restrained",false]) exitWith {};
      if (player getVariable ["isTazed",false]) exitWith {};
      
      if (isNil "life_standUp") then {
          life_standUp = getPos player;
          [player,"Crew"] remoteExecCall ["life_fnc_animSync",-2];
          while {!isNil "life_standUp"} do {
              player setDir (getDir _chair) + 180;
              player setPosATL [((getPosATL _chair) select 0),((getPosATL _chair) select 1),(((getPosATL _chair) select 2) + 0.09)]
          }
      } else {
          player setPos life_standUp;
          [player,""] remoteExecCall ["life_fnc_animSync",-2];
          life_standUp = nil
      }
      Alles anzeigen

      Nur die Schleife und deren Inhalt sollte geändert werden.

      Da müsste ich jetzt aber auch erst einige Tests machen, um den sinnvollsten Ansatz zu finden.

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 5. Februar 2020 um 11:31
      • #7

      Verstehe nicht warum hier ein Schnipsel veröffentlich wird der eigentlich nichts taugt...zu mal hier alles wunderbar definiert ist:

      [TUTORIAL] Sitzscript | by Jay

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      9
      Beiträge
      408
      • 5. Februar 2020 um 15:44
      • #8

      Kuchenplatte erstmal funktioniert es

      2: ist es hier veröffentlich, da das Script was du meinst kacke is, da ist man Fest und kann sich nicht umdrehen

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 5. Februar 2020 um 16:13
      • #9
      Zitat von Natic

      Kuchenplatte erstmal funktioniert es

      2: ist es hier veröffentlich, da das Script was du meinst kacke is, da ist man Fest und kann sich nicht umdrehen

      naja man kann es mit einer Zeile so umschreiben das es geht / klappt.

      *badumm tssss*

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • nox 11. Mai 2025 um 17:04

      Hat das Thema aus dem Forum Codeschnipsel - ArmA 3 nach Entwicklung & Codeschnipsel verschoben.

    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. Verhaltensregeln
    3. Datenschutzerklärung
    4. Impressum
    5. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™