Problem Wie kann mein NPC schlafen?

E

Ehemaliger Benutzer

Gast
Hallo,

ich arbeite gerade an meinem Plugin.

Ich habe alle wichtigen Infos für das hinzufügen eines NPCs aus einem Tutorial berücksichtigt.

Nachdem ich dem NPC "aaa-Packages" hinzugefügt habe, neben ihm ein Zelt und ein Stuhl steht, um ich ihm Essen (-1) gegeben habe, und ihm beim "sleep"-package ab 22 uhr (für 6 Stunden9 auf das Bett verwiesen habe was neben ihm steht.... passiert GARNICHTS!

Er steht blöd in der Gegen rum. Läuft (im Spiel) alle 20 Sekunden oder so mal hir und mal dort hin (habe pathgrids erstellt, rote), aber mehr passiert nicht.

Tja. Woran kann es liegen, dass er einfach nicht schlafen geht?

Auch essen tut er nicht.

Wie kann ich ihn dazu bringen, dass er sich auch mal auf den Stuhl setzt? Und zwar dann, wenn ich das will? Man kann doch Monat, Tag, Uhrzeit und Dauer (duration) bestimmen. Aber wieso klappt es nicht?

Ich bin mir sicher, dass ich noch irgendwas vergessen habe ein zustellen.... nur was?.... Marker?.... irgendwelche Einstellungen am NPC?


Lieben Gruß
Mathias

Nachtrag:

Und mit dem NPC-Problem kommt gleich ein Weiteres dazu:

Ich habe nicht schlecht geguckt als ich das hier sah. Eben so hier: 9, 8, 4, 2

Zu 9: Ich habe so eine NPC garnicht eingefügt... sie sind da.. und dann... wenn ich wieder raste, sind sie wieder weg. :(
Zu 8: Bei dem kann ich sogar Zerstörungszauber lernen..... aber den habe ich auch nicht eingefügt :(
Zu 4: Der, der hier schläft: Den habe ich eingefügt und heißt "torban". Aber die andren beiden links habe ich nicht eingefügt :(
Zu 2: Da ist eine Wache. Wo die her kommt weiß ich nicht. :(

Wie kann das sein?

Die Frage ist: Wie kommen so viele NPCs in meine Welt? Immer wenn ich über Nacht einige stunden warte (mit der Taste "T") und dann..... dann kommen immer mehr NPCs zu dem Zelt, stehen und gehen herum.... haben alle Namen... aber... so viele habe ich doch garnicht eingefügt!... *lach*.... :(... komisch..... Kann mir wer erklären wie das möglich ist?.... Ich hatte sogar einen Spielstand geladen wo ich noch gar kein NPC eingebaut habe...

Ursprünglich habe ich nur EINEN NPC eingbaut.... aber das... das sind alles unterschiedliche NPCs... Männer, Frauen.... :eek::huh:
 
Zuletzt bearbeitet von einem Moderator:
Zum Schlafen: Welches Package ist ganz oben? Ganz unten muss das Wander-Package stehen, und darüber alle anderen, am Besten in chronologischer Reihenfolge, und ganz oben Packages, die erst bei Missionen aktiviert werden. Das Problem ist, der NPC arbeitet das erste zuerst ab, und wenn das ein unendliches Wander-Package ist, kann der die anderen ja nie bearbeiten.
Zu den Fremden: Klick mal in der Konsole einen von den an, dann erscheint ja oben Name und ID. Im OBMM kannst du mit dem Mauszeiger die FormID anzeigen lassen (die ersten beiden Ziffern/Buchstaben), indem du drüberfährst. Dann findet sich der Schuldige schnell.
 
  • Like
Reaktionen: 1 Person
Hallo Matti,
Wie kann ich ihn dazu bringen, dass er sich auch mal auf den Stuhl setzt? Und zwar dann, wenn ich das will? Man kann doch Monat, Tag, Uhrzeit und Dauer (duration) bestimmen. Aber wieso klappt es nicht?
Ich bin mir sicher, dass ich noch irgendwas vergessen habe ein zustellen.... nur was?.... Marker?.... irgendwelche Einstellungen am NPC?
vielleicht hilft dir das. Damit ein NPC ein Bett zum schlafen benutzt, muss es ihm auch gehören, oder der Faction der er angehört. Wenn du im Render Window einen doppelklick auf das Bett machst, dann kannst du unter "Ownership" den NPC oder die Faction einstellen und unter "Enable Parent" den NPC (wo er sich befindet). Es ist auch zu empfehlen das du "Persistent Reference" anhakst, dann kannst du später im AI Package diese Dinge direkt unter "Select Reference in Render Window" per klick auswählen.

An solchen Einstellungen liegt es oft wenn sowas nicht geht. Solltest du dies alles bereits eingestellt haben, dann weiß ich auch nicht woran es liegen könnte.
mfg.
Aspiria
 
  • Like
Reaktionen: 1 Person
Diesen Volksaufstand mit den vielen NPC hatte ich auch, als ich das erste Mal (völlig unbedarft) mit Packages gearbeitet hatte. Ich nehme an, du hast den selben Fehler gemacht wie ich seinerzeit und ein Package wie z. B. aaaEat12x2 genommen und dann eine spezielle Referenz vergeben, wie z. B. einen bestimmten Stuhl, wo dieses Package ausgeführt werden soll. Dann kommen natürlich alle NPC, die dieses Package auch haben, mittags um 12 zu dir und wollen auf diesem Stuhl ihre Mahlzeit einnehmen :D. Klick mal mit der rechten Maustaste auf das oben genannte Package und gehe auf UseInfo, dann siehst du, welche Menschenmengen du eventuell noch erwarten kannst. Bei mir versammelte sich damals halb Cyrodiil. :lol:
Da hilft nur, ein neues Package mit einer eigenen ID zu erstellen und an deinen NPC zu vergeben.
 
  • Like
Reaktionen: 1 Person
@ all:

Vielen vielen Dank für eure Hilfe. Jeder eurer Beiträge ist verdammt nützlich und sicherlich wird es auch meine Probleme beheben.

- Oh! Der Tipp mit dem "Eigentümer" der Schlafmatratze!... das hatte ich völlig vergessen.

- Auch habe ich die "Wander"-Packages ganz nach OBEN gesetzt. 2. Fehler von mir. (im Tutorial steht nämlich: Ganz nach oben setzen) *kopfschüttel*

Die anderen Tipps sind ebenfalls super. Die Form-ID auszulesen kann bestimmt nützlich sein in Zukunft....

Ehrlich: In meine Tutorial (was ich irgendwo im inet gefunden habe) wird gesagt "du kannst die aaa-packages" ruhig nutzen..... ja klar.. :-D

Das mit den NPCs in meiner Welt ist ehrlich gesagt nen lustiger Effekt. Er amcht nur keinen Spaß auf Dauer. *grins*

Lieben Gruß
Matti :)

PS: Wenn ich mein Problem heute behoben hab sage ich bescheid. :)
 
Das mit dem Tipp das Wanderpackage nach oben zu setzten ist Quatsch. Die Reihgenfolge ist wummpe.

Auch das mit dem Ownership brauchst du nicht.

Du brauchst nur ein Bett, welches niemanden gehört. Also der Owner auf None steht und in der AI ein Package für Sleep und die Urzeit ab wann der schalf losgehen soll und die Dauer wie lange er dauern darf. Deswegen auch immer ein Eigenes erstellen.

Das worauf du umbedingt achten musst. Das die Zeiten exact vergeben werden und sich nicht überschneiden. Luft dazwischen ist egal. Dann macht der NPC da halt nichts.

Wenn du ein bestimmtes Bett dem NPC geben möchtest, dann brauchst du den Owner und eine Bett auf Persident. Dann im Slepp AI Package dieses Bett nur noch dort zuweisen. Ansonsten ist der Weg wie vorher beschrieben.

Kleiner Erfahrungstipp.
Es ist Ratsam den NPC erst in die Nähe des Bettes zu schicken und nicht von einem anderen Ort. Da er dann halb nackt dort hinläuft, weil er sich schon bei Begin des Package schon auszieht, um dann ins Bett zu gehen. :)
Oder du lässt den Haken um sich zu entkleiden einfach weg.
 
Das mit dem Tipp das Wanderpackage nach oben zu setzten ist Quatsch. Die Reihgenfolge ist wummpe.
Ist sie nicht. :roll: Package 1 wird zuerst abgearbeitet, und da Wander-Packages pausenlos laufen, kommt der NPC nie zu den anderen. Wenn der NPC also sieht, dass gerade kein Package ausgeführt werden soll, klappert er sie ab, bis er eins findet, das er ausführen kann, und dass ist das "Tu wenn du nichts zu tun hast"-Wander-Package.
 
  • Like
Reaktionen: 1 Person
Das mit dem Tipp das Wanderpackage nach oben zu setzten ist Quatsch. Die Reihgenfolge ist wummpe.

Auch das mit dem Ownership brauchst du nicht.

Du brauchst nur ein Bett, welches niemanden gehört. Also der Owner auf None steht und in der AI ein Package für Sleep und die Urzeit ab wann der schalf losgehen soll und die Dauer wie lange er dauern darf. Deswegen auch immer ein Eigenes erstellen.

Das worauf du umbedingt achten musst. Das die Zeiten exact vergeben werden und sich nicht überschneiden. Luft dazwischen ist egal. Dann macht der NPC da halt nichts.

Wenn du ein bestimmtes Bett dem NPC geben möchtest, dann brauchst du den Owner und eine Bett auf Persident. Dann im Slepp AI Package dieses Bett nur noch dort zuweisen. Ansonsten ist der Weg wie vorher beschrieben.

Kleiner Erfahrungstipp.
Es ist Ratsam den NPC erst in die Nähe des Bettes zu schicken und nicht von einem anderen Ort. Da er dann halb nackt dort hinläuft, weil er sich schon bei Begin des Package schon auszieht, um dann ins Bett zu gehen. :)
Oder du lässt den Haken um sich zu entkleiden einfach weg.

Vielen Dank für Deinen Tipp! Danke auch an alle anderen die hier Tipps gegeben haben. Ich es es nun auch alles hinbekommen.

- Ich werde (und will auch) für jeden NPC ein eigenes Package machen. Der Name des packages hieß dann z.B. "00NPCTorbanWANDERAnytime_3Stunden". So stehen meine eigenen Packages ganz oben ("00"), und ich habe immer Übersicht und volle Kontrolle über meine NPCs. (sollen ja nicht wie Schäfchen abhauen) :lol:

Ich musste echt lachen wegen Deinem letzten Tipp mit dem Zelt und dem "vorher entkleiden".... Ja... der NPC steht bereits direkt neben meinem Zelt.... :)

http://www.sixgen.com/Oblivion/Problem/NPC10.jpg

http://www.sixgen.com/Oblivion/Problem/NPC11.jpg

http://www.sixgen.com/Oblivion/Problem/NPC12.jpg

Jetzt funktioniert alles. :)
 
Zuletzt bearbeitet von einem Moderator:
Ist sie nicht. :roll: Package 1 wird zuerst abgearbeitet, und da Wander-Packages pausenlos laufen, kommt der NPC nie zu den anderen. Wenn der NPC also sieht, dass gerade kein Package ausgeführt werden soll, klappert er sie ab, bis er eins findet, das er ausführen kann, und dass ist das "Tu wenn du nichts zu tun hast"-Wander-Package.

Sehe ich haar genauso. Zumal man dies einfach ausprobieren kann (Package ganz nach oben, oder ganz nach unten). Von daher ist es richtig was killerkarotte schreibt. Denn nun legt sich mein NPC ins Bettchen und setzt sich auch endlich auf den Stuhl! (wegpunkte nicht vergessen) *lach*

:)

Danke für Eure ganzen Tipps!!