ScaleformUI - A lightweight, fast and fun API

yes don’t do that, keep them separated as… restarting gfx assets seems to make them go :banana:s

1 Like

Wait…wait,It doesnt cause the bug… I used a different Game Language (Simplifield-Chinese) and not the default one (English) and made sure that ScaleformUI and ScaleformUI_Assets is separated resources, then this bug happened again … I wonder that if a special game language will affect the UI .

1 Like

in that case i don’t now… i don’t speak simplified chinese… i can’t test those kind of languages :thinking: but they should work tho.
i can’t work on the API at the moment for personal reasons.

2 Likes

Alright, Looks like I have to wait for some moment when you are not be troubled by personal reasons. But anyway, it is a good API. :blush:

2 Likes

Sorry for another late release, life has taken a turn for the worse, and i’m still trying to stay afloat.
Having said that, let’s move on to the changes:

  • Lua / C#: Added support for custom fonts. (only description / item labels)
  • C# UIMenu: fixed closing/reopening menu overlapping items
  • Lua: Added support for ItemData dynamic table (one Item data to be personalized on each item) – Thanks @Lxk3y
  • Lua / C#: Tab key also change the current tab – thanks @ali-exacute
  • Lua: UIMenuSlider check if it’s nil before everything
  • Lua: changed table.insert for small performance gain – thanks @ali-exacute
  • Lua / C#: Changing item index will now whange on scaleform too.
  • C#: Fix null parent in case of setting values before it has a parent
  • C#: Test fix for UIMenuListItem index setter and can’t be > Items.Count - 1
  • Lua: Bugfixes for UIMenuGridPanel – thanks @matthias-codes
  • C#: Refactored C# project – thanks @Local9
  • Lua / C# Performances: Update scaleforms in thread only if needed

For the complete list of commits you can check here 2.7.2…2.8

:warning::warning: As always please make sure to update the ScaleformUI_Assets resource to be able to use this release at its fullest! :warning::warning:

:heart::heart: If you enjoy my work and my menus, and you want to support me, you can contribute donating via buying ScaleformUI on Tebex (You decide the price!)

Download link: Release Autumn Release · manups4e/ScaleformUI · GitHub

1 Like

Recent change allows the scoreboard to be repositioned, hopefully a new release update will be done soon to version lock all the changes.

Very cool API, i’ve modified line 1340 to have an audio feedback when selecting items and submenus :

if self.Children[Item]:BuildAsync() then
            PlaySoundFrontend(-1, self.Settings.Audio.Select, self.Settings.Audio.Library, true)
            self.Children[Item]:BuildUpMenuAsync()
        else
            PlaySoundFrontend(-1, self.Settings.Audio.Select, self.Settings.Audio.Library, true)
            self.Children[Item]:BuildUpMenuSync()
        end

Is there a way to open a submenu when pressing enter on UIMenuDynamicListItem ?

submenus should already have sound when selected via scaleform API… i’ll check.
also no UIMenuDynamicListItem cannot become a submenu currently

Before and after the small edit:
I also think that it would be cool to have sound when opening a menu and clicking enter on an item

https://streamable.com/cc2i8t

2 Likes

Hello guys, nice work!

But i have found 1 problem, or maybe isn’t documented yet? Flushmenu not work very well, memory isn’t 100% clear example :

I have create menu, not open (no memory usage et no cpu usage) but if i open it and close it you got everytime performance usage, flush method like FlushAllMenus() … change nothing

I don’t know if some people got same issue

2 Likes

the scaleform is not disposed in ScaleformUI so it stays in memory to give players a faster ui i suspect that might be the thing :thinking:

1 Like

I have found problem and he don’t from flush method x)
You got a thread for ScaleformUI, menu hide / flush wait is setting everytime to 0.
I will now look at which condition is the problem on the wait setting

1 Like
if not ScaleformUI.Scaleforms._pauseMenu.Loaded then
        ScaleformUI.Scaleforms._pauseMenu:Load()
 end

this condition is play everitime => Menu pause active or not and PauseMenu created, open, closed, not created too

Havn’t check all of your code but wait in this thread never reset to origin value, i reset wait to origin value loop restart and now performance is good, menu hide 0ms no need to flush menu if you want re open it later

1 Like

Is there anyone who can help me. I dont get any Menu.

Whats going wrong?

fxmanifest.Lua:

client_scripts {
'lib/ScaleformUI.lua',
'config.lua',
'client/*.lua'
}

client.lua:

MenuPool = MenuPool.New()

if IsControlJustReleased(0, 38) and not MenuPool:IsAnyMenuOpen() then
	MainMenu()
end

function MainMenu()
	local mainMenu = UIMenu.New("Maze Bank Credits", "So leiht man Geld heute", 0, 0, true, nil, nil, true)
    	MenuPool:Add(mainMenu)
    	local TestItem = UIMenuItem.New("Test", "TestDesc")
    	mainMenu:AddItem(TestItem)
   	mainMenu:Visible(true)
end

Hope anyone can help me :confused:

if ou get the instructional buttons on the bottom-right of the screen… but no menu… you’re missing the assets
also the link to ScaleformUI.lua in your fxmanifest is wrong unless you copied it into your own script

refer to the official wiki :smiley: Getting Started · manups4e/ScaleformUI Wiki · GitHub

1 Like

It’s soo good <3

1 Like

A new Revolutionary update is on work for the library…
ScaleformUi - The Gary 1.0

1 Like

Hello!

I love the looks of this and the advantages over nativeui. I haven’t had a chance to start porting my menus over but was wondering if there is anyway to reposition the menus to the right hand side and made them a little wider width wise?

All the best, love the work!!!

You can set position where ever you want but you can’t resize it as it’s scaleforms and for now there’s no way to set items width

1 Like

perfect thankyou was just curious :slight_smile:

again thankyou for your work i really love it <3