- Offizieller Beitrag
Hallo zusammen!
In diesem Tutorial zeige ich euch kurz wie ihr ganz einfach eine Art Taschen- oder eher Schulterlampe in Altis Life oder [lexicon]Tanoa[/lexicon] Life erstellt. Wir hatten das ganze geplant um Nachtsichtgeräte aus dem Spiel zu entfernen, jedoch wollen die Spieler diese doch behalten also gibt es die Taschenlampe nun für alle.
Letztendlich erstellt dieses Script eine Taschenlampe auf Schulterhöhe und setzt anschließend einen #lightpoint vor euch an eine im Script angegebene Position, dazu benötigt ihr ein vItem welches ihr erstellen und in einen eurer Shops einfügen müsst. Benutzen könnt ihr diese entweder über das Z Menu durch den Button "Benutzen" oder aber via Shortcut (Shift+L).
HINWEIS: Das Licht ist derzeit nicht global, was bedeutet nur ihr könnt es sehen.
NOCH EIN HINWEIS: Das ganze funktioniert auch in ALLEN anderen Altis Life Versionen! Lediglich das Item wird in anderen Dateien erstellt und der fn_useItem.sqf Eintrag muss ebenfalls angepasst werden.
Schritt 1:
Erstellt im Verzeichnis core\items die Datei fn_useFlashlight.sqf mit folgendem Inhalt:
/*
Author: Nox
Description: Macht dunkle Sachen hell.
*/
private ["_unit"];
_unit = [_this,0,objNull,[objNull]] call BIS_fnc_param;
if (_unit getVariable["restrained", false]) exitWith { hint "Du kannst deine Schulterlampe nicht einschalten solange du gefesselt bist!"; };
if (vehicle player != player) exitWith { hint "Du kannst deine Schulterlampe nicht einschalten während du in einem Fahrzeug sitzt."};
if (!(life_inv_flashlightshoulder > 0)) exitWith { hint "Du besitzt keine Schulterlampe." };
if (!(alive vehicle player)) exitWith {};
if(life_flashlight) then {
deleteVehicle light;
deleteVehicle flashlight;
life_flashlight = false;
} else {
flashLight = "Item_acc_flashlight" createVehicleLocal position player;
flashlight attachTo [player, [0.33,-0.04,-0.05], "Pelvis"];
flashlight setVectorDirAndUp [ [1,0.01,0.44], [1,0,0] ];
lightpos = [0.33,-0.04,-0.05]; //Position des #lightpoints
light = "#lightpoint" createVehicleLocal lightpos;
light setLightBrightness 0.25; //Helligkeit
light setLightAmbient [1,0.99,0.88];
light setLightColor [1,0.99,0.88];
light attachTo [player, [0,5,-0.5], "Pelvis"];
light setDir 60;
life_flashlight = true;
};
Alles anzeigen
Schritt 2:
Ersetzt in der fn_keyHandler.sqf euren case 38 durch folgendes:
case 38: {
//If cop run checks for turning lights on.
if (_shift && playerSide in [west,independent]) then {
if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F","C_Van_01_box_F"]) then {
if (!isNil {vehicle player getVariable "lights"}) then {
if (playerSide isEqualTo west) then {
[vehicle player] call life_fnc_sirenLights;
} else {
[vehicle player] call life_fnc_medicSirenLights;
};
_handled = true;
};
};
};
//if (!_alt && !_ctrlKey) then { [] call life_fnc_radar; };
if (_shift && vehicle player == player && playerside in [civilian,west,independent]) then {
[vehicle player] call life_fnc_useFlashlight;
};
};
Alles anzeigen
Schritt 3:
Öfnet eure configuration.sqf und fügt unter Backend Variables folgendes ein:
Schritt 4:
In eurer fn_useItem.sqf fügt ihr folgenden case hinzu:
case (_item isEqualTo "flashlightshoulder"): {
[] spawn life_fnc_useFlashlight;
closeDialog 0;
};
Schritt 5:
Öffnet nun noch eure Functions.h und fügt im class items folgenden Eintrag hinzu:
Anschließend müsst ihr noch eure Config_vItems.hpp öffnen und folgendes Item hinzufügen:
class flashlightshoulder {
variable = "flashlightshoulder";
displayName = "STR_Item_FlashLightShoulder";
weight = 2;
buyPrice = 2500;
sellPrice = 350;
illegal = false;
edible = -1;
icon = "icons\flashlight.paa";
};
Das Icon findet ihr im Anhang, hier noch ein kurzes Video und Bild dazu:
Ihr könnt im übrigen das Modell der Taschenlampe entfernen und lediglich den Lichtpunkt im Script lassen. Dazu entfernt einfach folgendes: