Alles anzeigenAufgrund, dass mich @kuckuck danach gefragt hatte, veröffentliche ich das ganze hier noch einmal als Tutorial.
Script: Absperrungsmenü für Cops/Medics AL4.0+
Version: Altis Life 4.0+ (3.1.4.8 nicht kompatibel! getestet in 4.4r3)
Schiwerigkeitsgrad: Anfänger (mittel)
Funktionen:
~ Absperrungsmenü für Cops/Medics
~ Erweiterbar durch weitere Absperrungen
~ Namen der Absperrungen leicht anpassbar
Nutzung:
Taste (German Layout) / Key (English Layout) Funktion / Function Ö / Semicolon Absperrungsmenü aufrufen / Open placeables menu LEER / SPACE Absperrung platzieren / Place placeable ESC Platzieren abbrechen / Abort placing ENTF / DEL Absperrung vor dem Spieler löschen / Delete placeable in front of player Rechtliche Hinweise (Copyright):
Dieses Script/Tutorial basiert auf einem Tutorial aus dem ehemaligen altisliferpg.com Forum, volle Credits gehen an Maximum.
Ich untersage dennoch die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren ohne vorher mein Einverständnis dazu einzuholen.
Nun zum eigentlichen Teil dieses Posts...
Anleitung:
- Öffnet eure Functions.hpp und fügt über class Actions folgendes ein
- Öffnet eure configuration.sqf (zu finden im core-Ordner) und fügt folgendes ein
C Alles anzeigen/* ************************************** ****** Placeables Variables ***** ************************************** */ life_definePlaceables = //Array aller Absperrungen (Cop + Medic) [ "RoadCone_F", "RoadCone_L_F", "RoadBarrier_F", "RoadBarrier_small_F", "PlasticBarrier_03_orange_F", "Land_CncBarrier_stripes_F", "Land_PortableLight_single_F", "Land_PortableLight_double_F" ]; life_bar_limit = 100; //Maximale Anzahl Absperrungen pro Person
- Öffnet eure fn_keyHandler.sqf (zu finden im Ordner core/functions) und ersetzt eure case 57, case 39 und case 211 (sofern vorhanden, sonst neu einfügen) hiermit:
C Alles anzeigen//Space key for Jumping case 57: { if (!_shift && life_barrier_active) then { 0 spawn life_fnc_placeablesPlaceComplete; }; if (isNil "jumpActionTime") then {jumpActionTime = 0;}; if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 1.5}) then { if (life_barrier_active) then { [true] call life_fnc_placeableCancel; }; jumpActionTime = time; //Update the time. [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution _handled = true; }; }; //Ö-Key case 39: { if ((isNull(findDisplay 20000)) && (playerSide in ([west,independent]))) then { 0 spawn life_fnc_placeablesMenu; _handled = true; }; _handled = true; }; //ENTF-Key case 211: { if ((playerSide in [west,independent]) && ((typeOf cursorTarget) in life_definePlaceables)) then { deleteVehicle cursorTarget; hintSilent "Die Absperrung wurde entfernt"; }; };
- Öffnet die Dateien fn_initCop.sqf und fn_initMedic.sqf und fügt am Ende folgendes ein
fn_initCop.sqf:fn_initMedic.sqf:
- Öffnet eure MasterHandler.hpp (zu finden im dialog-Ordner) und fügt dort folgendes ein
- Erstellt eine neue Datei placeables.hpp im dialog-Ordner mit folgendem Inhalt
C Alles anzeigenclass Life_Menu_Placeables { idd = 20000; name= "life_menu_placeables"; movingEnable = false; enableSimulation = true; onLoad = ""; class controlsBackground { class Life_RscTitleBackground: Life_RscText { colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; idc = -1; x = 0.1; y = 0.2; w = 0.6; h = (1 / 25); }; class MainBackground: Life_RscText { colorBackground[] = {0, 0, 0, 0.7}; idc = -1; x = 0.1; y = 0.2 + (11 / 250); w = 0.6; h = 0.6 - (22 / 250); }; }; class controls { class Title : Life_RscTitle { colorBackground[] = {0, 0, 0, 0}; idc = -1; text = "Available placeables"; x = 0.1; y = 0.2; w = 0.6; h = (1 / 25); }; class PlaceablesList : Life_RscListBox { idc = 20001; text = ""; sizeEx = 0.035; x = 0.12; y = 0.26; w = 0.56; h = 0.370; }; class CloseButtonKey : Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.8 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class RemoveAll : life_RscButtonMenu { idc = -1; text = "Remove all"; onButtonClick = "[] call life_fnc_placeablesRemoveAll"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.8 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class Place : Life_RscButtonMenu { idc = -1; text = "Place"; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5}; onButtonClick = "[] spawn life_fnc_placeablePlace;"; x = 0.32; y = 0.69; w = (6.25 / 40); h = (1 / 25); }; }; };
- Fügt den "placeables"-Ordner aus der Datei im Anhang in euren functions-Ordner ein (>> placeables.rar << Download Link)
Fertig!
Das war's schon!Ich wünsche euch Viel Spaß mit dem Tutorial
Einmal ohne Fehler beim Copy & Paste..... Ist das zu viel verlangt?
Hey ich habe dieses Problem : Script core\functions\placeables\fn_placeablesInit.sqf not found