Da ich gesehen habe das der SOS Knopf ja der Renner ist habe ich mal die beste Version gemacht die es JE GEBEN WIRD (Achtung Ironie).
Rechtliche Hinweise (Copyright):
Ich untersage die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren.
Inspiriert von Brizi und Natic.
Naja macht nen Backup...
Ich packe alle Dateien in eine .zip damit die noch schon formatiert bleiben.
Am Anfang definieren wir eine Globale Variable für den Cooldown damit das Ding nicht gespammt wird
Wir gehen in die configuration.sqf und fügen.
hinzu...
Los gehts...
description.ext
class sosalarm {
name = "sosalarm";
sound[] = {"\sounds\sosarlam.ogg", 10.0, 1};
titles[] = {};
};
Dannach gehen wir in core\cop und kopiert
- fn_sosmarker
- fn_copbackup
- fn_broadcastParse
Hier nochmal die Einzeilen Dateien.
Spoiler anzeigen
if(playerside != west)exitWith{};
life_sos_cooldown = true;
[format["<t align='center' font='PuristaBold' size='2' color='#ff0000'>SOS-Alarm</t><br/><br/><t align='center' size='1.5'>%3<br/><br/>%1 hat den Notfallknopf betätigt!<br/><br/>Position: %2<br/><br/>%3</t>",player getVariable["realname",name player], mapGridPosition player,'****************************']] remoteExec ["life_fnc_broadcastParse",west];
["sosalarm"] remoteExec["life_fnc_playSound", west];
[player]remoteExec["life_fnc_sosMarker",west];
[]spawn {
sleep 90;
hint "Deine SOS-Markierung wurde gelöscht!";
sleep 60;
life_sos_cooldown = false;
};
Alles anzeigen
_player = _this select 0;
_marker = createMarkerLocal [format["%1_marker",name _player],visiblePosition _player];
_marker setMarkerColorLocal "ColorRed";
_marker setMarkerTypeLocal "mil_warning";
_marker setMarkerTextLocal format["Ausgelöster SOS Marker: %1", _player getVariable["realname", name _player]];
0 = _marker spawn {sleep 90;
deleteMarkerLocal _this;
};
Das müssen wir natürlich noch in der Functions.hpp includen...
class Cop {
file = "core\cop";
...
...
class sosmarker {};
class copbackup {};
class broadcastParse {};
};
Dannach nehmen wir uns die CfgRemoteExec.hpp vor
Wir brauchen nen neuen eintrag damit wir das ausführen können...
F(life_fnc_broadcastParse,ANYONE)
F(life_fnc_sosmarker,ANYONE)
Jetzt gehen wir noch in den fn_keyHandler.sqf STRG+K ist der Schnellste
case 37: { if(!_shift && !_alt && _ctrlKey) then {
if(playerSide isEqualTo west && (life_inv_sos > 0)) then { if((player getVariable "surrender") || (player getVariable "restrained"))exitWith{};
if(life_sos_cooldown) exitWith {hint "Bitte warte noch kurz bevor du den Knopf betätigst";};
if([false,"sos",1] call life_fnc_handleInv) then { [] spawn life_fnc_copbackup;};
};
};
Das wars für den Knopf...
Jetzt der restliche Kram den man immer hinzufügen muss für sowas
In der Config_vItems.hppmuss nen Neues Item her was ihr natürlich auch in den Copshop eintragen müsst...
class sos {
variable = "sos";
displayName = "STR_Item_SosKnopf";
weight = 1;
buyPrice = 1500;
sellPrice = 15;
illegal = true;
edible = -1;
icon = "icons\ico_sosKnopf.paa";
};
Dann gehen wir in den Stringtable.xml und fügen das hier hinzu...
Dann müssen wir noch in die fn_useitem.sqf und fügen
Das noch hinzu...
Das war es ... Ich hoffe es Klappt alles sonst einfach fragen...