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
Do: 22 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

    [Tutorial] NPCs Animationen zuweisen!

      • Altis Life
    • ChickenWeed
    • 25. Juli 2016 um 18:11
    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 25. Juli 2016 um 18:11
      • #1

      Hey Leute heute zeig euch ein ganz einfaches Tutorial was durch Langeweile im Urlaub entstanden ist! :D

      Was lerne ich in diesem kleinen Tutorial?
      Wie man einen NPC in eine Animation versetzt, damit die NPCs am Marktplatz nicht so langweilig aussehen! Man kann damit viel rum Experimentieren und NPCs z.B auf Stühle platzieren.

      Was Ihr braucht?
      Ihr braucht nur eure Missions Datei mit den NPCs. Wo Ihr die findet sollte eigentlich jeder Wissen. ;)


      Na gut dann fangen wir mal an! :D

      Zuerst geht Ihr in den 3D Editor und öffnet eure Mission, dann setzt ihr eine Spielbare Einheit und geht auf Vorschau dort klickt Ihr dann auf ESC und unter dem Debug Fenster auf Animation dort sucht ihr euch ganz easy eine Animation heraus und Kopiert den Namen z.B AmovPercMstpSsurWnonDnon jetzt einfach zurück in den 3D Editor gehen und die Spielbare Einheit löschen!


      Jetzt geht Ihr zu eurem NPC und fügt in die Init des NPCs diesen Code ein:

      C
      this enableSimulation false;
      this allowDamage false;
      switchMove "DEINEANIMATION";


      Wenn ihr aber eine Animation wie z.B Winken dauerhaft laufen lassen wollt, dann müsst Ihr in der Init des NPCs diese While Schleife einbauen:

      C
      [] spawn {
       while {alive this} do
       {
       this switchMove "DEINEANIMATION";
       uisleep 10; //Dauer der Animation
       };
      };

      Bei DEINEANIMATION kommt natürlich der Name der Animation rein die Ihr davor Kopiert habt.

      So jetzt einfach noch testen ob die Animation past und den NPC nochmal richtig Positionieren.

      Fertig! :D


      Hoffe das kleine und einfache Tutorial hat euch gefallen!

      PS: Alle Rechtschreibfehler die Ihr findet ergeben ein Wort womit ihr die Weltherrschaft übernehmen könnt!!! :thumbup:


      Mfg Pius von Team-Wings ^^

      12 Mal editiert, zuletzt von ChickenWeed (25. Juli 2016 um 21:23)

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 25. Juli 2016 um 18:18
      • #2

      An sich schöne Idee, aber leider Performancelastig. Zudem wird so die Animation nur einmal ausgeführt. Bei "Hände hoch" oder "Salutieren" bleibt er zwar so, aber nur weil es dazu entsprechende Gegenanimationen gibt und diese einen festen State darstellen. Würde man z.B. die Reperaturanimation ausführen wäre das leider nur einmal. Das müsste man über einen (sehr performancefressenden) Loop laufen lassen - Tut mir leid, wenn ich damit jetzt irgendjemandes Träume angeschlagen habe...

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

      ______________________

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 25. Juli 2016 um 18:27
      • #3

      Naja wenn man nur ein paar Loops macht geht das und am Marktplatz ist einfach nur gedacht das die NPCs ne andere Haltung haben z.B Hände auf dem Tisch. Die Loop Schleifen wären geil, wenn man z.B bei einer Fahrzeuge Vorschau ein Lager bauen möchte wo NPCs so tun als ob sie da an einem Fahrzeug schrauben. ^^

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 25. Juli 2016 um 18:32
      • #4

      Mag sein, dass das Cool ist, aber zieht wie gesagt höllisch Performance wenn das nicht nur 3-4 NPC's machen (Bei Exile gibt's das ja an den Fahrzeugshops, aber davon gibts da ja nicht viele)

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

      ______________________

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 25. Juli 2016 um 18:58
      • #5

      EDIT* Habe jetzt eine While Schleife zum Tutorial hinzugefügt viel Spaß damit! ;)

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 25. Juli 2016 um 19:00
      • #6
      Zitat von blackfisch

      Mag sein, dass das Cool ist, aber zieht wie gesagt höllisch Performance wenn das nicht nur 3-4 NPC's machen (Bei Exile gibt's das ja an den Fahrzeugshops, aber davon gibts da ja nicht viele)

      Dann muss man halt nicht mit den NPC While Schleifen übertreiben und dann ist alles gut! ^^

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 25. Juli 2016 um 19:44
      • #7
      Zitat von Team-Wings

      while {alive NPCNAME} do
      {
      NPCNAME switchMove "DEINEANIMATION";
      sleep 10; //Dauer der Animation!
      };

      Diesen Code müsst Ihr im Trigger einfügen den ihr über die Taste F3 aufrufen könnt.
      Dabei ist klar das Ihr den anderen Code dann nicht mehr in die Init rein schreiben müsst!

      Geht auch einfacher. Einfach das in die Init des NPC's:

      C
      [] spawn {
       while {alive this} do
       {
        this switchMove "DEINEANIMATION";
        uisleep 10; //Dauer der Animation
       };
      };

      Spart dir das Trigger setzen und Fehler bei den Namen. uisleep einfach weil es die Systemzeit nimmt zu Zeitmessung (sleep arbeitet mit Game-Ticks, die bei Laggs verzögert werden - Das ist auch der Grund warum manchmal die Sirenen ne Pause dazwischen haben. Laggs verursachen Asynchronität bei den sleeps)

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

      ______________________

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 25. Juli 2016 um 20:50
      • #8
      Zitat von blackfisch

      Geht auch einfacher. Einfach das in die Init des NPC's:

      C
      [] spawn {
       while {alive this} do
       {
        this switchMove "DEINEANIMATION";
        uisleep 10; //Dauer der Animation
       };
      };

      Spart dir das Trigger setzen und Fehler bei den Namen. uisleep einfach weil es die Systemzeit nimmt zu Zeitmessung (sleep arbeitet mit Game-Ticks, die bei Laggs verzögert werden - Das ist auch der Grund warum manchmal die Sirenen ne Pause dazwischen haben. Laggs verursachen Asynchronität bei den sleeps)

      Ok nice danke werde es sofort im Tutorial ändern! ^^

      Einmal editiert, zuletzt von ChickenWeed (26. Juli 2016 um 13:09)

    • HalloaTanoa
      Frischling
      Trophäen
      8
      Beiträge
      1
      • 27. Juli 2016 um 12:22
      • #9

      Nice! :D

    • ByForce
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      24
      • 9. August 2016 um 20:45
      • #10

      wie kann mann selber animationen erstellen ?

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 9. August 2016 um 20:57
      • #11

      Schau mal hier: http://www.armaholic.com/page.php?id=23351

      Ohne Mods allerdings nicht umsetzbar.

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

      ______________________

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 22. Januar 2017 um 09:05
      • #12

      Ja es ist Älter sitze aber auch grade drane xD

      Zitat von blackfisch

      An sich schöne Idee, aber leider Performancelastig

      Naja genau wenn man es mit einer schleife macht schon :P

      Zitat von blackfisch

      Mag sein, dass das Cool ist, aber zieht wie gesagt höllisch [lexicon]Performance[/lexicon] wenn das nicht nur 3-4 NPC's machen (Bei Exile gibt's das ja an den Fahrzeugshops, aber davon gibts da ja nicht viele)

      Ja mhh Exile die jung sind aber nicht dumm :P also einfach mal geguckt wie die das so machen und HAHA keine Schleife

      hier jetzt meine Version

      Erstellt 2 Neue Dateien im Ordner core/functions

      fn_animations.sqf und fn_onAnimationDone.sqf

      In die fn_animations.sqf kommt

      C
      /*
      Author: br1zey/Ryu
      Description:
      Animate NPC and give more Realistcs
      
      
      
      
      [this] call life_fnc_animations;
      */
      private["_npc","_animations","_logic","_dir","_pos","_attachToObject"];
      params [
          ["_npc",ObjNull,[ObjNull]]
      ];
      _animations = ["HubBriefing_scratch", "HubBriefing_stretch", "HubBriefing_think", "HubBriefing_lookAround1", "HubBriefing_lookAround2"];
      
      
      
      
      
      
      
      _npc enableSimulation true;
      _npc setVariable ["BIS_fnc_animalBehaviour_disable", true];
      _npc setVariable ["RL_Animations", _animations];
      _npc disableAI "ALL";
      _npc allowDamage false;
      _npc removeAllEventHandlers "HandleDamage";
      
      
      
      
      _npc switchMove (_animations select 0);
      _npc addEventHandler ["AnimDone", {_this call life_fnc_onAnimationDone}];
      Alles anzeigen

      und in die fn_onAnimationDone.sqf kommt


      C
      private["_npc","_animations"];
      _npc = _this select 0;
      _animations = _npc getVariable ["RL_Animations", []];
      _npc switchMove (_animations select floor(random (count _animations)));
      true


      Jetzt müsst ihr die beiden Natürlich noch in der Functions.hpp eintragen


      also in der class Functions unter

      class tazeSound {};
      einfach
      class animations {};
      class onAnimationDone {};
      Eintragen

      Zu Guter Letzt nur noch in die Init vom NPC

      [this] call life_fnc_animations;

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

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

      Einmal editiert, zuletzt von br1zey (22. Januar 2017 um 17:26)

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 22. Januar 2017 um 11:18
      • #13

      Hab mir das mal Spaßeshalber eingebaut und einen NPC damit befeuert.

      Sieht sehr nett aus. Das einzige was mich ein bisschen stört ist dass der NPC immer wieder sich auf den Boden wirft :) und wieder aufsteht.

      Aber an sich ne lustige Sache, wenn man das in Maßen in ein paar Shops einfügt.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 22. Januar 2017 um 16:12
      • #14
      Zitat von Saturin78

      NPC immer wieder sich auf den Boden wirft

      hatte ich gestern auch .... dan die Animation geändert und keine Probleme also hast du noch andere Animation hinzugefügt

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

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

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 22. Januar 2017 um 16:35
      • #15

      Nee nur mal genau wie in deinem tut.

      :)

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 22. Januar 2017 um 17:26
      • #16

      habe noch etwas kleines geändert aber bei mir schmeisen die sich nciht auf den boden

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

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

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • Einrichten eines HeadlessClients

      • Saturin78
      • 4. März 2017 um 19:45
      • Hilfeforum

    Tags

    • Tutorial, Altis, Npc,init,Miss

    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™