Danke AHTNTEPPOP!
Ich hätte noch eine Frage ist es noch möglich die Treff Sicherheit eines Snipers noch zu erhöhen, wenn die Sets kill schon auf 1 stehen?
AI_Sniper_Room.sqf
Code:
//////////////////////////////////////////////////////////////////
// By: Ghost [AUT] AI_Sniper_Group_Room V1.01
//
// Kurz Info: For Arma2 & OA!
//
// Einen Trigger auf der Map Platzieren:
// Feind Einheit Activation: Feind Side, Vorhanden, Einmalig!
// Position des Auslöser, ist der Radius Mittelpunkt beim Spotter: Trigger Area A 800 - B 800!
// Platzierung Erfolgt auf der Map!
//
// Einen 2 Auslöser Platzieren:
// in der Bedingung: Akt durch eine publicVariable Bedingung oder auf true!
// In der Auslöser Init:
// null = [Sniper name, Weaponbox name, Trigger Name, Beowachtungs Ziet in Sec] execVM "AI_Sniper_room.sqf"!
//
// Das Script wird Automatisch beendet:
// So bald das AI Sniper Team eliminiert wurde!
//
// Gelöscht werden beim Beenden des Scripts:
// Der Inhalt der Scanning Array!
// Die Weapon Box!
// Der Scanning Trigger!
//////////////////////////////////////////////////////////////////
if (!isServer) exitWith {};
private ["_group","_box","_STag","_delay","_Sniper_group","_Spotter","_Scanning","_playunit","_play","_wait"];
_group = _this select 0; // AI Units group!
_box = _this select 1; // Weapon Box!
_STag = _this select 2; // Scanning Trigger!
_delay = _this select 3; // Zeit angabe in Sec.!
_Sniper_group = group _group; // Groupe einen Namen Zuweissen!
_Spotter = leader _Sniper_group; // Leader bestimmen der group!
_Spotter setFormation "LINE"; // Formation!
_Spotter setBehaviour "STEALTH"; // Kampfmodus!
// Löschen der Weapon box & Erstellen einer neuen Weapon box!
deletevehicle _box; _box = createVehicle ["TKBasicAmmunitionBox_EP1", _STag, [], 10, "NONE"];
_box allowDamage false;
clearWeaponCargo _Box; // Leeren der Vorhandenen Weapons
clearMagazineCargo _Box; // Leeren der Vorhandenen Magazine
_box addMagazineCargo ["5Rnd_127x108_KSVK", 50]; // Einfügen der neuen Magazine
_box addMagazineCargo ["20Rnd_762x51_FNFAL", 50]; // Einfügen der neuen Magazine
//////////////////////////////////////////////////////////////////////////////////////////////
G_Ziel_Down = // Ziel Erfassung und Feuerbefehl
{
if (true) exitWith
{
hint "ziel";
_Spotter = _this select 0;
_play = _this select 1;
_Spotter lookAt _play;
_Spotter selectWeapon "binocular";
_Spotter commandFire _play;
//_Spotter commandTarget play_killing;
_wait = Time + _delay;
waitUntil {_wait < time OR !alive _play OR !alive _Spotter}; // Warteschleife: Zeitablauf und Alive Zielperson oder Spotter
{_x doWatch ObjNull}ForEach units _Sniper_group; // Die Zielerfassung der ziel Person wird Deaktiviert
};
};
while {count units _Sniper_group > 0} do // Beginn der Schleife: So lange das AI Sniper Team nicht eliminiert wurde!
{
hint "While";
_unit = objNull; // Feind und Player Scanning Modul!
_list = list _Stag;
_Scanning = [];
_i=0;
while {_i < (count _list)} do
{
_unit = _list select _i;
if(not (_unit isKindOf "Man")) then
{
{_Scanning = _Scanning + [_x]} forEach crew _unit;
}
else
{
_Scanning = _Scanning + [_unit];
};
_i=_i+1;
sleep 0.2;
};
_i=0;
sleep 1;
if (count _scanning >= 1) then // Abfrage: ob Mindestens ein Feind in der Scanning Array vorhanden ist
{
_playunit = _scanning select floor(random count _Scanning); // Zufalls auswahl der Player oder Feinde, in der Scanning Array
play = leader _playunit; // Ziel Namen Zuweissung Globalvariable
publicVariable "play";
//hint format ["Sniper Team Zielzuweissung: %1", play];
if (!alive _Spotter) then {_Spotter = leader _Sniper_group}; // So bald der Spotter eliminiert wurde, wird ein neuer Leader bestimmt!
sleep 0.5;
if (alive play) then {[_Spotter, play] call G_Ziel_Down}; // Aufruf wenn die Zielperson lebt, Ruft, Ziel und Feuerbefehl auf!
};
sleep 10;
};
if (true) exitWith { // Script Exit
deleteVehicle _STag;
deleteVehicle _box;
sleep 3;
_Scanning = [];
};
LG.
Ghost [AUT]