![]() |
#1 (permalink) |
![]() ![]() ![]() ![]() ![]() Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
|
![]()
Servus Comm,
Ich habe gerade ein Problem mit einer Abfrage. Ich will damit ein Trigger aktiviert wird wenn alle Playableunits der Blufor Seite in dem Trigger sind. Wenn jemand weiß wie der Code aussehen muss dann her damit ![]() gruß hoschi |
![]() |
![]() |
#3 (permalink) |
![]() ![]() ![]() ![]() ![]() Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
|
![]() haaaalt, in dem trigger sind aber auch noch andere westeinheiten, die sollen nicht mit gezaehlt werden! Geändert von Moerderhoschi (22.04.2011 um 19:31 Uhr). |
![]() |
![]() |
#5 (permalink) |
![]() ![]() ![]() ![]() ![]() Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
|
![]()
also ich mach es mal etwas deutlicher, es sind spieler auf der karte unterwegs auf bluefor und auf opfor seite und in dem trigger wo die playableunits der bluefor seite reinsollen sind auch noch bluefor ki einheiten mit drin deswegen kann es mit einem einfachen count thislist nicht gehen!
Es sollen nur die playableunits der bluefor seite gezaehlt werden! |
![]() |
![]() |
#8 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Ich nehme an du willst wissen ob alle Spieler der Seite im Triggerbereich sind.
playableUnits zeigt die spielbaren Plätze an. Die nicht belegten Plätze sind daher beim Spielstart abzuschalten. Auch kann es ein Problem sein, wenn ein Spieler das Spiel verlässt. |
![]() |
![]() |
#12 (permalink) |
![]() Registriert seit: 07.06.2012
Beiträge: 25
|
![]()
Hi !
Wollte keinen extra Thread eröffnen daher stell ich die Frage mal hier. Ich habe so ein ähnliches Problem. Auf meiner Map stehen Ammobox, Teleport Flag und Recruit barracks. Sobald ein Spieler in einen der drei Bereiche läuft soll er einmalig eine Nachricht oben rechts erhalten, wo er da gerade steht. Und zwar nur am Boden. Der Trigger soll nicht ausgelöst werden wenn der Spieler in den Bereich kommt und zB fliegt. Dieser Eintrag von Xeno funktioniert ja schon mal. Muss da nicht noch irgendwo belowHeight oder sowas rein dann ? call {_numwest = 0; {if (side (group _x) == west && isPlayer _x && alive _x) then {_numwest = _numwest + 1}} forEach playableUnits; _westinlist = 0;{if (isPlayer _x && alive _x) then {_westinlist = _westinlist + 1}} forEach thislist;_westinlist == _numwest} Gruss maxx Geändert von maxx2504 (02.01.2013 um 04:49 Uhr). |
![]() |
![]() |
#13 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]() Code:
Auslöser: Achse A und B: 0 Aktivierung : Keiner | Einmal Bedingung : player distance X1 < 10 or player distance X2 < 10 or player distance X3 < 10 Bei Akt. : hint "Deine Meldung" Bei dieser Abfrage ist der Trigger lokal, somit bekommt jeder Spieler einmal diese Meldung. Die 10 Meter gelten auch von oben. Sollte das zu hoch sein, wenn z.B. die Distanz vergrößert wird, dann muss die Bedingung so aussehen: Code:
position player select 2 < 1 and (player distance X1 < 10 or player distance X2 < 10 or player distance X3 < 10) Soll der Spieler zu Fuß in dem Bereich sein dann die Bedingung so: Code:
player == vehicle player and (player distance X1 < 10 or player distance X2 < 10 or player distance X3 < 10) |
![]() |
![]() |
#14 (permalink) |
![]() Registriert seit: 07.06.2012
Beiträge: 25
|
![]()
Hi !
Objekte ? Welche Objekte denn ? Die Spieler sollen in den Bereich des Triggers laufen und die Meldung bekommen. Dann brauch ich doch auch keine Angabe der Meter usw. oder ? Ich benutze auch noch was anderes: Count (thislist unitsBewlowHeight 2) > 0 Damit klappt das Ganze auch. Allerdings lösen auch Nicht-Spieler-Einheiten den Trigger aus. Kann man daraus nix machen irgendwie ? Ich komme einfach mit den Scripts nicht zurecht. Ich hab kA wie ich einen eigene schreibe. Gibts da keine Liste welches Zeichen welche Funktion hat usw ? zB "&&" oder wie man die Klammern setzt. Gruss maxx PS: Ich brauch nochn Script um mir ein campfire zu spawnen. Wenns mal wieder länger dauert am AO ;D Geändert von maxx2504 (02.01.2013 um 20:55 Uhr). |
![]() |
![]() |
#18 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]() Der Triggerbereich wird ja auch in Meter angegeben. Bei distance entspricht es einem Radius um ein ruhendes Objekt oder einer Position auf der Karte. Ein Auslöserbereich ist unendlich hoch, distance kann mit einer Halbkugel verglichen werden. Hier hast du deine drei Objekte, diesen brauchst du nur einen Namen geben: Mit distance ist nur ein Auslöser notwendig. Es kann für jedes Objekt eine anderen Entferung angeführt werden. |
![]() |
![]() |
#19 (permalink) |
![]() Registriert seit: 07.06.2012
Beiträge: 25
|
![]()
Hi !
Ich würde aber gerne drei Trigger verwenden. Jeder Trigger gibt ja auch einen anderen Text wieder. Ööhhh...ja. Im Grunde hab ich immernoch keine Lösung :/ Ausserdem wenn distance eine Halbkugel ist, ist das ja dann eigtl auch falsch. Denn Der Trigger soll maximal in einer Höhe von einem Meter um das Objekt ausgelöst werden. Und die Distance ist ja schon durch den Trigger definiert. Es muss doch ne Befehlskette geben die BelowHeight und Thislist beinhaltet. Dann brauche ich diese nur in den Trigger zu schreiben. Vlt hatte ich mich noch so klar ausgedrückt ![]() Gruss maxx PS: Belowheight hatte ich bei den Triggern für den Jet und Vehicle Service gesehen. Sobald dort ein zB Heli in weniger als 1m Höhe ist und im Bereich des Triggers wird dieser ausgelöst. Das wollte ich so auch auf die Player übertragen. Nur weiss ich halt nicht wie die Zeile heissen muss. Geändert von maxx2504 (02.01.2013 um 23:14 Uhr). |
![]() |
![]() |
#20 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Wenn es verschiedene Meldungen geben soll, dann muss es drei Auslöser geben (man könnte das auch in einem Skript lösen).
Beispiel für einen der Auslöser: Code:
Auslöser: Achse A und B: 0 Aktivierung : Keiner | Einmal Bedingung : position player select 2 < 1 and player distance X1 < 10 Bei Akt. : hint "Meldung zu X1" Soll der Spieler nur zu Fuß auslösen, dann sieht die Bedingung so aus: Code:
player == vehicle player and player distance X1 < 10 |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|