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. Hilfeforum

    Wiederbeleben von Beifahrer und Co

    • moeck
    • 8. März 2017 um 09:04
    • Geschlossen
    • Erledigt
    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 09:04
      • #1

      Moin,

      ich habe da mal eine Frage. Ich habe die Herausforderung, dass zum Beispiel alle Passagiere bei einem Heliabsturz aktuell nicht wiederbelebt werden können, da die Leichen mit dem Fahrzeug despawnen. Ich habe gestern ein wenig rum gespielt und versucht beim löschen des Fahrzeugs die Insassen herausfallen zu lassen leider nur mit bedingtem Erfolg. Es ist jetzt so, dass die Leichen zwar umpositioniert werden aber man sie erst nach einem Lobbyjump sieht. Hat jemand eine Idee wie man die Leichen so positioniert, dass alle anderen Spieler sie sehen?

      Ich habe folgendes in die Funktion deadVehicle eingetragen.

      Code
      _dudes = crew _vehicle;
      {
      if !(alive _x) then
      {
           _newPos = (getPos _vehicle) findEmptyPosition [(random 5), 10];
          [[_x,_newPos],"TON_fnc_relocateDead",true,false] spawn life_fnc_MP;
      };
      
      } forEach _dudes;

      in der relocateDead.sqf befindet sich folgender Code

      Code
      private ["_dude","_position"];
      _dude = _this select 0;
      _position = _this select 1;
      _dude setPos _position;

      Grundsätzlich scheint das ja auch zu funktionieren aber die Medics sehen die Leichen halt erst nach einem Lobbyjump. Hat wer eine Idee?

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 8. März 2017 um 09:16
      • #2

      Wenn das Fahrzeug gelöscht wird bevor du die positionierst kann das passieren.

      Du kannst aber auch einfach die typen aus dem Fahrzeug kicken mit action "eject" etc wenn das Fahrzeug zerstört wird.

      Das sollte Theoretisch helfen.

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 09:23
      • #3

      Ok würde also bedeuten

      ich baue hier noch einen sleep timer ein?

      Code
      /*
          File: fn_vehicleDead.sqf
          
          Description:
          Tells the database that this vehicle has died and can't be recovered.
      */
      private["_vehicle","_plate","_uid","_query","_sql","_dbInfo","_thread"];
      _vehicle = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      hint str _vehicle;
      if(isNull _vehicle) exitWith {}; //NULL
      
      _dbInfo = _vehicle getVariable["dbInfo",[]];
      if(count _dbInfo == 0) exitWith {};
      _uid = _dbInfo select 0;
      _plate = _dbInfo select 1;
      
      _query = format["UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
      
      waitUntil {!DB_Async_Active};
      _thread = [_query,1] call DB_fnc_asyncCall;
      
      sleep (1.3 * 60);
      if(!isNil "_vehicle" && {!isNull _vehicle}) then {
          _dudes = crew _vehicle;
          { 
            if !(alive _x) then
            {
              _newPos = (getPos _vehicle) findEmptyPosition [(random 5), 10];
              [[_x,_newPos],"TON_fnc_relocateDead",true,false] spawn life_fnc_MP;
           };
         } forEach _dudes;
         sleep 10;
          deleteVehicle _vehicle;
      };
      Alles anzeigen

      Mit dem eject kann ich gerade nix anfangen, da müsstest Du mir kurz auf die Sprünge helfen ;-).

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 8. März 2017 um 09:33
      • #4

      Das mit dem Sleep haut soweit hin, warte aber nicht zu lange ^^# so 2-5 Sekunden sollten denke reichen.

      Leider habe ich grade den Befehl nochmal angeschaut aber blöderweise geht der nicht bei toten Einheiten ^^#

      {
      _x action ["Eject", vehicle _x];
      } forEach crew _vehicle;

      ^^ wäre es gewesen.

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 09:45
      • #5

      Gut dann werde ich es mal mit dem sleep bzw. uisleep testen ;-). Ich melde mich dann heute abend dazu wieder.

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 09:48
      • #6

      Achso wo wir gerade dabei sind. Momentan despawnen bei uns Boote nicht und ich habe leider noch nicht die Stelle gefunden warum das so ist.

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 8. März 2017 um 11:21
      • #7

      Kommt darauf an was du genau meinst.

      Wenn die zerstört werden oder bei nicht-benutzung?

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 12:23
      • #8

      bei zerstörung bleiben die trotzdem liegen und man bekommt die leichen nicht raus ;-). Ich werde wahrscheinlich auch nch die pullout action bei den Medics ändern, dass sie auch tote aus den fahrzeugen ziehen können

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 8. März 2017 um 12:31
      • #9

      Okay, du könntest einen Eventhandler ansetzen der die Fahrzeuge nach einer gewissen Zeit einfach löscht. So habe ich es zumindest gemacht.

      Ich bin mir nicht sicher aber es gab definitiv einen Befehl mit dem man alle Einheiten aus Fahrzeugen raushauen kann auch wenn sie tot sind.

      Such mal in den BIS functions und den Commands Wiki.

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 12:39
      • #10

      muss ich mal schauen ob ich die finde ;) nehm auch gern tipps entgegen

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 8. März 2017 um 12:42
      • #11

      Arma 3 Commands und Syntax

      A3 Bis Function Wiki

      Eventhandler sollten relativ einfach sein, einfach beim spawn den hinzufügen und auf ne neue Funktion setzen.

      Dadrin sleep 60 oder sowas und das Ding löschen.

      Beim problem der Leichen kann ich dir leider wirklich nicht helfen ^^# weil ich den Befehl fürs zwingende Aussteigen nicht mehr weiß xD

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 13:41
      • #12

      Mh... habe da noch was anderes gefunden in der fn_cleanup. Die Boote werden nicht gelöscht da sie nicht leer sind ;) . Ich werde mal testen ob ich die dann nicht auch einfach rausschmeisse ;-). Dann verschwinden wahrscheinlich auch die Boot ^^

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 14:10
      • #13

      so ich habe jetzt mal noch ein wenig geschaut und ich denke das sleep braucht man nicht.

      C
      /*
       File: fn_vehicleDead.sqf
       
       Description:
       Tells the database that this vehicle has died and can't be recovered.
      */
      private["_vehicle","_plate","_uid","_query","_sql","_dbInfo","_thread"];
      _vehicle = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      hint str _vehicle;
      if(isNull _vehicle) exitWith {}; //NULL
      
      _dbInfo = _vehicle getVariable["dbInfo",[]];
      if(count _dbInfo == 0) exitWith {};
      _uid = _dbInfo select 0;
      _plate = _dbInfo select 1;
      
      _query = format["UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
      
      waitUntil {!DB_Async_Active};
      _thread = [_query,1] call DB_fnc_asyncCall;
      
      sleep (1.3 * 60);
      if(!isNil "_vehicle" && {!isNull _vehicle}) then {
          _dudes = crew _vehicle;
       { 
       if !(alive _x) then
       {
         _newPos = (getPos _vehicle) findEmptyPosition [(random 5), 10];
         _handle = [[_x,_newPos],"TON_fnc_relocateDead",true,false] spawn life_fnc_MP;
         waitUntil { scriptDone _handle };
       };
       } forEach _dudes;
       //sleep 10;
       deleteVehicle _vehicle;
      };
      Alles anzeigen

      wenn man es mit dem _handle löst. Wie gesagt ich kann es gerade nicht testen und mache hier trocken übungen. Aber mit dem Konstrukt macht er erst weiter wenn das andere Script durch ist ;)

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 8. März 2017 um 22:52
      • #14

      Leider funktioniert der ganze Spass nur manchmal bzw. wenn man reconnectet sieht man die leichen. Falls wer noch eine Idee hat immer her damit

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 8. März 2017 um 23:05
      • #15

      Wenn es soweit ist bzw. wenn es funktioniert, dann mach darüber doch gerne mal nen Tutorial :D

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 9. März 2017 um 08:12
      • #16

      Moin,

      ich habe mal etwas weitergeforscht und bin noch über einen anderen Befehl gestolpert. Leider konnte ich ihn bisher noch nicht testen, daher poste ich das mal hier vielleicht hat ja wer Lust und Zeit das auszuprobieren ^^

      C: fn_vehicleDead.sqf
      /*
       File: fn_vehicleDead.sqf
       
       Description:
       Tells the database that this vehicle has died and can't be recovered.
      */
      private["_vehicle","_plate","_uid","_query","_sql","_dbInfo","_thread"];
      _vehicle = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      hint str _vehicle;
      if(isNull _vehicle) exitWith {}; //NULL
      
      _dbInfo = _vehicle getVariable["dbInfo",[]];
      if(count _dbInfo == 0) exitWith {};
      _uid = _dbInfo select 0;
      _plate = _dbInfo select 1;
      
      _query = format["UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
      
      waitUntil {!DB_Async_Active};
      _thread = [_query,1] call DB_fnc_asyncCall;
      
      sleep (1.3 * 60);
      if(!isNil "_vehicle" && {!isNull _vehicle}) then {
       _dudes = crew _vehicle;
       { 
       if !(alive _x) then
       {
           moveOut _x;
           uisleep 3;
       };
       } forEach _dudes;
       sleep 10;
       deleteVehicle _vehicle;
      };
      Alles anzeigen

      Brizi Jaeger : kann ich gern machen, wenn es fehlerfrei und ohne Lobbyjump funktioniert ^^

      Im Prinzip einfach im life_server/Functions/Systems/fn_vehicleDead.sqf austauschen ;-).

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 9. März 2017 um 08:45
      • #17

      ^^ den meinte ich, richtig.

      Damit sollte es gehen

      Code
      moveOut dead_person;

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 9. März 2017 um 08:57
      • #18

      Moin Shinji ,

      mal schauen ob das so klappt oder ob man das per life_fnc_MP machen muss. Habe es aktuell zwar schon eingebaut nur heute nacht um 2 Uhr habe ich keinen Tester mehr gefunden ^^. Eine andere Idee wäre es mit in den Eventhandler des Fahrzeugs einzubauen. Ich werde das vielleicht heute Abend testen, falls ich es schaffe. Andernfalls muss es bis Ende nächster Woche warten. Irgendwie habe ich bisher immer eine Lösung gefunden, hoffentlich auch diesmal.

      Sobald das sauber arbeitet mache ich ein TUT fertig für die 3.1.4.8 und eventuell auch für die anderen Versionen ;-).

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Shinji
      Profi
      Reaktionen
      576
      Trophäen
      10
      Beiträge
      778
      • 9. März 2017 um 09:13
      • #19

      Moin moeck :D

      In der Theorie sollte es so schon funktionieren. Da der Server in dem Fall eigentlich Global den Befehl an die jeweiligen Spieler wirft, sollte jeder Spieler der Tot ist aus dem Fahrzeug gekickt werden.

      Code
      _dudes = crew _vehicle;
       { 
           if !(alive _x) then
           {
               moveOut _x;
               uisleep 3;
           };
       } forEach _dudes;

      Wird demnach für jeden Spieler ausgeführt. Da dürftest du die Funktion für Mp nicht betrachten müssen ^^

      Software Entwickler -
      Präzises Rätselraten, basierend auf unzuverlässigen Daten und fragwürdigem Wissen der Auftraggeber.

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 9. März 2017 um 09:16
      • #20

      Dann hätte theoretisch die andere Lösung auch schon funktionieren müssen. Leider ist Arma da manchmal ziemlich zickig ^^ . Aber falls es so schon funktioniert wäre es für alle Versionen eine brauchbare Lösung und Brizi Jaeger würde sich freuen ^^

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

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