Truppen per Heli einfliegen lassen
Um einen gewissen Adrenalinkick bei Spielern auszulösen bewährt es sich gelegentlich Nachschub des Feindes dazustoßen zu lassen und um den Druck auf die Spieler zu erhöhen pickt man sich einen raus und erklärt diesen als Ziel.
Im nachfolgenden Beispiel wird ein Chinook des Typs MH47E gespawnt , sowie der Trupp, welcher bei Landung abgesetzt werden soll. Der Trupp wird nach dem Aussteigen einen beliebig gewählten Spieler jagen und wird auch andere Spieler in seinem Umfeld unter Beschuss nehmen. Primärziel bleibt der gewählte Spieler.
Selbst wenn dieser wegläuft, wird der Trupp an ihm dranbleiben, da wie in diesem Beispiel der Wegpunkt alle 45 Sekunden auf die akutelle Position des Spielers neu gesetzt wird.
Natürlich können hier im Skript Helikopter und Truppen jederzeit gegen andere Helikopter und Truppenteile angepasst werden.
! Nur darauf achten, das die Truppen auch entsprechend Platz haben im Heli.
Ein unsichtbarer Marker namens "spawnPoint" ist auf der Map erforderlich. Dieser sollte natürlich weit ausserhalb des geplanten Missionsziels liegen.
Der Rot markierte Bereich achtet darauf, das es nachher nicht zuviele Einheiten sind, je nachdem wie oft das Script ausgelöst wird. Der Heli wird erst gespawnt, wenn die Gesamt Feindzahl EAST unter 60 Einheiten ist.
Im Trigger, unter welchen Bedingungen der Nachschub einsetzen soll, wird unter Aktivierung der Befehl dazu wie folgt eingetragen:
0 = execVM "spawnHeliInfSupport.sqf";
Skriptbeispiel: spawnHeliInfSupport.sqf
if (!isServer) exitWith {}; private ["_airunit","_startpunkt"]; _eastunits = east countSide allUnits; if (_eastunits < 60) then { if (isServer) then { private _randomTarget = selectRandom (allPlayers - entities "HeadlessClient_F"); _position = [(getmarkerpos "spawnPoint"), 30, 200, 10, 0, 20, 0] call BIS_fnc_findSafePos; _landezone = [(getpos _randomTarget), 500, 700, 10, 0, 20, 0] call BIS_fnc_findSafePos; _side = createCenter WEST; _airUnit = [_position, 0, "kyo_MH47E_base", _side] call bis_fnc_spawnvehicle; _airCraft = (_airUnit select 0); //the _airCraft airCrew = (_airUnit select 1); //the units that make up the crew airGroup = (_airUnit select 2); //the group { _x allowFleeing 0; _x setCombatMode "BLUE"; } forEach units airGroup; airHeight = 100; _airCraft flyinheight airHeight; _airCraft setpos [getposATL _airCraft select 0, getposATL _airCraft select 1, airHeight]; _reldir = [getmarkerpos "airUnit", _landezone] call BIS_fnc_dirTo; _airCraft setdir _reldir; //_pad = createVehicle ["Land_HelipadEmpty_F", _landezone, [], 0, "NONE"]; _wp1 = airGroup addWaypoint [_landezone, 0]; _wp1 setWaypointType "TR UNLOAD"; _wp1 setWaypointSpeed "NORMAL"; _wp1 setwaypointstatements ["true", "(vehicle this) land ""GET IN"""]; sleep 0.5; _reinforcements = [_position, WEST, [ "rhsusf_usmc_marpat_wd_squadleader", "rhsusf_usmc_marpat_wd_teamleader", "rhsusf_usmc_marpat_wd_machinegunner", "rhsusf_usmc_marpat_wd_machinegunner_ass", "rhsusf_usmc_marpat_wd_teamleader", "rhsusf_usmc_marpat_wd_machinegunner", "rhsusf_usmc_marpat_wd_machinegunner_ass", "rhsusf_usmc_marpat_wd_javelin", "rhsusf_usmc_marpat_wd_smaw", "rhsusf_usmc_marpat_wd_rifleman", "rhsusf_usmc_marpat_wd_sniper_m110", "rhsusf_usmc_marpat_wd_engineer", "rhsusf_usmc_marpat_wd_autorifleman", "rhsusf_usmc_marpat_wd_rifleman_m590" ]] call BIS_fnc_spawnGroup; sleep 1; {_x assignAsCargo _airCraft; _x moveInCargo _airCraft;_x allowFleeing 0;} forEach units _reinforcements; waitUntil { isTouchingGround _airCraft || (position _airCraft select 2) < 1 }; _reinforcements leaveVehicle _airCraft; waitUntil{sleep 1; {_x in _airCraft} count units _reinforcements == 0}; _formation = ["NO CHANGE","COLUMN","STAG COLUMN","WEDGE","ECH LEFT","ECH RIGHT","VEE","LINE","FILE","DIAMOND"] call BIS_fnc_selectRandom; private _randomTarget = selectRandom (allPlayers - entities "HeadlessClient_F"); _wp2 = airGroup addWaypoint [(getmarkerpos "startzone"), 0]; _wp2 setWaypointSpeed "FULL"; _wp2 setWaypointType "MOVE"; _wp2 setWaypointStatements ["true", "{deleteVehicle _x} forEach crew (vehicle this) + [vehicle this];"]; //deletevehicle _pad; if ((!canMove _airCraft)) then{sleep 3; _airCraft setDamage 1;}; while{(alive _randomTarget)}do{ _wp1 = _reinforcements addWaypoint [(getPos _randomTarget), 0]; _wp1 setWaypointType "SAD"; _wp1 setWaypointSpeed "FULL"; _wp1 setWaypointBehaviour "AWARE"; _wp1 setWaypointFormation _formation; [_reinforcements, 2] setWaypointCompletionRadius 10; sleep 45; deleteWaypoint [_reinforcements, 2] }; }; };
Eine Kommentarfunktion ist in diesem Blog nicht vorgesehen.
Bei Problemen zum Skript bitte im Gametwitter.de Forum registieren und dort die Kommentarfunktion nutzen.