Mattiewagg Posted May 10, 2015 Share Posted May 10, 2015 This whole MCM thing is actually starting to melt my brain! I'm only just getting comfortable with scripts... and now I try my hand at this and "ArrggHH!". Firstly, am I missing something really simple here? Am I supposed to load something from SKI in to Ck because nothing compiles. Is that normal. And I don't quite grasp the ModName property referred to in the quickstart guide. If anyone wants to help. I'm looking to make a simple MCM menu that can deactivate Mharphin's idle dialogue quest and perhaps alter his actorbase aggression level EDIT: Doh! Just noticed this: https://github.com/schlangster/skyui/wiki Still if anyone wants to help.. it would be a lot quickerI haven't made an MCM in a while but... Let me give it a try. Scriptname MarphinMCMScript Extends SKI_ConfigBase float MarphinAggression = 1.0; default value of 1 {Determines Marphin's aggression, slider} bool MarphinIdle {Toggle Marphin's idle dialogue, toggle} Actor Property MarphinActor Auto Quest Property IdleQuest Auto; assuming you are Stop()ping idle quest, if setting a global then make a global prop instead and set that value event OnPageReset(string page) AddHeaderOption("Options") AddEmptyOption() AddToggleOptionST("MarphinIdleState", "Toggle Idle Dialogue", true) AddSliderOptionST("MarphinAggressionState", "Change Aggression", 1.0) endEvent State MarphinIdleState event OnSelectST() MarphinIdle = !MarphinIdle SetToggleOptionValueST(MarphinIdle) endEvent event OnDefaultST() MarphinIdle = true SetToggleOptionValueST(MarphinIdle) endEvent event OnHighlightST() SetInfoText("Turn Marphin's idle dialogue on or off.") endEvent EndState State MarphinAggressionState event OnSliderOpenST() SetSliderDialogStartValue(MarphinAggression) SetSliderDialogDefaultValue(1) SetSliderDialogRange(0, 3) SetSliderDialogInterval(1) endEvent event OnSliderAcceptST(float value) MarphinAggression = value SetSliderOptionValueST(MarphinAggression) endEvent event OnDefaultST() MarphinAggression = 1.0 SetSliderOptionValueST(MarphinAggression) endEvent event OnHighlightST() SetInfoText("Change Marphin's aggression level.\n 0 means he will not initiate combat. 1 means he will attack enemies on sight.\n 2 means he will attack enemies and neutral NPCs on sight, and 3 means he will attack anyone on sight.") endEvent EndState Event OnConfigClose() MarphinActor.SetActorValue("Aggression", MarphinAggression); may need a maintenance script on the player alias, don't recall, check and if so PM me if you need an example If MarphinIdle If !IdleQuest.IsRunning() IdleQuest.Start() EndIf Else IdleQuest.Stop() EndIf EndEvent It's untested but should work. I've messed about with MCMs a decent amount, judging by my mods. I think. :P Link to comment Share on other sites More sharing options...
skinnytecboy Posted May 10, 2015 Share Posted May 10, 2015 (edited) This whole MCM thing is actually starting to melt my brain! I'm only just getting comfortable with scripts... and now I try my hand at this and "ArrggHH!". Firstly, am I missing something really simple here? Am I supposed to load something from SKI in to Ck because nothing compiles. Is that normal. And I don't quite grasp the ModName property referred to in the quickstart guide. If anyone wants to help. I'm looking to make a simple MCM menu that can deactivate Mharphin's idle dialogue quest and perhaps alter his actorbase aggression level EDIT: Doh! Just noticed this: https://github.com/schlangster/skyui/wiki Still if anyone wants to help.. it would be a lot quickerI haven't made an MCM in a while but... Let me give it a try. Scriptname MarphinMCMScript Extends SKI_ConfigBase float MarphinAggression = 1.0; default value of 1 {Determines Marphin's aggression, slider} bool MarphinIdle {Toggle Marphin's idle dialogue, toggle} Actor Property MarphinActor Auto Quest Property IdleQuest Auto; assuming you are Stop()ping idle quest, if setting a global then make a global prop instead and set that value event OnPageReset(string page) AddHeaderOption("Options") AddEmptyOption() AddToggleOptionST("MarphinIdleState", "Toggle Idle Dialogue", true) AddSliderOptionST("MarphinAggressionState", "Change Aggression", 1.0) endEvent State MarphinIdleState event OnSelectST() MarphinIdle = !MarphinIdle SetToggleOptionValueST(MarphinIdle) endEvent event OnDefaultST() MarphinIdle = true SetToggleOptionValueST(MarphinIdle) endEvent event OnHighlightST() SetInfoText("Turn Marphin's idle dialogue on or off.") endEvent EndState State MarphinAggressionState event OnSliderOpenST() SetSliderDialogStartValue(MarphinAggression) SetSliderDialogDefaultValue(1) SetSliderDialogRange(0, 3) SetSliderDialogInterval(1) endEvent event OnSliderAcceptST(float value) MarphinAggression = value SetSliderOptionValueST(MarphinAggression) endEvent event OnDefaultST() MarphinAggression = 1.0 SetSliderOptionValueST(MarphinAggression) endEvent event OnHighlightST() SetInfoText("Change Marphin's aggression level.\n 0 means he will not initiate combat. 1 means he will attack enemies on sight.\n 2 means he will attack enemies and neutral NPCs on sight, and 3 means he will attack anyone on sight.") endEvent EndState Event OnConfigClose() MarphinActor.SetActorValue("Aggression", MarphinAggression); may need a maintenance script on the player alias, don't recall, check and if so PM me if you need an example If MarphinIdle If !IdleQuest.IsRunning() IdleQuest.Start() EndIf Else IdleQuest.Stop() EndIf EndEvent It's untested but should work. I've messed about with MCMs a decent amount, judging by my mods. I think. :PYou're a star sir! I did manage to find an old post http://forums.nexusmods.com/index.php?/topic/1748926-help-creating-mcm-menu/?fromsearch=1 And I kinda pieced one together between that and the one here (thanks CdCooley). Although it seemed to work, I hadn't quite set it up correctly (there was no fancy Cross hair in the toggle box, but I think this is because I hadn't set a default state). Yes I am using global to allow the idle quest to function or not. Just one last question if I may. Do I still need to add all the default script from configuration template? Edited May 10, 2015 by skinnytecboy Link to comment Share on other sites More sharing options...
Pevey Posted May 10, 2015 Share Posted May 10, 2015 I don't know what I would do without the wiki. I am so grateful for the people who have taken the time to add all that information. I certainly have not done my share. As to the MCM, that really shouldn't be your first attempt at Papyrus. That's more Intermediate level, you need to start at Beginner. Everyone starts there. Google for Cipcis and try some of his/her tutorials first. EDIT: I did it for you, here's a link: http://www.cipscis.com/skyrim/tutorials/beginners.aspx Link to comment Share on other sites More sharing options...
Mattiewagg Posted May 10, 2015 Share Posted May 10, 2015 This whole MCM thing is actually starting to melt my brain! I'm only just getting comfortable with scripts... and now I try my hand at this and "ArrggHH!". Firstly, am I missing something really simple here? Am I supposed to load something from SKI in to Ck because nothing compiles. Is that normal. And I don't quite grasp the ModName property referred to in the quickstart guide. If anyone wants to help. I'm looking to make a simple MCM menu that can deactivate Mharphin's idle dialogue quest and perhaps alter his actorbase aggression level EDIT: Doh! Just noticed this: https://github.com/schlangster/skyui/wiki Still if anyone wants to help.. it would be a lot quickerI haven't made an MCM in a while but... Let me give it a try. Scriptname MarphinMCMScript Extends SKI_ConfigBase float MarphinAggression = 1.0; default value of 1 {Determines Marphin's aggression, slider} bool MarphinIdle {Toggle Marphin's idle dialogue, toggle} Actor Property MarphinActor Auto Quest Property IdleQuest Auto; assuming you are Stop()ping idle quest, if setting a global then make a global prop instead and set that value event OnPageReset(string page) AddHeaderOption("Options") AddEmptyOption() AddToggleOptionST("MarphinIdleState", "Toggle Idle Dialogue", true) AddSliderOptionST("MarphinAggressionState", "Change Aggression", 1.0) endEvent State MarphinIdleState event OnSelectST() MarphinIdle = !MarphinIdle SetToggleOptionValueST(MarphinIdle) endEvent event OnDefaultST() MarphinIdle = true SetToggleOptionValueST(MarphinIdle) endEvent event OnHighlightST() SetInfoText("Turn Marphin's idle dialogue on or off.") endEvent EndState State MarphinAggressionState event OnSliderOpenST() SetSliderDialogStartValue(MarphinAggression) SetSliderDialogDefaultValue(1) SetSliderDialogRange(0, 3) SetSliderDialogInterval(1) endEvent event OnSliderAcceptST(float value) MarphinAggression = value SetSliderOptionValueST(MarphinAggression) endEvent event OnDefaultST() MarphinAggression = 1.0 SetSliderOptionValueST(MarphinAggression) endEvent event OnHighlightST() SetInfoText("Change Marphin's aggression level.\n 0 means he will not initiate combat. 1 means he will attack enemies on sight.\n 2 means he will attack enemies and neutral NPCs on sight, and 3 means he will attack anyone on sight.") endEvent EndState Event OnConfigClose() MarphinActor.SetActorValue("Aggression", MarphinAggression); may need a maintenance script on the player alias, don't recall, check and if so PM me if you need an example If MarphinIdle If !IdleQuest.IsRunning() IdleQuest.Start() EndIf Else IdleQuest.Stop() EndIf EndEvent It's untested but should work. I've messed about with MCMs a decent amount, judging by my mods. I think. :tongue:You're a star sir! I did manage to find an old post http://forums.nexusmods.com/index.php?/topic/1748926-help-creating-mcm-menu/?fromsearch=1 And I kinda pieced one together between that and the one here (thanks CdCooley). Although it seemed to work, I hadn't quite set it up correctly (there was no fancy Cross hair in the toggle box, but I think this is because I hadn't set a default state). Yes I am using global to allow the idle quest to function or not. Just one last question if I may. Do I still need to add all the default script from configuration template? You still need to add the default script onto the player. And Pevey, it's not his first script. Unless you were talking about the OP, then nvm. Link to comment Share on other sites More sharing options...
Recommended Posts