Im alten Global Gamer Forum gab es bereits so ein Script, welches leider aber nicht mit hier her übernommen wurde. Also habe ich mir ein paar Gedanken gemacht und das Script Re-Worked. Ich weiß, es ist vielleicht nicht der optimalste Code, aber funktioniert. Sollte jemand Ideen oder Verbesserungsvorschläge, sowie Fehler entdeckt haben, so könnt ihr mir diese gerne mitteilen und ich werde versuchen diese zu beheben.
Script: Zivilschutzsirene für Polizei
Version: Altis Life 3.1.4.8 und aktueller
Schiwerigkeitsgrad: Anfänger (leicht)
Funktionen:
~ Zivilschutzsirene in allen 4 großen Städten (Kavala, Athira, Pyrgos, Sofia), für jeden im Umkreis hörbar
~ Nachrichten zur Warnung der Bevölkerung
~ Testfunktion für die Sirenen (verkürzte Laufzeit + andere Nachricht)
Rechtliche Hinweise (Copyright):
Lizensiert unter CC BY-NC-SA 3.0 (https://native-network.net/dereferer/?ref…y4wL2RlLw%3D%3D)
unter Beachtung der APL-SA Lizenz (https://www.bistudio.com/community/lice…nse-share-alike)
Dieses Script ist veröffentlicht unter der Creative Commons BY-NC-SA Lizenz unter Beachtung der Bohemia Interactive Arma Public License Share Alike (APL-SA). Jede Bearbeitung des Materials ist damit erlaubt, darf jedoch nicht zu kommerziellen Zwecken genutzt oder verkauft werden. Weiterhin ist Namensnennung Pflicht und die bearbeiteten Daten müssen zur Weiterverwendung der Arma 3-Community frei zur Verfügung stehen.
Das heißt im Klartext: Die Header in den Dateien sind beizubehalten und nicht abzuändern ("Edited by:" darf eingefügt werden, der Ursprüngliche Autor, ich, muss weiterhin erkenntlich sein!) und jeder ist automatisch berechtigt, eure bearbeiteten Dateien weiterzuverarbeiten oder selbst zu verwenden.
Da mich dieses Script einiges an Arbeit und vor Allem Zeit gekostet hat bitte ich darum euch daran zu halten, da ich kein Interesse darin habe, rechtliche Schritte gegen irgendjemanden einzuleiten. Viel Spaß NN-Community
Nun zum eigentlichen Teil dieses Posts...
Anleitung:
- Erstellt im Ordner "\core" einen neuen Ordner "scripts" und fügt dort die entsprechende Datei (je nach AL Version) aus der angehängten Zivilschutz.zip dort ein
- Geht in eure Functions.hpp (3.1.4.8: "Functions.h") und fügt unter der letzten class folgenden Codeschnipsel ein:
- Kopiert die Datei alarm.ogg in euren "\sounds" Ordner und fügt in der description.ext unter class CfgSounds folgenden Code ein:
- Öffnet eure mission.sqm im Editor und platziert je einen Lautsprecher ("Land_Loudspeakers_F"), zu finden unter "Gebäude (Infrastruktur)" in jeder Stadt und gebt ihnen die Namen:
(logischerweise dem Lautsprecher in Kavala "siren_Kavala", in Athira "siren_Athira" und so weiter...)
- Fügt z.B. an einem Laptop im Polizei HQ folgende init-Zeile ein:
Code
this addAction ["Zivilschutzsirene Kavala", life_fnc_callSiren, "siren_Kavala"]; this addAction ["Zivilschutzsirene Athira", life_fnc_callSiren, "siren_Athira"]; this addAction ["Zivilschutzsirene Pyrgos", life_fnc_callSiren, "siren_Pyrgos"]; this addAction ["Zivilschutzsirene Sofia", life_fnc_callSiren, "siren_Sofia"]; this addAction ["Zivilschutzsirene Testlauf", life_fnc_callSiren, "siren_test"];
Wahlweise können die einzelnen addActions auch (separiert) an den Lautsprechern eingefügt werden
- Ersetzt eure fn_broadcast.sqf (in core\functions\network) mit dieser hier (egal welche Version! andere Scripts müssen NICHT geändert werden!)
C
Alles anzeigen/* File: fn_broadcast.sqf Author: Bryan "Tonic" Boardwine Description: Broadcast system used in the life mission for multi-notification purposes. */ private ["_type","_message"]; _type = [_this,0,0,[[],0]] call BIS_fnc_param; _message = [_this,1,"",[""]] call BIS_fnc_param; _localize = [_this,2,false,[false]] call BIS_fnc_param; _parse = [_this,3,false,[false]] call BIS_fnc_param; if (_message isEqualTo "") exitWith {}; if (_localize) exitWith { _arr = _this select 3; _msg = switch (count _arr) do { case 0: {localize _message;}; case 1: {format [localize _message,_arr select 0];}; case 2: {format [localize _message,_arr select 0, _arr select 1];}; case 3: {format [localize _message,_arr select 0, _arr select 1, _arr select 2];}; case 4: {format [localize _message,_arr select 0, _arr select 1, _arr select 2, _arr select 3];}; }; if (_type isEqualType []) then { for "_i" from 0 to (count _type)-1 do { switch (_type select _i) do { case 0: {systemChat _msg;}; case 1: {hint _msg;}; case 2: {titleText[_msg,"PLAIN"];}; }; }; } else { switch (_type) do { case 0: {systemChat _msg;}; case 1: {hint _msg;}; case 2: {titleText[_msg,"PLAIN"];}; }; }; }; if (_parse) then { if (_type isEqualType []) then { for "_i" from 0 to (count _type)-1 do { switch (_type select _i) do { case 0: {systemChat _message}; case 1: {hint parseText format ["%1", _message]}; case 2: {titleText[parseText format ["%1",_message],"PLAIN"];}; }; }; } else { switch (_type) do { case 0: {systemChat _message}; case 1: {hint parseText format ["%1", _message]}; case 2: {titleText[parseText format ["%1",_message],"PLAIN"];}; }; }; } else { if (_type isEqualType []) then { for "_i" from 0 to (count _type)-1 do { switch (_type select _i) do { case 0: {systemChat _message}; case 1: {hint format ["%1", _message]}; case 2: {titleText[format ["%1",_message],"PLAIN"];}; }; }; } else { switch (_type) do { case 0: {systemChat _message}; case 1: {hint format ["%1", _message]}; case 2: {titleText[format ["%1",_message],"PLAIN"];}; }; }; };
Fertig!
Das war's schon!
Ich wünsche euch Viel Spaß mit dem Script
Credits gehen an: @nox für:
- Alarm-Soundfile: blackfisch
18. August 2017 um 14:36