For-Each Problem
Hi Community, ich hänge momentan bei einigen Problemen mit der For-Schleife fest und bräuchte eure Hilfe.
Was ich vorhabe Jede Einheit die den Auslöser betritt, soll eine neue Aktion bekommen. Beim verlassen des Auslösers soll die Aktion wieder verschwinden Ich habe es so versucht: Bedingung: Code:
this && (ceil time %2 != 0) Code:
{ Salut = _x addAction ["Salutieren","salut.sqf"] } forEach thislist; Code:
{_x RemoveAction Halojump } forEach thislist; Es entsteht also mit der Zeit eine gewaltige Liste wo sehr oft die selbe Aktion drin vorkommt... Ich weiss es ist ein schwieriges Problem, aber vielleicht weiss ja der ein oder andere die Lösung. Danke im Vorraus für jede Hilfe Gruß MagicStyle |
Weiss es leider noch immer nicht, jemand eine Idee ?
|
Der Auslöser wird im Editor erstellt und soll lokal bei jedem Spieler auslösen:
Aktivierung: Jeder (oder eine Seite) | Mehrfach Bedingung: player in thislist Bei Akt: AktionX = player addaction.... Bei DeAk: player removeAction AktionX |
Das ist schonmal fast das was ich erreichen wollte, thx. Mit dem Code den du gepostet hast bekommt jeder Spieler der den Auslöser betritt diese Aktion, aber ich möchte das auch NPC's vom Auslöser betroffen sind die nicht als "Spielbar" markiert.
Wenn ich z.B. mit einem Wegpunkt einen Zivilisten in den Auslöser laufen lasse, bekommt er die Aktion Nicht. Ich will aber das er sie auch bekommt, da jede Einheit betroffen sein soll. Ist das überhaupt mit wenig Aufwand möglich? |
Was soll eine KI mit diesem Befehl anfangen? Die könnte ja nur ein Spieler anklicken der unmittelbar vor der KI steht.
Da kannst du die Aktion gleich der KI im Editor geben. Du müsstest testen ob es dabei in MP nicht Probleme mit der Lokalität der KI gibt. |
ich will einfach nur wissen wie es geht, oder ob es überhaupt geht
|
Mit einem Auslöser ist das nicht mehr "schaltbar". Dazu benötigst du ein Skript, welches die Einheiten in der Liste des Auslösers in einem Array speichert um zu wissen bei wem die Aktion schon erstellt wurde und das Löschen der Aktion beim Tod oder Verlassen des Auslöserberbeiches durchzuführen.
|
Da hast du wohl recht, ich Danke dir erneut für deine Hilfe :daumen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias