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

Thema: Script Frage

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Script Frage

    Also, ich versuche grade, ein Teleportationsscript für Oblivion zu schreiben. Ich bin so weit, dass der Teleport an sich funktioniert. Nun soll aber jedes mal noch ein bestimmtes Geräusch ertönen und dem Spieler 10 gold abgezogen werden. Beides funktioniert prinzipiell, aber nicht immer. Mal passiert nur das eine, mal nur das andere, mal gar nichts, manchmal beides wie gewünscht.. Also von Geräusch und bezahlen. Der Transport klappt immer.

    Der Scriptausschnitt sieht so aus:

    Code:
    if travel==0
    	playsound SPLAlterationCast
    	message " "
    	player.removeItem F, 10	
    	message " "
    	player.moveto GriXHaldrhun
    Was muss ich denn anders machen, damit zuverlässig der Sound ertönt und auch das Geld abgezogen wird? Wie gesagt, manchmal klappt es ja. Bin etwas überfragt.

    Danke für Eure Hilfe!

  2. #2
    Was genau schief läuft weiß ich nicht, ich würde allerdings die beiden Message " '-Zeilen nacheinander schreiben.

    Außerdem verwendet man in Script normalerweise die Editor-ID und nicht die Form-ID. Das wäre hier in dem Fall Gold001 statt F.

    Ich hab ansonsten nur mal gelesen, dass Oblivion bei rechnerintensiven Zellen manchmal Script-Zeilen einfach überspringt. Vllt. liegt es ja daran.

  3. #3
    Oookay... naja, vielleicht ist das laden einer neuen Zelle für meinen Rechner schon so intensiv, dass er keinen Platz mehr für mein kleines Skript hatte. *auf etwas klapprigen Rechner schaut*

    Gold001, gut, das wird geändert. Hatte das so schnell im CS nicht gefunden, und war selbst ein wenig überrascht, das F funktioniert.

    Mit dem message" " habe ich herumexperimentiert, weil ich eigentlich einen Weg gesucht habe, eine kleine Pause zwischen den einzelnen Ereignissen einzubauen, so dass evtl der Sound dann vollständig gespielt wird. Das war so mein naiver Gedanke. Manchmal fängt er nämlich an, wird dann aber unfreundlich vom Ladebildschirm unterbrochen. Und spielt danach auch nicht zu ende.
    Gibt es sowas wie eine "delay" oder "Pause"-Funktion?

  4. #4
    du könntest mit einem Timer-Script und GetSecondsPassed arbeiten:


    Code:
    short Delay
    float Timer
    
    if travel==0
    	if ( Delay )
    		if ( Timer > 0 )
    			set Timer to ( Timer - GetSecondsPassed )
    		else
    			set Timer to 0
    			set Delay to 0
    			player.moveto GriXHaldrhun
    		endif
    	else
    		message " "
    		message " "         ;zum ausblenden von Messages
    		playsound SPLAlterationCast
    		player.removeItem Gold001 10
    		set Delay to 1
    		set Timer to 2       ;genauen Wert musst du dann halt durch ausprobieren herausfinden.

Berechtigungen

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