HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   For-Each Problem (https://hx3.de/editing-scripting-167/each-problem-22848/)

MagicStyle 22.08.2013 11:20

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)
Bei Aktivierung:
Code:

{ Salut = _x addAction ["Salutieren","salut.sqf"] } forEach thislist;
Bei Deaktivierung:
Code:

{_x RemoveAction Halojump } forEach thislist;
Vom Prinzip her funktioniert es, leider bekommt aber jede Einheit im Auslöser alle paar Sekunden die Aktion erneut (liegt wohl an ceil time...)
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

MagicStyle 24.08.2013 22:23

Weiss es leider noch immer nicht, jemand eine Idee ?

Vienna 25.08.2013 23:49

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

MagicStyle 26.08.2013 09:48

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?

Vienna 26.08.2013 13:08

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.

MagicStyle 26.08.2013 19:19

ich will einfach nur wissen wie es geht, oder ob es überhaupt geht

Vienna 27.08.2013 07:24

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.

MagicStyle 27.08.2013 08:59

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


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119