Jump to content

So SkyUI MCM has a 128 mods registration limit...


Barzing

Recommended Posts

Ok, i just found that it has never been mentioned anywhere before, but MCM has a 128 Menu items limit.

 

I noticed some menu was missing in MCM, so i i went in console and launched the command "setstage SKI_ConfigManagerInstance 1" and a message told me that 128 menus were loaded. But some menus where still missing. I added some more plugins with MCM Menus but even launching the console command to refresh MCM, it still blocked at 128.

 

So, it seems i reached the hard cap on it.

 

If anyone already succeded to override this limit, i would be interested to know it.

 

Link to comment

No, the max number of options you can put in a single page is 128. There is no way to go beyond.

If you really need more, then you need to split the page in multiple pages, and do what is called "pagination".

Link to comment

No, the max number of options you can put in a single page is 128. There is no way to go beyond.

If you really need more, then you need to split the page in multiple pages, and do what is called "pagination".

 

Thanks for your answer CPU.

 

Is it a SKYUI option  ?

I understand how to pagine in a MCM Menu, but u can do that in first MCM page itself ?

 

I assume it has to be done editing the swf file.

Link to comment

Nope, all is done in Papyrus.

 

Let's say you have an array of 300 strings you want to show.

They will not fit in a single page.

 

Put you can have a "page index" (a dropdown for example) where you can show (let's say) 100 items at time.

 

Something like:

 

 

Event onPageReset(string page)
  if page=="myPaginatedPage"
    myPaginatedPage()
  endIf
endEvent
 
int pageIndex=0
 
Function myPaginatedPage()
  AddmenuOptionST("pageIndexMN", "Page Index", pageIndexes[pageIndex])
  int i = 100 * pageIndex
  while i < 100 * (pageIndex+1)
    AddTextOptionST("something", myStrings[i], "Nothing")
    i+=1
  endWhile
endFunction
 
state pageIndexMN
  event balhblahbla...
endState

 

Link to comment

 

Nope, all is done in Papyrus.

 

Let's say you have an array of 300 strings you want to show.

They will not fit in a single page.

 

Put you can have a "page index" (a dropdown for example) where you can show (let's say) 100 items at time.

 

Something like:

Event onPageReset(string page)
  if page=="myPaginatedPage"
    myPaginatedPage()
  endIf
endEvent
 
int pageIndex=0
 
Function myPaginatedPage()
  AddmenuOptionST("pageIndexMN", "Page Index", pageIndexes[pageIndex])
  int i = 100 * pageIndex
  while i < 100 * (pageIndex+1)
    AddTextOptionST("something", myStrings[i], "Nothing")
    i+=1
  endWhile
endFunction
 
state pageIndexMN
  event balhblahbla...
endState

 

So you are suggesting me to modify the SKI_ConfigManager.psc ? ok   :D why not ... i'm going to check that then.

It looks something can be done in function RegisterMod :

int function RegisterMod(SKI_ConfigBase a_menu, string a_modName)
	GotoState("BUSY")
	;Log("Registering config menu: " + a_menu + "(" + a_modName + ")")

	if (_configCount >= 128)
		GotoState("")
		return -1
	endIf

AS you can see, there is already a check on the 128 limit

Link to comment

I think we can play on these functions unlocking the 128 limit, it's just a question of pagination as you mentioned :

event OnModSelect(string a_eventName, string a_strArg, float a_numArg, Form a_sender)
	int configIndex = a_numArg as int
	if (configIndex > -1)

		; We can clean the buffers of the previous menu now
		if (_activeConfig)
			_activeConfig.CloseConfig()
		endIf

		_activeConfig = _modConfigs[configIndex]
		_activeConfig.OpenConfig()
	endIf
	UI.InvokeBool(JOURNAL_MENU, MENU_ROOT + ".unlock", true)
endEvent

event OnPageSelect(string a_eventName, string a_strArg, float a_numArg, Form a_sender)
	string page = a_strArg
	int index = a_numArg as int
	_activeConfig.SetPage(page, index)
	UI.InvokeBool(JOURNAL_MENU, MENU_ROOT + ".unlock", true)
endEvent
Link to comment
  • 2 months later...
  • 2 weeks later...
  • 1 month later...

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