Gegner sollen Position nicht verlassen
Hallo Leute.
Ein kleines aber dringendes Problem. :cool: Wie kann ich Gegner befehlen sich nicht von ihrer Position zu entfernen, sich aber trotzdem zu verteidigen. Mein Problem ist nähmlich: Ich habe in einem Dorf ein Haus welches mit Gegnern und Geiseln besetzt ist. Hab auch den Befehl "doStop this;" (bei jeder Einheit) verwendet, aber mir scheint sobald ein weiterer Gegner (nicht im Haus) eine Rauchgranate (orange?) geworfen hat, kommen die meisten/alle aus dem Haus und untersuchen den Platz wo die Granate geworfen wurde und kehren nicht mehr zurück. :sauer: Mein Wunsch wäre es wenn sie nur die Position halten/bewachen würden und sich nur um Spieler die zu den Geiseln wollen angreifen. Vielleicht weiß jemand eine Lösung. mfg whatever828 |
Kopiere den folgenden Code in die Initialisierungszeile dieser Einheiten.
Code:
Warten1 = true; Beachte die Variable Warten1. Sie lässt den Code so lange laufen, bis ihr Wert auf false gesetzt wird: Warten1 = false; Das kannst du z.B. mit einem Auslöser tun, wenn Feinde dessen Bereich betreten. Für weitere Soldaten an einem anderen Ort änderst du die Variable auf Warten2 usw. |
Danke erstmal.
Habs gerade ausprobiert und es klappt auch (klappt nicht bei Einheiten auf Dächern). Nur.... jetzt läuft die Einheit in einer Endlosschleife. Meine Vorgehensweise ist folgende. Ich stell mich mit meiner Einheit (egal ob Freund oder Feind) auf ein Haus und spring herunter. Daraufhin geht die Einheit diesem Geräusch nach - was ich aber verhindern will, weil die Einheit soll ja bei den Geiseln bleiben und diesen Bereich nicht verlassen. :motz: Auch der Befehl this disableAI "MOVE"; hat nichts gebracht. Hatt sonst noch wer eine Idee wie ich das in den Griff bekomme? |
Sollte eigentlich so funktionieren. Hast du evtl. noch irgend welche Mods mit am laufen?
KI Mods evtl. :komisch: |
Verringere bei denen am Dach den Zeitintervall von sleep von 1 auf 0.1
Wenn das auch nicht hilft, dann auf 0.01 |
Ok. Hat jetzt geklappt. Hab den Zeitintervall auf 0.01 gestellt.
Ich bin auf noch was gestoßen. Da die Einheiten mit diesem Code immer am Kartenboden spawnen müssen bei Einheiten die in verschiedenen Stockwerken spawnen sollen kleine Änderungen vorgenommen werden. Man muss bei dem Befehl this setPosATL (this modelToWorld[0,0,-6]); die Höhenangabe in einen positiven Wert umwandeln. Hier muss man halt mit der Höhe experimentieren. Beispiel: this setPosATL (this modelToWorld[0,0,+6]); Danke nochmal für die schnelle und ausgezeichnete Hilfe. :daumen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias