HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   mehrere Gruppen über Trigger abfragen? (https://hx3.de/editing-scripting-187/mehrere-gruppen-ueber-trigger-abfragen-23123/)

Faithnall 11.11.2013 19:39

mehrere Gruppen über Trigger abfragen?
 
Nabend, ich bastel gerade an einer einfachen Mission.

Für eine Aufgabe habe ich mehrere Wachmanschaften als Gruppen auf der Karte erstellt.

Namen:
trupp2
trupp3
trupp4


mittels trigger will ich nun in Erfahrung bringen ob die noch leben.
Dafür habe ich einen Globalen Auslöser gesetzt.
http://www.rat-von-durotan.de/elmer/arma3trigb.jpg

Blau meine bedingung, rot meine erhaltene Fehlermeldung.

Laut den wiki erwartet alive als nächsten Parameter ein Objekt. Dem wiki zu folge also eine Person oder ein Objekt (wie Fahr- oder Flugzeug)

Demnach ist mein versuch über alive den status einer Gruppe zu erfahren zum scheitern verurteilt. Muss ich nun jeden Sodaten in den Wachetrupps benennen und einzeln abfragen?

JanIs 11.11.2013 19:45

In die Bedingung gehört doch kein "?".
Außerdem wird duch deine Bedingung keine Gruppe abgefragt sondern eine Einheit namens trupp2, trupp3 und trupp4.

Mach mal:
Code:

({alive _x} count units trupp2 == 0) && ({alive _x} count units trupp3 == 0) && ({alive _x} count units trupp4 == 0)

Faithnall 11.11.2013 19:54

Ok damit ich das recht verstehe. (will ja nicht einfach kopieren sondern begreifen :)

Code:

({alive _x} count units trupp2 == 0)
{alive _x} wird mit den ergebnis aus count units trupp2 gefüllt und dann mit 0 verglichen. Wenn das ergebnis überein stimmt dann True für trupp2

und mittels && wird sicher dafür gesorgt das bei allen Vergleichsoperationen das selbe ergebnis raus kommen muss um den gesamt = true zu erhalten.

Soweit richtig verstanden?

Danke für die Hilfe

JanIs 11.11.2013 19:58

Ja hast du völlig richtig verstanden.

Das && heisst nichts anderes als dein AND, also ein UND.
|| würde für OR bzw. eben ODER stehen.
Wenn du zum Bleistift möchtest, dass der Trigger auslöst, wenn eine der drei Gruppen hinüber ist dann müsste statt dem AND oder && eben ein OR oder || rein.

Würdest du die Soldaten einzeln abragen, dann könnte die Formel folgendermaßen lauten:
Code:

({alive _x} count [F1,F2,F3,F4,F5,F6] == 0)
Ist also eine vereinfachte Form von
Code:

!alive F1 && !alive F2 && !alive F3 usw. usf.

Faithnall 11.11.2013 20:01

AH ok, viel intressanter als && war für mich aber das _x. Das kannte ich so nun aus anderen Programmiersprachen noch gar nicht (liegt vermutlich aber auch daran, dass ich nicht so sonderlich viele verstehe, von beherrschen ganz zu schweigen).

Ich bedanke mich noch mal, dann kann ich weiter machen, sobald ich es mal schaffe diesen abschnitt der Mission zu testen (sprich überleben... )

JanIs 11.11.2013 20:03

LOL dann vereinfache dir halt das Testen, indem du mit einem "Testtodestrigger" die Feintrupps entsprechend dezimierst :naughty:

Faithnall 11.11.2013 20:28

ÖHM ?!?! *neugierig*

Das geht auch einfacher, als sich durch zu sterben? :D

JanIs 11.11.2013 21:12

Ach komm, sag jetzt bloß nicht dass ich dir da was Neues erzähle?!?

Mach doch einfach einen stinknormalen Trigger über einen Großteil deiner Feindeinheiten.
Wenn du Nato bist dann zum Beispiel:

Auslöser:
Aktivierung: OPFOR - einmal - vorhanden
Bedingung: this
Bei Aktivierung: {_x setDammage 1} forEach thislist
Achse A und B: nach Bedarf

So sind zum Testen alle Osteinheiten außer Gefecht gesetzt.
Alternativ kannst du den Trigger auch per Funkspruch aktivieren.

So kannst du die einzelnen Sequenzen deiner Map durchtesten, ohne jedes Mal mühsam alle Feinde auszuknipsen.

Eine weitere Möglichkeit wäre, dich als Spieler auf "setCaptive true" zu setzten. Dann greifen sie dich nicht an und du kannst sie auch völlig entspannt durchspielen.

Sollte ich dir an dieser Stelle tatsächlich was Neues erzählt haben, so würde ich dir dringend den Editing Guide von "Mr. Murray" ans Herz legen.
Da steht sehr vieles drin und ich denke diese - zwar schon ältere aber zum großen Teil immer noch gültige - Fibel wird dir viele viele Fragen beantworten.

Greetz
Jan

Faithnall 12.11.2013 15:19

So Feierabend.

Ok, auf setDamage hätt ich auch selbst kommen können, bekannt war mir der Befehl schon um z.B. ein Wrack von ein Militärfahrzeug zu erzeugen. Ich schaue mal wie ich mein "I winn" Button genau ausgestalte und werde hier berichten :)


Mr. Murrys hab ich hier. auch andere verschiedene Scriptguides. Sind leider teils sehr trockene Lektüren, wo einen das praktische Beispiel ein wenig fehlt. Da tu ich mich noch etwas schwer mit hinein zu denken, doch das wird wohl noch werden, auch wenn das in meinen alter vielleicht nicht mehr ganz so leicht ist :)

JanIs 12.11.2013 16:09

ROFL, ich glaube aber ehrlich gesagt nicht dass du älter bist als meine Wenigkeit.

Dennoch finde ich, dass gerade die Lektüre von Mr. Murray alles andere als staubtrocken ist. Wenn ich mich an OFP zurück erinnere muss ich gestehen, dass ich sein Erstlingswerk sozusagen "gefressen" habe.

Greetz
Jan

Faithnall 11.02.2014 19:46

Jan Ich muss das alte Teil noch mal raus kramen, hatte eine Weile beruflich bedingt keine Zeit mich weiter damit zu befassen. Nach längerer Abstinenz und noch mal drüber schauen, hab ich das Problem letztlich anders gelöst.

Klar sicher geht es auch mit den Zeilen in den Script. Ich habe statt dessen den Trigger einfach mal richtig konfiguriert:

http://www.rat-von-durotan.de/elmer/triggerr.jpg


Trigger mit zu überwachnde Gruppen Synchonisiert.

Bedingung einstellen wie in Bild und schon klappt es :) Ganz ohne Script Zeilen :)


Dieser Schlater gibt dann das True an den Modul TaskSetState_F. Womit der Teil der Mission als erledigt gilt.

Zum Testen hab ich mir angewöhnt mir selbst einfach mal ein
Code:

this allowDamage false;
zu gestatten ^^

Aktuell arbeite ich an der Atmosphäre. Sehr viele Missionen wirken irgendwie unvollständig, weil die Umgebung zu Steril wirkt. Also sorge ich erst mal für ein kriegerisches Umfeld ein Panzergefecht hier, ein Heli unter AA Beschuss dort ...., damit die Jungs wenn sie die Mission spielen, sich auch wie in Krieg fühlen.

Drunken Officer 14.02.2014 09:17

Zur Atmosphäre, kleiner Tipp. Da kann man viel mit machen.
[C++] BIS_fnc_ambientAnim - Pastebin.com

Irgendwie gibt es auch so ein Gefechtssimulation wo Sound abspielt wird. Hab ich aber noch nicht hinbekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 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