HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-38/)
-   -   vom Feind verfolgt (https://hx3.de/editing-38/feind-verfolgt-11392/)

SWAT 11.09.2005 17:44

vom Feind verfolgt
 
Ich suche nach einer Möglichkeit im Editor, den Spieler von feindlichen Truppen verfolgen zu lassen, egal wohin dieser sich auch hinbewegt.

Habs mal mit Wegpunkten versucht, aber irgendwie lief das nicht so zufriedenstellend.

Kennt jemand mithilfe von Triggern oder einem Script, dass ich benutzen dürfte, eine Lösung?

MarcusErgalla 13.09.2005 22:41

AW: vom Feind verfolgt
 
_group = GruppeJäger
units _group commandMove getMarkerPos "Gruppe_Opfer"

Jetzt must du halt nur noch einen Marker auf das Opfer festbinden (mit einem Skript am besten) und festlegen wer die GruppeJäger ist!
Es geht natürlich auch so:

_group = GruppeJäger
leader _group domove getpos Opfer

Auch hier gilt, festlegen wer die Jäger sind!

Der Unterschied ist eigentlich nur der, das bei ersten ein Wegpunkt auf dem Opfer erscheint, ist also ganz praktisch wenn du der Jäger ist, das Zweite ist für die KI gedacht, wobei es eigentlich auf das selbe hinausläuft... :zahn:

Clausewitz 14.09.2005 00:59

AW: vom Feind verfolgt
 
Ich empfehle dir mal, das KI-Addon von Sky bei Mapfact anzusehen.

Da kannst du eine Menge sehr nützlicher Scripte abrufen, die das Feindverhalten realistischer gestalten. U.a. schlagen da die Wachen Alarm, verfolgen den Spieler oder rufen Panzer zu Hilfe.

Die Mapfact-Missionen können da recht aufdringlich sein!

ME's Lösung ist die für Gruppen, wenn dir die Schlichtvariante für einen gegnerischen Unhold (Soldat oder Fahrzeug) reicht, dann geht das ganz einfach:

Code:

[Unit1] doMove getPos Player
Damit bewegt sich [Unit1] zu dem Ort, an dem der Spieler zum Zeitpunkt der Auslösung des Scripts befindet.

Wenn der Unhold länger folgen soll, baust du ne Schleife:

Code:

#Start

[Unit1] doMove getPos Player
~5
goto:start

#exit

Damit wird [Unit1] alle fünf Sekunden den Standort des Spielers ermitteln und dahinrennen.

Wenn der Unhold irgendwann mal nicht mehr folgen soll, mußt du halt nen Sprungbefehl einbauen, der zu #exit springt.

SWAT 14.09.2005 02:54

AW: vom Feind verfolgt
 
Wunderbar...

Das hab ich gesucht... kann sogar mit beiden Varianten was anfangen...

Danke! :daumen:

SWAT 14.09.2005 03:21

AW: vom Feind verfolgt
 
Zitat:

Zitat von Clausewitz
Wenn der Unhold länger folgen soll, baust du ne Schleife:

Code:

#Start

[Unit1] doMove getPos Player
~5
goto:start

#exit

Damit wird [Unit1] alle fünf Sekunden den Standort des Spielers ermitteln und dahinrennen.

Wenn der Unhold irgendwann mal nicht mehr folgen soll, mußt du halt nen Sprungbefehl einbauen, der zu #exit springt.

Bezüglich des EXIT-Befehls: Einfach anstatt "goto:start" "goto:exit" einfügen?

*sorry, bin leider erst noch dabei, das scripten zu verstehen :-)*

Clausewitz 14.09.2005 13:00

AW: vom Feind verfolgt
 
Ja, genau.

Aber im Regelfall (Scripting ist auch nicht meine Stärke, ich kann auch nur so Basics) brauchst du bei dieser "Einzellösung" das "exit" gar nicht.
Denn wenn eine einzelne Einheit den Spieler verfolgt, dann wird er diesen ihn verfolgenden Feind irgendwann eliminieren. Und dann folgt er auch nicht mehr.

Aber du könntest z.B. Folgendes schreiben:

(Achtung, habe kleine Schreibfehler beim "goto"-Befehl korrigiert, genau hinschauen)

Code:

#Start

?! alive [Unit1]: goto"exit"
[Unit1] doMove getPos Player
~5

goto"start"

#exit

Damit überprüft das Script vor jeder erneuten Ausführung, ob [Unit1] überhaupt noch lebt.
"?!" steht für "if not" und ist eine Bedingung.
Du kannst auch hier jede andere denkbare Bedingung definieren, meinetwegen per "knowsabout" oder eine Entfernung oder sowas.

Um sich ein bischen einzulesen empfehle ich dir diverse Tutorials, da wird das Ganze nochmal von Anfang an erklärt.

Besonders nützlich und fürs Scripting unentbehrlich ist die offizielle Befehlsreferenz, auch das inoffizielle Teil von Lester ist sehr hilfreich. Findest du auch unter obigem Link.

:)

MarcusErgalla 14.09.2005 15:02

AW: vom Feind verfolgt
 
Code:

#Start

?! alive [Unit1]: goto"exit"
[Unit1] doMove getPos Player
~5

goto"start"

#exit
exit

Am Ende muss noch "exit" stehen, da sonst da Skript nicht beendet wird und man unnötig Hardwareleistung wegschmeißt... ;)

Wenn du Clausewitz´ Skript benutz solltest du aber den Befehl "units _group commandMove getMarkerPos "Gruppe_Opfer"" nicht benutzen, da die Gruppe dann jedesmal wenn der Wegpunkt neu gesetzt wird jedes mal kurz stehen bleibt. (Habs grad getestet)

Clausewitz 14.09.2005 22:12

AW: vom Feind verfolgt
 
Wenn du an einer Lösung für Fortgeschrittene interessiert bist, die auch Aspekte der Performance etc. berücksichtigt, dann schau mal in der "akademischen Abteilung", sprich bei Mapfact, vorbei.

Da gabs gerade einen sehr nützlichen Thread dazu:

Mapfact Forum - Verstärkungen

;)

SWAT 14.09.2005 22:13

AW: vom Feind verfolgt
 
Also, das sind echt mal Infos, mit denen ich richtig gut was anfangen kann...

thx to euch :daumen:


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