I need someone to error-check this script for me, so if you could help me? Thanks!
(Darn, I partially screwed-up the title of this topic, the correct title should be DABoethiaStatueScript needs error-check)
ScriptName DABoethiaStatueScript
short BoethiaSpeech
short button
short messageOn
float timer
short doorVAR
;This section will control what happens when the player activates the statue
Begin OnActivate
if isActionRef player == 1
if ( GetStage DABoethia < 20 ) && ( Player.GetLevel >= 20 )
if ( player.getitemcount DaedraHeart == 0 )
MessageBox "You do not have the proper offering Boethia requires."
elseif ( player.getitemcount DaedraHeart > 0 )
MessageBox "Do you wish to offer Daedra Heart to the altar of Boethia?" "Yes" "No"
set messageOn to 1
endif
elseif ( GetStage DABoethia == 30 ) && ( Player.GetLevel >= 20 )
set BoethiaSpeech to 6
elseif ( Player.GetLevel < 20 )
MessageBox "Boethia demands a more powerful champion to begin this quest."
endif
endif
if ( GetStage DABoethia == 100 ) && ( player.getitemcount DaedraHeart == 0 )
MessageBox "You do not have the 5 Daedric Hearts Boethia requires."
elseif ( GetStage DABoethia == 100 ) && ( player.getitemcount DaedraHeart > 5 )
MessageBox "Champion! Do you wish to be tested again?" "Yes" "No"
set messageOn to 1
endif
endif
End
;This section will control the audio files played when the statue is activated
Begin GameMode
if ( messageOn == 1 )
set button to GetButtonPressed
if ( button >= 0 )
set messageOn to 0
endif
if ( button == 0 ) && ( BoethiaSpeech == 0 )
Player.RemoveItem DaedraHeart 1
;MessageBox "Your offering is accepted."
set button to 0
set BoethiaSpeech to 1
else
set button to 0
endif
if ( messageOn == 1 ) && ( GetStage DABoethia == 100 )
Set button to GetButtonPressed
if ( button >= 0 )
set messageOn to 0
endif
if ( button == 0 )
Player.RemoveItem DaedraHeart 5
;MessageBox "Your offering is accepted."
set DABoethia.doorVAR to 1
player.MoveToMarker DABoethiaMoveMarkerREF
elseif ( button == 1 )
set button to 0
endif
set timer to ( timer - GetSecondsPassed )
if ( timer <= 0 )
if ( GetStage DABoethia <= 10 )
if ( BoethiaSpeech == 1 )
;PLAY AUDIO
DisablePlayerControls
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 2
elseif ( BoethiaSpeech == 2 )
;PLAY AUDIO2
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 3
elseif ( BoethiaSpeech == 3 )
;PLAY AUDIO3
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 4
elseif ( BoethiaSpeech == 4 )
;PLAY AUDIO4
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 5
elseif ( BoethiaSpeech == 5 )
SetStage DABoethia 20
EnablePlayerControls
DABoethiaPortalRef.enable
Set DABoethia.warriorvar to 1
endif
elseif ( GetStage DABoethia == 30 )
if ( BoethiaSpeech == 6 )
;PLAY AUDIO5
DisablePlayerControls
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 7
elseif ( BoethiaSpeech == 7 )
;PLAY AUDIO6
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 8
elseif ( BoethiaSpeech == 8 )
EnablePlayerControls
SetStage DABoethia 100
Player.AddItem DAGoldBrand 1
ModPCFame 1
endif
endif
endif
End
short BoethiaSpeech
short button
short messageOn
float timer
short doorVAR
;This section will control what happens when the player activates the statue
Begin OnActivate
if isActionRef player == 1
if ( GetStage DABoethia < 20 ) && ( Player.GetLevel >= 20 )
if ( player.getitemcount DaedraHeart == 0 )
MessageBox "You do not have the proper offering Boethia requires."
elseif ( player.getitemcount DaedraHeart > 0 )
MessageBox "Do you wish to offer Daedra Heart to the altar of Boethia?" "Yes" "No"
set messageOn to 1
endif
elseif ( GetStage DABoethia == 30 ) && ( Player.GetLevel >= 20 )
set BoethiaSpeech to 6
elseif ( Player.GetLevel < 20 )
MessageBox "Boethia demands a more powerful champion to begin this quest."
endif
endif
if ( GetStage DABoethia == 100 ) && ( player.getitemcount DaedraHeart == 0 )
MessageBox "You do not have the 5 Daedric Hearts Boethia requires."
elseif ( GetStage DABoethia == 100 ) && ( player.getitemcount DaedraHeart > 5 )
MessageBox "Champion! Do you wish to be tested again?" "Yes" "No"
set messageOn to 1
endif
endif
End
;This section will control the audio files played when the statue is activated
Begin GameMode
if ( messageOn == 1 )
set button to GetButtonPressed
if ( button >= 0 )
set messageOn to 0
endif
if ( button == 0 ) && ( BoethiaSpeech == 0 )
Player.RemoveItem DaedraHeart 1
;MessageBox "Your offering is accepted."
set button to 0
set BoethiaSpeech to 1
else
set button to 0
endif
if ( messageOn == 1 ) && ( GetStage DABoethia == 100 )
Set button to GetButtonPressed
if ( button >= 0 )
set messageOn to 0
endif
if ( button == 0 )
Player.RemoveItem DaedraHeart 5
;MessageBox "Your offering is accepted."
set DABoethia.doorVAR to 1
player.MoveToMarker DABoethiaMoveMarkerREF
elseif ( button == 1 )
set button to 0
endif
set timer to ( timer - GetSecondsPassed )
if ( timer <= 0 )
if ( GetStage DABoethia <= 10 )
if ( BoethiaSpeech == 1 )
;PLAY AUDIO
DisablePlayerControls
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 2
elseif ( BoethiaSpeech == 2 )
;PLAY AUDIO2
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 3
elseif ( BoethiaSpeech == 3 )
;PLAY AUDIO3
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 4
elseif ( BoethiaSpeech == 4 )
;PLAY AUDIO4
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 5
elseif ( BoethiaSpeech == 5 )
SetStage DABoethia 20
EnablePlayerControls
DABoethiaPortalRef.enable
Set DABoethia.warriorvar to 1
endif
elseif ( GetStage DABoethia == 30 )
if ( BoethiaSpeech == 6 )
;PLAY AUDIO5
DisablePlayerControls
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 7
elseif ( BoethiaSpeech == 7 )
;PLAY AUDIO6
set timer to DABoethiaShrineRef.say DABoethiaSpeech 1 DABoethiaVoice 1
set BoethiaSpeech to 8
elseif ( BoethiaSpeech == 8 )
EnablePlayerControls
SetStage DABoethia 100
Player.AddItem DAGoldBrand 1
ModPCFame 1
endif
endif
endif
End
Maybe two or more (of the added) lines could be merged into one to make this script more efficient, but I don't know how
