Die Idee ist verdammt gut und würde sogar funktionieren.
Klasse, Lazarus, so kann man die Engine aufs Kreuz legen.![]()
Hallo ihr beiden!
Danke für eure Antworten! OBSE hat viele schöne Funktionen, aber bislang habe ich es meistens geschafft, mit den herkömmlichen auszukommen und möchte eigentlich auch in Zukunft auf OBSE verzichten.
Ich finde es schon ziemlich ärgerlich, dass Bethesda da mal wieder geschlampt hat. Wozu kann man denn Grenzwerte für Container angeben, wenn es überhaupt keine Auswirkung hat? Diese Funktion hat schon im Vorgänger Morrowind geklappt, also kein Grund, das bei Oblivion zu verraffen.
Lazarus Lösung mit dem laufenden Dummy-NPC ist ein netter Trick, finde ich aber unverhältnismäßig aufwändig, zumal man dem NPC ja auch eine gewisse Zeit geben müsste, um den Trigger auszulösen, was den ganzen Mechanismus verzögert.
Die gezielte Itemabfrage ist ebenfalls aufwändig, aber wahrscheinlich dann doch die sauberere Lösung. Man müsste wohl darauf verzichten, alle Items abzufragen und einfach auf das Rollenspiel des Spielers vertrauen, der darauf verzichtet, unpassende Gegenstände in Container zu stecken...
Falls ihr noch weitere Ideen habt, immer her damit. Ich werde, wenn ich wieder daheim bin, wohl mal einen Versuch mit einem Activator starten, der über ein Skript einen kleinen Container simuliert.
Schönen Gruß, Haldor.
Wenn in den Container nur eine Hand voll verschiedene Dinge reindürfen, könntest du das per vielleicht per Messagebox-Menü lösen:
Was spricht eigentlich dagegen, wenn man nur die Items abfragt die in den Container können und alles andere per Script ablehnt? Ich hatte Haldor so verstanden, das er nur ganz bestimmte Items erlauben möchte. Hat ein Item also nicht die richtige ID wird es ganz einfach abgelehnt.
Dazu müsste man jedes Item, das es gibt, im Script auflisten. Bisschen umständlich.
Davon abgesehen könnte man dann immernoch Items reinlegen, die von anderen Mods stammen.
Geht es nicht das man die ID abfragt und wenn es nicht die richtige ist das Item einfach ablehnt?
Leider nein. Man kann nur überprüfen, ob sich ein bestimmtes Item im Container befindet oder nicht.
Hm ... aber bei den Dialogen kann man doch ein Item abfragen. Aber ich sehe schon, das heißt ja noch lange nicht das der PC auch genau dieses Item ablegen wird. Vielleicht mit der Abfrage das sich der Container nur öffnet wenn ein spezielles Item überhaupt im Besitz ist? Und das Item dann bis auf eines automatisch entfernt wird, ansonsten kann der Container ja nicht mehr geöffnet werden. Oder noch besser der PC bekommt dann ein Austausch-Item wenn er den Container einmal aktiviert hat. Aber wie hindert man ihn dann daran andere Sachen abzulegen.![]()
Wie gesagt, man kann nur nach bestimmten Items prüfen, und man kann als Antwort immer nur Ja/Nein erhalten. Fragen, welche Items im Container sind, geht also nicht, du kannst nur fragen, ob Item XYZ drin ist oder nicht. Was bedeuted, dass man wie gesagt sämtliche im Spiel verfügbaren Items in dem Script mit einbeziehen müsste.
Wie nutze ich den Befehl 'GetPCSleepHours' richtig?
Ich habe ihn im MenuMode Block, nachdem der Spieler 5 Stunden geschlafen hat, soll etwas passieren, aber es passiert immer schon in dem Moment, in dem man auf 'Rasten' klickt.
Ich habe es so gemacht:
Hm, "GetPCSleepHours" gibt die Anzahl der Stunden aus, die der Spieler im Menü zum Schlafen gewählt hat, also nicht, wieviele Stunden der PC tatsächlich geschlafen hat. Darum passiert bei Dir wohl schon zu Beginn des Schlafens etwas.
Vielleicht, indem man die Bedingung mit "if IsPCSleeping" verknüpft?
EDIT:
Vielleicht mal so probieren:
if GetPCSleepHours >= 5 && IsPCSleeping > 0
Geändert von GreyWolf (05.08.2007 um 19:16 Uhr)
Funktioniert nicht, ich werde das anders lösen:
Das muss dann eigentlich auch funktionieren...btw, ist der letzte komplexere Script, den ich machen muss.
edit: funktioniert.![]()
Geändert von Lazarus (05.08.2007 um 20:22 Uhr)