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
Sa: 17 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. Tutorials & Releases

    Überarbeitetes Altis Life Jumpscript | Keine glitchende Kamera mehr beim Springen!

      • Altis Life
    • PurKus
    • 17. Dezember 2020 um 23:52
    • PurKus
      Frischling
      Reaktionen
      10
      Trophäen
      7
      Beiträge
      17
      • 17. Dezember 2020 um 23:52
      • #1

      Hallo und herzlich willkommen :kappa:


      Was macht mein Tutorial:
      Vielleicht ist es euch noch nie aufgefallen, vielleicht ignoriert ihr es einfach: Das nervige glitchen der Sicht beim Springen in Altis/Tanoa Life.

      Mein Tutorial behebt diesen kleinen, nervigen Fehler und ihr könnt Arma 3 mit einem Bug weniger spielen :*

      Einmal mit den Änderungen: https://gph.is/g/Z2p2gem *Link zu einem GIF von giphy.com

      Einmal ohne die Änderungen (Normales Tanoa Life 5.0): https://gph.is/g/4ARWg8Q *Link zu einem GIF von giphy.com


      Schritt 1. [Von 2]


      Geht unter "Tanoa_Life.Tanoa\core\functions\network" in die "fn_jumpFnc.sqf" und ersetzt den gesamten Inhalt mit diesem hier:

      Code
      /*
          File: fn_jumpFnc.sqf
          Author: Bryan "Tonic" Boardwine
          Description:
          Makes the target jump.
      */
      private ["_unit","_vel","_dir","_v1","_v2","_anim","_oldpos"];
      _unit = [_this,0,objNull,[objNull]] call BIS_fnc_param;
      _oldpos = getPosATL _unit;
      
      if (isNull _unit) exitWith {}; //Bad data
      
      if (animationState _unit == "AovrPercMrunSrasWrflDf") exitWith {};
      
      if (local _unit) then {
          _v1 = 3.82;
          _v2 = .4;
          _dir = direction player;
          _vel = velocity _unit;
          _unit setVelocity[(_vel select 0)+(sin _dir*_v2),(_vel select 1)+(cos _dir*_v2),(_vel select 2)+_v1];
      };
      
      _anim = animationState _unit;
      [_unit, "AovrPercMrunSrasWrflDf"] remoteExec ["switchMove", 0];
      
      if (local _unit) then {
          waitUntil {
              if ((getPos _unit select 2) > 4) then {
                  _unit setposATL _oldpos;
                  _unit setVelocity [0, 0, 0];
              };
              animationState _unit != "AovrPercMrunSrasWrflDf"
          };
          [_unit, _anim] remoteExec ["switchMove", 0];
      };
      Alles anzeigen

      Alternativ könnt ihr auch Zeile 24 & 34 manuell ersetzen durch:

      Code
      [_unit, "AovrPercMrunSrasWrflDf"] remoteExec ["switchMove", 0]; // In Zeile 24
      [_unit, _anim] remoteExec ["switchMove", 0]; // In Zeile 34


      Schritt 2. [Von 2]

      Öffnet unter "Tanoa_Life.Tanoa\core\functions" die "fn_keyHandler.sqf" und ändert in Zeile 106 (relativ weit hinten) den "jumpActionTimer" cooldown von "1.5" in eine "2.5"

      -> Damit die Sprunganimation nicht bei mehrmaligem Springen ineinander Buggt und stattdessen immer schön abgespielt wird

      Code
      && {time - jumpActionTime > 1.5}) then {

      Korrekt abgeändert müsste das ganze dann so sein:

      Code
      //Space key for Jumping
          case 57: {
              if (isNil "jumpActionTime") then {jumpActionTime = 0;};
              if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 2.5}) then {
                  jumpActionTime = time; //Update the time.
                  [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution
                  _handled = true;
              };
          };

      Das wars auch schon, ich hoffe es hat geholfen und euch noch einen schönen Tag/Abend ^^

      << Gibst du mir mal das Ding direkt neben dem Teil über dem Zeug da? >>

      3 Mal editiert, zuletzt von PurKus (18. Dezember 2020 um 20:20)

    • Basti0208
      Schüler
      Reaktionen
      58
      Trophäen
      10
      Beiträge
      138
      Dateien
      1
      • 18. Dezember 2020 um 10:46
      • #2

      Moin,

      also an sich ein gutes Tutorial, jedoch frage ich mich, weshalb die jumpFnc global executed wird und dann nochmal die Animation in der bereits globalen Funktion nochmals auf allen Spielern executed wird.
      Hört sich eher nach Network Laggs an.
      Es kann natürlich sein, dass ich gerade absolut einen Denkfehler habe, aber nehmen wir an, dass wir 50 Spieler auf dem Server haben: Ein Spieler springt, bei 50 Spielern wird die jumpFnc ausgeführt. Dann wird nochmals 50 mal das switchMove auf jedem Spieler ausgeführt.

      Mit freundlichen Grüßen

      Basti

    • PurKus
      Frischling
      Reaktionen
      10
      Trophäen
      7
      Beiträge
      17
      • 18. Dezember 2020 um 13:00
      • #3
      Zitat von Basti0208

      Moin,

      also an sich ein gutes Tutorial, jedoch frage ich mich, weshalb die jumpFnc global executed wird und dann nochmal die Animation in der bereits globalen Funktion nochmals auf allen Spielern executed wird.
      Hört sich eher nach Network Laggs an.
      Es kann natürlich sein, dass ich gerade absolut einen Denkfehler habe, aber nehmen wir an, dass wir 50 Spieler auf dem Server haben: Ein Spieler springt, bei 50 Spielern wird die jumpFnc ausgeführt. Dann wird nochmals 50 mal das switchMove auf jedem Spieler ausgeführt.

      Ich verstehe leider nicht genau was du meinst ^^ Ich kann dir aber sagen (falls das deine Frage war) das wenn jemand Springt nicht alle 50 Spieler anfangen mit herumzuspringen oder ihre Animation resettet bekommen ^^
      -> Dazu warum das ganze mit "remoteExec ["switchMove", 0];" ausgeführt wird ist einfach deshalb weil alles andere ned funktioniert :D, ich hatte ein paar Methoden getestet und schlussendlich war das die einzige die Funktioniert hat. xD
      Zur Performance kann ich leider nicht viel sagen, habe aber bisher noch nichts negatives bemerkt.

      << Gibst du mir mal das Ding direkt neben dem Teil über dem Zeug da? >>

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 18. Dezember 2020 um 13:56
      • #4
      Zitat von PurKus

      Ich verstehe leider nicht genau was du meinst ^^ Ich kann dir aber sagen (falls das deine Frage war) das wenn jemand Springt nicht alle 50 Spieler anfangen mit herumzuspringen oder ihre Animation resettet bekommen ^^
      -> Dazu warum das ganze mit "remoteExec ["switchMove", 0];" ausgeführt wird ist einfach deshalb weil alles andere ned funktioniert :D, ich hatte ein paar Methoden getestet und schlussendlich war das die einzige die Funktioniert hat. xD
      Zur Performance kann ich leider nicht viel sagen, habe aber bisher noch nichts negatives bemerkt.

      Ich erkläre mal kurz was er meint, hab ich mich nämlich auch gefragt :)

      [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution

      die jumpFnc wird schon global ausgeführt bei jedem Client

      [_unit, "AovrPercMrunSrasWrflDf"] remoteExec ["switchMove", 0];

      das wird jetzt also bei jedem Client erneut auf jedem Client ausgeführt

      Heißt, wenn 20 Spieler auf dem Server sind wird die Animation für den Springenden Spieler 20x ausgeführt, wenn 30 Spieler da sind 30x und so weiter

      Ich verstehe nicht, wieso das weniger "buggen" sollte, du führst die Animation einfach öfter aus und verursachst damit nur noch mehr Netzwerktraffic

      #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!

      ______________________

    • PurKus
      Frischling
      Reaktionen
      10
      Trophäen
      7
      Beiträge
      17
      • 18. Dezember 2020 um 14:40
      • #5
      Zitat von blackfisch

      Ich erkläre mal kurz was er meint, hab ich mich nämlich auch gefragt :)

      [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution

      die jumpFnc wird schon global ausgeführt bei jedem Client

      [_unit, "AovrPercMrunSrasWrflDf"] remoteExec ["switchMove", 0];

      das wird jetzt also bei jedem Client erneut auf jedem Client ausgeführt

      Heißt, wenn 20 Spieler auf dem Server sind wird die Animation für den Springenden Spieler 20x ausgeführt, wenn 30 Spieler da sind 30x und so weiter

      Ich verstehe nicht, wieso das weniger "buggen" sollte, du führst die Animation einfach öfter aus und verursachst damit nur noch mehr Netzwerktraffic

      Alles anzeigen

      Danke für die Erklärung ^^

      Ich denke du verstehst nicht wirklich was hier behoben werden soll xD auch wenn ich es zwar duzende male erwähnt habe: Das Gitchen der Kamera beim Springen.
      Ich kann dir leider nicht mehr sagen als das es durch das Tutorial behoben ist. Wenn du das nicht verstehst würde ich dir empfehlen es doch einfach zu testen xD

      "[...]und verursachst damit nur noch mehr Netzwerktraffic"

      Es ist bisher die einzige mir bekannte Möglichkeit das Glitchen beim Springen zu fixen und ehrlich gesagt ist/wird und war Arma 3 nie sehr Performant, jetzt alles auf die Goldwage zu legen

      erscheint mir ein wenig übertrieben, ich denke nicht das das große Performance Probleme bringt xD

      Zu guter letzt, ich habe das Tutorial hier gemacht damit andere wissen wie man diesen Bug fixen kann und um anderen zu helfen, ich habe nie behauptet meine sei die beste, performanteste, oder smarteste Lösung, es ist einfach nur eine mögliche Lösung.
      Ich freue mich natürlich wenn die kritischen Stimmen hier eine eigene Lösung finden die das Problem performanter löst und diese dann auf NN teilen ^^

      << Gibst du mir mal das Ding direkt neben dem Teil über dem Zeug da? >>

    • Basti0208
      Schüler
      Reaktionen
      58
      Trophäen
      10
      Beiträge
      138
      Dateien
      1
      • 18. Dezember 2020 um 16:31
      • #6
      Zitat von PurKus

      Wenn du das nicht verstehst würde ich dir empfehlen es doch einfach zu testen xD

      Ich habe es selber getestet und ich hatte immernoch eine verbuggte Kamera (insofern du das meinst, was ich gesehen habe).

      Zitat von PurKus

      Arma 3 nie sehr Performant, jetzt alles auf die Goldwage zu legen

      erscheint mir ein wenig übertrieben, ich denke nicht das das große Performance Probleme bringt xD

      Man muss es ja aber nicht noch schlimmer machen ^^

      Zitat von blackfisch

      Ich verstehe nicht, wieso das weniger "buggen" sollte, du führst die Animation einfach öfter aus und verursachst damit nur noch mehr Netzwerktraffic

      Das ist mir auch noch eine Frage, da du im Prinzip beim Spieler dasselbe machst. Wenn du remoteExec benutzt, dann sollte sich eher etwas bei den anderen Spielern ändern.

      Mit freundlichen Grüßen

      Basti

    • PurKus
      Frischling
      Reaktionen
      10
      Trophäen
      7
      Beiträge
      17
      • 18. Dezember 2020 um 18:55
      • #7
      Zitat

      Ich habe es selber getestet und ich hatte immernoch eine verbuggte Kamera (insofern du das meinst, was ich gesehen habe).

      Hmm.. das sollte so aber nicht sein :D Ich probier mal nen Video davon fertig zu machen. (Angemerkt: Das was gefixt werden soll ist wirklich nur dieser kurze screen beim Springen der kurz auftaucht und wieder weg is)

      Einmal mit den Änderungen: https://gph.is/g/Z2p2gem *Link zu einem GIF von giphy.com
      Einmal ohne die Änderungen (Normales Tanoa Life 5.0): https://gph.is/g/4ARWg8Q *Link zu einem GIF von giphy.com

      Zitat

      Man muss es ja aber nicht noch schlimmer machen ^^

      Zitat

      Ich verstehe nicht, wieso das weniger "buggen" sollte, du führst die Animation einfach öfter aus und verursachst damit nur noch mehr Netzwerktraffic

      Das ist natürlich richtig, schlimmer geht immer xD Aber es ist so wie ich es mir erklären kann "just an Arma thing", wenn man das ganze Skript normal mit remoteExec startet vermute ich das die Animation einfach irgendwo kurz hängenbleibt,wenn man aber die Animation extra global called passiert das ganze nicht mehr. (Meine Erfahrung im test mit Kollegen das es das ganze wirklich fixt)

      Falls es das Problem ist das ihr meint das das Skript Global gestartet wird. Das ist noch Standard & daran wollte ich nix ändern. xD Aufgrund dessen sehe ich jetzt nicht unbedingt das Performance Problem? Weil die Animation bei allen gesynced startet und stoppt denke ich mal nicht das da jetzt groß erhöhter Traffic ist wenn man bedenkt das die ganze Zeit Postion etc etc etc Ausgetauscht werden. Oder gibt es da irgendwelche dramatischen, mir unbekannten Probleme mit einem Globalscript (Normal 5.0) inwelchem dann intern etwas Globalgecalled wird? Belehrt mich da bitte wenn ich was falsch aufgefasst habe :D

      << Gibst du mir mal das Ding direkt neben dem Teil über dem Zeug da? >>

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 18. Dezember 2020 um 19:05
      • #8

      Moin Moin

      ich möchte mir jetzt auch mal dazu äußern.

      Wird das Skript nicht schon so global dauerhaft ausgeführt, wenn jemand springt? Da juckt dieser eine remoteExec auch nicht mehr.

      Zudem werden sowieso schon jeder scheiß global ausgeführt.

    • Basti0208
      Schüler
      Reaktionen
      58
      Trophäen
      10
      Beiträge
      138
      Dateien
      1
      • 18. Dezember 2020 um 19:16
      • #9
      Zitat von PurKus

      Hmm.. das sollte so aber nicht sein :D Ich probier mal nen Video davon fertig zu machen. (Angemerkt: Das was gefixt werden soll ist wirklich nur dieser kurze screen beim Springen der kurz auftaucht und wieder weg is)

      Einmal mit den Änderungen: https://gph.is/g/Z2p2gem *Link zu einem GIF von giphy.com
      Einmal ohne die Änderungen (Normales Tanoa Life 5.0): https://gph.is/g/4ARWg8Q *Link zu einem GIF von giphy.com

      Ich habe deine Änderungen implementiert und bei mir hatte es keine Auswirkung auf den Bugscreen (ich meine auch denselben).


      Zitat von Fabi4976

      Wird das Skript nicht schon so global dauerhaft ausgeführt, wenn jemand springt? Da juckt dieser eine remoteExec auch nicht mehr.


      Zudem werden sowieso schon jeder scheiß global ausgeführt.

      Stell es dir so vor: Ein Spieler springt -> 50 Clients führen das Script aus (jumpFnc) -> Bei 50 Clients wird ein erneutes remoteExec ausgelöst (switchMove) -> Bei jedem Client kommt 50 mal das remoteExec an.
      Zumindest stelle ich es mir so vor, wenn ich da falsch liege, dann klärt mich gerne auf.

      Zitat von Fabi4976

      Zudem werden sowieso schon jeder scheiß global ausgeführt.

      Das stimmt so nicht. Viele Dinge werden über remoteExec ausgeführt, aber nicht in so einer Art und Weise.


      Ich denke, dass die Threads aber immer mehr Offtopic werden, also lasse ich das Kommentieren hiermit einfach.
      Wer das Tut verwenden möchte, kann dies gerne tun, ich rate jedoch aus Gründen der Performance davon ab.

      Edit: Nach einem kurzen Test kann ich sagen, wodurch der Bug in der Kamera verursacht wird. Bei einem call tritt der Fehler nicht auf. Bei einem spawn tritt der Fehler auf.

      Mit freundlichen Grüßen

      Basti

      Einmal editiert, zuletzt von Basti0208 (18. Dezember 2020 um 19:22)

    • PurKus
      Frischling
      Reaktionen
      10
      Trophäen
      7
      Beiträge
      17
      • 18. Dezember 2020 um 19:26
      • #10

      Ja, bringt nix hier weiter abzudriften ^^

      Noch an alle anderen:
      + Bei mir auf meinem "Testserver" / Rootserver mit der Standard Version Tanoa Life 5.0 funktioniert alles wie gewollt.

      + FPS Probleme konnte ich ebenfalls nicht feststellen.

      Trotz der etwas komischen Unterhaltung bei der niemand so wirklich nachgeben wollte wünsche ich natürlich trotzdem allen einen schönen Abend :P

      << Gibst du mir mal das Ding direkt neben dem Teil über dem Zeug da? >>

    • Fabi4976
      Schüler
      Reaktionen
      6
      Trophäen
      7
      Beiträge
      133
      Dateien
      2
      • 18. Dezember 2020 um 19:31
      • #11

      Servus, dies ist nun auch mein letzter Beitrag in diesem Topic.

      Basti0208 ich gehe davon aus das es mit dem remoteExec so gewollt ist, damit die Animation bei allen spielern gesynct ist.

      Ich wünsche noch einen schönen Abend und ein entspanntes Wochenende.

      MFG

    • PurKus
      Frischling
      Reaktionen
      10
      Trophäen
      7
      Beiträge
      17
      • 18. Dezember 2020 um 20:20
      • #12

      + + + Kurzes Update! + + +

      Ich habe jetzt auch noch von jemand anderem die Bestätigung bekommen das das Tutorial soweit funktioniert

      und es keine Probleme macht. Ich werde jetzt noch ab und an diesen Beitrag checken ob jemand Hilfe braucht, aber auf
      "sinnlose" Kommentare antworte ich ab jetzt nicht mehr :S

      Ich wünsche euch viel Spaß mit dem Tutorial und euch noch einen schönen Tag ;)
      Erfolgreich getestet in: Altis Life 5.0 sowie Tanoa Life 5.0. [Müsste aber auch in jeder anderen Life Version funktionieren]

      << Gibst du mir mal das Ding direkt neben dem Teil über dem Zeug da? >>

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

    Tags

    • Tanoa Life
    • Altis Life
    • Bug
    • Arma 3
    • jump
    • rework
    • Altis 5.0
    • glitch
    • Jumping

    Benutzer online in diesem Thema

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