Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls V: Skyrim » Skyrim Editor Help » Eigenartiges Skriptproblem... » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
LilaMue
Mage




Dabei seit: Mai 2012
Geschlecht:
Herkunft: Südpol
Beiträge: 172

LilaMue ist offline
  Eigenartiges Skriptproblem...Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hi, Leute!

Ich befasse mich derzeit mit der Hearthfire-Version für meine verbesserten Spielerhäuser und stehe grad ein bisschen an. Es geht um die Quest "HousePurchases", und ich bleib nun mal beim Brisenheim, damit's nicht zu kompliziert wird.
Bethesda hat das Ganze so angelegt, dass bei Kinderzimmerkauf der
Alchemiebereich entfernt wird. Zieht man aus, dann kann man das Kinderzimmer wieder durch Alchemieraum ersetzen.

Und darum geht's. Das soll in meiner Mod nicht so sein. Ich will beides kaufbar, ohne dass irgendwas verschwindet. Hab dafür ein neues Kinderzimmer dazugebaut und alle Inhalte vom entsprechenden Beth-Zimmer ins neue transferiert.
Erst wollte ich dafür ein großes Skript von Beth bearbeiten, das genau diese Bereiche ändert (wäre die einfachste Lösung gewesen), allerdings musste ich feststellen, dass sich dieses Ding nicht mal in Originalform (ohne Änderungen von mir) kompilieren ließ, und Fehlermeldungen kamen, die nicht mal direkt was mit diesem Skript zu tun hatten.
Hab dann mehrere Sachen versucht, die alle nicht funktionierten (zum Schluss tauchte beim Kauf absolut gar nix mehr auf ) , bis ich mir dann die ursprüngliche Version dieser Quest (ohne Hearthfires) ansah und beide verglich.
An dieser Stelle entdeckte ich viele weitere kleine Skripte, die den einzelnen Verkaufsdialogen zugewiesen waren, und ich dachte mir, das es hier eine Möglichkeit gibt, einzuhaken, da man dort die ganzen Properties für Disable/Enable, Kaufwert etc. zuweisen konnte.

Hab dann im großen Skript mal die zugewiesenen Properties... dort wird nämlich hin- und hergetauscht... gelöscht und Brisenheim-Alchemieraum hab ich nun soweit, dass der beim Kauf ganz normal auftaucht. Ich hab dafür ein neues Skript gemacht und entsprechende Bedingungen in besagtem Dilaog eingetragen.

Nun müsste man meinen, dass das auch beim Kinderzimmer so klappt... aber ein Irrtum. Ich schrieb das Skript, fügte nebenbei auch meine Sachen mit ein, die "disabled" werden müssen, und es ließ sich ganz normal im Notepad++ kompilieren:
Hier das Skript:

-------------------------------------------------------------------------------------

;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;NEXT FRAGMENT INDEX 2
Scriptname LMCR_TIF__000C6E1A Extends TopicInfo Hidden
;BEGIN FRAGMENT Fragment_1
Function Fragment_1(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
game.getplayer().removeitem(gold, HDWhiterunChildRoom.value as int)
DecorateMarker.enable()
OldMarker.disable()
LMSpecialItem01DisableREF.disable()

GetOwningQuest() as BYOHRelationshipAdoptionHousePurchase).Whiterun_EnableChildBedroom() ; entfernt, da ich den Eingriff dieses Skripts (Austausch Alchemie-Kinderzimmer) nicht mehr benötige
;END CODE
EndFunction


GlobalVariable Property HDWhiterunChildRoom Auto

MiscObject Property Gold Auto

ObjectReference Property DecorateMarker Auto
ObjectReference Property OldMarker Auto
ObjectReference Property LMSpecialItem01DisableREF Auto

;END FRAGMENT CODE - Do not edit anything between this and the begin comment

--------------------------------------------------------------------------------------

Den Smilie im Skript... hab nicht ich gemacht... der ist durch das Auskomplementieren dieser Zeile entstanden.... die ist nicht wirksam....

(Ich hab hier nicht das Beth-Skript geändert, sondern ein eigenes gemacht... die Zeilen des entsprechenden Beth-Skripts hab ich drin stehen lassen)

Aber weiter... wieder im CK, hab ich das der Quest/Dialogzeile Kinderzimmerkauf zugewiesen,
Properties richtig eingetragen und unter "Papyrus Fragment" genauso wie es bei den anderen Räumen des Brisenheims ist, entsprechende Skriptzeilen eingetragen:

-------------------------------------------------------------------------------------
game.getplayer().removeitem(gold, HDWhiterunChildRoom.value as int)
DecorateMarker.enable()
OldMarker.disable()
LMSpecialItem01DisableREF.disable()
-------------------------------------------------------------------------------------

Dann will ich das Ding dort ebenfalls kompilieren... und was passiert? Eine Fehlermeldung, und zwar die:

--------------------------------------------------------------------------------------
Starting 1 compile threads for 1 files...
Compiling "LMCR_TIF__000C6E1A"...
Crogram Files (x86)SteamsteamappscommonskyrimDataScriptsSourcetempLMCR_TIF__000C6E1A.psc(9,34): variable HDWhiterunChildRoom is undefined
Crogram Files (x86)SteamsteamappscommonskyrimDataScriptsSourcetempLMCR_TIF__000C6E1A.psc(9,54): none is not a known user-defined type
Crogram Files (x86)SteamsteamappscommonskyrimDataScriptsSourcetempLMCR_TIF__000C6E1A.psc(9,60): cannot cast a none to a int, types are incompatible
No output generated for LMCR_TIF__000C6E1A, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on LMCR_TIF__000C6E1A

--------------------------------------------------------------------------------------
Diese Smilies wären jetzt "Doppelpunkt P"...

Ja, und nun meine Frage: Warum gibt's da eine Fehlermeldung?
Diese Meldung sagt ja, dass "HDWhiterunChildRoom" nicht definiert wäre, was aber nicht stimmt. Außerdem taucht eine entsprechende Variable (für den Preis, im CK eine Global) auch in allen anderen kleinen Skripten für die anderen Zimmer auf...

Ich hab das Ganze nun mal ohne diesen Eintrag unter "Papyrus Fragment" getestet... und zwar, weil mir aufgefallen war, dass beim Schlafzimmer im Brisenheim dieser Eintrag ebenfalls nicht vorhanden war.
Aber leider funktioniert es so nicht. Es taucht kein Kinderzimmer auf und meine Wände disablen ebenfalls nicht, wo dann eine weitere Tür wäre. Da das mit dem Alchemiebereich klappte, gehe ich nun mal davon aus, dass es sich um genau diese Sache handelt, die ich noch irgendwie hinkriegen müsste, damit das im Brisenheim so funktioniert wie ich es mir vorstelle.

Das Kompilieren des AlchemieRaum-Eintrages im CK klappte übrigens wunderbar.

Kann mir bitte jemand bei dieser Sache helfen?
Da wäre ich sehr dankbar.
Ich werd's nun mal trotzdem testen..... vielleicht funktioniert's ja trotz der Fehlermeldungen.



Edit:
Hab getestet und jetzt kommts... das ist absolut abgefahren....

Der Goldwert (= Fehlermeldung mit "HDWhiterunChildRoom") wurde abgezogen!
Eine Wand wurde entfernt, also hat "OldMarker.disable()" funktioniert
Alles was am "DecorateMarker" hing, funktionierte nicht!
Und "LMSpecialItem01DisableREF.disable()" funktionierte auch nicht! (Hierbei handelt es sich um ein Tischchen, das genau am Eingang steht)

Zum "DecorateMarker" noch Folgendes:
Ich hab nun die ganze Einrichtung abgehöngt, denn es kommt eine Tür in einen Bereich, in dem vorher eine Wand war... aber..... statt der Wand gibts nun natürlich den Türrahmen, und der muss vorher disabled sein, denn das würde absolut furchtbar aussehen.


Ich test's nun noch mal.... es ist unglaublich komisch, dass Teile funzen und andere wieder nicht....


__________________
LMWW

Dieser Beitrag wurde von LilaMue am 03.06.2013, 22:42 Uhr editiert.

03.06.2013, 18:11 Profil von Füge  deiner Freunde-Liste hinzu Email an LilaMue senden Homepage von LilaMue
LilaMue
Mage




Dabei seit: Mai 2012
Geschlecht:
Herkunft: Südpol
Beiträge: 172

LilaMue ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

War noch niemand hier, der da was wissen könnte, hmmm?


Naja, ich war in der Zwischenzeit nicht untätig und hab nun noch einiges herausgefunden... und, es könnte vielleicht so klappen...
Nach einigen Tests und mehreren Vergleichen mit anderen Sachen, die ich in dieser Mod nun schon gemacht hab, ist mir was aufgefallen.

Und zwar erst mal zu meiner obigen Frage warum es da Fehlermeldungen gibt. Ich denke, ich hab die Lösung dafür, falls man überhaupt "Lösung" zu so was sagen kann.
Nämlich funktioniert es irgenwann bei Versuch x. Kann beim dritten oder vierten mal sein... ich hab sogar den PC des öfteren neu gestartet... irgendwann klappte es dann,
und das Skript ließ sich plötzlich ohne Probleme im CK kompilieren.

Was aber gerade, wenn man bestehende Sachen ändern will, wichtig ist:
Sachen, die von Beth angelegt wurden, sind gerade bei Skyrim sehr tiefgreifend. Und soweit ich das nun hier in meiner Mod erfahrungsgemäß sagen kann,
haben immer nur die Sachen wirklich geklappt, die ich neu angelegt habe.

Ein Beispiel:
Ich habe die Preise der Häuser/Einrichtungen geändert... sind generell als Globals angelegt und werden, egal ob Skript oder Quest, als diese Globals aufgerufen.
Allerdings funktionierten meine Änderungen dieser Globals beim Testen nicht.
Ich bin sogar fast bis zum Startpunkt zurück... hab also innerhalb Helgen geladen, da ich dachte, dass es dann auf jeden Fall greifen müsste... hab mich aber geirrt. Es tauchten immer noch die Beth-Preise auf.
Dann hab ich neue Preise/Globals angelegt, die aber auch erst dann griffen, als ich zusätzlich in der Quest die Preise direkt eingegeben hab.

Ja.. und dadurch bin ich dann darauf gekommen, die Sachen, die unbedingt "enabled" werden sollten, vermutlich an einen komplett neuen Marker angehängt werden sollten.
Was ich nämlich letztens vergessen habe zu erwähnen, und es auch gar nicht für notwendig hielt... den "OldMarker" hatte ich in diesem Fall neu angelegt, und der war der einzige, der funktionierte.

Nun habe ich das auch mit entsprechender Wand gemacht, und hoffe, dass es funktioniert... für's weitere Testen bin ich heute zu müde.... also wird sich morgen herausstellen, ob ich damit recht habe oder nicht.
Ich hoffe es, denn wenn nicht... naja, daran mag ich jetzt gar nicht denken, es muss klappen.


__________________
LMWW

Dieser Beitrag wurde von LilaMue am 05.06.2013, 01:17 Uhr editiert.

05.06.2013, 01:14 Profil von Füge  deiner Freunde-Liste hinzu Email an LilaMue senden Homepage von LilaMue
LilaMue
Mage




Dabei seit: Mai 2012
Geschlecht:
Herkunft: Südpol
Beiträge: 172

LilaMue ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen


Es funktioniert!!!
Ich kann euch gar nicht sagen, wie froh ich jetzt bin.

Es ist wirklich so, dass in diesem Fall alles, das ich nun anders haben will, an einen neu angelegten Marker angehängt werden muss, was nun zwar noch ein wenig Arbeit an dieser Mod bedeutet, aber das ist ok.

Sogar die Sache mit dem Tischchen vor der Eingangstür zum Kinderzimmer hab ich nun so lösen können, dass es bei Kauf der Hauseinrichtung zwar auftaucht, aber später bei Kinderzimmerkauf wieder verschwindet, ebenfalls nun mit so einem neuen Marker.

Was das Kompilieren der Skripte betrifft.... da zickt das CK einfach rum, auch, wenn das Skript in Ordnung ist... da kann man nix machen. Auch heute hatte ich wieder so einen Fall... und irgendwann klappte es dann.
Somit hätten sich meine Fragen also erübrigt.

Trotzdem werde ich es nun noch ein zweites Mal durchtesten...



__________________
LMWW

06.06.2013, 00:18 Profil von Füge  deiner Freunde-Liste hinzu Email an LilaMue senden Homepage von LilaMue
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR