HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Wenn alle Gegner tot=Aufgabe abgeschlossen (https://hx3.de/editing-scripting-187/alle-gegner-tot-aufgabe-abgeschlossen-23360/)

AdamWest 06.02.2014 19:54

Wenn alle Gegner tot=Aufgabe abgeschlossen
 
Hallo,
meine Situation ist:
z.B. Ich und mein Team müssen alle Gegner in der Stadt erledigen. Wenn alle Gegner erledigt sind, soll die Mission abgeschlossen werden.

Mein Problem ist, dass ich es nicht schaffe wenn alle Gegner tot sind, dass dann die Aufgabe fertig ist bzw. Abgeschlossen.
Wenn nur ein Gegner stirbt krieg ich das hin aber nicht bei mehreren.
(Nicht jeder ist in einer Gruppe. Manche stehen einzeln rum)

Bin für jegliche Hilfe dankbar

Drunken Officer 06.02.2014 21:18

Laß uns an deinem Lösungsansatz teilhaben, dann können wir dir auch sagen, wo der Fehler steckt.

Als Anfänger rate ich dir, dies über einen Trigger zu machen.

Lege diesen Trigger über die Stadt und stelle diesen auf "xyz" nicht vorhanden.
xyz = Seite des Gegners.
Bedingung: this
Aktivierung: "end1" call BIS_fnc_endMission;
Mit minimal-/mittel-/Maximalwert kannst du die Auslösezeit verschieben.

Wie geht das mit den Triggern. Guggst du hier Punkt 1.4
Das 300 Seiten-Exemplar runterladen

Ansonsten :
countSide, aber auch da benötigst du einen Bereich.

T-800a 06.02.2014 21:35

Alternativ könntest du auch deinen Trigger mit dem Auslösertyp "Von West bewacht" (Seized by West) machen, dann musst du nicht die Nadel im Heuhaufen suchen damit die Aufgabe erledigt wird. Sondern der Trigger aktiviert wenn besagte Seite die übermacht im Einflussbereich des Triggers hat.

Vienna 07.02.2014 08:56

Die Alternative ist zu empfehlen, weil KI-Soldaten bei starker Übermacht des Gegners fliehen. Sollen sie getötet werden, dann sind sie zu weit weg um sie noch aufzufinden oder bei einem großen Auslöserbereich fliehen sie nicht aus dem Bereich.

AdamWest 07.02.2014 13:02

Vielen Dank aber ich will ja nicht, dass die Mission endet wenn alle tot sind sondern das die Aufgabe abgeschlossen ist.

Vienna: Wie meinst du das mit "getötet werden"? Also die Laufen aus den Bereich raus und sterben dann einfach oder was?

Drunken Officer 07.02.2014 15:19

Nein, er meint, dass bei meinem Beispiel der Trigger auch auslöst, wenn die Leute aus dem Gebiet rennen. Dann sind sie nicht mehr im Trigger bereich aber trotzdem am leben.

Das mit end mission war nur ein Beispiel. Wie die Aufgabe enden lassen kannst, weißt du doch. Zumindest steht das so in deinem Post.

Verhindern kann man das Wegrenen mit diesem Befehl: allowFleeing - Bohemia Interactive Community
zwei Beispiele
Code:

{_x allowFleeing 0} forEach units in thislist;
{if (side _x ==  EAST) then {_x allowFleeing 0}} forEach units in thislist;

Dann wird gekämpft und zwar mit dem Messer zwischen den Zähnen

AdamWest 07.02.2014 15:31

Die Beispiele helfen mir schon ein wenig. "{_x" bedeutet doch das dort die Namen der Einheiten hinkommen oder irre ich mich da?

T-800a 07.02.2014 16:03

_x ist ein Platzhalter für forEach.

forEach führt einen Befehl für jedes Element des Arrays aus mit dem man ihn füttert. Bei dem Beispiel von Drunken "units in thislist" alle Einheiten im Triggerbereich.

vereinfacht könnte das so aussehen wenn [ unit1, unit2, unit3, ... ] das Ergebniss von "units in thislist" wäre:
PHP-Code:

_x allowFleeing 0; } forEach [ unit1unit2unit3, ... ]; 

jetzt wird für jeden Einheit im array einmal die geschweifte Klammer ausgeführt, wobei _x dann für die Einheit steht die gerade an der Reihe ist.

http://community.bistudio.com/wiki/forEach

AdamWest 07.02.2014 16:26

Vielen Dank, dass hat mir nun sehr geholfen :D

Sollte dann nun auch erledigt sein.


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