Altis Life - EMP Script

Aus Nitradopedia
Wechseln zu: Navigation, Suche
Arma3Epoch header.png

Miete dir jetzt deinen eigenen prepaid ArmA 3 Epoch Server auf nitrado.net

Hier ein Tutorial wie man in Altis Life auf Version 3.1.4.8-extDB einen EMP Skript erstellt. Dieser kann beispielsweise von der Polizei genutzt werden um Helis oder Autos zu stoppen.

Achtung: Dieses Tutorial funktioniert so wie es da steht nur mit dem Hummingbird.


Als erstes ladet ihr euch den special.rar Ordner runter und packt ihn in Altis_Life.Altis\core
special.rar Download hier

Dann fügt ihr in folgende Dateien das hier ein:

In die Description.ext unter class CfgSounds

class empwarn
  {
    name = "empwarn";
    sound[] = {"\sounds\empwarn.ogg", 1.0, 1};
    titles[] = {};
  };
  class empacsound
  {
    name = "empacsound";
    sound[] = {"sounds\empac.ogg", db-5, 1};
    titles[] = {};
  };


In der Configuration.sqf

Backend Variables

nn_last_vehicles = [];
nn_empInUse = false;


In der Functions.h

class Special
	{
		file = "core\special";
		class openEmpMenu {};
		class isEmpOperator {};
		class scanVehicles {};
		class warnVehicle {};
		class empVehicle {};
		class vehicleWarned {};
		class vehicleEmpd {};
	};


In der masterhandler.h

#include "emp_menu.hpp"


Dann erstellt ihr eine Datei mit dem namen emp_menu.hpp mit folgendem Inhalt :

class nanoEMPConsole {
	idd = 3494;
	name= "nanoEMPConsole";
	movingEnable = false;
	enableSimulation = true;
	onLoad = "[] spawn life_fnc_openEmpMenu;";
	
	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.8;
			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.8;
			h = 0.6 - (2 / 250);
		};
	};
	
	class controls {
		class Title : Life_RscTitle {
			colorBackground[] = {0, 0, 0, 0};
			idc = 2901;
			text = "nanoEMP Operator Konsole";
			x = 0.1;
			y = 0.2;
			w = 0.6;
			h = (1 / 25);
		};
		
		class PlayerList_Admin : Life_RscListBox 
		{
			idc = 2902;
			text = "";
			sizeEx = 0.035;
			//colorBackground[] = {0,0,0,0};
			//onLBSelChanged = "hint format [""%1"",_this select 1];";
			
			x = 0.12; y = 0.26;
			w = 0.30; h = 0.4;
		};
		
		class PlayerBInfo : Life_RscStructuredText
		{
			idc = 2903;
			text = "";
			x = 0.42;
			y = 0.25;
			w = 0.35;
			h = 0.6;
		};

		class CloseButtonKey : Life_RscButtonMenu {
			idc = -1;
			text = "Schließen";
			onButtonClick = "closeDialog 0;";
			x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
			y = 0.88 - (1 / 25);
			w = (6.25 / 40);
			h = (1 / 25);
		};
		
		class Refresh : Life_RscButtonMenu {
			idc = -1;
			text = "Scan";
			onButtonClick = "[] spawn life_fnc_scanVehicles;";
			x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
			y = 0.88 - (1 / 25);
			w = (6.25 / 40);
			h = (1 / 25);
		};

		/*class WarnEMP : Life_RscButtonMenu {
			idc = 2030;
			text = "Warnen";
			onButtonClick = "";
			x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
			y = 0.88 - (1 / 25);
			w = (6.25 / 40);
			h = (1 / 25);
		};*/

		class ExecEMP : Life_RscButtonMenu {
			idc = 2070;
			text = "Deaktivieren";
			onButtonClick = "[] spawn life_fnc_empVehicle;";
			x = 0.58 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
			y = 0.88 - (1 / 25);
			w = (6.25 / 40);
			h = (1 / 25);
		};

		class WarnEMP : Life_RscButtonMenu {
			idc = 2060;
			text = "Warnen";
			onButtonClick = "[] spawn life_fnc_warnVehicle;";
			x = 0.42 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
			y = 0.88 - (1 / 25);
			w = (6.25 / 40);
			h = (1 / 25);
		};
	};
};

Die Datei kommt in den dialog Ordner.


Und zum Schluss um das Menü mit "K" aufzurufen:

In der fn_KeyHandler.sqf

//EMP Konsole - K
    case 37:
    {
        if (!_shift && !_alt && !_ctrlKey && (playerSide == west) && (vehicle player != player && (typeOf vehicle player) in ["B_Heli_Light_01_F"])) then
        {
            [] call life_fnc_openEmpMenu; [_this] call life_fnc_isEmpOperator;
        };
    };



Die Sounds packt ihr einfach in euren vorhanden sounds Ordner dort wo auch die Sirenen sounds usw. sind.


sounds.rar https://board.nitrado.net/index.php?page=Attachment&attachmentID=16345&h=46f62290151f80881f30871672140f9a70f05040