PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tipps gesucht für generierte Kampf-Gruppen



Boïndil
16.05.2012, 20:55
Hallo, Leute,
bin immer noch dabei, mein Spawn-System von Überfall-Gruppen umzusetzen, aber irgendwie klappt das nicht recht.

Es gibt 6 Slots, die wieder mit einer Gruppe aufgefüllt werden, wenn wieder frei wird.

Zuerst wird einer der unsterblichen und unsichtbaren LeaderRefs aus der Null-Zelle geholt und aktiviert. Der hat ein Package Find, das auf den Player verweist.
Anschliessend wird ausgelost, was für eine Gruppe es ist und wo sie startet, z.B. die Tribals bei der Anlegestelle. Die kriegen ein Package zugewiesen, die sie dem Leader folgen lässt und kriegen alle eine gemeinsame Fraktion, die den Player hasst.

Und in der Theorie sollten sie jetzt dem Player suchen. Sobald der Leader innerhalb einer Sicht-Distanz zum Player ist, wird er wieder in der Null-Zelle versorgt und hebt seinen Slot auf, während die Gruppe jetzt den Player angreifen sollte.

Ich habe ja eine interne Funktion eingerichtet, mit der ich zu jeder Gruppe springen kann und es scheint so, wie wenn diese an die Stelle verweisen würde, wo der Leader und die Gruppe gestartet sein sollten. Nur sehe ich leider da nix und auch die Map-Marker erschienen nicht, wo sie sollten.

Und die Slots werden laufend wieder aufgefüllt, wie wenn die da spawnen und sofort wieder erscheinden würden.

Kann es sein, dass man gar nichts per Script in einer Zelle generieren kann, die nicht geladen ist?

Kann das Find-Package (http://geck.bethsoft.com/index.php/Find_Package) überhaupt funktionieren, wenn es auf den Player über die halbe Karte hinweg zeigt?

Hat jemand irgendwelche Tipps oder Erfahrung damit?

Grüsse
Boïndil

Aaaaaimbot
16.05.2012, 21:06
Hmm, ohne die Skripte zu sehen, ist es ein klein wenig schwer, da ne Ferndiagnose zu versuchen... Das Spawnen von NPCs in inaktiven Zellen klappt aber definitiv, in meinem Mod wird das z.B. für "Das Wasser des Lebens" so gelöst: während ich da unten beim Memorial die Rohrleitungen reparier, spawnt eine Ladung Enklavensoldaten auf dem Friedhof von Arlington. Wenn ich dann sehr viel später da hingeh', dann sind die da auch tatsächlich zu finden, also: ja, das muß funktionieren. Irgendwas anderes hakt bei Dir. Überhaupt, das ganze per "Leader-NPC" zu machen und den dann auch noch zu teleportieren/aktivieren/deaktivieren klingt arg wacklig, gelinde gesagt... Möglicherweise feuern die Skripte der "Kampfgruppen" immer noch, während der "Leader-NPC" wieder wegteleportiert wird, sodaß die Kampfgruppen also im selben Moment deaktiviert werden, wo der Leader deaktiviert wird. Wenn ich Du wär, würd ich einfach generell die Kampfgruppen irgendwo spawnen lassen und denen das "Find"-Package zuweisen. Die NPCs dürfen natürlich nicht den Haken bei "No Low Level Processing" anhaben, sonst geht es nicht! Aber das "Find"-Package muß funktionieren, am besten schaust Du mal das Package von Victoria Watts an, die hat nämlich standardmäßig so eins und kann einen auch definitiv überall finden, z.B. auch in entlegenen Gebieten wie Evergreen Mills. Also ob das mit dem Kampfgruppenspawning funktioniert, wenn man die direkt spawnt und dann von ewig weit weg nach dem Spieler suchen läßt, weiß ich zwar nicht, wär aber nen Versuch wert...

Boïndil
17.05.2012, 05:10
Hier die Scripte, eines für die auslösende Quest und das andere haben der Leader und jedes Gruppenmitglied.

Vielleicht muss ich ja auch einfach mal warten. Es macht mich aber stutzig, dass z.B. auch die Map-Marker nicht erschienen, die ich zu Entwicklungszwecken eingerichtet haben und nachgeführt werden sollten, wenn ich das Menu aufrufe. Low Level Processing ist natürlich bei allen akiviert.

Carnatics
17.05.2012, 07:26
mal grob angesetzt

es sind ja spawn punkte... die würde ich mit nem simplen Xmarker setzen und danach mit player.getdistance arbeiten lassen um die entsprechende leveled marker zu aktivieren die dann wiederum die kreaturen ausspucken bzw spawnen

bzw ne andere idee wäre ein "unsichtbares objekt vor dem player zu spawnen das dem player via positions float script folgt"
und den kreaturen (oder halb nackte weiber °° ) ein package geben das follow dem objekt sagt
dazu gibts ein recht praktisches bsp script Hier (http://geck.bethsoft.com/index.php/Useful_Scripts#Ground_area_mark_that_follows_the_c rosshair)

und ansonsten kann ich noch bei steuern das die K.I orientierung in esp's net so richtig funzt daher als esm machen
(warum das so ist kann ich auch nicht sagen aber nuja es hilft komischer weise)

gruss

Boïndil
17.05.2012, 08:01
Als Alternative für dieses System hatte ich an einen Aktivator gedacht, der in Intervallen zum Player wandert und ein Script enthält, das auf die Distanz zum Player reagiert. So kann man einigermassen garantieren, dass sich der Aktivator an einem begehbaren Punkt befindet und dass sich wahrscheinlich die Gruppen hinter dem Player formieren.
Das aktuelle System hat wahrscheinlich den Nachteil, dass es lange geht, bis die Gruppen zum Player kommen, vor allem, wenn der schnell reist.

Galerion
17.05.2012, 15:15
Das Find-Package ist genau für das da, dass würde ich nicht ändern, obwohl man es ja grundsätzlich mit anderen Packages auch machen könnte.

Hast du auch die richtigen Flags beim Package und auch bei den Npc´s gesetzt wie Aimbot schon geschrieben hat? Die Scripte sehen sehr interessant aus, könnten aber auch Fehler anfällig sein.

Boïndil
17.05.2012, 15:17
Habe genau das obige System umgesetzt und wurde bereits von den Sklavenjägern gejagt :-D
Der Rest sind Details und Feinschliff.
War ja eigentlich blödsinnig, die Typen auf der anderen Seite der Map spawnen zu lassen, worauf man nie weiss, ob sie jetzt gestorben sind oder den Tücken der Gamebryo zum Opfer gefallen sind.

Carnatics
18.05.2012, 03:39
das mit dem wandernden aktivator ist bissl problematisch
wenn er mit dem befehl "moveto" gerufen wird kannste davon ausgehen das er nicht richtig geladen wird...ist mir mal so gegangen

workarround

mach nen stationären activator (egal wo) und hau dem ein script drauf das ein zweites object zb Xmarker zum spieler bewegt

so ist der activator mit dem script immer richtig geladen und das laufende script macht keine zicken

und ums tot sicher zu machen
führe die scripte in einer quest aus und erstelle neue global variablen (als kleine vorfahrts garantie)
so kannst du zum bsp das haupt script als quest script ablegen und die einzel stages bei den result scripts rein setzen

vergiss in dem fall aber nicht den hacken bei allow repeatet stages zu machen^^

Boïndil
18.05.2012, 05:23
Mache ich bereits alles per Quest und XMarker, es braucht keinen Aktivator.
Ich bringe den XMarker in sporadischen Abständen zum Player und wenn er sich in einer bestimmten Distanz davon befindet, spawne ich per Quest.

Hier die Scripte, falls es einen interessiert, ist alle ein wenig einfacher geworden, da ich keinen Leader mehr brauche.
Werde am Schluss den Intervall natürlich verlängern, das soll einfach ein zusätzliches Feature sein, nicht dass einem alle fünf Minuten ein Überfall passiert.

Boïndil
20.05.2012, 18:07
Soweit erscheint es mir, wenn jetzt alles läuft, ausser dass jetzt jeder Feind zuerst mit mir quatschen möchte, selbst Blähfliegen und Krallen.

Jeder gespawnte Gegner hat eine spezielle Fraktion, die den Player hasst und der Player hasst alle Mitglieder der Gruppe. Das funktioniert auch, sobald mal alle geredet haben, gehen sie sofort in den Kampf.
An sich haben alle Mitglieder kein einziges Package ausser dem Find-Package und auch das ist extrem abgespeckt. Brauche ich jetzt noch ein weiteres Package für den Angriff?
Nach der GECK-Seite bedeutet Find, dass sie etwas finden müssen und sofern es ein feindlicher Actor ist, angreifen. Wie kann ich die Dialoge abstellen?
Habe es mit einer Condition versucht, die das Package beendet, sofern die Distanz zum Player kleiner als 200 ist. Aber das funzt nicht und das muss doch irgendwie anders gehen.

Aaaaaimbot
21.05.2012, 12:25
Überprüf mal das Package, da gibts glaub ich irgendwo ne Dialogoption, wo man also wählen kann, ob ne Begrüßung kommen soll, und das muß man dann abstellen.

Boïndil
21.05.2012, 13:51
Danke für den Tipp. Hat aber gereicht, Must Complete zu deaktivieren und eine Dialog-Option gibts keine im Find-Package. Wahrscheinlich müsste man ein Dialog-Package zusätzlich auswählen, wenn man etwas bestimmtes möchte.