ACCESS DENIED!

Error!

ACCESS GRANTED!

Success!

ARMA 3 Editor:

 Artillery feuert auf Einheiten

Titelbild

Artillery feuert auf Einheiten


Autor: Commander

Der folgende Scriptteil sorgt dafür, das Artillerieeinheiten, die auf der Karte platziert sind auf die angegebenen Ziele feuert. Kann per Trigger oder auch über sonstige Scripte aktiviert werden. 

Nutzung dieses Skripts ist wie folgt. 

Auf der Karte Artillerieeinheiten platzieren und mit Variablennamen versehen. Z.B. 2 Artillerieeinheiten mit Namen mortar_1 und mortar_2. Trigger erstellen mit Activation BLUFOR Detected by OPFOR. In die Aktivierungszeile dann

nul = [[mortar_1,mortar_2], thisList, 7, 70] execVM "CATD_Scripts\CATD_fnc_ArtyatPosition.sqf";

Das bedeutet, das mortar_1 und mortar_2 feuert. Und zwar jeweils 7 Schuss auf einen der BluFor Einheiten mit einer Ungenauigkeit von 140m (70m Radius),

Man könnte anstatt thisList auch ein Array von Zielen angeben. Das könnten z.B. Spieler oder GameLogics sein.

Den folgenden Code in die Datei CATD_fnc_ArtyatPosition.sqf einfügen und im Ordner CATD_Scripts speichern. (oder wo immer ihr ihn hinhaben möchtet.)

​//[[mortar],[ mortar_targes], Anzahl Schüsse, Ungenauigkeit in Metern] call CATD_fnc_ArtyatPosition;
    params ["_arty","_target","_shots","_spread"]; 
    
    _target = selectRandom _target; //target ist z.B. thisList aus einem Trigger oder sonst ein Array.
    _arty_1 = _arty select 0;
    
    
    for "_i" from 1 to _shots do {
        _target2 = [_target, _spread] call CBA_fnc_randPos;
        _artyAmmo = getArtilleryAmmo [_arty_1] select 0;
        _artyETA = _arty_1 getArtilleryETA [_target2, _artyAmmo];
        _inRange = (_target2) inRangeOfArtillery [[_arty_1], _artyAmmo];
        
        if (_artyETA > 0 AND _inRange) then {
            {
                _x commandArtilleryFire [_target2, _artyAmmo, 1];
                sleep 0.5
                } forEach _arty;
            sleep random [7,11,16];
        };
    };



Beispiel:
CATD_fnc_ArtyatPosition.sqf

Die letzten Einträge