Dark Brotherhood

Post » Sun Aug 23, 2009 10:15 pm

Hi. Iv just been testing and noticed that the dark brotherhood is still running (I killed someone and got the old '..been observed..' thing). I thought Id stopped it by adding a condition not to include a specific faction, and the eventual question would have been how do I turn it back on again.

Anyway, does anyone know how to turn off the dark brotherhood completely, and then at a later time turn it back on again (if possible)

Cheers

MVK
User avatar
Stacyia
 
Posts: 3361
Joined: Mon Jul 24, 2006 12:48 am

Post » Sun Aug 23, 2009 9:34 pm

Hi. Iv just been testing and noticed that the dark brotherhood is still running (I killed someone and got the old '..been observed..' thing). I thought Id stopped it by adding a condition not to include a specific faction, and the eventual question would have been how do I turn it back on again.

Anyway, does anyone know how to turn off the dark brotherhood completely, and then at a later time turn it back on again (if possible)

Cheers

MVK

What you want to do is setup some sort of condition system. We don't want the Dark Brotherhood script to run unless a certain variable has been set to a certain value. We can use an in-game menu system or OBSE functions to control that value. This shouldn't be too difficult. Give me a moment to look at this.
User avatar
Rude_Bitch_420
 
Posts: 3429
Joined: Wed Aug 08, 2007 2:26 pm

Post » Sun Aug 23, 2009 10:40 pm

Alright, I've created a little plugin which will allow you to enable/disable the Dark Brotherhood whenever you please. So if you want to go on a killing spree without getting a visit from a respectable gentleman called Lucien Lachance all you have to do is press a button on your keyboard and the "forces of unknown" will no longer be watching you.

If you think you deserve a visit from Lucien Lachance you can enable the Dark Brotherhood again by pressing the same key.

Technical details:
I created a quest and attached a script to this which will initialise whenever you load a savegame. It will load the settings for the mod (you can define the "Toggle key" in an ini file). Whenever you press the toggle key, the "DBDisable" flag is toggled (1 DB disabled, 0 DB enabled). If DBDisabled is set to 1, the Dark Brotherhood script won't run anymore. If it is set to 0, the Dark Brotherhood script will run as it normally does.

This does require OBSE, I hope that is not a problem for you.

http://rapidshare.com/files/362939444/Disable_Dark_Brotherhood.rar.html
MD5: 3DF5599A325D86BCACC72336950B6287
User avatar
Star Dunkels Macmillan
 
Posts: 3421
Joined: Thu Aug 31, 2006 4:00 pm

Post » Mon Aug 24, 2009 5:12 am

Thank Trademark, Ill download that and check it out, but its not exactly what I wanted to do!

Perhaps I didn't explain properly - I want to be able to turn off the DB for the duration of my mod, which involves much traveling and potential killing. I just don't want any of the main game quests getting in the way while the player is concentrating on the mod quests. However, if I complete a mod, Id like to be able to carry on playing the world with that character, so it would be nice if the DB were back again once all my own quests are done.

In other words Id like to be able to script/condition the DB to be off at the start of the mod, then script/condition them back on again when all my own quests are done. It shouldn't be in the players control at all.

[Edit] Forgot to mention - I started without OBSE, so for this mod at least Ill finish without it.

Cheers

MVK
User avatar
Wane Peters
 
Posts: 3359
Joined: Tue Jul 31, 2007 9:34 pm

Post » Sun Aug 23, 2009 7:49 pm

Ah sorry, I thought you just wanted to disable the Dark Brotherhood "on demand". No problem. The same theory still applies. We have to set condition like I have done that when set to 1, disables the DB.

Not sure if I can explain this properly to you, due to English not exactly being my native language, but I'll do my best.

What I would do is attach a script to your first quest, so that when your first quest starts a variable is set that disables the Dark Brotherhood. For example, if the quest reaches stage 10, let the script set the variable that disables the Dark Brotherhood.

ScriptName MyQuest01Scriptshort DBDisabledshort DoOnceBegin GameMode	if ( GetStage MyModQuest01 >= 10 ) && ( DoOnce == 0 )		set DBDisabled to 1		set DoOnce to 1	endifend


Now, we have set DBDisabled to 1, but this won't really do anything of course. We have to edit the DarkBrotherhoodScript script to include our condition:

scriptname DarkBrotherhoodScriptshort Murderershort MountHeadshort MotierreSurpriseshort HidesHeartSoundshort VampOffershort VampAcceptshort VampPlayershort SancDoorPass short LachanceVisitshort AssassinsPurifiedshort DraconisKilledshort LachanceGreetshort OcheevaGreetshort ArquenGreetshort ArquenBravilGreetshort RitualPositionshort ApplewatchEnabledfloat TeleportTimerfloat ArquenTalkTimershort HereHeComesshort Welcomefloat WelcomeTimershort Celedaenshort Perennia short ArenaBarrelshort FriendlyCatshort GarlicFloat fQuestDelayTimeshort DelayBegin GameModeif Delay == 0	set Dark00General.fQuestDelayTime to .5	set Delay to 1endif; Tracks when player is a murdererif Murderer == 0	if ( MyQuest01.DBDisabled == 0 )		if IsPCAMurderer == 1			StartQuest Dark01Knife			;Message "You have murdered an innocent in cold blood...."			Message "Your killing has been observed by forces unknown...."			LucienLachanceMurderRef.Enable			set Murderer to 1			set Dark00General.fQuestDelayTime to 0	endifendifEnd

Noticed how I added " if ( MyQuest01.DBDisabled == 0 )"? So in order for the Dark Brotherhood script to start the DB quests DBDisabled will have to be 0, but it isn't since your mod set it to 1.

Now of course, when your mod is done (The player has done the last quest) we will want to set our DBDisabled variable back to 0 in order for the DB to work again. You can do this by attaching a script to your last quest:
ScriptName MyQuest12Scriptshort DoOnceBegin GameMode	if ( GetStage MyModQuest12 == 100 ) && ( DoOnce == 0 )		set MyQuest01.DBDisabled to 0		set DoOnce to 1	endifend


To summarize it:

1. Your mod's first quest will start (MyQuest01)
2. As soon as it reaches stage 10, the variable DBDisabled will be set to 1, effectivly disabling the Dark Brotherhood start-up script
3. Once the player finishes the last quest (MyQuest12, stage 100) the DBDisabled variable in MyQuest01's script is set to 0 again, effectivly enabing the Dark Brotherhood start-up script

Hope this is useful.
User avatar
Sista Sila
 
Posts: 3381
Joined: Fri Mar 30, 2007 12:25 pm

Post » Mon Aug 24, 2009 7:30 am

Thanks Trademark, that's excellent.

MVK
User avatar
Ria dell
 
Posts: 3430
Joined: Sun Jun 25, 2006 4:03 pm

Post » Mon Aug 24, 2009 2:14 am

No problem, you're welcome. Glad I could be of some help xD
User avatar
Penny Wills
 
Posts: 3474
Joined: Wed Sep 27, 2006 6:16 pm


Return to IV - Oblivion