#KittsMenuSystem (Based on SSMenuSystem)

1 messages · Page 1 of 1 (latest)

mental knoll
hazy sparrow
mental knoll
# hazy sparrow

Hey man, I was just taking something outdated that I've been using, I updated it to my needs so I could keep using it and now I'm sharing it, no harm in that, besides I'd be more than happy to update this plugin to cover anyone's use case to make the "one universal standard", they just gotta let me know what they want and I can put it in the next update for them, it's not that hard.

hazy sparrow
#

It's just me observing an ongoing phenomenon

mental knoll
mental knoll
# hazy sparrow It's just me observing an ongoing phenomenon

Well I mean, it makes sense, there are SO many ways to format the same concept, even I've seen many, but people prefer ones over others, that like the main reason it happens, it'd be very hard to reach that "universal standard" because then it would mean everyone would have to like the same thing, and we don't sooo

hazy sparrow
#

I just make most everything myself so I don't have to depend on other people to maintain their projects

mental knoll
#

For exmaple, both HintServiceMeow and RueI are hint frameworks, but I don't like the utilization of RueI, so I use Hint Service Meow

mental knoll
#

I plan on making my own hint framework, becuase there are some things I dont like with HintServiceMeow sooo

#

It's all about preference, in my opinion KittsMenySystem is the easiest way to make a menu, and also easy while still being neat when you get into big menus

sullen reef
hazy sparrow
mental knoll
jovial ferry
#

idek how when HSM is in an unmaintained state but go on

hazy sparrow
#

RueI hasn't received an update since October, it would also be considered to be in an unmaintained state

#

Especially given that it has glaring bugs that multiple people experience

#

Including you

#

At least HSM doesn't have those bugs + it has horizontal positioning

jovial ferry
#

whereas with paws tho, she will fix it

hazy sparrow
#

You've literally had to fix bugs yourself

#

😭

#

I've seen the chat

jovial ferry
#

it's not a critical bug

hazy sparrow
#

HSM doesn't have critical bugs

#

Your whole argument makes no sense

jovial ferry
#

if it did, it wouldnt get fixed for ages

hazy sparrow
jovial ferry
#

i think you're overthinking it

#

but ok

hazy sparrow
#

That's wild

hazy sparrow
#

I feel like you're not appreciating the irony here

#

My goal here is not to hate on anyone but I feel you're not being objective about this

hazy sparrow
#

I've said this privately to people before but RueI is like one step removed from just being a plugin that combines raw text into one string to be able to send it to clients

#

It's not user friendly, it has actively broken features which have been broken for, what, 3+ months now?

#

No horizontal positioning

#

And I hate the "Unity has a tag for it!" argument because Unity also has the <vo> tag

sonic cosmos
#

guys guys

hazy sparrow
#

This is the wrong place to be ranting lmao

sonic cosmos
#

go to ruei

hazy sparrow
#

My bad

sonic cosmos
#

problem solved

hazy sparrow
#

Atp just make your own hint manager

rugged fern
# hazy sparrow HSM performance:

And HSM is easy to explain and easy to work with, so we know what works well. It’s better to stick with HSM than switch to RUEI.

sonic cosmos
mental knoll
#

@hazy sparrow @jovial ferry I have no idea why you guys were arguing about HSM being unmaintained and stuff, I'm like 98% sure I said I was going to make my own, I'm using HSM until I make my own because I like how easy it is to use, besides, I plan to make something that is very easy to use and understand like HSM but doesn't have horrible ideas that Axwabo mentioned and also with like, pretty much next day response time

hazy sparrow
#

There's definitely demand for it

rugged fern
mental knoll
mental knoll
#

Something's wrong with the plugin, I'm WAY too tired to figure it out now but I will be releasing a fix in like 16 hours (for anyone that trys to use my plugin in the enxt 16 hours, I highly doubt someone will lol)

uncut bloom
#

Hey, I switched the plugin from SSMS to KittsMenu, and now when I try to open the SSSS Menu, the server kicks me, and I cannot join again

#

Is it because of the mirror?

hazy sparrow
#

If the server is kicking you you're getting an error either

  1. In the Server Console
  2. In the LocalAdminLogs (most likely, also shows errors logged with #1)
  3. In the client logs (sometimes this is in conjunction with #2)
mental knoll
mental knoll
# uncut bloom Is it because of the mirror?

Hello, I'm currently reworking KittsMenuSystem like A LOT, I guess I should've have been more specific in the README.md file, KittsMenuSystem is technically its own plugin, it does not work the exact same, so you cannot migrate it over as easy (should still be straight forward), just like ThatGuy said post the logs, and make sure to enable debugging in the config.

As I did say in that previous message something was broken and I am working on a fix, I was hoping it'd be a small bug fix and actually take 16 hours but now I'm reworking the whole thing and it's going to take 3 days (today is day 3), because KittsMenuSystem is going to be reworked in the update it means that again, it will not work exactly like SSMenuSystem, although the the framework will be similar and again, should be easy to migrate.

One more thing, when you do find bugs (even in other plugins), it's best to @ the OP so they can get pinged, I didn't see this until just now.

mental knoll
#

KittsMenuSystem (Based on SSMenuSystem)

rugged fern
#

Not getting enough sleep isn’t very good.
if you keep going like this, you could make mistakes and die because of it.

mental knoll
#

That's so real because I'm about to go driving

#

Wish me luck lmao

#

If there are no more updates, I'm dead

rugged fern
rugged fern
mental knoll
mental knoll
mental knoll
rugged fern
uncut bloom
uncut bloom
rugged fern
mental knoll
#

Ahhh, I think I forgot to set something back

mental knoll
rugged fern
#

Yes wait

mental knoll
#

All good

rugged fern
mental knoll
#

You are using v0.3.0 yes?

mental knoll
rugged fern
rugged fern
mental knoll
#

Hmm interesting

#

Could you search for the word state, I wanna see if it's actually logging it at all

rugged fern
mental knoll
#

Okay

#

Ill just do a little but of testing myself as well

mental knoll
#

@rugged fern ^

rugged fern
mental knoll
mental knoll
#

Another bug fix got released, just thought of something and found it

mental knoll
#

I fixed the bug and then didnt test the bug fix, so had to release a new bug fix lmao

sonic cosmos
mental knoll
#

Oh yeah, theres another bug where you cant get a setting while settings are being built which i was fixing but fell asleep

rugged fern
#

@mental knoll

This is better because you can see it for yourself, and no one can see which text or color you have chosen.

_response.SendTextUpdate(
    $"text",
    false,
    x => x == sender
);

That lets you see what someone has changed, which isn’t supposed to happen, right?

    private void ReloadColorInfoForUser(ReferenceHub hub) => (_selectedColorTextArea.Base as SSTextArea).SendTextUpdate(GetColorInfoForUser(hub), receiveFilter: (h) => h == hub);
mental knoll
#

I think you'll have to be a bit more specific on what you mean

rugged fern
# mental knoll I think you'll have to be a bit more specific on what you mean

You can see what the player has selected if you keep looking at the menu all the time.

With this code, it changes so that no one sees it except yourself.
private void ReloadColorInfoForUser(ReferenceHub hub) => (_selectedColorTextArea.Base as SSTextArea).SendTextUpdate(GetColorInfoForUser(hub), false, x => x == hub);

#

Sorry, I’m not very good at explaining.

mental knoll
#

All good, your original language is german, correct??

rugged fern
#

luxembourg

mental knoll
#

Close enough

rugged fern
#

my german is verify bad

mental knoll
#

I meant they're next to each other so I was close enough

mental knoll
#

Sorry for slow response, I forgot to send the message

mental knoll
mental knoll
#

Another release, I found a bug and forgot to fix it

mental knoll
mental knoll
#

I could change it to a TryGetSetting which is problaby better code practice however I settled with returning a dummy setting as I thought it'd be better for other developers if they didn't need to do cs if (TryGetSetting()) do codeall the time

mental knoll
#

Besides the only time it will return a dummy setting is when the player is frist loading all the settings, this is becuase the GetSetting function try to get the settings from BuiltSetting which is not built until the player fully load in, hence why the warn appears on player join, however, if you get this warn from something other than a player join, then something is wrong

hazy sparrow
#

GetSetting() which returns the dummy and logs, and TryGetSetting() which returns false instead and outputs a nullable

mental knoll
#

Good idea

mental knoll
mental knoll
mental knoll
rugged fern
#

@mental knoll
I have an idea: can you make it so that users don’t see certain menus if they don’t have permission for them?

mental knoll
#

There's already a feature for that

mental knoll
mental knoll
#

Hey @rugged fern, was just curious, since you seem to be the only other person using this plugin is there any feedback you have, anything you want removed, changed or added, I'm just trying to refine as much as I can so please do share whatever thoughts you have or come up with. Also, if you even need any help with it then I'd be more than happy to.

rugged fern
mental knoll
#

Thank you!

#

Just let me know about anything you'd like, even when i do the new release I'll still be able to update anything you'd like

rugged fern
mental knoll
#

I can make a SendTextUpdate function inside TextArea to make it easier to access

#

Ohhhh

#

Button text

#

My bad

rugged fern
rugged fern
#

Np

mental knoll
rugged fern
mental knoll
#

Also I think ill add a thing in the keybind setting for onPressed, because right now you have to do if (isPressed) to get when the keybind is actaully pressed

mental knoll
# rugged fern Yeah!!

Another thing, all this can be found in the BaseSetting.Base however I'll also have it in BaseSetting as well, for the record, to update the text on a button or the label you do cs hub.GetSetting<MainMenu, SSButton>(buttonId).ButtonText = "New Button Text"; hub.GetSetting<MainMenu, SSButton>(buttonId).Label = "New Label"; ReloadFor(hub)

mental knoll
#

Or you can do cs (hub.GetSetting<MainMenu, Button>(buttonId).Base as SSButton).ButtonText = "New Button Text"; But obvisouly that's longer

rugged fern
#

Yeah

mental knoll
#

So yeah, pretty much i'm just adding a bunch of shortcuts and stuff

mental knoll
rugged fern
rugged fern
# mental knoll What do you mean by that?

What I meant is that you can create and remove virtual buttons, and they can also work. With tags, you can specify which one gets created, and you can also remove it using the tag

#

xd

mental knoll
mental knoll
mental knoll
#

Okay, so yeah the _addedSettings thing I did was because it was a thing in SSMenuSystem, but I just realised it's not needed at all as instead of creating a whole new list, adding things to the list and then appendning the list to the settings we can just add those items to the settings list and completely remove the _addedSettings list

#

Which is what I've done @rugged fern

#

However, I can add a list so you can do things like cs MenuManager.GetMenu(MenuType).AddedSettings.Append(BaseSettings)but outside of the actual menu class, meaning you'd be able to add settings from outside of the Menu class

mental knoll
#

Yeah that's what I did, now you can do thins like this:```cs
// This section is to show how the AddedSettings work
// Each time you press this button it will add a new setting to the DemoExample Menu through the AddedSettings
// AddedSetting is to be used when you want to add a new setting to a menu from outside of that menu class, like below
new GroupHeader("AddedSettings"),
new Button("Add Setting to DemoExmaple Menu", "Add Setting", (_, _) =>
MenuManager.GetMenu(typeof(DemoExample)).AddedSettings.Add(new TextArea("This was added from the UtilityExample menu"))
),

// If you change the AddedSettings in the menu they are in then you must reload the menu, like below
new Button("Add Setting to this Menu", "Add Setting", (h, _) => {
AddedSettings.Add(new TextArea("This was added from this menu"));
ReloadFor(h); // Must do to update menu
})```

mental knoll
#

@rugged fern This is what we looking at

#

Version 0.4.6

  • Added ABButton.OptionA - Get or set the underlying SSTwoButtonsSetting.OptionA.
  • Added ABButton.OptionB - Get or set the underlying SSTwoButtonsSetting.OptionB.
  • Added BaseSetting.Label - Get or set the underlying ServerSpecificSettingBase.Label.
  • Added BaseSetting.HintDescription - Get or set the underlying ServerSpecificSettingBase.HintDescription.
  • Added Button.ButtonText - Get or set the underlying SSButton.ButtonText.
  • Added Button.HoldTimeSeconds - Get or set the underlying SSButton.HoldTimeSeconds.
  • Added Dropdown.Options - Get or set the underlying SSDropdownSetting.Options.
  • Added Slider.MinValue - Get or set the underlying SSSliderSetting.MinValue.
  • Added Slider.MaxValue - Get or set the underlying SSSliderSetting.MaxValue.
  • Added Slider.Integer - Get or set the underlying SSSliderSetting.Integer.
  • Added Slider.ValueToStringFormat - Get or set the underlying SSSliderSetting.ValueToStringFormat.
  • Added Slider.FinalDisplayFormat - Get or set the underlying SSSliderSetting.FinalDisplayFormat.
  • Added Slider.FinalDisplayFormat - Get or set the underlying SSSliderSetting.FinalDisplayFormat.
  • Added TextArea.Content - Same as BaseSetting.Label but made to match naming.
  • Added TextBox.Placeholder - Get or set the underlying SSPlaintextSetting.Placeholder.
  • Added TextBox.CharacterLimit - Get or set the underlying SSPlaintextSetting.CharacterLimit.
  • Added TextBox.ContentType - Get or set the underlying SSPlaintextSetting.ContentType.
  • Added Menu.AddedSettings - Can now add settings to the end of Menus from outside the Menu.
  • Updated Keybind - Includes actions for OnUsed and OnPressed with OnPressed triggering only on press.
  • Updated UtilityExmaple - Removed the use of _addedSettings, added an AddedSettings section.
  • Updated GlobalMenu - Removed setting duplication and filtered to keybind settings only.
mental knoll
rugged fern
#

I’m already looking forward to using the update for this plugin.

mental knoll
#

@rugged fern

rugged fern
#

thx

mental knoll
# rugged fern thx

All good, any issues or feedback or need help just @ me and I should respond within a day

mental knoll