PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Respawn von leveled Creatures



Lazarus
28.04.2006, 17:42
Nehmen wir mal an, ich hab in einer Liste eine bestimmte Kreatur, beispielsweise die 'Monströse Schlammkrabbe' in einer Schlammkrabben-Liste. Ich will, dass diese Kreatur nur ein einziges mal im Spiel auftaucht, also dass sie nie mehr gespawnt wird nachdem man sie ein mal getötet hat. Muss da bei den Kreaturen-Eigenschaften ein Haken in 'Respawn' drin sein oder nicht? Ich frage das weil ich meine, schon mehrere Kreaturen im Spiel mehrmals getroffen zu haben, bei denen manchmal Respawn aktiviert war und manchmal nicht. Ich will auf jeden Fall sichergehen dass dieses bestimmte Monster auch wirklich nur ein man gespawnt wird.

Katan
28.04.2006, 18:18
Okay, bei diesem Post besteht die Möglichkeit, dass ich nicht im Entferntesten verstanden habe, was du wissen willst.

Du weißt aber schon, was Leveled Lists (in Sachen Kreaturen) sind und wie sie funktionieren? Also, hole ich für den Fall der Fälle mal etwas weiter aus. Leveled Lists sind Gegner-, Zauber und Objekt-Listen. Und sie sind dazu da, Gegner (Zauber oder Objekte) zu generieren. Aber bleiben wir mal bei den Gegner-Listen. Diese Gegner werden immer generiert, wenn der Spieler eine Zelle betritt, in der eine oder mehr Leveled Lists zum Einsatz kommen. Stell' dir einfach mal vor, eine Liste würde einfach so aufhören, Gegner zu generieren. Dann ist die Welt irgendwann leer. Nicht unbedingt Sinn der Sache, nicht wahr? Neben den "normalen" Leveled Lists gibt es... sagen wir einfach mal Chancen-Listen, sind auch Leveled Lists, unterscheiden sich aber sowohl in der ID als auch in der Gegner-Generierung von den "normalen" Leveled Lists. Am Ende der ID einer Chancen-Liste steht eine Zahl - diese steht für die Wahrscheinlichkeit in Prozent, dass ein Gegner generiert wird, wenn der Spieler eine Zelle betritt, in der sie zum Einsatz kommt. Wenn eine Leveled List einen Gegner generiert hat (der Spieler die Zelle also betreten hat), wird sie es erst wieder tun, wenn die Zelle nach drei Spieltagen wieder zurückgesetzt wird.

Der Charakter-Level legt fest, welche Kreatur von der Liste generiert wird. Mal folgende Liste als Beispiel: Bis Level 5 soll eine Ratte generiert werden, von 5 bis 10 ein Goblin und ab Level 10 ein Feueratronach. Du - Level 4 - betrittst einen Dungeon und plättest die Ratte. Nach drei Spieltagen wird die Zelle also zurückgesetzt; du - Level 7 - gehst wieder hin und tötest den Goblin. Nach drei Spieltagen wird die Zelle zurückgesetzt; du - Level 11 - gehst wieder hin und tötest den Feueratronach. Von da an wird nach drei vergangenen Spieltagen immer ein Feueratronach von der Liste generiert. Solltest du nach drei Spieltagen immer noch Level 4 sein und die Zelle betreten, wird allerdings wieder eine Ratte generiert. Solange, bis du mindestens Level 5 erreicht hast.

Das alles hat also rein gar nichts mit Respawn zu tun. ;)

Wenn du eine Kreatur willst, die nie wieder respawnt, wirst du keine Leveled List benutzen können. Dann erstellst du einfach eine Kreatur unter Actors und platzierst sie dort, wo du sie haben willst. In ihren Eigenschaften Haken bei Respawn entfernen, fertig. Einmal getötet, ist die Kreatur auch tot.

Lazarus
28.04.2006, 18:57
Ach, das ist jetzt dumm. Ich hatte soetwas vor: in einer (zB) Goblin-Liste setze ich einen Boss-Goblin rein, der dann anstatt eines normalen Goblins spawnen kann und nie wieder auftaucht nachdem man ihn einmal getötet hat.
Kann man das nicht irgendwie hinbekommen? Vielleicht per Script? Kann man über einen Script überhaupt auf eine der Listen(äh, ja ich weiß was die Leveled-Listen sind, blicke da auch durch) zugreifen? Wenn ja, welchen Befehl bräuchte man um eine Liste entweder zu deaktivieren(meinetwegen auch löschen)?

Der Respawn-Haken hat also nur Einfluss auf direkt in eine Cell gesetzte Kreaturen?

Katan
29.04.2006, 13:52
Jo, Respawn wirkt sich nicht auf von Leveled Lists generierte Kreaturen aus.

Ich muss aber ehrlich gestehen, dass ich nicht ganz dahinter steige, worauf du hinaus willst bzw. warum du so unbedingt eine Leveled List zum Einsatz bringen möchtest. Okay, ich fasse mal zusammen:

Du willst, dass eine Leveled List beim Betreten der Zelle diesen einen bestimmten Boss-Gegner generiert, der anschließend nie wieder kommt. Liste kann auch gerne gelöscht werden. Ist das so richtig?

Wenn ja: Warum willst du das so machen? Warum erstellst du nicht schlicht 'ne Kreatur, klickst den Haken bei Respawn weg und dann hat sich die Sache? Warum eine Leveled List, die anschließend eh nutzlos wäre und was denselben Effekt hätte, wie eine Kreatur zu erstellen, die anschließend nicht respawnt?

Der Milch
29.04.2006, 19:40
Also ich glaube er möchte, dass der Bossgegener (bzw. verschiedene Bossgegner) zufällig spawnen; wenn man die Kreator direkt in die Zelle setzt ist es ja nicht mehr zufällig, sondern Vorherbestimmt das sie dort erscheint.

Escalbryt
29.04.2006, 20:30
meine vermutung ist, dass er nen leveled boss machen möchte

Onkel Tod
29.04.2006, 22:33
Er will, wie Milch schon so halb gesagt hat, dass eine Kreatur mit einer X%-Chance gespawnt wird und dass nur ein einziges mal, also dass, wenn die Kreatur gespawnt wurde, nicht mehr gespawnt wird.

Lazarus
30.04.2006, 18:31
Also ich glaube er möchte, dass der Bossgegener (bzw. verschiedene Bossgegner) zufällig spawnen; wenn man die Kreator direkt in die Zelle setzt ist es ja nicht mehr zufällig, sondern Vorherbestimmt das sie dort erscheint.

Genau. Sagen wir mal, ich möchte einen D2-Mod machen(was sogar in die richtige Richtung geht). Da gibt es jetzt also diese LL-Creatures-Liste, die Zombies generiert. Ich habe mir jetzt den Zombie 'Gerhardt' erstellt, und möchte, dass Gerhardt in einer Chance von (zB) 10% anstatt eines normalen Zombies gespawnt wird. Da wir aber eben in TES sind und nicht in D2, wäre es doch ziemlich unschön wenn man den lieben Gerhardt drei Tage später wieder zu Gesicht bekommt, als hätte man ihn nie getötet.

Ich bin gerade am Überlegen, ob man das Ganze nicht per Script regeln könnte...so spontan fällt mir das hier ein:

scn Gerhardt
begin GameMode
short GerhardtAlive
if GerhardtAlive == 1
Gerhardt.moveTo 'ganzweitweg'
endif
end
begin onDeath
short GerhardtAlive + 1
end

Dieser Script würde den lieben Gerhardt sofort in einem von mir vohrer bestimmten Raum verfrachten, sobald er gespawnt werden würde nachdem man ihn schon einmal getötet hat. Ist zwar keine 100% Lösung aber besser als wenn einem jeder Bossgegner 10x oder öfters über den Weg läuft. Oder schlurft, wie in Gerhardts Fall.

Noch ne Frage: Wenn ich jetzt eine Liste habe, in der sich nur Gerhardt befindet, der mit einer Wahrscheinlichkeit von 10% spawnt, und diese Liste dann in eine andere Liste mit 4 anderen Monstern setze, wie wird das dann geregelt:
a) 20% Wahrscheinlichkeit dass Gerhardts Liste gewählt wird, falls das geschieht, 90% Chance dass Gerhardt nicht gespawnt wird?
Oder
b)wird die 10%-Spawn-Chance von gerhardt direkt in der anderen Liste mit den vier anderen Monstern verrechnet, sodass Gerhardts Liste zwar recht selten aufgerufen wird, gerhardt dann aber auch wirklich 100%ig gespawnt wird wenn seine Liste ausgewählt wird?