Script: Notruf-Marker für Polizei & Medic
Version: Altis Life Version 4.4 und neuer
Schiwerigkeitsgrad: Anfänger (leicht)
Funktionen:
~ Markiert abgesendete Notrufe für 5 Minuten auf der Karte (für Cop/Medic)
Rechtliche Hinweise (Copyright):
Lizensiert unter CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/)
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\functions eine neue Datei namens fn_tempMapMarker.sqf mit folgendem Inhalt
C
Alles anzeigen/* File: fn_tempMapMarker.sqf Author: blackfisch for MountainValley RPG, licensed for Native-Network.net Terms of use: This script has been licensed for public use on Native-Network.net It is not allowed to remove or modify the header of this script in any way, it is allowed to add contributors to the header or change the description. The code itself may not be published in any other matter without permission of the author. Any inproper or not licensed use of this script is strictly prohibited and enforced by law. The author (blackfisch) may evoke the license of the script at any point of time, if the terms of use are violated or the author can name a reasoned explanation for it. The license can not be transferred to any other project for use. Description: Creates temporary map markers when sending a dispatch. */ params [ ["_pos",[],[[]]], ["_type","",[""]], ["_sender","",[""]] ]; if (_pos isEqualTo [] || {_type isEqualTo ""} || {_sender isEqualTo ""}) exitWith {}; switch (_type) do { case "cop": { //Cop if !(playerSide isEqualTo west) exitWith {}; private _txt = format [" Police Dispatch #%1, Absender: %2",bf_copDispatchCount,_sender]; private _name = format ["copmarktemp%1",bf_copDispatchCount]; private _marker = createMarkerLocal [_name,_pos]; _marker setMarkerTextLocal _txt; _marker setMarkerPosLocal _pos; _marker setMarkerColorLocal "ColorWEST"; _marker setMarkerTypeLocal "hd_dot"; //Markerform, siehe https://community.bistudio.com/wiki/cfgMarkers bf_localmarker pushBack [_name,time]; }; case "med": { //Medic if !(playerSide isEqualTo independent) exitwith {}; private _txt = format [" EMS Dispatch #%1, Absender: %2",bf_medDispatchCount,_sender]; private _name = format ["medmarktemp%1",bf_medDispatchCount]; private _marker = createMarkerLocal [_name,_pos]; _marker setMarkerTextLocal _txt; _marker setMarkerPosLocal _pos; _marker setMarkerTypeLocal "loc_Hospital"; //Markerform, siehe https://community.bistudio.com/wiki/cfgMarkers bf_localmarker pushBack [_name,time]; }; };
- Fügt in eurer Functions.hpp in der class Functions folgendes ein:
- Fügt in eurer CfgRemoteExec.hpp in der class Functions folgendes ein:
- Öffnet eure core\fn_survival.sqf und fügt vor der letzten Klammer folgendes ein:
-
Fügt in der core\configuration.sqf folgendes ein (wo genau ist irrelevant): -
[life_server Part]* Fügt in der life_server\init.sqf folgendes ganz am Ende ein:
-
Erstellt im Ordner life_server\Functions\System eine neue Datei namens fn_countDispatch.sqf mit folgendem Inhalt
C
Alles anzeigen/* File: fn_countDispatch.sqf Author: blackfisch for MountainValley RPG, licensed for Native-Network.net Terms of use: This script has been licensed for public use on Native-Network.net It is not allowed to remove or modify the header of this script in any way, it is allowed to add contributors to the header or change the description. The code itself may not be published in any other matter without permission of the author. Any inproper or not licensed use of this script is strictly prohibited and enforced by law. The author (blackfisch) may evoke the license of the script at any point of time, if the terms of use are violated or the author can name a reasoned explanation for it. The license can not be transferred to any other project for use. Description: Let's count our dispatches... */ params [ ["_type","",[""]] ]; if (_type isEqualTo "") exitWith {}; switch _type do { case "cop": { bf_copDispatchCount = bf_copDispatchCount + 1; publicVariable "bf_copDispatchCount"; }; case "med": { bf_medDispatchCount = bf_medDispatchCount + 1; publicVariable "bf_medDispatchCount"; }; };
-
Fügt in eurer life_server\config.cpp in der class Systems folgendes ein:
-
Fügt in eurer functions.sqf (Stammverzeichnis der life_server.pbo) und sucht TON_fnc_cell_textcop. Ersetzt diese Funktion vollständig mit folgender (oder ergänzt bei euch die letzten beiden Zeilen):
C
Alles anzeigenTON_fnc_cell_textcop = compileFinal " private [""_msg"",""_to""]; ctrlShow[3016,false]; _msg = ctrlText 3003; _to = ""The Police""; if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3016,true];}; _length = count (toArray(_msg)); if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3016,true];}; [_msg,name player,1,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2]; [] call life_fnc_cellphone; hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg]; ctrlShow[3016,true]; [getPosATL player,'cop',name player] remoteExecCall ['life_fnc_tempMapMarker',west]; ['cop'] remoteExecCall ['TON_fnc_countDispatch',2]; ";
-
Fügt in eurer functions.sqf (Stammverzeichnis der life_server.pbo) und sucht TON_fnc_cell_emsrequest. Ersetzt diese Funktion vollständig mit folgender (oder ergänzt bei euch die letzten beiden Zeilen):
C
Alles anzeigenTON_fnc_cell_emsrequest = compileFinal " private [""_msg"",""_to""]; ctrlShow[3022,false]; _msg = ctrlText 3003; _length = count (toArray(_msg)); if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3022,true];}; _to = ""EMS Units""; if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3022,true];}; [_msg,name player,5,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",independent]; [] call life_fnc_cellphone; hint format [localize ""STR_CELLMSG_ToEMS"",_to,_msg]; ctrlShow[3022,true]; [getPosATL player,'med',name player] remoteExecCall ['life_fnc_tempMapMarker',independent]; ['med'] remoteExecCall ['TON_fnc_countDispatch',2]; ";
* - life_server.pbo entpacken vor dem Bearbeiten und danach neu packen!
Fertig!
Das war's schon!
Ich wünsche euch Viel Spaß mit dem Script