Jump to content

MCM programming Help


securenym

Recommended Posts

Hello and thank you in advance for any and all help.

I am trying To Improve my Advanced Medical Scanner MCM mod by allowing the user to view either The Player's Data or a NPC's data.

Unfortunately I can't seem to either Make a second Menu that works or use an if elseif to get one or the other menus to load.

I've tried rewriting the code from scratch and trying different ways, but I know that it is something staring me in the face and I can't see it.

Is there a complete idiots guide to MCM that I am missing, cause I really think it would help me with these dark arts. :-)

The full non working esp can be found at http://s000.tinyupload.com/index.php?file_id=00231145925328384039

The script In question is :

 

 

 

scn AdvMedScannerMCMScript

int iOption
int ISubMenu1
int iTemp
int iSelf
float fTemp
float fTemp1
float fTemp2
float fTemp3

float fValue
ref rTargetNPC
ref rPlayer
ref rList
short  iMouseover 
short iMaster


begin GameMode
	if GetGameRestarted
		if IsModLoaded "The Mod Configuration Menu.esp"
			set iMaster to GetModIndex "The Mod Configuration Menu.esp"
			set rList to BuildRef iMaster 2790
			ListAddForm rList AMSMCMToken
		endif
	endif
end


Begin MenuMode 1013
set rPlayer to PlayerRef
set rTargetNPC to GetCrosshairRef


	if 0 == IsModLoaded "The Mod Configuration Menu.esp"
		Return
	endif
	

	if GetUIFloat "StartMenu/MCM/_ActiveMod" == GetModIndex "AdvMedScan.esp"
		Set iOption to GetUIFloat "StartMenu/MCM/_ActiveOption"
		Set fValue to GetUIFloat "StartMenu/MCM/_Value"
		Set ISubMenu1 to GetUIFloat "StartMenu/MCM/_ActiveSubMenu"

		if rTargetNPC == 0  ;No one around Player is target

			if GetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" == 0
				SetUIFloat "StartMenu/MCM/_ActiveSubMenu" 0
	
				SetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu1/text/string" "Player Basic Scan"
				SetUIString "StartMenu/MCM/*:8/SubTitle1/string" "Player basic scan"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu2/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu2/text/string" "Player Role Data 1"
				SetUIString "StartMenu/MCM/*:8/SubTitle2/string" "Player Role Data"
	
				SetUIFloat "StartMenu/MCM/*:5/SubMenu3/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu3/text/string" "Player Role Data 2"
				SetUIString "StartMenu/MCM/*:8/SubTitle3/string" "Player Role Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu4/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu4/text/string" "Player Species Data 1"
				SetUIString "StartMenu/MCM/*:8/SubTitle4/string" "Player Species Data"
	
				SetUIFloat "StartMenu/MCM/*:5/SubMenu5/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu5/text/string" "Player Species Data 2"
				SetUIString "StartMenu/MCM/*:8/SubTitle5/string" "Player Species Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu6/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu6/text/string" "Player Species Data 3"
				SetUIString "StartMenu/MCM/*:8/SubTitle6/string" "Player Species Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu7/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu7/text/string" "Player Pregnancy Data"
				SetUIString "StartMenu/MCM/*:8/SubTitle7/string" "Player Pregnancy Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu8/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu8/text/string" "Player Drug and BodyMorph Data"
				SetUIString "StartMenu/MCM/*:8/SubTitle8/string" "Player Drug and BodyMorph Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu9/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu9/text/string" "Player Special Data"
				SetUIString "StartMenu/MCM/*:8/SubTitle9/string" "Player Special Data"
			endif

		endif
	
		if rTargetNPC ; NPC Target??
			if GetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" == 0
				SetUIFloat "StartMenu/MCM/_ActiveSubMenu" 0

				SetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu1/text/string" "NPC Basic Scan"
				SetUIString "StartMenu/MCM/*:8/SubTitle1/string" "NPC basic scan"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu2/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu2/text/string" "NPC Role Data 1"
				SetUIString "StartMenu/MCM/*:8/SubTitle2/string" "NPC Role Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu3/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu3/text/string" "NPC Role Data 2"
				SetUIString "StartMenu/MCM/*:8/SubTitle3/string" "NPC Role Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu4/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu4/text/string" "NPC Species Data 1"
				SetUIString "StartMenu/MCM/*:8/SubTitle4/string" "NPC Species Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu5/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu5/text/string" "NPC Species Data 2"
				SetUIString "StartMenu/MCM/*:8/SubTitle5/string" "Player Species Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu6/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu6/text/string" "NPC Species Data 3"
				SetUIString "StartMenu/MCM/*:8/SubTitle6/string" "NPC Species Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu7/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu7/text/string" "NPC Pregnancy Data"
				SetUIString "StartMenu/MCM/*:8/SubTitle7/string" "NPC Pregnancy Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu8/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu8/text/string" "NPC Drug and BodyMorph Data"
				SetUIString "StartMenu/MCM/*:8/SubTitle8/string" "NPC Drug and BodyMorph Data"

				SetUIFloat "StartMenu/MCM/*:5/SubMenu9/_enable" 1
				SetUIString "StartMenu/MCM/*:5/SubMenu9/text/string" "NPC Special and Skills Data"
				SetUIString "StartMenu/MCM/*:8/SubTitle9/string" "NPC Special and Skills Data"
			endif
		endif
		if GetUIFloat "StartMenu/MCM/_Reset"			;1 - RESET
			SetUIFloat "StartMenu/MCM/_Reset" 0
			SetUIFloat "StartMenu/MCM/MCM_Options/_columns" 1

			if rTargetNPC == 0 ;No one around Player is target

				if ISubMenu1 == 1 ;*Player basic Scan
					SetStage AMSMCMQuest 10
				Endif

				if ISubMenu1 == 2 ;*Player Role Data 1
					setstage AMSMCMQuest 20
				endif

				if ISubMenu1 ==3 ;*Player Role Data 2
					setstage AMSMCMQuest 30
				endif

				if ISubMenu1 ==4 ;*Player Species data 1
					setstage AMSMCMQuest 40
				endif

				if ISubMenu1 ==5 ;*Player Species data 2
					setstage AMSMCMQuest 50
				endif

				if ISubMenu1 ==6 ;*Player Species data 3
					setstage AMSMCMQuest 60
				endif

				if ISubMenu1 ==7 ;*Player Pregnancy Data
					setstage AMSMCMQuest 70
				endif

				if ISubMenu1 ==8 ;*Player Drug and Body Morph data
					setstage AMSMCMQuest 80
				endif

				if ISubMenu1 ==9 ;*Player Special and Skills
					setstage AMSMCMQuest 90
				endif
			endif

			if rTargetNPC ;NPC Target???

				if ISubMenu1 == 1 ;*NPC Basic data
					SetStage AMSMCMQuest 110
				Endif

				if ISubMenu1 == 2 ;* NPC Role Data 1
					setstage AMSMCMQuest 120
				endif

				if ISubMenu1 ==3 ;*NPC Role Data 2
					setstage AMSMCMQuest 130
				endif

				if ISubMenu1 ==4 ;* NPC Species Data 1
					setstage AMSMCMQuest 140
				endif

				if ISubMenu1 ==5 ;* NPC Species Data 2
					setstage AMSMCMQuest 150
				endif

				if ISubMenu1 ==6 ;*Npc Species Data 3
					setstage AMSMCMQuest 160
				endif

				if ISubMenu1 ==7 ;*NPC Pregnancy Data
					setstage AMSMCMQuest 170
				endif

				if ISubMenu1 ==8 ;* NPC Drug and BodyMorph Data
					setstage AMSMCMQuest 180
				endif

				if ISubMenu1 ==9 ;* NPC Skills and Special
					setstage AMSMCMQuest 190
				endif
			endif


		if iMouseover != GetUIFloat "StartMenu/MCM/*:1/_optionID"		;7 - MOUSE-OVER
			set iMouseover to GetUIFloat "StartMenu/MCM/*:1/_optionID"
			if iMouseover
				SetUIFloat "StartMenu/MCM/MCM_Info/visible" 1

				if iMouseover == 1
				else
					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
				endif
			else
				SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
			endif
		endif
	endif
endif
end

 

 

 

Securenym

Link to comment

Thanks for the response, looking at your code I would say that is Skyrim code.

 

I am sorry, I should have said that it is Fallout NV MCM that I am trying to script.

@zippy57 thank you , I have read that one and can make the Submenus, but when Trying to Make 2 seperate Menus with submenus I can only do it with 2 seperate plugins.

 

Securenym

Link to comment

Yes I had AMSMCMToken1 and AMSMCMToken2.

I was looking at RaceBodyMorph's MCM script to see how he did it.

 

Of course after posting and trying something new yet again, I fixed it.

I copy pasted the original MCM script and never changed the

if GetUIFloat "StartMenu/MCM/_ActiveMod" == GetModIndex "AdvMedScan.esp"

to

if GetUIFloat "StartMenu/MCM/_ActiveMod" == GetModIndex "AMS7.esp"

 

I am a total IDIOT! :blush: 

My new AMS8.esp loaded and i was able to view my data and then walk over to Doc Mitchel and View His.

Time to clean it up and get it ready to share :D

 

THANK YOU!!!!

 

Securenym

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use