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 19 von 19

Thema: Teleport Ring

  1. #1

    Teleport Ring

    Hallo Spezialisten,
    brauche eure Hilfe!
    Habe schon teilweise den Keller im Haus Benirus in Anvil umgestaltet. Jetzt wollte ich mir einen Teleportring basteln, der mich in die Mitte des Kellers transportiert.
    Wie geht das? Hab es schon paar Mal versaut.
    Den Keller ähnlich zu gestalten wie Flohs Rumpelkammer, ist mir auch nicht gelungen!

  2. #2
    Ha! moveto, meine neue Lieblingsfunktion.

    Stell in deinen Keller einen X-Heading-Marker (die nehm ich jedenfalls, prinzipiell geht auch ne Ratte, aber egal). Plaziere ihn so, wie du ankommen möchtest.
    Jetzt den Marker doppelklicken, und oben einen Namen eingeben, den es nicht nochmal gibt, zB "RandulfsKeller". Achte außerdem darauf, dass "persistent reference" und "initially disabled" angehakt ist.

    Jetzt schreibst du ein Script. (Gameplay -> Edit Scripts)
    Oben rechts muss "Object" stehen.
    Code:
    scn RandulfsKellerTransport
    
    Begin OnEquip
    player.moveto RandulfsKeller ;Der Spieler wird zu deinem Marker transportiert
    player.UnequipItem RandulfsRing ;Der Ring wird automatisch wieder abgelegt (Das hab ich bisher noch nicht selbst geteste, müsste aber klappen)
    end
    Dieses Script stellst du dann bei deinem Teleportring (der in diesem Beispiel "RandulfsRing" heißt) ein.

    So müsste es klappen.

  3. #3
    Also um ein Script wirst du hier nicht rumkommen. Am sichersten wäre hier imho eine Verzauberung mit Scripteffekt auf dem Ring. Damit das funktoiniert würde ich empfehlen den Befehlt moveto (bzw. PositionCell) zu verwenden.
    Empfehlen würde ich hier den ScriptEffectStart-Block zu verwenden um das ganze "unterzubringen".


    Auf jeden Fall solltest du GSI auch mit einbauen, da es sonst mit anderen PIs zu sehr seltsamen Problemen kommen kann.


    Edit @Grimoa:

    das Unequip würde bei dir nicht funktionieren, da player.moveto wie Return wirkt (heißt: keiner der danach kommenden Befehle wird ausgeführt). Davor schreiben sollte das Problem aber beheben.

    Allerdings hat deine Version auch noch das Problem, dass das Script bei verzaubern des Ringes verloren geht (lässt sich allerdings einfach durch ein Zuweisen einer leeren Verzauberung (Script-Effect ohne Script) verhindern).
    Geändert von Low Post (04.03.2008 um 18:31 Uhr)

  4. #4
    Zitat Zitat von Low Post Beitrag anzeigen
    @Grimoa:
    das Unequip würde bei dir nicht funktionieren, da player.moveto wie Return wirkt
    Okay, Korrektur:
    Code:
    scn RandulfsKellerTransport
    
    Begin OnEquip
    player.UnequipItem RandulfsRing ;Der Ring wird automatisch wieder abgelegt (Das hab ich bisher noch nicht selbst geteste, müsste aber klappen)
    player.moveto RandulfsKeller ;Der Spieler wird zu deinem Marker transportiert
    end
    Zitat Zitat von Low Post Beitrag anzeigen
    Allerdings hat deine Version auch noch das Problem, dass das Script bei verzaubern des Ringes verloren geht (lässt sich allerdings einfach durch ein Zuweisen einer leeren Verzauberung (Script-Effect ohne Script) verhindern).
    Hm, okay, mit den Feinheiten hab ich mich noch nicht so beschäftigt. Gut zu wissen.
    Ich war einfach mal davon ausgegangen, dass man seinen Teleportring gar nicht versucht zu verzaubern. Gibt doch genug andere Ringe im Spiel.

  5. #5
    Hallo und danke für die Antworten,
    in der Zwischenzeit war ich auf Montage.
    Habe heute das Script Probiert und es Funzt, aber irgendwas stimmt mit dem X-Heading-Marker nicht.
    Player kommt zwar an der stelle an aber kann sie nicht verlassen.

  6. #6
    Wird der Ring wieder ausgezogen, gleich nachdem du ihn equipped hast?

    Das Problem klingt für mich grade so, als wenn du immer weider zu der Stelle mit dem X-Marker teleportiert wirst, deswegen kommst du da nicht weg.

  7. #7
    Zitat Zitat von Grimoa Beitrag anzeigen
    Wird der Ring wieder ausgezogen, gleich nachdem du ihn equipped hast?

    Das Problem klingt für mich grade so, als wenn du immer weider zu der Stelle mit dem X-Marker teleportiert wirst, deswegen kommst du da nicht weg.


    Der Ring wird abgelegt, der X-Heading-Marker ist Manns Hoch und in dem hängt er fest.
    Er kann sich nicht mal drehen.

  8. #8
    Deswegen hatte ich ja (auf Low Posts Vorschlag hin) player.UnequipItem davor geschrieben, so dass der Ring ausgezogen wird, bevor das Script beendet wird. Dann dürfte es ja eigentlich nicht nochmal ausgelöst werden.
    War mein Gedanke.

    Aber wenn dein Script funktioniert, umso besser.

  9. #9
    Zitat Zitat von Katan Beitrag anzeigen
    Warum das so ist, hat Low Post doch bereits erläutert. MoveTo in einem OnEquip-Script bedeutet, dass es nicht beendet werden kann und der Spieler immer wieder zum XMarker geschoben wird. Da kannst du machen, was du willst. Folgendes dürfte funktionieren:

    Code:
    scn TeleportRingScript
    
    short teleportieren
    
    Begin OnEquip Player
    
    	set teleportieren to 1
    
    End
    
    Begin GameMode
    
    	if ( teleportieren == 1 )
    		set teleportieren to 0
    		player.MoveToMarker XMarkerHeading
    	endif
    
    End



    Werde es gleich versuchen.

  10. #10
    Warum das so ist, hat Low Post doch bereits erläutert. MoveTo in einem OnEquip-Script bedeutet, dass es nicht beendet werden kann und der Spieler immer wieder zum XMarker geschoben wird. Da kannst du machen, was du willst. Folgendes dürfte funktionieren:

    Code:
    scn TeleportRingScript
    
    short teleportieren
    
    Begin OnEquip Player
    
    	set teleportieren to 1
    
    End
    
    Begin GameMode
    
    	if ( teleportieren == 1 )
    		set teleportieren to 0
    		player.MoveToMarker XMarkerHeading
    	endif
    
    End
    Edit @ Grimoa
    Persistent Reference kann man bei einem XMarker(Heading) gar nicht einstellen; das ist von vornherein so. Und Initially disabled erübrigt sich, da man den XMarker a) in-game überhaupt nicht sehen kann und b) er in diesem Fall überhaupt nicht deaktiviert sein muss. Da hast du das mit der Ratte durcheinander gebracht. Eine Teleport-Ratte ist einem XMarker vorzuziehen, wenn der XMarker bzw. die Ratte selbst für einen Recall umher geschoben wird. Mit XMarkern gibt es Probleme, wenn es sich um Zellen außerhalb des Tamriel-Worldspaces handelt; Marker wird verschoben, die neue Location gespeichert, der Marker aber wieder zum Ursprungsort verschoben und der ganze Kram funktioniert plötzlich nicht mehr, ein Recall ist unmöglich. Stattdessen sollte man in dem Fall also NPCs oder Kreaturen benutzen, da sie von der Engine nicht zum Ausgangspunkt zurückgeschoben werden.

    Edit 2: Hoppla, da ist mir Randulf aber in den Edit gerasselt.

  11. #11
    Ah, jetzt sind die Beiträge ja ganz anders als eben...

    @Katan: Auf persitent reference und initially disabled bin ich gekommen, weil ich bei meinem ersten versuch nicht einfach einen X-Heading-Marker genommen habe, sondern ein neues Objekt (neue ID) erzeugt habe, und dann ist das eben noch nicht ausgewählt. Das CS weigert sich, dsa Skript zu speichern, und der Marker ist ingame zu sehen.

    @Randulf: "Der Marker ist mannshoch"? Also kannst du ihn ingame sehen?

  12. #12
    Grimoa, ich mein's doch nicht böse. Ich dachte, vielleicht interessiert's dich, warum manchmal 'ne Ratte statt einem XMarker benutzt wird.
    Bei 'nem XMarker ist Persistent Reference immer aktiviert, ist nämlich grau hinterlegt. Ob sich das ändert, wenn man dem eine neue ID gibt, weiß ich zugegeben nicht; habe ich nie probiert. Ist ja auch unnötig.
    Dass er sich weigert, das Script zu speichern, mag daran liegen, dass statt XMarkerHeading die Referenz eingegeben werden muss. Deshalb ist es dick und rot markiert; hätte ich aber noch dazu schreiben können, damit's auch offensichtlich wird, da hast du Recht. Aber nein, ein XMarker ist definitiv nicht in-game zu sehen.

  13. #13
    Ich nehm gar nichts böse

    Wenn man einem X-Heading-Marker ne neue ID gibt, ist weder persistent reference noch initially disable ausgewählt. Weil die Referenz nicht persistent ist, weigert sich das CS das Script zu speichern, wenn man den Marker bei einem moveto Befehl benutzt. Und ingame zu sehen ist er natürlich, weil er nicht auf initially disabled steht.
    Ich habs ausprobiert.

    Das mit der Ratte ist durchaus interessant, ich hatte es irgendwo schon mal gelesen, wusste aber die Einzelheiten nicht mehr so genau. Habe es selbst auch noch nicht benutzt, was sich aber hoffentlich demnächst ändert.

  14. #14
    Okay. Das musst du mir jetzt erklären. Warum gibst du einem XMarker eine neue EditorID? Du kannst einfach den bereits vorhandenen benutzen und in deine Zelle ziehen. Es geht schließlich nicht um die EditorID sondern um die Referenz. Warum sich unnötige Mehrarbeit machen?

  15. #15
    Ja, inzwischen mache ich das auch nicht mehr. Das war der erste Versuch.
    Ich hatte noch nicht raus, dass sich die Marker nachher anhand der Referenz eindeutig unterscheiden lassen. Da hab ich gedacht, ich geh auf Nummer sicher, und mach mir mal meinen eigenen.

  16. #16
    Und es Funzt - Jetzt aber bleibt der Ring angezogen!
    Wird nicht automatisch abgelegt.
    Das kriegt ihr doch auch noch hin


    scn RandulfsKellerTransport

    short teleportieren

    Begin OnEquip Player
    set teleportieren to 1
    End

    Begin GameMode

    if ( teleportieren == 1 )
    set teleportieren to 0
    player.MoveToMarker RandulfsKeller
    endif

    end

  17. #17
    Ja, steht ja auch nicht mehr drin, dass der Ring ausgezogen werden soll

    Code:
    scn RandulfsKellerTransport
    
    short teleportieren
    
    Begin OnEquip Player
    set teleportieren to 1
    End
    
    Begin GameMode
    
    if ( teleportieren == 1 )
    player.unequipItem RandulfsRing
    set teleportieren to 0
    player.MoveToMarker RandulfsKeller
    endif
    
    end

  18. #18
    @ Randulf
    Wenn du weiter in diesem Bereich modden möchtest, bietet es sich an, dass du Scripte zu verstehen versuchst statt andere anzufeuern das für dich zu machen. Also mal bei CS Wiki vorbeischauen, dir das hier durchlesen und/oder einfach nachfragen, warum was so und so gemacht wird. Das nur als Tipp.

  19. #19
    Juhu Funzt Affen Titten Geil

    Ohne euch? Im Leben nicht.
    Scripten ist schon starker Tobak.

    @Katan
    Da war ich schon, nur kapiert hab ich es nicht (siehe ersten Post)
    Kann zwar nicht behaupten das ich es jetzt verstanden habe, aber ich bin weiter.

    Zitat:
    Mach nie einen Dummen schlau! Man bekommt ihn nie wieder dumm.

Berechtigungen

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