ARMA 3 - MISSION EDITING & SCRIPTING Arma 3 Artillerie Skript
Arma 3 Artillerie Skript
Quelle: Gametwitter.de Forum | views: 852

Im Rahmen eine zukünftigen Mission wird Mortar bzw. Artillerie Unterstützung benötigt. Um diese nicht nur virtuell agieren zu lassen, wollte ich eine optische Lösung.

Daher platzierte ich mir eine Reihe von Mortarstellungen mit AI Mörserschützen. Die erste wurde unter deren Attributen im Variablennamen mortar_1 genannt und dann ein paar mal kopiert. Hat den Vorteil, das der Variablenname sich automatisch erhöht mortar_2, mortar_3, mortar_4 usw. .

Dh. man muss den Variablennamen nicht in jede Einheit manuell schreiben.

Anschließend positionierte ich mir einen unsichtbaren Marker mit dem Variablennamen target_1 und kopierte diesen 2x. So hatte ich drei Marker target_1, target_2, target_3 als Zielbereiche, wo die Mortar-Einheiten zufällig hin feuern sollten.

Der Radius zum Ziel beträgt 120m in deren Umkreis gefeuert wird.

Ausgelöst wird dieses Skript dann per Trigger und einer "publicVariable" .

Bei Auslösung der "publicVariable" (true) schießt jedes Geschütz 3x.

Um auch Feuerpausen zu generieren, wird die "publicVariable" durch einen weiteren Trigger auch wieder auf false gesetzt und bei Bedarf wieder auf true, um die Geschütze erneut feuern zu lassen.

true/false sind sogenannte Boolean Werte.

Anstatt mortar Einheiten kann man natürlich auch die anderen bekannten Einheiten wie z.B.

  • M5 Sandstorm
  • 2S9 Sochor
  • usw.

dazu nehmen.

Inhalt dieser artillerie.sqf : ...

_guns = [mortar_1,mortar_2,mortar_3,mortar_4,mortar_5,mortar_6,mortar_7,mortar_8,mortar_9,mortar_10];


{


if(alive _x)then{
    for "_i" from 0 to 3 do
    {
       _target = ["target_1","target_2","target_3"] call BIS_fnc_selectRandom;
       _targetpos = (getmarkerpos _target);
       _radius = 120;

       _firingPos = _targetpos getPos [_radius * sqrt random 1, random 360];

      _x commandArtilleryFire [_firingPos,currentMagazine _x,1];

      sleep 4+(random 8);
   };
};

} forEach _guns;

... welche im Trigger mit

_null = execVM "artillerie.sqf"; 

aufgerufen wird:

Eine Kommentarfunktion ist in diesem Blog nicht vorgesehen.
Bei Problemen zum Skript bitte im Gametwitter.de Forum registieren und dort die Kommentarfunktion nutzen.