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
Mi: 21 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

    Altis Life 5.0 2te Sirene Tutorial

      • Altis Life
    • Larry
    • 17. Juni 2019 um 11:37
    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 17. Juni 2019 um 11:37
      • #1

      Heute mach ich mal ein Tutuorial wie man in der Altis LIfe 5.0 eine zweite Sirene einfügt

      1. Als erstes gehen wir in den Core\Cop Ordner, dort erstellen wir eine Datei namens fn_copSiren2.sqf in diese fügen wir folgendes ein:

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_copSiren2.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Starts the second cop siren sound for other players.
      */
      private ["_vehicle"];
      _vehicle = param [0,objNull,[objNull]];
      
      if (isNull _vehicle) exitWith {};
      if (isNil {_vehicle getVariable "siren2"}) exitWith {};
      
      for "_i" from 0 to 1 step 0 do {
          if (!(_vehicle getVariable "siren2")) exitWith {};
          if (count crew _vehicle isEqualTo 0) then {_vehicle setVariable ["siren2",false,true]};
          if (!alive _vehicle) exitWith {};
          if (isNull _vehicle) exitWith {};
          _vehicle say3D ["StadtSignal",500,1]; //Hier einfach die eigene Sirene einfügen, max distance & pitch
          sleep 2.995;//Und die eigene Länge des Sounds
          if (!(_vehicle getVariable "siren2")) exitWith {};
      };
      Alles anzeigen

      2. Dann gehen wir in die Functions.hpp und fügen folgendes zur Class Cop hinzu


      class copSiren2 {};

      Das ganze sollte dann in etwa so aussehen:

      Code
      class Cop {
              file = "core\cop";
              class bountyReceive {};
              class containerInvSearch {};
              class copInteractionMenu {};
              class copLights {};
              class copLoadout {};
              class copMarkers {};
              class copSearch {};
              class copSiren {};
              class copSiren2 {};
              class doorAnimate {};
              class fedCamDisplay {};
              class licenseCheck {};
              class licensesRead {};
              class questionDealer {};
              class radar {};
              class repairDoor {};
              class restrain {};
              class searchClient {};
              class seizeClient {};
              class sirenLights {};
              class spikeStripEffect {};
              class ticketGive {};
              class ticketPaid {};
              class ticketPay {};
              class ticketPrompt {};
              class vehInvSearch {};
              class wantedGrab {};
              class seizeWeapon {}; // Ohne das hier bei euch wenn ihr das script nicht habt
              class sperrzonensystem {}; // genau so wie das
          };
      Alles anzeigen

      3. Gehen wir unter core\functions in die fn_keyHandler.sqf und fügen folgendes ein:

      Ich habe bei mir das ganze unter den B key hinzugefügt... also wurde aus

      Code
      //Surrender (Shift + B)
          case 48: {
              if (_shift) then {
                  if (player getVariable ["playerSurrender",false]) then {
                      player setVariable ["playerSurrender",false,true];
                  } else {
                      [] spawn life_fnc_surrender;
                  };
                  _handled = true;
              };
          };
      Alles anzeigen

      das hier:

      Code
      //Surrender (Shift + B)
          case 48: {
              if (_shift) then {
                  if (player getVariable ["playerSurrender",false]) then {
                      player setVariable ["playerSurrender",false,true];
                  } else {
                      [] spawn life_fnc_surrender;
                  };
                  _handled = true;
              } else {
              if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren2_active} && {((driver vehicle player) == player)}) then {
                  [] spawn {
                      life_siren2_active = true;
                      sleep 4.5;
                      life_siren2_active = false;
                  };
      
                  _veh = vehicle player;
                  if (isNil {_veh getVariable "siren2"}) then {_veh setVariable ["siren2",false,true];};
                  if ((_veh getVariable "siren2")) then {
                      titleText [localize "STR_MISC_SirensOFF","PLAIN"];
                      _veh setVariable ["siren2",false,true];
                      if !(isNil {(_veh getVariable "sirenJIP")}) then {
                          private _jip = _veh getVariable "sirenJIP";
                          _veh setVariable ["sirenJIP",nil,true];
                          remoteExec ["",_jip]; //remove from JIP queue
                      };
                  } else {
                      titleText [localize "STR_MISC_SirensON","PLAIN"];
                      _veh setVariable ["siren2",true,true];
                      private "_jip";
                      if (playerSide isEqualTo west) then {
                          _jip = [_veh] remoteExec ["life_fnc_copSiren2",RCLIENT,true];
                      };
                      _veh setVariable ["sirenJIP",_jip,true];
                  };
              };
              };
          };
      Alles anzeigen

      4. Müssen wir natürlich auch die JIP(life_fnc_copSiren2,CLIENT) in die CfgRemoteExec.hpp einfügen unter /* Client only functions */

      das ganze sollte dann so aussehen:

      Code
      /* Client only functions */
              F(life_fnc_AAN,CLIENT)
              F(life_fnc_addVehicle2Chain,CLIENT)
              F(life_fnc_adminID,CLIENT)
              F(life_fnc_adminInfo,CLIENT)
              F(life_fnc_bountyReceive,CLIENT)
              JIP(life_fnc_copLights,CLIENT)
              F(life_fnc_copSearch,CLIENT)
              JIP(life_fnc_copSiren,CLIENT) 
              JIP(life_fnc_copSiren2,CLIENT) // cop sirene 2
              F(life_fnc_freezePlayer,CLIENT)
              F(life_fnc_garageRefund,CLIENT)
              F(life_fnc_giveDiff,CLIENT)
              F(life_fnc_hideObj,CLIENT)
      Alles anzeigen

      5. Was ich fast vergessan hatte war das wenn ihr eigene Sound einfügen wollte diese natürlich in der description.ext einfügen müsst, also so:

      Code
      class LandSignal {
              name = "LandSignal";
              sound[] = {"\sounds\LandSignal.ogg", 1.0, 1};
              titles[] = {};
          };

      MfG Larry - Cloud7even.cc Team

      3 Mal editiert, zuletzt von Larry (18. Juni 2019 um 12:48)

    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 17. Juni 2019 um 11:52
      • #2

      Ich habe es grade nochmal gestestet und so wie es aussieht funktioniert es doch dash ^^

      Es wäre schon wenn ein Mod das ganze zu Tutorials verschieben könnte.

      Danke

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 17. Juni 2019 um 12:00
      • #3
      Zitat von Larry

      Ich habe es grade nochmal gestestet und so wie es aussieht funktioniert es doch dash ^^

      Es wäre schon wenn ein Mod das ganze zu Tutorials verschieben könnte.

      Danke

      Nun, wenn du uns die Fehlerquelle noch nennst

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 17. Juni 2019 um 12:07
      • #4

      Ehrlich gesagt keine Ahnunh hatte nur für das Tutorial die KeyHandler überarbeitet damit es einsichtlicher aussieht aber denke mal da lag der Fehler.

    Registrieren oder Einloggen

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

    Registrieren

    Tags

    • Hilfe
    • tutorial

    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™