Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 14 von 14

Thema: Ruinen wieder aufbauen

  1. #1

    Ruinen wieder aufbauen

    Moin zusammen

    Ich möchte mir eine eigene Behausung schaffen. Da es aber recht langweilig ist einfach nur ein Haus zu bauen, möchte ich aus einer Ruine wieder ein schönes Heim machen. Es gibt ja diverse Gebäude etc. die als Ruinen existiern und ein richtiges Pendant haben. Verbunden mit einem Quest (Ruine kaufen, Geister vertreiben, "Handwerker" finden usw.) stelle ich mir das ganz nett vor.
    Nur weiß ich nicht genau wie ich das mit dem Ersetzem der Ruine durch das richtige Haus anstellen soll. Inspiriert hat mich der Ausbau der zu kaufenden Häuser, insbesondere das Benirus Anwesen in Anvil. Ich habe mir die Sache auch ziemlichgenau im CS angesehn, bin aber leider nicht so recht schlau draus geworden.
    Danke schon mal für hilfreiche Antworten.

    Grüße
    Thorondor

  2. #2
    Du musst alles im fertigen Zustand bauen. Und dann stellst du Sachen die später dazukommen sollen auf initially disabled. Dann lässt du sie durch Scripte (am ende von Quests auf Schriftrollen usw) wieder einschalten (enable ...)

  3. #3
    Danke. Das funktioniert schon mal prächtig. Allerdings haben sich während der Arbeit weitere Fragen ergeben.

    1. Wie kann ich erreichen, dass der Quest zur nächsten Stage springt, wenn ich einen bestimmten Ort erreiche? Ich habe es bereits mit der Bedingung "GetDistance" und einem Script mit "player.getdistance xxx < Zahl" versucht. Funktioniert hat es nicht.

    2. Ich möchte, dass nach Ablauf einer gewissen Zeitspanne (wenn die Bauarbeiten beendet sind) die/der nächste Queststage startet. Ich habe es über ein Script mit "gamedayspassed" und dann "setstage" versucht. Hat leider auch nicht geklappt.

    Grüße
    Thorondor

  4. #4
    zu 1 war schon fast richtig, aber das player davor muss weg also

    if ( getdistance player <= xxx )
    set...

  5. #5
    moin moin

    zu 1.
    Danke dir Pcuser. Das Problem mit der Entfernung ist erst einmal gelöst. Allerdings bin ich mit meiner Lösung nicht zufrieden. Ich habe die Abfrage ob sich der Spieler an Ort und Stelle befindet über einer Objektscript geregelt (an einem Gegenstand der eh schon da war). Allerdings gefällt mir das nicht. Gibt es eine Möglichkeit, dass Script an einen Marker zu hängen oder vielleicht als Bedingung unter Queststage?

    zu 2.
    Das konnte Problem konnte ich mit Hilfe der Suchfunktion (dafür brauch man aber wirklich viel Zeit, und muss wortgenau wissen wonach man sucht) inzwischen lösen. Ich habe ein Script geschrieben und es unter Questdata direkt dem Quest zugewiesen. Ist das die einzige Möglichkeit?

    Grüße
    Thorondor

  6. #6
    Hm bin mir jetzt nicht ganz sicher aber du könntest mal folgendes machen.

    Du machst nen Marker und nennst den zb DistanceRef

    dann das Script (wo man das hinmacht weis ich allerdings nicht du könntest es an den Quest hängen)

    if ( player.getDistance DistanceRef <= XXX )

    Zur erklärung: das player davor müsste bewirken, dass die Entfernung vom player aus und nicht vom scriptausführenden Objekt aus gemessen wird.

    Alternativ könnte man es warscheinlich auch umdrehen, was vielleicht sogar besser is, da sich der marker nich bewegt.

    if ( DistanceRef.getDistance player <= XXX )

    Zu 2
    Ich würde es result script anhängen. Hab aber noch nie selbst quests gemacht.
    Also an die stufe mit der nachricht ich muss warten dann dein script in das resultscriptfeld. Ich weiß aber nicht ob das dann nur einmal aufgerufen wird oder so. D.h ob man da zeitmessungsscripte reibekommt, was assiert wenn man zwischendrin speichert und läd usw. müsste man mal in der cs wiki nachschaun
    EDIT: Hm scheint ungeeignet, da stehen nur so sachen drin wie additem usw.
    dann lieber als bedingung an den quest mit if getstage...

    EDIT2 zu1: Also der player... weg scheint der richtige zu sein. hier mal ein script aus oblivion, das sowas ähnliches macht.
    Code:
    	if player.getdistance DiveRockMarker <= 100
    		MessageBox "Euer Aussichtspunkt oben auf dem Taucherfelsen bietet einen ausgezeichneten Überblick der Kaiserlichen Provinz. Ihr bemerkt einige Kerker und tragt deren Lage in Eure Karte ein."
    		ShowMap KingscrestCavernMapMarker
    		ShowMap FanacasMapMarker
    		ShowMap QuickwaterCaveMapMarker
    Geändert von Pcuser (22.01.2008 um 14:36 Uhr)

  7. #7
    zu 1.:
    Hmm. Genau auf die von dir beschriebene Art und Weise habe ich es von Anfang an versucht, und auch jetzt nochmal probiert. Ich habe neue Marker eingefügt, neue Scripte geschrieben, es an einem anderen Ort probiert. Es funktioniert alles nicht.
    Obwohl das Beispiel mit dem DiveRockMarker und dem dazugehörigen Script nahelegt, dass diese Vorgang ganz einfach ist. Aber auch eine fast wortgenaue Kopie dieses Scripts hat nicht zum Erfolg geführt.
    Ich war sogar "persönlich" an dem Felsen, um zu sehen ob es überhaupt funktioniert. Nach einer längeren Bergtour konnte ich nur feststellen, dass dort alles bestens klappt. Es ist zum Verzweifeln. >_<
    Hier nochmal kurz mein letzter Test:
    Code:
    Scriptname zztestmarker
    
    short message
    
    Begin GameMode
    
    if message == 0
    	if player.getdistance zzTester <= 100
    		MessageBox "Das ist ein Test."
    		set message to 1
    	endif
    endif
    
    End
    zu 2.:
    Nein, bei Resultscript passt das nicht. Geht nur über ein extra Script. Es funktioniert jedenfalls. Ich wollte nur wissen, ob das auch irgendwie geht, ohne dieses Script bei Questdata einzutragen.

    Grüße
    Thorondor

  8. #8
    Versuch doch mal

    if message < 1 vielleicht is der ja nicht 0^^

    und um die 2 if blöcke wegzubekommen würde ich schreiben

    if ( message < 1 && player.getdistance zzTester <= 100) oder sowas (bin mir bei den klammern net sicher)

  9. #9
    moin moin

    also nochmal zu 1.:

    Ich habe im Script alle Modifikationen, die du geschrieben hast und die mir einfielen, ausprobiert. Ich bin mir ziemlich sicher, dass der Fehler nicht im Script zu finden ist. Irgendein grundlegenden Fehler muss ich übersehen. Das Script ist zu "einfach" um falsch zu sein. Es muss irgendein grundlegendes Problem sein.
    Drei entscheidende Möglichkeiten habe ich ausprobiert:
    a) Einen XMarker und dazu das Script,
    b) ein beliebiges Objekt mit einer ReferenzID und dazu das Script und
    c) ein neues Objekt (eigene ID) und das Script direkt mit diesem Objekt verlinkt.
    Funktionieren tut nur letzteres. Vielleicht könntest du das mal ausprobieren Pcuser (oder gerne auch jemand anderes). Vielleicht läuft die Sache nur bei mir nicht?!?

    Hier ist dann nochmal das Script aus meiner letzten Testreihe. Als Vergleich bietet sich das "DiveRockScript" an. Den Marker dazu findet man in der Zelle DiveRockExterior, wenn ich mich recht entsinne.

    Code:
    scn test1
    
    short testvari1
    
    begin gamemode
    
    	if testvari1 ==0
    		
    		if player.getdistance zzbesen <= 250
    			messagebox "Test1 funktioniert."
    			set testvari1 to 1
    		endif
    	
    	endif
    
    end
    Wäre super wenn sich jemand die Mühe machen könnte. Danke im voraus.

    Grüße
    Thorondor
    Geändert von Thorondor (23.01.2008 um 18:31 Uhr)

  10. #10
    Also es geht bei mir, ABER es scheint als würden questscriptenicht oft abgefragt oder so^^.
    Wenn ich so 5sec da stehenbleibe wo der marker ist, dann kommt die Box.

    AHA hier is was interresantes dazu^^ war meine 5 sek schätzung ja ganz gut

    Zitat Zitat
    How to change how often a quest script is processed:

    * Declare the "magic variable" float fQuestDelayTime in your quest script.
    * Set fQuestDelayTime to how often you want the quest script to process, in seconds. If you set it to something very small (.01), it will effectively process every frame. If you set it to 0, the quest script will revert to the default processing time (every 5 seconds). Use this feature with caution -- in general, fQuestDelayTime should only be set less than 5 under very controlled and limited circumstances.
    * fQuestDelayTime may be set from another script by addressing the quest, e.g. set MyQuest.fQuestDelayTime to 0.01.
    * Quest scripts are the only ones that actually process a MenuMode block while you are resting or using fast travel.
    * Because Quest scripts are run always based on time intervals they will not necessary frame sync, even with fQuestDelayTime set to a very low value. For some effects (e.g. those using SetPos) this can have undesired effects. In these cases Object and Magic scripts may be more appropriate to achieve an effect smoothly.

  11. #11
    Moin moin

    Nachdem ich gestern Abend noch etwas rumprobiert habe, habe ich endlich eine Lösung für mein Problem gefunden!!! Da ich für den Quest ja eh schon ein Script geschrieben hatte (also ein direkt unter Questdata verlinktes), welches die nächste Stage nach Ablauf einer gewissen Zeitspanne startet, habe ich das mit der Entfernung einfach dort mit reingeschrieben. Und siehe da, es funktioniert.
    Das führt mich zu der Vermutung, dass bei meinem anderen Versuch, mit dem XMarker und dem Script, dieses Script einfach nicht aufgerufen wurde bzw. die Zuordnung nicht funktionierte, obschon ich den gleichen Scriptext verwendet habe.
    Was die ganze Sache noch merkwürdiger macht, ist die Tatsache, dass es bei dir funktioniert. Das mit der "fQuestDelayTime" brachte auch keinen Erfolg. Könntest du bitte noch mal kurz beschreiben, was du genau gemacht hast? Vielleicht gibt es ja doch einen kleinen aber entscheidenden Unterschied zwischen unseren Vorgehensweisen.

    Na jedenfalls kann ich jetzt, da alle grundlegenden Probleme gelöst scheinen, mit dem eigentlichen "Bau" meiner Ruine beginnen. Zumindest bis wieder irgendetwas ist, weil irgendwas ist ja immer.

    Grüße
    Thorondor

  12. #12
    Ja natürlich auf questdata verlinkt, wo hattest du es denn vorher^^

    Hier hab ich mal die esp angehängt. Das Ziel ist die kreuzung im makt bezirk. Es geht aber nur wenn man eben ca 5sec dort stehen bleibt.

    Deswegen solltest du mal versuchen am anfang vom script zu schreiben (also bei den variablen)

    float fQuestDelayTime

    und dann nach beginn etwas wie

    if getstage xxx
    set QuestDelayTime 0.01
    else
    set QuestDelayTime 5
    endif
    Angehängte Dateien Angehängte Dateien

  13. #13
    Hmm. Jetzt komm ich mir ja etwas blöd vor, dass ich das nicht vorher schon mal probiert habe. Und dabei war ich sooo stolz auf mich, dass ich eine Lösung gefunden hatte. Dabei hattest du das schon längst vorgeschlagen. Habe ich wohl überlesen, hätte ne Menge Zeit gespart.

    Zitat Zitat von Pcuser Beitrag anzeigen
    Du machst nen Marker und nennst den zb DistanceRef
    dann das Script (wo man das hinmacht weis ich allerdings nicht du könntest es an den Quest hängen)
    Dennoch bleibt die Frage wie das mit dem DiveRockMarker funktioniert. An dem Beispiel habe ich mich festgebissen. Gibt es dazu ein Quest? Ich habe jedenfalls keins gefunden. Man geht einfach dorthin, stellt sich an den Abgrund und bekommt sofort die Meldung über die tolle Aussicht.
    Na das ist jedenfalls nicht mehr ganz so wichtig. Wenn ich mit meiner Ruine fertig bin und mal wieder Langeweile habe, werde ich mich damit nochmal auseinandersetzen. Danke jedenfalls für deine Hilfe.

    Grüße
    Thorondor

  14. #14
    Das Script von Beth ist an ein Buch gehängt das in der Gegend rumliegt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •