Handwaffe Holstern bei Altis Life

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

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

Dieser Artikel wurde mit ArmA 3: Altis Life (Version 3.1.2 von Tonic) getestet.

In diesem Artikel wird erläutert, wie das Skript für das Holstern der Waffe eingebaut wird.


Folgende Schritte zur Änderung sind notwendig:

  • Wichtiger Hinweis: Eine Sicherung / Backup aller zu veränderten Dateien erstellen
  • Gameserver stoppen
  • Die Datei fn_keyHandler.sqf aus dem Verzeichnis /MPMissions/Altis_Life.altis/core/functions/ öffnen
  • Füge folgenden Code-Schnipsel an das Ende der Datei fn_keyHandler.sqf:
        // Shift + H, Holster
	case 35: {
		if (_shift && !_alt && !_ctrlKey) then {
			if ((time - life_holster_time) > 4) then {
				life_holster_time = time;
				[] spawn life_fnc_holsterHandgun;
			};
		};
	};
  • Datei speichern


  • Die Datei stringtable.xml aus dem Verzeichnis /MPMissions/Altis_Life.altis/ öffnen
  • Füge folgenden Code-Schnipsel an das Ende der Datei stringtable.xml:
       <Package name="Player_Actions">
		<Key ID="STR_holsterHandgun_np1">
			<Original>Du kannst nur deine Pistole holstern. Nehme deine Pistole dazu in die Hand ..</Original>
		</Key>
		<Key ID="STR_holsterHandgun_ziehe">
			<Original>Ziehe Pistole</Original>
		</Key>
	</Package>
  • Datei speichern


  • Die Datei init.sqf aus dem Verzeichnis /MPMissions/Altis_Life.altis/core/ öffnen
  • Füge folgenden Code-Schnipsel an das Ende der Datei init.sqf:
life_holster_time = time;
  • Datei speichern


  • Die Datei Functions.h aus dem Verzeichnis /MPMissions/Altis_Life.altis/ öffnen
  • Füge folgenden Code-Schnipsel in der Datei Functions.h bei der Zeile class functions:
class holsterHandgun {};
  • Datei speichern


  • Die Datei fn_holsterHandgun.sqf aus dem Verzeichnis /MPMissions/Altis_Life.altis/core/functions öffnen
  • Füge folgenden Code-Schnipsel an das Ende der Datei fn_holsterHandgun.sqf:
/*
	KWF fn_holsterHandgun.sqf
        by Insane
	www.tdc-clan.eu
*/
 
if (vehicle player != player) exitWith {};
if (player getVariable "restrained") exitWith {};
if (isNil("life_holstered")) then { life_holstered = false; };

KWF_holsterHandgun_holsterAction =
{
	if (currentWeapon player != handgunWeapon player) exitWith 	{ hint format["%1",Localize "STR_holsterHandgun_np1"] };
		
	life_holstered_weapon = handgunWeapon player;
	life_holstered_magazine = handgunMagazine player;
	life_holstered_ammo = player ammo life_holstered_weapon;	
	life_holstered_items = handgunItems player;
	player playMove "AmovPercMstpSrasWpstDnon_AmovPercMstpSnonWnonDnon";
	sleep 1;
	
	player removeWeapon life_holstered_weapon;
	life_holstered = true;
	player setVariable["holsteredHandgun", life_holstered_weapon, true];
};

KWF_holsterHandgun_unholsterAction =
{
	if (isNil {life_holstered_weapon}) exitWith {}; 
		
	titleText [ format["%1",Localize "STR_holsterHandgun_ziehe"] , "PLAIN"];
	sleep 2;		
		
	player addWeapon life_holstered_weapon;
	
	{ 
		player addMagazine _x;
	} forEach life_holstered_magazine;
	
	private["_details"];
	{ 
		_details = [_x] call life_fnc_fetchCfgDetails;
		if((_x != "") && (count _details != 0)) then { player addHandgunItem _x; };
	} forEach life_holstered_items;
		
	player setAmmo [life_holstered_weapon, life_holstered_ammo];
	player selectWeapon life_holstered_weapon;
		
	life_holstered_weapon = nil;
	life_holstered = false;
	player setVariable["holsteredHandgun", false, true];
};

if (!life_holstered) then {
		
	[] spawn KWF_holsterHandgun_holsterAction;	
		
} else {

	[] spawn KWF_holsterHandgun_unholsterAction;	
		
};
  • Datei speichern


  • Die Datei fn_onRespawn.sqf aus dem Verzeichnis /MPMissions/Altis_Life.altis/core/functions/functions öffnen
  • Füge folgenden Code-Schnipsel in der Datei fn_onRespawn.sqf bei der Zeile _unit addRating 100000;:
life_holstered = false;
  • Datei speichern