Weil @Saturin78 danach gefragt hat, hab ich mich eben mal ran gesetzt und ein kleines Tutorial für ein THW-Blaulicht (anderes Blaulicht je nach Medic-Level) geschrieben. In abgewandelter Form kann diese Funktion auch für die Polizei hinzugefügt werden.
Script: verschiedene Blaulichter nach Rang
Version: Altis Life 4.4
Schiwerigkeitsgrad: Anfänger (mittel)
Funktionen:
~ verschiedene Blaulichtfarben je nach Medic-Rang
Rechtliche Hinweise (Copyright):
Dieses Script/Tutorial unterliegt keinen sonstigen Copyrightansprüchen meinerseits, da es lediglich auf abgeändertem Code von Tonic, Itsyuka, [GSN] Pager und [GSN] Paronity basiert.
Nun zum eigentlichen Teil dieses Posts...
Anleitung:
- Erstelle eine Datei fn_thwLights.sqf im "core\medical" Ordner mit folgendem Inhalt:C
Alles anzeigen/* File: fn_medicLights.sqf Author: [GSN] Pager & [GSN] Paronity Website: GSNGaming.com Date Created: 2.24.2015 Date Modified: 2.25.2015 v1.2 */ private ["_veh","_lightRed","_lightWhite","_lightBlue","_lightsOn","_brightnessHigh","_brightnessLow","_attach","_leftLights","_rightLights","_type","_attenuation"]; _veh = (_this select 0); _type = typeOf _veh; _sun = (sunOrMoon < 1); if (isNil "_veh" || isNull _veh || !(_veh getVariable "lights")) exitWith {}; _lightRed = [247, 160, 10]; // Orange, Farbe in RGB-Werten _lightBlue = [247, 160, 10]; // siehe oben _lightWhite = [255, 255, 255]; if (_sun) then { _brightnessLow = 0; _brightnessHigh = 10; _attenuation = [0.001, 3000, 0, 125000]; } else { _brightnessLow = 0; _brightnessHigh = 60; _attenuation = [0.001, 3000, 0, 400000]; }; _flashes = 2; _flashOn = 0.1; _flashOff = 0.001; _leftLights = []; _rightLights = []; _attach = { _isLight = _this select 0; _color = _this select 1; _position = _this select 2; _light = "#lightpoint" createVehicleLocal getPos _veh; _light setLightBrightness 0; _light setLightAmbient [0,0,0]; _light setLightAttenuation _attenuation; _light setLightIntensity 1000; _light setLightFlareSize 1; _light setLightFlareMaxDistance 150; _light setLightUseFlare true; _light setLightDayLight true; switch (_color) do { case "red": { _light setLightColor _lightRed; }; case "white": { _light setLightColor _lightWhite; }; case "blue": { _light setLightColor _lightBlue; }; }; if (_isLight) then { _leftLights pushBack [_light, _position]; } else { _rightLights pushBack [_light, _position]; }; _light lightAttachObject [_veh, _position]; }; //Fahrzeuge und deren Coordinaten switch (_type) do { //Fahrzeuge case "C_Offroad_01_F": { [false, "red", [-0.44, 0, 0.525]] call _attach; [true, "blue", [0.345, 0, 0.525]] call _attach; [false, "red", [0.575, -2.95, -0.77]] call _attach; [true, "blue", [-0.645, -2.95, -0.77]] call _attach; [false, "white", [0.61, 2.2825, -0.355]] call _attach; [true, "white", [-0.695, 2.2825, -0.355]] call _attach; }; case "C_SUV_01_F": { [false, "red", [-0.39, 2.28, -0.52]] call _attach; [true, "blue", [0.38, 2.28, -0.52]] call _attach; [false, "red", [-0.86, -2.75, -0.18]] call _attach; [true, "blue", [0.86, -2.75, -0.18]] call _attach; [false, "white", [0.8, 1.95, -0.48]] call _attach; [true, "white", [-0.8, 1.95, -0.48]] call _attach; }; case "C_Hatchback_01_F": { [false, "red", [-0.03, -0, 0.2]] call _attach; [true, "blue", [-0.03, -0, 0.2]] call _attach; [false, "red", [-0.8, -2.25, -0.3]] call _attach; [true, "blue", [0.78, -2.25, -0.3]] call _attach; [false, "white", [0.75, 1.615, -0.52]] call _attach; [true, "white", [-0.8, 1.615, -0.525]] call _attach; }; case "C_Hatchback_01_sport_F": { [false, "red", [-0.03, -0, 0.2]] call _attach; [true, "blue", [-0.03, -0, 0.2]] call _attach; [false, "red", [-0.8, -2.25, -0.3]] call _attach; [true, "blue", [0.78, -2.25, -0.3]] call _attach; [false, "white", [0.75, 1.615, -0.52]] call _attach; [true, "white", [-0.8, 1.615, -0.525]] call _attach; }; case "B_MRAP_01_F": { [false, "red", [-0.85, -0.9, 0.6]] call _attach; [true, "blue", [0.85, -0.9, 0.6]] call _attach; [true, "red", [-0.93, -2.8, 0.6]] call _attach; [false, "blue", [0.93, -2.8, 0.6]] call _attach; [true, "white", [-0.85, 1.475, -0.75]] call _attach; [false, "white", [0.85, 1.475, -0.75]] call _attach; }; case "B_MRAP_01_hmg_F": { [false, "red", [-0.85, -0.9, 0.5]] call _attach; [true, "blue", [0.85, -0.9, 0.5]] call _attach; [true, "red", [-0.93, -2.8, 0.5]] call _attach; [false, "blue", [0.93, -2.8, 0.5]] call _attach; [true, "white", [-0.85, 1.475, -0.85]] call _attach; [false, "white", [0.85, 1.475, -0.85]] call _attach; }; case "I_MRAP_03_F": { [false, "red", [-0.37, 0.0, 0.50]] call _attach; [true, "blue", [-0.37, 0.0, 0.50]] call _attach; [true, "red", [0.37, 0.0, 0.50]] call _attach; [false, "blue", [0.37, 0.0, 0.50]] call _attach; }; case "C_Van_01_box_F": { [false, "red", [-0.4, 0.00, 1.300]] call _attach; [true, "blue", [0.4, 0.00, 1.300]] call _attach; [false, "red", [-0.87, 2.2, -0.75]] call _attach; [true, "blue", [0.87, 2.2, -0.75]] call _attach; [false, "red", [-0.725, -3.45, 1.300]] call _attach; [true, "blue", [0.725, -3.45, 1.300]] call _attach; [false, "white", [-0.80, 1.85, -0.4]] call _attach; [true, "white", [0.80, 1.85, -0.4]] call _attach; }; case "B_Truck_01_transport_F": { [false, "red", [-0.94, 4.84, 0.45]] call _attach; [true, "blue", [0.94, 4.84, 0.45]] call _attach; [false, "red", [-0.33, -4.43, -1]] call _attach; [true, "blue", [0.33, -4.43, -1]] call _attach; [false, "white", [-0.94, 5.1, -0.5]] call _attach; [true, "white", [0.94, 5.1, -0.5]] call _attach; }; case "I_Truck_02_box_F": { [false, "red", [-0.8, -3.5, 1]] call _attach; [true, "blue", [0.8, -3.5, 1]] call _attach; [false, "red", [-0.87, 3.25, 0.55]] call _attach; [true, "blue", [0.87, 3.25, 0.55]] call _attach; [false, "red", [-0.84, -3.4, -1.3]] call _attach; [true, "blue", [0.84, -3.4, -1.3]] call _attach; [false, "white", [-0.85, 3.9, -0.85]] call _attach; [true, "white", [0.85, 3.9, -0.85]] call _attach; }; //Helikopter case "B_Heli_Light_01_F": { [false, "red", [-0.37, 0.0, 0.56]] call _attach; [true, "blue", [0.37, 0.0, 0.56]] call _attach; [false, "red", [-0.37, 0.0, 0.56]] call _attach; [true, "blue", [0.37, 0.0, 0.56]] call _attach; }; case "C_Heli_light_01_vrana_F": { [false, "red", [-0.37, 0.0, 0.56]] call _attach; [true, "blue", [0.37, 0.0, 0.56]] call _attach; [false, "red", [-0.37, 0.0, 0.56]] call _attach; [true, "blue", [0.37, 0.0, 0.56]] call _attach; }; case "B_Heli_Transport_01_F": { [false, "red", [-0.5, 0.0, 0.96]] call _attach; [true, "blue", [0.5, 0.0, 0.96]] call _attach; [false, "red", [-0.5, 0.0, 0.96]] call _attach; [true, "blue", [0.5, 0.0, 0.96]] call _attach; }; case "I_Heli_light_03_unarmed_F": { [false, "red", [-0.37, 0.0, 0.56]] call _attach; [true, "blue", [0.37, 0.0, 0.56]] call _attach; [false, "red", [-0.37, 0.0, 0.56]] call _attach; [true, "blue", [0.37, 0.0, 0.56]] call _attach; }; }; _lightsOn = true; while {(alive _veh)} do { if (!(_veh getVariable "lights")) exitWith {}; if (_lightsOn) then { for [{_i=0}, {_i<_flashes}, {_i=_i+1}] do { { (_x select 0) setLightBrightness _brightnessHigh; } forEach _leftLights; uiSleep _flashOn; { (_x select 0) setLightBrightness _brightnessLow; } forEach _leftLights; uiSleep _flashOff; }; { (_x select 0) setLightBrightness 0; } forEach _leftLights; for [{_i=0}, {_i<_flashes}, {_i=_i+1}] do { { (_x select 0) setLightBrightness _brightnessHigh; } forEach _rightLights; uiSleep _flashOn; { (_x select 0) setLightBrightness _brightnessLow; } forEach _rightLights; uiSleep _flashOff; }; { (_x select 0) setLightBrightness 0; } forEach _rightLights; }; }; { deleteVehicle (_x select 0) } foreach _leftLights; { deleteVehicle (_x select 0) } foreach _rightLights; _leftLights = []; _rightLights = [];
- Ersetze in der fn_medicSirenLights.sqf die Zeile [_vehicle,0.22] remoteExec ["life_fnc_medicLights",RCLIENT]; durch:
- Öffne deine Functions.hpp und füge unter "class Medical_System" folgendes ein:
- Öffne deine CfgRemoteExec.hpp und füge unter "class Functions" folgendes ein:
P.S.: Wenn ihr die Farben ändern wollt, einfach die RGB_Werte von "_lightRed" und "_lightBlue" ändern. Die RGB-Werte könnt ihr z.B. hier [KLICK MICH] herausfinden. Wichtig sind die letzten drei Zahlen rechts, diese in der Reihenfolge oben einfügen.
Fertig!
Das war's schon!
Ich wünsche euch Viel Spaß mit dem Tutorial