Vielleicht gibt es ein Problem mit Zaubern auf Ziel? Kannst du nicht irgendwie ein Ziel für den Zauber angeben und sehen, ob es dann funktioniert?
edit: Rung war schneller! :D
Druckbare Version
Vielleicht gibt es ein Problem mit Zaubern auf Ziel? Kannst du nicht irgendwie ein Ziel für den Zauber angeben und sehen, ob es dann funktioniert?
edit: Rung war schneller! :D
Es ließe sich, (ich glaube Rung hat etwas in der Art gemeint) machen, indem du einen Actor (vorzugsweise unsichtbar ;) ) auf den Player setzt der dann auf das Ziel den Zauber spricht. Es ließe sich zwar denke ich auch hinkriegen, dass der Spieler die Animation abspielt, aber es würde nicht perfekt aussehen und imho sehr nahe an der Schmerzgrenze liegen.
Wenn alle, die Du damit treffen willst, Untote sind, kannst Du die Factions und eine TriggerZone nutzen. Auf Knopfdruck setzt Du die Variable TriggerZoneOfFireThingieRef.Start auf '1' und alle Viecher, die sich Untote schimpfen und innerhalb der TriggerZone sind, werden getroffen (theoretisch -> noch nie probiert)
PHP-Code:
Scriptname TriggerZoneOfFireThingie
short Start
ref target
Begin OnTrigger
if ( Start == 1 )
set target to GetActionRef
if ( target.GetInFaction Undead == 1 )
set Start to 0
Aktivator.cast Zauberxyz target
endif
endif
End
Ich fürchte, is nur ne Vermutung weil der Block dann nur einmal durchläuft und es demnach "target" auch nur einmal gesetzt wird. Aber bitte, überrascht mich (Genau sowas brauche ich nämlich auch und wenns jetzt klappt, erspart mir das viel Zeit. :D
Soll grundsätzlich mit allen Gegnern/NPCs funktionieren.
Übrigens kein Activator, sondern ein Marker, habe mich vertan.
Das ist jetzt allerdings etwas seltsam...ich habe jetzt zwei Marker. Marker A wird zum Target teleportiert und Marker B zum Spieler. Marker A castet den Feuerball mit Flächenwirkung auf Target, Marker B castet 100%ige Feuerresistenz über zwei Sekunden auf den Spieler. All das gleichzeitig. Target steht dabei immer ein Stück vom Player entfernt, sodass die Feuerresistenz diesen logischerweise früher oder zumindest gleichzeitig erriechen müsste als die Flächenwirkung vom Feuerball. Dem ist aber nicht so, der Player bekommt trotzdem den ganzen Schaden ab. :confused:
In der Diskussion gab es mal einen interessanten Thread zu den Verhältnissen von Resistenzen. Ich selbst weiß nicht mehr genau, wie die reagierten, aber Resis funktionieren in Oblivion nicht so, wie man das vielleicht vermuten könnte. 100% sind nicht gleich 100%.
Danke Kenet, sowas hatte ich schon vermutet, aber im Wiki auf die Schnelle nichts gefunden und wie gesagt, selbst probiert, hab ich das auch noch nicht.
Ist der Marker ein Static? Dann kann es nähmlich nicht funktionieren. Hatte ich auch schonmal. Statics scheint Oblivion nichts Casten zu lassen. Momentmal, ich lese es grad nochmal...heißt das, es funktioniert prinzipiell schon? :eek:
Dann lag der Fehler damals wohl doch woanders.
Ha, jetzt hab' ichs hingekriegt. Habe den Scipt etwas verändert, sodass Marker A nun 50 Einheiten über Marker B steht und somit einen Sekundenbruchteil später trifft als der Resistenz-Spruch. Das funktioniert prima. :)
...kommen wir gleich zur nächten Frage. Ich habe eine gescriptete Verzauberung auf einer Waffe. Und will in diesem Script bei einem Treffer auslesen können, wer die Waffe trägt bzw. wer damit zugeschlagen hat. Wie mache ich das?
@kenet_korva: alle Persistent References können casten, auch Statics.
:eek: Dazu sag ich gar nichts ... Oblivion ... :rolleyes:Zitat:
Ha, jetzt hab' ichs hingekriegt. Habe den Scipt etwas verändert, sodass Marker A nun 50 Einheiten über Marker B steht und somit einen Sekundenbruchteil später trifft als der Resistenz-Spruch. Das funktioniert prima
Wer die Waffe hat? Das kann man theoretisch nicht feststellen, aber wenn die Waffe vorher aktiviert wird, geht es schon. Was willst Du denn über den Träger der Waffe wissen?
Das frage ich mich auch gerade. Mein Kurzzeitgedächtnis hat in letzter Zeit ganz schön nachgelassen...vielleicht fällt es mir ja wieder ein...http://www.multimediaxis.de/images/s.../1/gruebel.gif
Das ist hier zwar seit einigen Seiten für mich nur Fachchinesisch, aber ich habe noch etwas nachzureichen zu der allerersten Frage in diesem Thread, bezüglich den Grenzen.
Ich habe nämlich gerade das selbe Problem, um genau zu seinen habe ich eine Burg auf einem Bergrücken gebaut, die jetzt leider halb außerhalb der begehbaren Karte liegt. Ich habe dann in einem anderen Forum gefragt und mir hat jemand geantwortet, dass ich "einfach" die Collisionsboxen löschen und neue platzieren sollte, wie ich das genau machen soll (dass ich sie wenigstens sehen kann) weis ich bis heute nicht. Existieren diese Collisionsboxen eigentlich und wenn ja, wie werden sie sichtbar?
Grüße, der Kaiser. ^_^
Keine Kollisionsboxen, es sind nur Grenzen, die im Region Editor verschoben werden können. Siehe diesen Post.
Hatte das bei dir jetzt noch "Nebenwirkungen"? Ansonsten werde ich das auch einfach machen. Mein Mod muss jetzt nämlich einmal fertig werden, da ich ihn für jemand bastle, nicht dass am Ende vier liebevoll eingrichtete Interiors futsch sind. :D
Hatte es. Dadurch wurden eine Menge Cells verändert, die weitab der eigentlichen Stelle lagen. Aber diese Änderungen kann man ja rauslöschen.
Nein. Die Grenze wird meines Wissens nach nämlich separat gespeichert und nicht direkt in den Cells.
Bei mir waren übrigens ca 60% aller Cells verändert nachdem ich die Grenze inerhalb ca 20 Cells verändert hatte...;)
Widerspricht sich das dann nicht mit der ersten Aussage? Dann wäre eine Cell-Veränderung doch garnicht ausschlaggebend für die Grenze. Oder war das bloß mißverständlich formuliert.
Ich will hier nur versuchen zu verstehen warum und wie was im CS funktioniert. Aber wenn du meinst das gehört hier nicht in deinen Thread höre ich auch sofort auf damit. ;)
Letzteres ist der Fall. Ich wollte sagen, dass sich die Grenzenveränderung ungefähr über 20 Cells zog, aber hunderte Cells im ganzen Worldspaßce verändert wurden. Nachdem sämtliche Celländerungen(auch die besagter 20 Cells) rausgestrichen waren, blieb die Grenzenveränderung aber bestehen.
Ah, danke für die Info!
Das bedeutet das Cells zwar als verändert markiert sind aber eigentlich garnichts mit der Grenze zu tun haben. Ich hatte bis jetzt immer etwas Angst mich mal an dieser Grenze zu versuchen, aber das klingt doch gut. Haben die Grenzen dann einen bestimmten Eintrag unter Type oder Ref? Wahrscheinlich irgendwas mit "Border", oder?
Entschuldigt, aber die Frage muss jetzt sein, ich bin nämlich noch blutiger Anfänger, was CS betrifft. Dieses Löschen der Veränderungen der Cells geschieht im Ladebildschirm unter "Details", oder? Ich habe ja nur vor in einer einzigen Cell geradeeinmal die Hälfte um wenige Einheiten zu verschieben, nicht annähernd so viele wie Lazarus.
Yep, unter Details! Allerdings darf das PI dazu noch nicht auf "Active" gesetzt sein. Also CS öffnen, PI markieren, Details-Button drücken, markieren, Änderungen vornehmen (um eine Änderung zu löschen die ENTF-Taste benutzen, dann wird ein I wie Ignore gesetzt), Details schließen, PI als Active setzen, laden und zum Schluß das PI einfach speichern. Gegebenenfalls danach nochmal kontrollieren, ob die Änderungen gelöscht wurden. Mit neugestartetem CS, sollte aber auch gleich zu sehen sein! ;)
Danke! Ich hätte ganz bestimmt erst einmal den PI active gesetzt. Gut, dass ich doch noch nachgefragt habe. http://www.multimediaxis.de/images/s.../old/sm_12.gif
Edit: Das ist ja Sklavenarbeit, ich glaube, dass alle Exteriorcells geändert wurden und ich muss jede einzeln löschen. Wer die Genze verschieben will sollte viel Zeit haben!
Ich habe da ein Gebiet in einem neuen Worldspace. Dort soll es immer Nacht sein, mit einem klaren Himmel und Sternen. Soweit so gut, Nacht habe ich immer, aber die Sterne erscheinen oft erst nach einer Weile, bis dahin ist der Himmel komplett schwarz. Manchmal sind die Sterne auch anfangs sichtbar und verschwinden nach ein paar Sekunden, nur um etwas später langsam wieder aufzutauchen...an was könnte das liegen?
Wurde hier ein Post von mir gelöscht oder ist er garnicht erst aufgetaucht? Ich habe nämlich gestern Abend noch etwas in diesen Thread geschrieben, seltsam.
Edit: Das hat sich dann (zumindest in diesem Thema) erledigt.
Das wurde rausgetrennt und als eigener Thread eröffnet.....Hier geht nichts verloren.:D
Da gehts lang......
Gruss Mücke
Entschuldigt das ich hier so einfach reinposte, aber ich hab nur ne kleine Frage, die keinen eigenen Thread wert ist. (hoffe ich) :p
Kann mir jemand sagen wie es anstelle das NPC's ihre Kleider wechseln? In etwa so wie Martin bei der Hauptquest, da zieht er sich ja auch ein paarmal um. ^^
Ich hab mir zwar sein Script angeschaut, bin aber nicht wirklich schlau draus geworden.
Hallo,
wenn der NPC neue Kleidung tragen soll, musst Du sie seinem Inventar hinzufügen. Das geht mit dem Befehl AddItem ( [ActorID|ContainerID.]AddItem ObjectID, Count )
Weiterhin ist wichtig zu wissen, dass der NPC immer das teuerste Kleidungsstück anzieht und die beste Rüstung (je nachdem welche Rüstungsart er bevorzugt [leicht/schwer]) ausrüstet.
Code:scriptname xyz
ref mySelf
begin onWasauchimmer
set mySelf to getSelf
mySelf.additem IDDerKleidung 1
mySelf.equipitem IDDerKleidung
end
Vielen Dank ich werds mal versuchen! ;)
Vielleicht noch ne kleine Frage, wie kann ich es anstellen das ein NPC während des Spiels seinen Namen ändert? So wie bei Martin, der heißt ja zunächst auch Bruder Martin, später dann nur Martin und am Ende Martin Septim.
@Lazarus
Noch mal Sorry das ich deinen Thread dafür missbrauche. :D
Die Funktion dafür heißt SetActorFullName.
Das ging ja schnell, vielen Dank! :p
Gibt es das CS Wiki auch auf deutsch? Vermute nicht, oder?
Das hier ist ein Projekt, das die Übersetzung des Wikis versucht. Ist allerdings nicht vollständig.:\
@Rung
Das sieht doch schon mal sehr gut aus, vielen, vielen Dank! ;)
@Lazarus
Der Thread gehört nun wieder ganz dir. :p
Ich habe drei Activatoren(bzw einen Activator drei mal in die Zelle gesetzt), die alle mit dem selben Script laufen sollen. Nur sollte der Script merken, welcher der drei Activatoren nun aktiviert wurde. Ich habe das jetzt so gemacht:
...nur bekomme ich jetzt die Meldung, ActivatorA könne nicht in einem Script benutzt werden. Wie könnte man das sonst noch regeln, außer drei verschiedene Scripts zu nutzen?Code:scn xyz
ref activator
begin onActivate
set activator to getSelf
if activator == ActivatorA
................
.............
...............
endif
end
Du kannst in dem Script ganz einfach eine Variable setzen. Z.B.: WurdeAktiviert. Die setzt Du auf Eins, sobald der Spieler diesen Aktiviert. Dann fragst Du die Variable über die Referencen ab.
Zitat:
scn xyz
short WurdeAktiviert
begin onActivate
set WurdeAktiviert to 1
if ActivatorA.WurdeAktiviert == 1
................
.............
...............
endif
end
Wenn ich das so mache, bekomme ich die Meldung 'Unknown function or variable'. Aber auch erst dann wenn der Activator davorsteht...
edit: seltsam, auf einmal funktioniert es.
Wenn ich einen Marker per MoveTo-Befehl irgendwo platziere und ihn anschließend einen Zauber casten lasse, dann werden diese Zauber immer nach Norden gebrettert anstatt auf das im Script vorgesehene Ziel. Woran könnte das liegen?
Bei mir war es so, dass das immer geschah, wenn das Ziel sich nicht in Sichtweite befand oder irgendetwas die Sicht versperrte.
Das ist allerdings nicht der Fall...als ich zu den frühen Anfangszeiten von OWC den Rakanischu-Script gebastelt habe, habe ich um ihn herum vier Marker per MoveTo verteilt, in deren Richtung dann je ein Blitz verschossen werden sollte. Diese vier Blitze gingen aber auch immer nach Norden.
In diesem Fall muss ich eben improvisieren und einen festen Marker ohne MoveTo nehmen...was mich allerdings stutzig macht: ich habe schon mehrere Scripts, die einen Marker bei einem Gegner per MoveTo platzieren, und dieser Marker verschießt einen Zauber auf einen gewünschten Gegner, so wie ich es haben will...könnte sein dass das nur mit Actors funktioniert, das muss ich mal ausprobieren.
edit: tatsächlich, wenn ich anstelle des Statics den player nehme, funktioniert es. Mal schauen wie es mit Activatoren aussieht.
edit2: ha, mit Activatoren funktioniert es auch. ^_^
-------------------------------------------------------
Gibt es eigentlich eine Möglichkeit, entladene magische Gegenstände per Script wieder aufzuladen?
Nur über den Varlastein. Allerdings hat das den unangenehmen Nebeneffekt, dass alle anderen Gegenstände auch wieder aufgeladen werden.
Du kannst den Varlastein hinzufügen und equippen, ansonsten ist es nur per OBSE möglich, die Verzauberungen zu beeinflussen. Ob der aber überhaupt eine Funktion hat, die wieder aufladen kann, kann ich Dir nicht mal sagen.
Es sollten auch alle Items aufgeladen werden, das ist schon gut so.
Nur hätte ich mit der Varla-Stein-Lösung dieses unschöne 'Varla-Stein wurde dem inventar des Spielers hinzugefügt'...kann man diese Nachricht nicht unterbinden?
Ja, das geht, indem Du eine leere Message hinterher-/davor-?-blendest.
PHP-Code:
Message " ", 5
AddItem VarlaStone 1
EquipItem VarlaStone
Message " ", 5
Ah, danke sehr. :)
Und noch eine Frage: wie funktioniert dieses 'Gegenstand ins Inventar des Companions legen'? Lässt sich dessen Inventar vielleicht irgendwie wie ein Container öffnen?
Hm,
Du musst den NPC vorübergehend 'lahm legen'. Mit SetUnconscious. Wie es genau funktioniert, kann ich Dir auch nicht sagen. Ich bilde mir zwar ein, dass es mal ein Tut beim Wiki gab, aber das scheint bei den neuerlichen Ausfällen verschütt gegangen zu sein.:\
Ich würde Dir empfehlen, eine Begleiter-Mod herunterzuladen und die Scripte dort abzuschauen.
Tyra
Toaster Says Share (Talkie ist, glaube ich, der Erfinder dieser Methode)
Danke, ich seh's mir mal an.
Neue Frage: Wie kann ich den gesamten Inhalt eines Containers entfernen?
edit/ thx, kenet!
Reference des Containers.RemoveallItems
Interessant auch die Variante
QuellContainerReferenz.RemoveAllItems ZiellContainerReferenz
http://cs.elderscrolls.com/constwiki...RemoveAllItems
Damit läßt sich z.B. das komplette Inventar eines Companions in eine Kiste transferieren und zurück. Wenn du die Kiste per Skript aktivierst, kannst du über diesen Umweg sehr schön das Inventar eines Kollegen manipulieren.
Ich benutze einen witzigen Spell, der so arbeitet. (Jedenfalls sind die entsprechenden Personen immer für nen Sekundenbruchteil nackt.) TES-Source hat grad die Suche abgeschaltet, ich häng das Ding mal an.
Dass sich damit das Inventar transferieren lässt weiß ich, gerade getestet.^^
So wollte ich das auch mit dem Companion machen, schön dass das mit dem Container per Script aktivieren funktioniert, habe damit gerechnet dass es das nicht tut.
Habe aber gerade Probleme mit meinem Companion. Ich habe ihm ein kleines Messagebox-Menü gebastelt, in dem sich bis jetzt 'folge mir' und 'warte' befinden. Dummerweise folgt er auch dann wenn man auf warten drückt, mit dem Package müsste eigentlich alles stimmen. Habe für Warten StayAtCurrentLocation(bzw eine Kopie davon) und als Bedingung eine Variable im Companion-Script genommen.
Edit: es funktioniert jetzt zwar, aber der Companion reagiert erst ca 15 Sekunden nach dem Befehl darauf. Ist das normal?
Ja, da die KI nur periodisch checkt, was ein NPC gerade machen soll. Alles andere würde jede aktuelle CPU killen. Lösung für dich: Erzwing per EVP, daß der Companion seine Packages neu auswertet.
Danke, funktioniert.
Neues Problem: Nachdem ich dem Companion Items aus dem bzw ins Inventar gelegt habe, steht er ohne Waffe da und gedenkt auch im Kampf nicht, eine zu anzulegen, stattdessen stürmt er mit den Fäusten auf die Gegner los. Dabei sind die Items definitiv wieder in seinem Inventar angekommen.
edit: ach ja, kann ich per Script die Aggresivität eines Gegners ändern?
Einfach mit SetAV Aggression. ;)
Na was haben wir denn da - http://cs.elderscrolls.com/constwiki...php/ResistFire
Hätte ich das früher gesehen, hätte ich mir den ganzen Firlefanz mit dem Marker, der Feuerimmunität auf den Player zaubert damit der nichts vom gescripteten Feuerball abbekommt, sparen können. http://www.multimediaxis.de/images/s.../old/s_010.gif
Tatsächlich, das war mir auch neu.
Nur hat die Funktion ab und zu ein paar Macken, inwieweit die aber auch auf diesen Fall zutreffen, kann ich Dir nicht sagen. Das müsste man mal ausprobieren. Aber da Du den gewünschten Effekt ja schon auf andere Weise erlangt hast ...
So, inzwischen funktioniert alles, abgesehen davon dass der Companion die (wieder) erhalteten Items einfach nicht ausrüsten will. Gibt es keine Möglichkeit, das irgendwie zu regeln? Ansonsten muss ich das Ausrüstung-Feature komplett streichen, wäre schade.
Sagt mal, was bringen eigentlich diese Statics mit Namen FXCloudThick01 und FXCloudThick02? Einige andere Statics dieser Sorte sind platzierbarer Nebel, aber diese Dinger haben sowohl im CS als auch ingame absolut keinen Effekt.
Ui, Triplepost, wie schön! :p
Bist du dir sicher das sie keinen Effekt haben? Ich meine selbst schonmal eines benutzt zu haben und das funktionierte. Ich glaube es war 01. Du weißt das du mit der ... ähm ... wie heißt nochmal diese Funktion mit der man Gegenstände im CS fallenlassen kann ... ist mir gerade entfallen (Wortspielkasse und so!) ... naja, jedenfalls kann man damit auch Flammen und diese Nebeldinger testen. Werden sie denn schon von Vanilla benutzt? Wenn nicht kann es gut sein das sie nicht funktionieren. :confused:
Mehr als dreihundert mal.
Wenn ich mich recht entsinne werden sie oft in Ayleiden-Ruinen benutzt. Der Effekt ist allerdings nicht sonderlich stark. Probiere doch mal an den Lightningwerten des Interriors herum, vielleicht sind sie bei bestimmten Lichverhältnissen, hell/dunkel, besser zu erkennen.
Vielleicht sind deine Dungeons für den Effekt ja auch viel zu dunkel! ;)
Ich denke schon das ein Ambientlight die Nebeldinger sichtbar machen würde.
Naja, wenn ich mich mit einer Fackel reinstelle passiert auch nichts. Und ich kann ohnehin nur (gut sichtbaren!) Nebel brauchen.
Ich hab schon feststellen müssen, dass diese Wolken nicht gerade perfekt funktionieren,
(zb. musste ich in einem Dungeon einen ganz bestimmten Container öffnen um den Effekt hervorzurufen.) Alles in allem habe ich aber festgestellt, dass andere Animationen (IdleAnimations und solche die mit PlayGroup in einem Script benutzt werden) Das ganze auch auslösen können. Aber nur manchma. Gestaffelt, also mehrere hintereinander ist der Effekt doch ziemlich stark.
Zu den Ambient-Sounds...Einmal möchte ich einen Sound haben, der in zufälligen Abständen gespielt wird. Wie geht das?
Dann bräuchte ich einen Script für einen Trigger, der den Enabled Parent(ein platzierter Sound) abspielt.
Den Sound zufällig abspielen ginge nur über ein Script, dass mit GetRandomPercent immer überprüft ob gespielt werden soll. Die "PlayAtRandom" funktion der Sounds selbst funktionier nämlich nicht.
Wegen dem Trigger: Ich hab einen anderen Vorschlag: Du kannst ihn auch über PlaySound3D den Sound so spielen lassen als würdest du es mit dem Enable machen.
Geht nur schneller.
Dann kann ich dir die TriggerZone TrigZonePLAYER01Enable empfehlen. Die macht genau das.
Hallo zusammen!
Obwohl ich mich gerade in einem Kurzurlaub befinde und für ein paar Tage die Finger von PCs lassen wollte, lässt mir eine Sache keine Ruhe, die ich vor der Abreise nicht mehr gelöst bekam. Und deshalb dachte ich, ich haue hier auch mal eine Frage rein, wo sich hier doch die erlauchtesten Köpfe der deutschen Oblivion-Modderszene tummeln, die für mein Problem hoffentlich eine zufriedenstellende Lösung finden können. Es geht mir um folgendes:
Ist es möglich, dafür zu sorgen, dass der Spieler in einen Container nur spezielle Dinge legen kann? Z.B. ganz allgemein nur kleinere Gegenstände in eine kleine Schatulle? Denn wie dämlich ist das, wenn man einen massiven Zweihänder in ein Kästchen lege kann, was nicht mal ein Viertel der Länge der Waffe besitzt? Oder spezieller: Nur Zutaten eines Typs in ein spezielles Zutatenglas? Ich fände es schön, wenn bei einem Versuch, andere als die möglichen Gegenstände in den Container zu platzieren, eine entsprechende Meldung erschiene und der Gegenstand nicht abgelegt bzw. dem Spieler zurückgegeben werden würde.
Bei Morrowind konnte man Containern eine numerische Gepäckkapazität geben. Ein solches Eingabefeld gibt es auch im TESIV-CS, aber es hat keinerlei Auswirkungen auf die Kapazität der Truhe ingame. Die einzige "Lösung", die mir bislang in den Sinn gekommen ist, ist jedes Item in einem GameMode- oder MenuMode-Block auf dem Container über GetItemCount abzufragen. Wenn ein ungewünschtes Item detektiert wird, könnte es mit einer entsprechenden Meldung aus dem Inventar des Containers entfernt und dem Inventar des Spielers wieder zugeführt werden. Aber das wären bei allen möglichen Items Oblivions hunderte Abfragen und würde sich nicht auf Items beziehen, die durch andere Mods hinzugefügt werden. Es wäre also eine aufwändige und schlechte Lösung.
Vielleicht gibt es da ja eine komfortable Lösung (nach Möglichkeit ohne OBSE), auf die ich bislang noch nicht gekommen bin. Ich hoffe, ihr könnt mir helfen.
Schönen Gruß, Haldor.
Hallo Haldor,
leider ist es ohne den OBSE nicht möglich, da man das Gewicht nicht abfragen kann und alles andere nicht auf die Größe des jeweiligen Gegenstands schließen lässt. Man kann ja nicht mal abfragen, ob der Gegenstand ein MiscItem oder eine Waffe ist.:\
Ich habe mich auch schon damit beschäftigt und ich glaube, das Beste wäre entweder Deine Methode (jeden Gegenstand im Script aufzählen) oder jedem Gegenstand ein Script beigeben, in dem eine Lokale definiert ist, die dem Containerscript sagt, ob es ein schwerer Gegenstand ist oder nicht. Allerdings würde das ja die Kompatibilität mit anderen Plugins ziemlich einschränken.
Mit dem OBSE allerdings sollte es möglich sein, das Gewicht abzufragen, denke ich.
Edit: Ja, mit GetCurrentValue ist das durch den OBSE möglich. ;)
Spricht denn noch irgendetwas gegen die Möglichkeit, größere Gegenstände in die Gläser zu stopfen, als Realismus? So schlimm fände ich es jetzt ehrlich gesagt nicht, und imho würde es den Einsatz von OBSE keineswegs rechtfertigen.
Ich finde schon, dass es sinnvoll wäre. So könnte man den Behälter nicht endlos mit Dingen füllen, was wiederum für Rücksäcke oder den BaldursGate-typischen Nimmervollen Beuteln praktisch wäre, die ja auch in BaldursGate nicht ewig zu füllen waren (bilde ich mir ein http://www.multimediaxis.de/images/s.../1/gruebel.gif).
Stimmt schon, aber ob Haldor auch soetwas vorhatte? ;)
Vielleicht findet sich ja noch irgendeine Lösung...ich hätte da eine Idee: nachdem man die Gegenstände in den Behälter gesteckt hat, werden sie alle in das Inventar eines NPCs geschoben, der daraufhin in einen Trigger läuft. Erreicht er ihn, ist alles in Ordnung. Erreicht er ihn nicht, weil er von den Items überladen ist, verschwinden diese aus dem Container und gehen an den Spieler zurück. Ja, ich weiß, sehr umständlich und wohl nicht sonderlich funktionstüchtig, aber es wäre eine Idee. :p
Die Idee ist verdammt gut und würde sogar funktionieren.
Klasse, Lazarus, so kann man die Engine aufs Kreuz legen.:p
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:
PHP-Code:
messagebox "Was möchtet Ihr tun?" "Eine Harrada-Wurzel in den Behälter stecken" "Alle Harrada-Wurzeln in den Behälter stecken" "Verlassen"
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. :rolleyes: