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
Mo: 19 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] 4.4R4 Blaulicht und Sirene per Mausrad menü.

      • Altis Life
    • Ammorosh
    • 6. Juli 2017 um 16:07
    • Ammorosh
      Schüler
      Reaktionen
      16
      Trophäen
      10
      Beiträge
      88
      • 6. Juli 2017 um 16:07
      • #1

      Hallo NN!

      Ich habe es geschafft die Sirene und Blaulicht auf das Mausrad Menü zu legen, nachdem in meinem ersten Tutorial danach gefragt worden ist xD

      Hiermit verbiete ich die Verbreitung meines Tutorials ohne mein Einverständnis und blablabla

      Wichtig bei der Bearbeitung: Ihr müsst die Scripts unbedingt eurem Server anpassen!


      Schritt 1:

      Geht in eure Mission.Karte -> core -> Cop

      Erstellt dort eine neue Datei mit folgendem Inhalt:

      In diesem Fall heißt die Datei "fn_code3.sqf"

      Code
      #include "..\..\script_macros.hpp"
      /*
      File: Code3.sqf
      Author: Ammorosh
      
      Description:
      Siren + Sirenlights via Playeraction
      Wichtig bei rückgänigmachung: fn_sirenlights.sqf setvariables,etc sind vertauscht worden!
      */
      if(playerSide != west) exitWith {};
      _code = _this select 3;
      _vehicle = vehicle player;
      
      switch(_code) do
      {    
          //----------------
          //Blaulicht + Sirene
          //----------------
          case "Code3":
          {
              //Überprüfungen
              _codecheck = _vehicle getVariable["code",false]; //Läuft gerade schon ein anderer Code?
              if(_codecheck isEqualTo "Code3") exitWith {}; //Code 3 kann nicht 2x aufgerufen werden
              if(_codecheck isEqualTo "Code2") then { //Wenn Code 2, Blaulicht und Sirene AUS -> Wird kurz darauf wieder eingeschaltet
                  _vehicle setVariable["lights",false,true]; 
                  [_vehicle] call life_fnc_sirenLights; 
                  _vehicle setVariable["siren",false,true]; 
                  [_vehicle] remoteExec ["life_fnc_copSiren",RCLIENT];
                  sleep 0.2;
              }; 
              _vehicle setVariable["code",_code,true]; //vehicle aktuellen Code zuweisen für spätere checks
              
              // Blaulicht einschalten
              _dcheck = _vehicle getVariable["lights",false];
              If(_dcheck) exitWith {}; //muss aus irgendwelchen gründen doppelt gecheckt werden...
              if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_F","O_Heli_Light_02_unarmed_F","I_Heli_light_03_unarmed_F","C_Hatchback_01_sport_F","I_MRAP_03_F","B_Heli_Light_01_F","B_Heli_Transport_01_F","C_Van_01_box_F","B_Truck_01_mover_F","I_Truck_02_covered_F","I_Truck_02_box_F","O_Truck_03_repair_F","O_Truck_03_fuel_F","O_Heli_Transport_04_medevac_F"]) then {
                  _vehicle setVariable["lights",true,true];
                  [_vehicle] call life_fnc_sirenLights;
              };
              // Sirene einschalten
              _vehicle setVariable ["siren",true,true];
              [_vehicle] remoteExec ["life_fnc_copSiren",RCLIENT];
          };
          
          
          //----------------
          //Blaulicht only
          //----------------
          case "Code2":
          {
              //Überprüfungen
              _codecheck = _vehicle getVariable["code",false]; //Läuft gerade schon ein anderer Code?
              if(_codecheck isEqualTo "Code2") exitWith {}; //Code 2 kann nicht 2x aufgerufen werden
              if(_codecheck isEqualTo "Code3") then { //Wenn Code 3, Blaulicht und Sirene AUS -> Wird kurz darauf wieder eingeschaltet
                  _vehicle setVariable["lights",false,true]; 
                  [_vehicle] call life_fnc_sirenLights; 
                  _vehicle setVariable["siren",false,true]; 
                  [_vehicle] remoteExec ["life_fnc_copSiren",RCLIENT];
                  sleep 0.2;
              }; 
              _vehicle setVariable["code",_code,true]; //vehicle aktuellen Code zuweisen für spätere checks
              
              //Blaulicht einschalten
              _dcheck = _vehicle getVariable["lights",false];
              If(_dcheck) exitWith {}; //muss aus irgendwelchen gründen doppelt gecheckt werden...
                  if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_F","O_Heli_Light_02_unarmed_F","I_Heli_light_03_unarmed_F","C_Hatchback_01_sport_F","I_MRAP_03_F","B_Heli_Light_01_F","B_Heli_Transport_01_F","C_Van_01_box_F","B_Truck_01_mover_F","I_Truck_02_covered_F","I_Truck_02_box_F","O_Truck_03_repair_F","O_Truck_03_fuel_F","O_Heli_Transport_04_medevac_F"]) then {
                      _vehicle setVariable["lights",true,true];
                      [vehicle player] call life_fnc_sirenLights;
                  };
          };
          
          //----------------
          //Alles Aus
          //----------------
          case "Code1":
          {
              _vehicle setVariable["lights",false,true]; 
              [_vehicle] call life_fnc_sirenLights; 
              _vehicle setVariable["siren",false,true]; 
              [_vehicle] remoteExec ["life_fnc_copSiren",RCLIENT];
              _vehicle setVariable ["code",_code,true]; // Code setzten für spätere checks
              sleep 1;
          };
          //----------------
          //Durchsage
          //----------------    
          case "durchsage":
          {
              _speechCheck = _vehicle getVariable["speech",false];
              if (_speechCheck) exitWith {};
              _vehicle setVariable["speech",true,true];
              [_vehicle] remoteExec ["life_fnc_copSiren3",RCLIENT];
              sleep 7;
              _vehicle setVariable["speech",false,true];
          };
      };
      Alles anzeigen

      Schritt 2:

      Im selben Ordner öffnet ihr eure fn_sirenLights.sqf und ersetzt diese mit folgendem:

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_sirenLights.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Lets play a game! Can you guess what it does? I have faith in you, if you can't
          then you have failed me and therefor I lose all faith in humanity.. No pressure.
      */
      private["_vehicle"];
      _vehicle = param [0,ObjNull,[ObjNull]];
      if (isNull _vehicle) exitWith {}; //Bad entry!
      if (!(typeOf _vehicle in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F","I_Heli_light_03_unarmed_F","O_Heli_Light_02_unarmed_F","I_MRAP_03_F","C_Hatchback_01_F","","",""])) exitWith {}; //Last chance check to prevent something from defying humanity and creating a monster.
      
      _trueorfalse = _vehicle getVariable ["lights",FALSE];
      
      if (_trueorfalse) then {
          _vehicle setVariable ["lights",true,true]; //getauscht
          [_vehicle,0.22] remoteExec ["life_fnc_copLights",RCLIENT];
          titleText [localize "Blaulicht AN","PLAIN"];
      } else {
          _vehicle setVariable ["lights",false,true]; //getauscht
          titleText [localize "Blaulicht AUS","PLAIN"];
      };
      Alles anzeigen

      Schritt 3:

      Öffnet eure setupActions.sqf und fügt dort folgendes bei WEST hinzu:

      Code
      // Code1/Code2/Code3
                  life_actions = life_actions + [player addAction["<t color='#B91818'>Code 3</t>",life_fnc_code3,"Code3",1,false,true,"",'vehicle player != player']];
                  life_actions = life_actions + [player addAction["<t color='#F2E532'>Code 2</t>",life_fnc_code3,"Code2",1,false,true,"",'vehicle player != player']];
                  life_actions = life_actions + [player addAction["<t color='#0055FF'>Code 1</t>",life_fnc_code3,"Code1",1,false,true,"",'vehicle player != player']];

      Schritt 4:

      Die neu erstellt Datei in die Functions.hpp hinzufügen!

      Fertig :)

      Bonus! Das selbe nochmal für die Medics!

      Schritt 1:

      Geht in eure Mission.Karte -> core -> medical

      Erstellt dort eine neue Datei mit folgendem Inhalt:

      In diesem Fall heißt die Datei "fn_code3med.sqf"

      Code
      #include "..\..\script_macros.hpp"
      /*
      File: Code3med.sqf
      Author: Ammorosh
      
      Description:
      Siren + Sirenlights via Playeraction
      Wichtig bei rückgänigmachung: fn_sirenlights.sqf setvariables sind vertauscht worden!
      */
      if(playerSide != independent) exitWith {};
      _code = _this select 3;
      _vehicle = vehicle player;
      switch(_code) do
      {    
          //----------------
          //Blaulicht + Sirene
          //----------------
          case "Code3":
          {
              if (vehicle player != player && (typeOf _vehicle) in ["O_Heli_Light_02_unarmed_F","O_Heli_Transport_04_medevac_F"]) exitWith {}; //Helis haben bei dem RD keine Sirene!
              //Überprüfungen
              _codecheck = _vehicle getVariable["code",false]; //Läuft gerade schon ein anderer Code?
              if(_codecheck isEqualTo "Code3") exitWith {}; //Code 3 kann nicht 2x aufgerufen werden
              if(_codecheck isEqualTo "Code2") then { //Wenn Code 2, Blaulicht und Sirene AUS -> Wird kurz darauf wieder eingeschaltet
                  _vehicle setVariable["lights",false,true]; 
                  [_vehicle] call life_fnc_medicSirenLights; 
                  _vehicle setVariable["siren",false,true]; 
                  [_vehicle] remoteExec ["life_fnc_fireSiren",RCLIENT];
                  [_vehicle] remoteExec ["life_fnc_medicSiren",RCLIENT];
                  sleep 0.2;
              }; 
              _vehicle setVariable["code",_code,true]; //vehicle aktuellen Code zuweisen für spätere checks
              
              // Blaulicht einschalten
              _dcheck = _vehicle getVariable["lights",false];
              If(_dcheck) exitWith {}; //muss aus irgendwelchen gründen doppelt gecheckt werden...
              if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_F","O_Heli_Light_02_unarmed_F","I_Heli_light_03_unarmed_F","C_Hatchback_01_sport_F","I_MRAP_03_F","B_Heli_Light_01_F","B_Heli_Transport_01_F","C_Van_01_box_F","B_Truck_01_mover_F","I_Truck_02_covered_F","I_Truck_02_box_F","O_Truck_03_repair_F","O_Truck_03_fuel_F","O_Heli_Transport_04_medevac_F"]) then {
                  _vehicle setVariable["lights",true,true];
                  [_vehicle] call life_fnc_medicSirenLights;
              };
              
              // Sirene einschalten
              if (vehicle player != player && (typeOf _vehicle) in ["I_Truck_02_box_F","O_Truck_03_repair_F","O_Truck_03_fuel_F"]) then {
                  _vehicle setVariable ["siren",true,true];
                  [_vehicle] remoteExec ["life_fnc_fireSiren",RCLIENT];
              };
              if (vehicle player != player && (typeOf _vehicle) in ["C_Offroad_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","C_Van_01_box_F","C_Hatchback_01_F"]) then {
                  _vehicle setVariable ["siren",true,true];
                  [_vehicle] remoteExec ["life_fnc_medicSiren",RCLIENT];
              };
              
          };
          
          
          //----------------
          //Blaulicht only
          //----------------
          case "Code2":
          {
              //Überprüfungen
              _codecheck = _vehicle getVariable["code",false]; //Läuft gerade schon ein anderer Code?
              if(_codecheck isEqualTo "Code2") exitWith {}; //Code 2 kann nicht 2x aufgerufen werden
              if(_codecheck isEqualTo "Code3") then { //Wenn Code 3, Blaulicht und Sirene AUS -> Wird kurz darauf wieder eingeschaltet
                  _vehicle setVariable["lights",false,true]; 
                  [_vehicle] call life_fnc_medicSirenLights; 
                  _vehicle setVariable["siren",false,true]; 
                  [_vehicle] remoteExec ["life_fnc_fireSiren",RCLIENT];
                  [_vehicle] remoteExec ["life_fnc_medicSiren",RCLIENT];
                  sleep 0.2;
              }; 
              _vehicle setVariable["code",_code,true]; //vehicle aktuellen Code zuweisen für spätere checks
              
              //Blaulicht einschalten
              _dcheck = _vehicle getVariable["lights",false];
              If(_dcheck) exitWith {}; //muss aus irgendwelchen gründen doppelt gecheckt werden...
                  if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_F","O_Heli_Light_02_unarmed_F","I_Heli_light_03_unarmed_F","C_Hatchback_01_sport_F","I_MRAP_03_F","B_Heli_Light_01_F","B_Heli_Transport_01_F","C_Van_01_box_F","B_Truck_01_mover_F","I_Truck_02_covered_F","I_Truck_02_box_F","O_Truck_03_repair_F","O_Truck_03_fuel_F","O_Heli_Transport_04_medevac_F"]) then {
                      _vehicle setVariable["lights",true,true];
                      [vehicle player] call life_fnc_medicSirenLights;
                  };
          };
          
          //----------------
          //Alles Aus
          //----------------
          case "Code1":
          {
              _vehicle setVariable["lights",false,true]; 
                  [_vehicle] call life_fnc_medicSirenLights; 
              _vehicle setVariable["siren",false,true]; 
                  [_vehicle] remoteExec ["life_fnc_fireSiren",RCLIENT];
                  [_vehicle] remoteExec ["life_fnc_medicSiren",RCLIENT];
              _vehicle setVariable ["code",_code,true]; // Code setzten für spätere checks
              sleep 1;
          };
      };
      Alles anzeigen

      Schritt 2:

      Im selben Ordner öffnet ihr eure fn_medicSirenLights.sqf und ersetzt diese mit folgendem:

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_sirenLights.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Lets play a game! Can you guess what it does? I have faith in you, if you can't
          then you have failed me and therefor I lose all faith in humanity.. No pressure.
      */
      _vehicle = param [0,ObjNull,[ObjNull]];
      if (isNull _vehicle) exitWith {}; //Bad entry!
      if (!(typeOf _vehicle in ["C_Offroad_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","C_Hatchback_01_F","I_Truck_02_box_F","O_Truck_03_repair_F","O_Truck_03_fuel_F","C_Van_01_box_F","O_Heli_Light_02_unarmed_F","O_Heli_Transport_04_medevac_F"])) exitWith {}; //Last chance check to prevent something from defying humanity and creating a monster.
      
      _trueorfalse = _vehicle getVariable ["lights",false];
      
      if (_trueorfalse) then {
          _vehicle setVariable ["lights",true,true]; //getauscht
          [_vehicle,0.22] remoteExec ["life_fnc_medicLights",RCLIENT];
          titleText [localize "Blaulicht AN","PLAIN"];
      } else {
          _vehicle setVariable ["lights",false,true]; //getauscht
          titleText [localize "Blaulicht AUS","PLAIN"];
      };
      Alles anzeigen

      Schritt 3:

      Öffnet eure setupActions.sqf und fügt dort folgendes bei Independent hinzu:

      Code
      //Code1/code2/code3
                  life_actions = life_actions + [player addAction["<t color='#B91818'>Code 3</t>",life_fnc_code3med,"Code3",1,false,true,"",'vehicle player != player']];
                  life_actions = life_actions + [player addAction["<t color='#F2E532'>Code 2</t>",life_fnc_code3med,"Code2",1,false,true,"",'vehicle player != player']];
                  life_actions = life_actions + [player addAction["<t color='#0055FF'>Code 1</t>",life_fnc_code3med,"Code1",1,false,true,"",'vehicle player != player']];

      Schritt 4:

      Fügt die neu erstellte Datei in die functions.hpp ein!

      So! Jetzt sind wir aber fertig!

      Ich hoffe ich konnte euch helfen! Bei fragen und Fehlern gerne Melden!

    • deepofficer71
      Fortgeschrittener
      Reaktionen
      12
      Trophäen
      9
      Beiträge
      265
      • 25. Juli 2017 um 23:18
      • #2

      Echt Super gemacht früher war die Rede ,, Das is ummöglich "

      Hi

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 26. Juli 2017 um 15:27
      • #3
      Zitat von deepofficer71

      Das is ummöglich "

      Wiso Unmöglich lol man Muss nur Wissen wie

      Ich hätte aber Die AddActions aufs Auto Gelegt und nicht auf den Spieler dan kann man Nämlich auch noch Abfragen ob der Spieler der Fahrer ist :P

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

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

    • deepofficer71
      Fortgeschrittener
      Reaktionen
      12
      Trophäen
      9
      Beiträge
      265
      • 26. Juli 2017 um 17:23
      • #4

      Nein ich meine ich hätte mal früher und jemand anders danach gefragt da meinte wer das währe ummöglich

      Hi

    • Ammorosh
      Schüler
      Reaktionen
      16
      Trophäen
      10
      Beiträge
      88
      • 27. Juli 2017 um 19:40
      • #5
      Zitat von br1zey

      Wiso Unmöglich lol man Muss nur Wissen wie

      Ich hätte aber Die AddActions aufs Auto Gelegt und nicht auf den Spieler dan kann man Nämlich auch noch Abfragen ob der Spieler der Fahrer ist :P

      Ich finds aber Persönlich cooler wenn auch die Beifahrer Blaulicht und Sirene anmachen kann :)

      Und nicht vergessen das der auch wissen muss ob der Typ nen Cop ist oder nicht ;D

    • irontom
      Schüler
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      145
      Bilder
      1
      • 20. Januar 2018 um 04:58
      • #6

      Echt Super gemacht schönes TuT

      habe da mal trotstdem eine frage wie das mit der durchsage bei

      den Cops funktionier habe ich nicht richtig verstanden oder besser wie kann

      ich das einstellen

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 20. Januar 2018 um 05:05
      • #7
      Zitat von br1zey

      Wiso Unmöglich lol man Muss nur Wissen wie

      Ich hätte aber Die AddActions aufs Auto Gelegt und nicht auf den Spieler dan kann man Nämlich auch noch Abfragen ob der Spieler der Fahrer ist :P

      Machst dus aufs Auto musst du halt per RemoteExec drauf legen. Außerdem kannste die Abfrage auch bei den player Actions machen wenn's das ist: !isNull objectParent player && {(driver vehicle player) isEqualTo player}

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

      ______________________

    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

    • 2. Sirene bei Medics hinzufügen

      • TW_Sebastian
      • 19. August 2017 um 18:04
      • Hilfeforum

    Tags

    • sirene
    • blaulicht
    • cop
    • Med
    • Code3
    • Code2
    • code1
    • mausrad

    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™