Arma 3 - Zaun zerschneiden ohne Ace Menu

  • Ich suche stetig nach weiteren Aufgaben für die Pios. Darunter stört mich ein bisl @Enhanced Movement, das man so ziemlich über alles rüberkommt.

    So auch Stacheldrahtzäune. Wenn ich könnte würde ich den Stacheldrahtbereich symbolisch unter Strom setzen oder vielleicht doch den ganzen Zaun? ;)

    Zu einem späteren Zeitpunkt vielleicht :saint: .


    Erstmal geht es mir darum, das die Pios den Zaun bzw. einen Zaun zerstören können mit dem Besitz des Drahtschneiders. Zunächst bestimme ich den Zauntyp für das Skript.

    Wie findet man den Classname der Zaunobjekts auf der Map heraus?


    • Stelle eine Einheit so dicht wie möglich an den gewünschten Zaun.
    • Starte das Szenario.
    • Öffne die Console und füge folgenden Code-Schnipsel ein und führe diesen Lokal aus (damit kopierst Du alle Objekte in der Nähe der Einheit in deinen Zwischenspeicher)
    Code
    1. copyToClipboard str format ["Nearobjects: %1", (nearestObjects [getpos player, [], 10])];


    In einer beliebigen Textdatei Strg + V drücken. Damit fügst Du den Inhalt des Zwischenspeichers als String in Deine Datei. Da findest Du das Objekt für den Zaun

    In meinem Fall war es: Land_New_WiredFence_10m_F


    Mit einem Rechtsklick im Editor holst Du Dir die Position von deinem Einsatzgebiet. in meinen Fall [3922.69,10318.4,0]

    Du öffnest bzw. erstellst Deine initServer.sqf und fügst dann folgen Schnipsel da ein und speicherst die Datei ab

    (Hier musst Du natürlich Dein Objekt bzw Postion dann eintragen )


    Code
    1. []spawn{
    2.    {
    3.       if ((str _x) find "Land_New_WiredFence_10m_F" > -1 || (str _x) find "netfence_03_m_9m_f" > -1) then {
    4.          fenceAction = _x addAction["Zaun öffnen", "GT_wirecut.sqf", [], 1, true, true, "", "_this distance _target < 10"];
    5.       };
    6.    } forEach nearestObjects [[3922.69,10318.4,0], [], 1500];
    7. };

    Die 1500 ist der Umkreis um die gewünschte Position, da es kein Sinn macht alle Zäune auf der Karte mit dem Addaction - Befehl zu belegen!


    Mit dem Addaction Befehl weise ich eine Datei zu, genannt GT_wirecut.sqf


    Was enthält die Datei?

    Grob:

    Eine Zuweisung des Spieler zu einer Variable

    Dann kommt eine Abfrage, die sicherstellt, das die folgende Aktion nur von einem Pionier ausgeführt werden kann

    Dann flogt die Prüfung, ob der Pionier mitgedacht hat und sich auch so ausgerüstet hat. Vorrausetzung um den Zaun zu zerstören ist der Ace Drahschneider

    Neben einer Animation folgt auch das Abspielen eines Sounds. Hier habe ich das Durchschneiden eines Maschendrahtes hinterlegt.


    Die GT_wirecut.sqf dazu ist wie folgt aufgebaut: