since I am able to anolyse scripts in order to translate them without destroying the code, this is my first attempt to modify some scripts from mods I use in order to delay the quest messageboxes some days later the beginning of a new game. I find annoying the pop ups just after loading the game, or even just after starting a new game. Since this changes are only for my own use, I hope the original authors won't be disappointed.
I would appreciate the assurance from any coder or modder that I don't have messed up anything, and since two of the three mods I modified are quest mod (already completed), I would avoid to disable them just to see the effect - because this way I should play the quests from the beginning. The script are very short and the changes minimal, don't worry, I'm not asking you to spend the day anolysing my stuff...
Here are the code from http://www.tesnexus.com/downloads/file.php?id=26524
Spoiler
Original code:
--------------
SCN DAHTActivatorQuestScript
Short DAHTStageFlag
Begin GameMode
If ( DAHTCrystalBallActivatorREF.GetInSameCell Player == 0 ) && ( IsPlayerMovingIntoNewSpace == 0 )
If ( Player.IsInInterior == 1 ) && ( Player.GetInCell CheydinhalSanctuary == 0 ) && ( Player.GetinCell ParadiseCamoranFortress == 0 )
DAHTCrystalBallActivatorREF.MoveTo Player 0 0 150
DAHTCrystalBallActivatorREF.Cast DAHTActivatorSpell Player
EndIf
EndIf
If ( DAHTStageFlag == 0 )
SetStage DAHTQuest 10
Set DAHTStageFlag to 1
EndIf
End
Modified code:
---------------------------------
SCN DAHTActivatorQuestScript
Short days
Short DAHTStageFlag
Begin GameMode
If ( DAHTCrystalBallActivatorREF.GetInSameCell Player == 0 ) && ( IsPlayerMovingIntoNewSpace == 0 ) && (GameDaysPassed - days >= 3)
If ( Player.IsInInterior == 1 ) && ( Player.GetInCell CheydinhalSanctuary == 0 ) && ( Player.GetinCell ParadiseCamoranFortress == 0 )
DAHTCrystalBallActivatorREF.MoveTo Player 0 0 150
DAHTCrystalBallActivatorREF.Cast DAHTActivatorSpell Player
EndIf
EndIf
If ( DAHTStageFlag == 0 )
SetStage DAHTQuest 10
Set DAHTStageFlag to 1
EndIf
End
Original code:
--------------
SCN DAHTActivatorQuestScript
Short DAHTStageFlag
Begin GameMode
If ( DAHTCrystalBallActivatorREF.GetInSameCell Player == 0 ) && ( IsPlayerMovingIntoNewSpace == 0 )
If ( Player.IsInInterior == 1 ) && ( Player.GetInCell CheydinhalSanctuary == 0 ) && ( Player.GetinCell ParadiseCamoranFortress == 0 )
DAHTCrystalBallActivatorREF.MoveTo Player 0 0 150
DAHTCrystalBallActivatorREF.Cast DAHTActivatorSpell Player
EndIf
EndIf
If ( DAHTStageFlag == 0 )
SetStage DAHTQuest 10
Set DAHTStageFlag to 1
EndIf
End
Modified code:
---------------------------------
SCN DAHTActivatorQuestScript
Short days
Short DAHTStageFlag
Begin GameMode
If ( DAHTCrystalBallActivatorREF.GetInSameCell Player == 0 ) && ( IsPlayerMovingIntoNewSpace == 0 ) && (GameDaysPassed - days >= 3)
If ( Player.IsInInterior == 1 ) && ( Player.GetInCell CheydinhalSanctuary == 0 ) && ( Player.GetinCell ParadiseCamoranFortress == 0 )
DAHTCrystalBallActivatorREF.MoveTo Player 0 0 150
DAHTCrystalBallActivatorREF.Cast DAHTActivatorSpell Player
EndIf
EndIf
If ( DAHTStageFlag == 0 )
SetStage DAHTQuest 10
Set DAHTStageFlag to 1
EndIf
End
Here are the code from http://www.tesnexus.com/downloads/file.php?id=25574
Spoiler
Original code:
--------------
Scriptname CSVQuestScript
short AskedThorbald
short AskedJohann
short DayOfFullfill
Begin GameMode
if ( GetStage CSVcastleseaview < 10 )
if ( GetQR Charactergen != 1 )
if ( Player.GetInWorldspace Tamriel == 1 )
SetStage CSVcastleseaview 10
endif
endif
elseif ( GetStage CSVcastleseaview < 60 )
if ( GetStage CSVQ01 >= 100 )
if ( GetStage CSVQ02 >= 100 )
if ( GetStage CSVQ03 >= 100 )
SetStage CSVcastleseaview 60
endif
endif
endif
elseif ( GetStage CSVcastleseaview == 70 )
if ( DayOfFullfill != GameDaysPassed )
SetStage CSVcastleseaview 80
endif
endif
End
Midified code:
--------------
Scriptname CSVQuestScript
short days
short AskedThorbald
short AskedJohann
short DayOfFullfill
Begin GameMode
if ( GetStage CSVcastleseaview < 10 )
if ( GetQR Charactergen != 1 )
if ( Player.GetInWorldspace Tamriel == 1 ) && (GameDaysPassed - days >= 7)
SetStage CSVcastleseaview 10
endif
endif
elseif ( GetStage CSVcastleseaview < 60 )
if ( GetStage CSVQ01 >= 100 )
if ( GetStage CSVQ02 >= 100 )
if ( GetStage CSVQ03 >= 100 )
SetStage CSVcastleseaview 60
endif
endif
endif
elseif ( GetStage CSVcastleseaview == 70 )
if ( DayOfFullfill != GameDaysPassed )
SetStage CSVcastleseaview 80
endif
endif
End
Original code:
--------------
Scriptname CSVQuestScript
short AskedThorbald
short AskedJohann
short DayOfFullfill
Begin GameMode
if ( GetStage CSVcastleseaview < 10 )
if ( GetQR Charactergen != 1 )
if ( Player.GetInWorldspace Tamriel == 1 )
SetStage CSVcastleseaview 10
endif
endif
elseif ( GetStage CSVcastleseaview < 60 )
if ( GetStage CSVQ01 >= 100 )
if ( GetStage CSVQ02 >= 100 )
if ( GetStage CSVQ03 >= 100 )
SetStage CSVcastleseaview 60
endif
endif
endif
elseif ( GetStage CSVcastleseaview == 70 )
if ( DayOfFullfill != GameDaysPassed )
SetStage CSVcastleseaview 80
endif
endif
End
Midified code:
--------------
Scriptname CSVQuestScript
short days
short AskedThorbald
short AskedJohann
short DayOfFullfill
Begin GameMode
if ( GetStage CSVcastleseaview < 10 )
if ( GetQR Charactergen != 1 )
if ( Player.GetInWorldspace Tamriel == 1 ) && (GameDaysPassed - days >= 7)
SetStage CSVcastleseaview 10
endif
endif
elseif ( GetStage CSVcastleseaview < 60 )
if ( GetStage CSVQ01 >= 100 )
if ( GetStage CSVQ02 >= 100 )
if ( GetStage CSVQ03 >= 100 )
SetStage CSVcastleseaview 60
endif
endif
endif
elseif ( GetStage CSVcastleseaview == 70 )
if ( DayOfFullfill != GameDaysPassed )
SetStage CSVcastleseaview 80
endif
endif
End
The change should hopefully delay the start of the quest after 7 days of gameplay. If I found the castle in the meantime, the quest should advance skipping the first advice (about rumors), right?
And finally this is the code from http://www.tesnexus.com/downloads/file.php?id=2747
Spoiler
Original code:
--------------
Scriptname SBuyKumikoManor
;Script by Shawn Dworshak
;This script keeps all outer doors locked until the home is bought.
;The Bought variable is global, as it is used in many future scripts.
short timer
short doOnce
short button
Begin GameMode
;Upon loading of the plugin initially, display a message of requirments to the player
if(doOnce == 0)
MessageBox "Welcome to Kumiko Manor 2.15! The latest patch for Oblivion MUST be installed to run this mod with full functionality and no crashing. Please make sure your Oblivion.ini setting bBorderRegionsEnabled is set to 0! Thank you for using Kumiko Manor 2.15! -Shawn", "I didn't read this, show it again!", "I actually read this, let me play!"
AddTopic AeliyahIntro
AddTopic KumikoManorDescription
AddTopic WantACoke
AddTopic Bofgroth
AddTopic Keymaster
AddTopic SServices
AddTopic SortMyIngredients
AddTopic FeedingTime
set doOnce to 1
endif
if(doOnce == 1)
set button to GetButtonPressed
if(button > -1)
if(button == 0)
MessageBox "Welcome to Kumiko Manor 2.1! The latest patch for Oblivion MUST be installed to run this mod with full functionality and no crashing. Please make sure your Oblivion.ini setting bBorderRegionsEnabled is set to 0! Thank you for using Kumiko Manor 2.1! -Shawn", "I didn't read this, show it again!", "I actually read this, let me play!"
elseif(button == 1)
set button to -1
endif
endif
endif
Modified code:
--------------
Scriptname SBuyKumikoManor
;Script by Shawn Dworshak
;This script keeps all outer doors locked until the home is bought.
;The Bought variable is global, as it is used in many future scripts.
short timer
short doOnce
short button
Begin GameMode
if(doOnce == 0)
AddTopic AeliyahIntro
AddTopic KumikoManorDescription
AddTopic WantACoke
AddTopic Bofgroth
AddTopic Keymaster
AddTopic SServices
AddTopic SortMyIngredients
AddTopic FeedingTime
set doOnce to 1
endif
Original code:
--------------
Scriptname SBuyKumikoManor
;Script by Shawn Dworshak
;This script keeps all outer doors locked until the home is bought.
;The Bought variable is global, as it is used in many future scripts.
short timer
short doOnce
short button
Begin GameMode
;Upon loading of the plugin initially, display a message of requirments to the player
if(doOnce == 0)
MessageBox "Welcome to Kumiko Manor 2.15! The latest patch for Oblivion MUST be installed to run this mod with full functionality and no crashing. Please make sure your Oblivion.ini setting bBorderRegionsEnabled is set to 0! Thank you for using Kumiko Manor 2.15! -Shawn", "I didn't read this, show it again!", "I actually read this, let me play!"
AddTopic AeliyahIntro
AddTopic KumikoManorDescription
AddTopic WantACoke
AddTopic Bofgroth
AddTopic Keymaster
AddTopic SServices
AddTopic SortMyIngredients
AddTopic FeedingTime
set doOnce to 1
endif
if(doOnce == 1)
set button to GetButtonPressed
if(button > -1)
if(button == 0)
MessageBox "Welcome to Kumiko Manor 2.1! The latest patch for Oblivion MUST be installed to run this mod with full functionality and no crashing. Please make sure your Oblivion.ini setting bBorderRegionsEnabled is set to 0! Thank you for using Kumiko Manor 2.1! -Shawn", "I didn't read this, show it again!", "I actually read this, let me play!"
elseif(button == 1)
set button to -1
endif
endif
endif
Modified code:
--------------
Scriptname SBuyKumikoManor
;Script by Shawn Dworshak
;This script keeps all outer doors locked until the home is bought.
;The Bought variable is global, as it is used in many future scripts.
short timer
short doOnce
short button
Begin GameMode
if(doOnce == 0)
AddTopic AeliyahIntro
AddTopic KumikoManorDescription
AddTopic WantACoke
AddTopic Bofgroth
AddTopic Keymaster
AddTopic SServices
AddTopic SortMyIngredients
AddTopic FeedingTime
set doOnce to 1
endif
I simply removed the part regarding the messagebox, actually they warn you about the requirements, nothing else.
I would like to know if my changes are effective and not harmful when I will start a new game...
Thanks in advance!!!