Liebe Native-Network Gemeinde,
In einem Ansturm von Langeweile ist mir die Idee gekommen einen anderen Fuelkiller zu kreiren. Der Grundgedanke war mit dem in Vanilla-Arma möglichen Dingen den Fuelkiller so zu gestalten, dass beide Parteien entsprechend ihrer
fliegerischen Leistungen und Schussfertigkeiten in der Luft belohnt/bestraft werden. Informationen zu der Funktionsweise des Fuelkillers sind ausführlich in der Dokumentation hinterlegt.
Um euch einen kleinen Vorgeschmack zu geben was ich eigentlich hier laber :(hier)
1. Öffnet eure Functions.Hpp und fügt folgenden Code an einer für euch logischen Stelle (z.B "core\cop") ein. Hierbei ist darauf zu achten, dass sich je nach Klasse auch die Ablage für euer Skript ändert achtet also darauf:
2. Fügt nun eurem ausgewählten Verzeichnis die Datei fn_fuelStinger.sqf an und füllt sie mit diesem Inhalt
/*
File: fn_fuelStinger.sqf
Date: 08.10.2018 02:05
Author: Henrik "XFireFighter" Wagner
Version: 1.0
Description: Uses the 7.62mm Machine Guns from the Armed Helicopters as a Fuel Killer. The Damage output is 0 and you can#t kill someone with those guns.
Skript is triggerd with HandleDamage Eventhandler. This is an experimental built.
Work is still in Progress.
Useful Information:
_burnRate = Rate at which the current fuel level gets multiplied with per shot.
e.g 2 hits mean [current level of fuel * burnrate * burnrate]
_listedProjectiles = Edit to change Projectiles which should have the Burn effect.
currently : Minigun from AH9 and WY-55
Eventhandlers used:(https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#HandleDamage)
Code Activation (Eden-Editor W/Framework): this addEventhandler ["HandleDamage", {call life_fnc_fuelStinger}];
Useful Debug Hint: hint format ["Instigator = %1 \n WeaponUsed = %2 \n _Projectile = %3 \n Source = %4",_instigator,_weaponUsed, _projectile, _source];
Disclaimer: Its not allowed to reupload this script in any other forum than native-network.net
*/
Params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"];
_unit = [_this,0,objNull] call bis_fnc_param;
_damage = [_this,2,0] call bis_fnc_param;
_source = [_this,3,objNull] call bis_fnc_param;
_projectile = [_this,4,""] call bis_fnc_param;
_instigator = [_this,6,objNull] call bis_fnc_param;
_WeaponUsed = currentWeapon _instigator;
_burnRate = 0.995;
_listedProjectiles = ["B_762x51_Minigun_Tracer_Red_splash","B_762x51_Minigun_Tracer_Yellow_splash"];
if !(_weaponUsed in ["M134_minigun"] || _projectile in _listedProjectiles ) exitWith {};
if (_weaponUsed in ["M134_minigun"] || _projectile in _listedProjectiles )
then {
_oldFuel = fuel (vehicle _unit);
_newFuel = _oldFuel * _burnRate;
(vehicle _unit) setFuel _newFuel;
};
{0};
Alles anzeigen
Da ich mit dem Standart Altis-Life Framework (4.5/5.0) nicht mehr zu 100% vertraut bin könnte es passieren, dass ihr ab hier selbst ein wenig kreativ werden müsst. Ich werde das Tutorial anhand eines modifizierten Frameworks durchführen. Falls euch die nun beschriebene Datei fehlen sollte, müsst ihr diese ergänzend anlegen bzw erstellen. Falls dies so sein sollte gebe ich hierzu einen Tipp ab wie ihr diese Funktion einfach selbst schreiben könnt: Ihr braucht eine Funktion, welche beim Kauf und beim Ausparken eines Fahrzeuges die Funktion fn_setupvehicleEVH.sqf aufruft. Hierzu solltet ihr die Funktionen fn_spawnvehicle.sqf & fn_vehicleshopBuy.sqf in Betracht ziehen. Mit einem Parameter übergebt ihr das betreffende Fahrzeug. Diese Funktion sollte sämtliche EH verwalten, welche Fahrzeugbezogen agieren.
3. Öffnet die Datei fn_setupvehicleEVH.sqf und fügt dort folgendes ein, sodass der EH auf ALLE Fahrzeuge initialisert wird:
4. Öffnet die Datei fn_setupEVH.sqf und fügt dort folgendes ein:
Nun solltet ihr soweit fertig sein und ich wünsche euch viel Spass in der Luft rumzudonnern. Ich bedanke mich für das doch hoffentlich aufmerksame Lesen. Falls Fragen bestehen beantworte ich diese gerne. Sollten Fehler auftreten verweise ich in alter NN-Manier auf ([Erklärung|Leitfaden] Arma 3 Logs - Client, Server & extDB Log).
Da dies mein erstes Tutorial war würde ich mich über Feedback freuen.
LG