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

    Fahrzeug nur mit Schlüssel fahren.

    • Brandy Scotchland
    • 5. März 2018 um 20:26
    • Erledigt
    • Brandy Scotchland
      Schüler
      Reaktionen
      70
      Trophäen
      9
      Beiträge
      91
      Bilder
      11
      • 5. März 2018 um 20:26
      • #1

      Moin Moin,

      Ich würd gerne das man Fahrzeuge auf meinem Altis Life Server nur fahren kann wenn man auch einen Schlüssel für das Auto hat. Somit kann man das RP verbesseren und dazu ist es noch ein kleiner schutz für Leute wie ich die ihr Fahrzeug immer offen lassen ;)

      Kennt jemand von euch vielleicht ein Script was das macht oder hat eine Idee wie man das machen könnte ? Ein bissle verstehe ich von SQF da ich es grade lerne.

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 5. März 2018 um 20:30
      • #2

      fn_setupEVH:

      Code
      player addEventHandler ["GetInMan", {_this spawn life_fnc_getInMan}];
      player addEventHandler ["SeatSwitchedMan", {_this spawn life_fnc_seatSwitchedMan}];

      und die beiden Funktionen:

      Code: getInMan
      /*
          File: fn_getInMan.sqf
          Author: blackfisch for MountainValley RPG
      
          Description:
          Function for 'GetInMan'-EVH
      */
      params [
          ["_unit",objNull,[objNull]],
          ["_position","cargo",[""]],
          ["_vehicle",objNull,[objNull]]
      ];
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
          [_vehicle,0] remoteExecCall ["life_fnc_lockVehicle",_vehicle];
          _unit action ["Eject", _vehicle];
      };
      Alles anzeigen
      Code: seatSwitchedMan
      /*
          File: fn_seatSwitchedMan.sqf
          Author: blackfisch for MountainValley RPG
      
          Description:
          Function for 'SeatSwitchedMan'-EVH
      */
      
      params [
          ["_unit",objNull,[objNull]],
          ["_unit2",objNull,[objNull]],
          ["_vehicle",objNull,[objNull]]
      ];
      _position = (assignedVehicleRole _unit) select 0;
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
          [_vehicle,0] remoteExecCall ["life_fnc_lockVehicle",_vehicle];
          _unit action ["Eject", _vehicle];
      };
      Alles anzeigen


      mal kurz zusammengeschustert aus bisschen Code von uns. Ohne Gewähr, sollte aber gehen. Schmeißt dich aus dem Auto sobald du auf dem Fahrersitz bist

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

      ______________________

    • Brandy Scotchland
      Schüler
      Reaktionen
      70
      Trophäen
      9
      Beiträge
      91
      Bilder
      11
      • 5. März 2018 um 20:36
      • #3

      Danke blackfisch ich teste es gleich mal

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. April 2019 um 09:25
      • #4

      Da hier niemand mehr geschrieben hat ob es geht oder sich bedankt hat, mache ich das mal.

      Funktioniert einwandfrei. Besten Dank.

      Saturin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 28. April 2019 um 14:28
      • #5

      Es geht doch einfacher und ohne Rauswerfen ausm Auto oder nicht?

      Code: Eventhandler
      player addEventHandler ["Engine", {_this spawn life_fnc_withoutKey}];
      Code: Datei fn_withoutkey.sqf
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
          vehicle player engineOn false;
      };
      
      Zu Faul Variablen zu benennen

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Brandy Scotchland
      Schüler
      Reaktionen
      70
      Trophäen
      9
      Beiträge
      91
      Bilder
      11
      • 28. April 2019 um 16:27
      • #6

      Ja wir haben mittlerweile auch die Version davon :)

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. April 2019 um 19:57
      • #7
      Zitat von BlueType

      Es geht doch einfacher und ohne Rauswerfen ausm Auto oder nicht?

      Code: Eventhandler
      player addEventHandler ["Engine", {_this spawn life_fnc_withoutKey}];
      Code: Datei fn_withoutkey.sqf
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
          vehicle player engineOn false;
      };
      
      Zu Faul Variablen zu benennen

      Also über das starten des Motors will er irgendwie nicht reagieren.

      wenn ich es so versuche:

      player addEventHandler ["Engine", {_this spawn life_fnc_engineOff}];

      passiert garnichts, dann dachte ich vielleicht über

      vehicle player addEventHandler ["Engine", {_this spawn life_fnc_engineOff}];

      Aber da will er auch nicht. Meine er spuckt nicht mal nen Fehler aus. Die Zeilen ignoriert er einfach frech :) .

      _vehicle addEventHandler ["Engine", {_this spawn life_fnc_engineOff}];

      und

      vehicle addEventHandler ["Engine", {_this spawn life_fnc_engineOff}];

      spuckt er dann schon beim Serverstart lauter Fehler wegen fehlenden ; und falschen Variablen.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 28. April 2019 um 20:13
      • #8

      Habe es im Editor nun über Debug getestet... Oben die parms rein und dann geht alles mit Butter...

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. April 2019 um 20:32
      • #9

      Hm, ok. Ich glaub es wird Zeit fürs Bettchen :)

      Ich hab das nun in der fn_setupEVH.sqf drinne stehen:

      Code: fn_setup_EVH.sqf
      /*
          File: fn_setupEVH.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Master eventhandler file
      */
      player addEventHandler ["Killed", {_this call life_fnc_onPlayerKilled}];
      player addEventHandler ["HandleDamage", {_this call life_fnc_handleDamage}];
      player addEventHandler ["Respawn", {_this call life_fnc_onPlayerRespawn}];
      player addEventHandler ["Take", {_this call life_fnc_onTakeItem}];
      player addEventHandler ["Fired", {_this call life_fnc_onFired}];
      player addEventHandler ["InventoryClosed", {_this call life_fnc_inventoryClosed}];
      player addEventHandler ["InventoryOpened", {_this call life_fnc_inventoryOpened}];
      player addEventHandler ["HandleRating", {0}];
      //Nur mit Schlüssel fahren können.
      //player addEventHandler ["GetInMan", {_this spawn life_fnc_getInMan}];
      //player addEventHandler ["SeatSwitchedMan", {_this spawn life_fnc_seatSwitchedMan}];
      player addEventHandler ["Engine", {_this spawn life_fnc_engineOff}];
      
      addMissionEventHandler ["Map", {_this call life_fnc_checkMap}];
      Alles anzeigen

      und als Datei die er lädt das erstellt:

      Code: fn_engineOff.sqf
      /*
          Datei:    fn_engineOff.sqf
          Autor:    
          
          Beschreibung: Motor des Autos geht nicht an, wenn man keinen Schlüssel dazu hat.
      */
      
      params [
          ["_unit",objNull,[objNull]],
          ["_position","cargo",[""]],
          ["_vehicle",objNull,[objNull]]
      ];
      
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
          vehicle player engineOn false;
      };
      
      //Eintrag in die EventHandler-Datei!
      //player addEventHandler ["Engine", {_this spawn life_fnc_withoutKey}];
      Alles anzeigen

      Aber es passiert einfach garnicht´s Er straft mich mit völliger Ignoranz und schenkt mir nicht mal ne Fehlermeldung :) Das ist so mit einem auf die Map gesetzten Fahrzeug und mit einem ausgeparktem Fahrzeug für das ich den Schlüssel weggeworfen habe.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • wepper
      Schüler
      Reaktionen
      25
      Trophäen
      8
      Beiträge
      125
      • 28. April 2019 um 21:09
      • #10

      Der Engine Eventhandler kennt nur _vehicle und _engineStatus als Params, siehe https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#Engine

      Außerdem muss es auf das Fahrzeug, und nicht auf den Spieler gelegt werden.

      Quick and Dirty:

      Beim Einsteigen (GetInMan) und SwitchSeat prüfen, ob das Fahrzeug in Life_Vehicles ist und als Variable aufs Fahrzeug legen (setVariable["hasKey",true/false,true]) und im Eventhandler diese Variable abfragen und den Motor entsprechend killen. Beim Aussteigen (GetOutMan) und SwitchSeat nicht vergessen, die Variable zu löschen ;)

    • BlackDesire
      Schüler
      Reaktionen
      17
      Trophäen
      8
      Beiträge
      27
      Bilder
      61
      • 28. April 2019 um 21:36
      • #11

      Das sieht echt mega interessant aus. Gibt es die Möglichkeit, dass jemand den kompletten funktionierenden Code mal posten könnte? Wäre echt super hilfreich :)

      Mit freundlichen Grüßen

      BlackDesire aka. ChaosToasterHH

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 28. April 2019 um 21:55
      • #12
      Zitat von wepper

      Der Engine Eventhandler kennt nur _vehicle und _engineStatus als Params, siehe https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#Engine

      Außerdem muss es auf das Fahrzeug, und nicht auf den Spieler gelegt werden.

      Quick and Dirty:

      Beim Einsteigen (GetInMan) und SwitchSeat prüfen, ob das Fahrzeug in Life_Vehicles ist und als Variable aufs Fahrzeug legen (setVariable["hasKey",true/false,true]) und im Eventhandler diese Variable abfragen und den Motor entsprechend killen. Beim Aussteigen (GetOutMan) und SwitchSeat nicht vergessen, die Variable zu löschen ;)

      Wieso VAriable setzten?

      Code
      /*
       File: fn_getInMan.sqf
       Author: blackfisch for MountainValley RPG
       Description:
       Function for 'GetInMan'-EVH
      */
      params [
       ["_unit",objNull,[objNull]],
       ["_position","cargo",[""]],
       ["_vehicle",objNull,[objNull]]
      ];
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
       vehicle player engineOn false;
      };
      Alles anzeigen

      Und ja das geht... Ich habs getestet grade... Kann sein das es nicht MP Fähig ist aber im SP gehts...

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 28. April 2019 um 22:00
      • #13
      Zitat von wepper

      Außerdem muss es auf das Fahrzeug, und nicht auf den Spieler gelegt werden.

      Exakt.

      Es muss einen EVH auf jedem Fahrzeug geben und dann sollte aber der Code mit der Logik

      Code
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
       vehicle player engineOn false;
      };

      aber nur aufm Client vom Fahrer ausgeführt werden.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • wepper
      Schüler
      Reaktionen
      25
      Trophäen
      8
      Beiträge
      125
      • 28. April 2019 um 22:57
      • #14
      Zitat von BlueType

      Wieso VAriable setzten?

      Code
      /*
       File: fn_getInMan.sqf
       Author: blackfisch for MountainValley RPG
       Description:
       Function for 'GetInMan'-EVH
      */
      params [
       ["_unit",objNull,[objNull]],
       ["_position","cargo",[""]],
       ["_vehicle",objNull,[objNull]]
      ];
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
       vehicle player engineOn false;
      };
      Alles anzeigen

      Und ja das geht... Ich habs getestet grade... Kann sein das es nicht MP Fähig ist aber im SP gehts...

      Ja, und jetzt drückst du mal W, und das Auto fährt wieder ;D - oder du nimmst die Aktion "Motor einschalten" und fährst davon.

      Zitat von Stig

      Exakt.

      Es muss einen EVH auf jedem Fahrzeug geben und dann sollte aber der Code mit der Logik

      Code
      if (_position isEqualTo "driver" && {!(_vehicle in life_vehicles)}) then {
       vehicle player engineOn false;
      };

      aber nur aufm Client vom Fahrer ausgeführt werden.

      Theoretisch ja, aber ich weiß nicht auf welchem Client der Code tatsächlich ausgeführt wird. Könnte auch sein, dass der EVH auf dem Client ausgeführt wird, wo das Fahrzeug local ist, oder eben auf dem Server, in diesem Fall würde die Logik nicht funktionieren.

      Habs aber zugegebener maßen noch nicht getestet, vielleicht kann das ja jemand nachholen ;)

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 29. April 2019 um 18:29
      • #15
      Zitat von wepper

      Theoretisch ja, aber ich weiß nicht auf welchem Client der Code tatsächlich ausgeführt wird. Könnte auch sein, dass der EVH auf dem Client ausgeführt wird, wo das Fahrzeug local ist, oder eben auf dem Server, in diesem Fall würde die Logik nicht funktionieren.

      Habs aber zugegebener maßen noch nicht getestet, vielleicht kann das ja jemand nachholen

      Der Eventhandler sollte auf dem Rechner auslösen werden, auf dem er auch erstellt wurde. Das heißt quasi jeder Spieler braucht den Eventhandler auf jedem Fahrzeug, außer man macht den Eventhandler nur auf dem Fahrzeug wo der Client gerade drin ist (was man mit anderen Eventhandlern nachverfolgen kann) oder lässt die Eventhandler zentral aufm Server laufen.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • Bart
      Anfänger
      Reaktionen
      1
      Trophäen
      6
      Beiträge
      33
      Bilder
      14
      • 18. Dezember 2019 um 10:45
      • #16

      Könnte hierzu jemand einen fertigen Code posten?

      Habe die 1 Variante mal getestet aufm Server geht das mit dem aussteigen nicht...

      blackfisch

      Habe genau diese 3 Codes eingefügt...

    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 31. Dezember 2019 um 18:20
      • #17

      So ich habe jetzte die lösung für alles Danke an blackfisch und BlueType für die Hilfe hier die lösung.

      1. Geht in die fn_setupevh.sqf und fügt folgendes ein

      player addEventHandler ["GetInMan", {_this spawn life_fnc_getInMan}];

      2. Erstellt euch eine Datei namen fn_getInMan.sqf in den vehicle ordner und dann noch in die Functions.hpp unter der class Vehicle und ganz am ende davon class getInMan {};

      3.Geht in die fn_getInMan.sqf und fügt folgendes ein

      Spoiler anzeigen
      Code
      /*
       File: fn_getInMan.sqf
       Author: Deathman
       Helping: blackfisch, BlueType
       Description:
       Function for 'GetInMan'-EVH
      */
      params ["_unit", "_role", "_vehicle", "_turret"];
      
      if (_vehicle isKindOf "landVehicle") then {
      _vehicle addEventHandler ["Engine", {
        params ["_vehicle", "_engineState"];
        hint "Du brauchst den Schlüssel für das Fahrzeug um es zu starten";
        if (_engineState && {!(_vehicle in life_vehicles)}) exitWith { _vehicle engiNeOn false;};}];
      };
      Alles anzeigen

      So Fertig

    • micky
      Anfänger
      Trophäen
      4
      Beiträge
      48
      • 7. August 2024 um 09:23
      • #18

      wieso bekommt man diese meldung


      Code
      Du brauchst den Schlüssel für das Fahrzeug um es zu starten
      
      wenn man den schlüssel doch hat, eigentlich dürfe diese Meldung doch nur kommen wenn man den schlüssel Nicht hat.

      Diskord

      Crysis9184

      TeamSpeak 152.53.44.113:9987


      Viele Grüße

      Micky

    • Zuruhapser010
      Amateur
      Reaktionen
      6
      Trophäen
      8
      Beiträge
      99
      Dateien
      7
      Bilder
      45
      • 14. August 2024 um 23:24
      • #19
      Zitat von micky

      wieso bekommt man diese meldung


      Code
      Du brauchst den Schlüssel für das Fahrzeug um es zu starten
      
      wenn man den schlüssel doch hat, eigentlich dürfe diese Meldung doch nur kommen wenn man den schlüssel Nicht hat.

      Da die Nachricht an einer Falschen Stelle ausgegeben wird.

      Dies sollte der Korrekte Codeblock sein. ( Habe die Landfahrzeuge auskommentiert , falls du die "Du brauchst Schlüssel" Funktion nur bei Auto/Panzer/Motorräder/Fahrräder Kommentiere die 2 Zeilen mit dem // Ganz vorne wieder ein.

      Code
      // if (_vehicle isKindOf "landVehicle") then { // "LandVehicle" heißt die Funktion wird nur auf "Landfahrzeuge" Ausgelöst
      _vehicle addEventHandler ["Engine", {
          params ["_vehicle", "_engineState"];
          _isDriver = ((driver _vehicle) == player);
          if ((_isDriver) && _engineState) then {
              _vehicle engineOn false;
              hint "Du brauchst den Schlüssel für das Fahrzeug um es zu starten";
              };
          };];
      // }; // Klammer gehört zum LandVehicle oben dazu

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

    Ähnliche Themen

    • Hilfe

      • FoX_J
      • 19. Dezember 2017 um 16:56
      • Hilfeforum

    Tags

    • schlüssel
    • fahrzeug

    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™