Arma 3 - Marker sichtbar schalten

  • In einer Mission ist es manchmal nötig die Spieler durch Wegpunkte so zu leiten, das sie die Mission so beschreiten, wie man sich das als Missionsbauer vorstellt. Die Spieler sollen hier aber erst nach einem erfolgreichem Zwischenziel weitergeleitet werden und nicht gleich zu Missionsbeginn alles offenbart bekommen.


    In diesem Beispiel ging es darum, das die Spieler zunächst ein Dorf aufsuchen sollten zwecks Kontaktaufnahme mit einem AI Zivilisten. Über ein "Addaction" Befehl kamen die Spieler zur entsprechenden Information. Es ging hier um Informationen zu möglichen Feindbewegungen, welche von dem Zivilisten einzuholen waren.


    Z.B. der "Addaction" Befehl mit dem Aufruf einer PublicVariable, welche später die Marker sichtbar setzt.

    Zitat

    frage = this addAction ["Information erfragen", {hint "Ja ich kann Euch sagen, wo wir zuletzt Vietcongs gesehen haben! Ich zeige auf Karte...";(_this select 0) removeAction frage;publicVariable "contact"}, "", 0, true, true, "", "_this distance cursortarget < 3"];


    Aber zum eigentlichem Vorgehen wegen der Marker:


    in der Init.sqf:

    Hier muss die PublicVariable zunächst auf false gesetzt werden.

    Über ein Array mit einer Foreach Schleife durch laufe ich das Array und setzte die Marker auf unsichtbar = 0.

    Code
    1. contact = false;
    2. publicVariable "contact";
    3. _feindMarker = ["feindMarker_1","feindMarker_2","feindMarker_3","feindMarker_4","feindMarker_5","feindMarker_6"];
    4. {
    5. _x setMarkerAlphaLocal 0;
    6. }forEach _feindMarker;

    Dies setzt meine auf der Karte gesetzten Marker in der Mission zunächst unsichtbar.



    Beim Auslösen des "Addaction" Befehl wird auch die PublicVariable auf true gesetzt und damit "wahr" gestellt wird, z.B. über ein Trigger o. weiteres Skript werden dann die Marker sichtbar gesetzt


    Code
    1. _feindMarker = ["feindMarker_1","feindMarker_2","feindMarker_3","feindMarker_4","feindMarker_5","feindMarker_6"];
    2. {
    3. _x setMarkerAlphaLocal 1;
    4. }forEach _feindMarker;


    So können sich die Spieler weiter orientieren je nach Missionsaufgabe.