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

Thema: Problem bei MessageBox in QuestScript

  1. #1

    Problem bei MessageBox in QuestScript

    Tach (oder besser Nacht^^),
    ich hab ein Problem bei einem Script, welches ein Paar Messageboxes aufruft, aus denen man auswählen kann. Und zwar ist das Script in einem StartGameEnableden Quest, da es etwas zu initialisieren hat, blöderweise aber nich die erste Messagebox, was es aber tut und so den ganzen Skriptablauf durchernanderbringt. Normalerweise werden die Boxen durch einen Spell aufgerufen, welcher einfach den Quest wieder startet. Ich hab im Moment echt keine Ahnung wieso des des tut, Hat wer ne Idee?
    Code:
    scn aaGrowlfQSCR
    
    short init
    short stage
    short button
    float fQuestDelayTime
    
    begin gamemode
    	if init == 0
    		set init to 1
    		set fQuestDelayTime to 0.1
    		player.addspell aaGrowlfSpell
    		stopquest aaGrowlfQ
    	endif
    
    	if stage == 0
    		set stage to 1
    		messagebox "Was wollt ihr?" "Rüstung" "Kleidung" "Nichts"
    	endif
    
    	if stage == 1
    		set button to getbuttonpressed
    		if button >= 0
    			if button == 0
    				set stage to 2
    			elseif button == 1
    				aaGrowlfClothesREF.activate player
    				set stage to 4
    			elseif button == 2
    				set stage to 4
    			endif
    			set button to -1
    		endif
    	endif
    
    	if stage == 2
    		set stage to 3
    		messagebox "Was für Rüstung wollt ihr?" "Leichte" "Schwere" "Zurück" "Keine"
    	endif
    
    	if stage == 3
    		set button to getbuttonpressed
    		if button >= 0
    			if button == 0
    				aaGrowlfLightArmorREF.activate player
    				set stage to 4
    			elseif button == 1
    				aaGrowlfHeavyArmorREF.activate player
    				set stage to 4
    			elseif button == 2
    				set stage to 0
    			elseif button == 3
    				set stage to 4
    			endif
    			set button to -1
    		endif
    	endif
    
    	if stage == 4
    		set stage to 0
    		stopquest aaGrowlfQ
    	endif
    end

  2. #2
    Könnte sein, dass der nach dem StopQuest trotzdem noch den Rest durchläuft. Pack noch ein Return dahinter, dann sollte da keine MessageBox mehr kommen.


    Ansonsten sieht das Script soweit in Ordnung aus.

  3. #3
    ja, hat funktioniert, hätt ich aber auch selbst rausgefunden, wenn ich mich dazu herabgelassen hätte das CSwiki zu stopquest zu lesen:
    Zitat Zitat von CSwiki
    The quest script, if any, will stop running. *NOTE: This does not act as a Return function when called from a quests's own script. The script will continue running until the end of the last block.*
    Aber man lernt ja durch Trial and Error

Berechtigungen

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