Einzelnen Beitrag anzeigen
Alt 28.01.2014, 11:26   #7 (permalink)
Vienna
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Zitat von Drunken Officer Beitrag anzeigen

Auslöser mit entdeckt durch blau tut es nicht?

Geht auch mit einem solchen Auslöser. Das Problem vom Auslesen des/der Entdeckten bleibt trotzdem.

Zitat von derHeer

Hallo Vienna,
Erstmal vielen Dank für deine schnelle Hilfe! Leider
werde ich aus dem Script irgendwie nicht schlau. Ich schildere dir mal mein Ziel welches ich durch diesen Script erreichen will.

Es sollen 3 Einheiten an einem Lagerfeuer sitzen. Das habe ich bereits gemeistert.
Doch wenn ich als feindliche Einheit mich ihnen nähere ignorieren sie mich meistens.
Also habe ich folgenden Script genutzt in die Bedingungsteile beim Auslöser hineingeschrieben:

soldier_1 knowsAbout chef > 1

Dann bei der Aktion:

soldier switchMove "AmovPsitMstpSrasWrflDnon_AmovPercMstpSlowWrflDnon "

Das klappt auch alles.

Doch ich möchte die Mission Multiplayer tauglich machen und habe keine Lust für jeden menschlichen Spieler einen Trigger zu erstellen.

Die OPFOR-Soldaten müssen sich im Auslöserbereich befinden.
Im Array _liste sind nicht unbedingt alle Soldaten enthalten welche z.B. für einen Spieler sichtbar sind.
Fürs Testen wird der Inhalt des _liste Arrays beim Auslösen angezeigt.
Der Befehl switchMove wird bei allen Soldaten durchgeführt, welche im Array aufscheinen.

Auslöser mit Namen trigger1
Code:
Achse A und B: 100
Aktivierung  : OPFOR | einfach | von BLUFOR entdeckt 
Bedingung    : this
Name         : trigger1
Bei Akt.     : folgenden Code reinkopieren

temp = 0 spawn
 {
  _liste = list trigger1;
  player groupChat "Inhalt Array _liste: " + str _liste;
  for "_i" from 0 to count _liste -1 do
   {
    _liste select _i switchMove "AmovPsitMstpSrasWrflDnon_AmovPercMstpSlowWrflDnon"
   } 
 };
Es handelt sich um einen Auslöser für Arma2. Wird vermutlich auch in Arma3 so sein.


Edit: Es geht in diesem Fall auch ohne dem "spawn" Skript mit forEach! Einfach nur mit dieser Zeile in Bei Akt:

{_x switchMove "AmovPsitMstpSrasWrflDnon_AmovPercMstpSlowWrflDnon "} forEach thislist;

Hier benötigt der Trigger keinen Namen, sondern das Array wird mit thislist angesprochen.

Mit dem Skript ist aber der Ablauf besser verständlich und es sind z.B. auch Pausen mit sleep möglich, was bei forEach nicht geht.

Geändert von Vienna (28.01.2014 um 11:57 Uhr).
Vienna ist offline