688,096
1,310
-
December 22, 2023
It was created as a replacement for NativeUI due to being too convoluted to develop and maintain. LemonUI retains most (if not all) of the UI Elements available in NativeUI.
Special thanks to:
- Guad for the original work in NativeUI
- alloc8or for the help with the GTA Online Loading Screen Scaleform
- ikt for helping me to use SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS
- Dot. for the snippet of code used for the item scrolling
- deterministic_bubble for answering some questions about some missing C# classes in FiveM
- PNWParksFan for helping me with some RPH question when I was doing the port
Installation Instructions
Warning: You don't need to install all of the files. You only need to install the ones for the framework you plan to use. For example, if you want to install SHVDN mods, you don't need to install the RPH version.
FiveM
You don't need to install any files when using FiveM. When you connect to a server, the resources that need it will automatically provide a copy of LemonUI.
RageMP
You don't need to install any files when using RageMP. When you connect to a server, the resources that need it will automatically provide a copy of LemonUI when compiling the code.
RagePluginHook
Copy all of the files from the RPH folder inside of the compressed file to the root of your GTA V installation directory.
ScriptHookVDotNet 2 and ScriptHookVDotNet 3
PLEASE NOTE THAT THE LAST VERSION THAT SUPPORTED SHVDN2 WAS 1.5.2. You can download it here.
Copy all of the files from the SHVDN2 and/or SHVDN3 folder(s) inside of the compressed file to your scripts directory.
Join the Conversation: https://discord.gg/Cf6sspj
Support my Mods: https://www.patreon.com/lemonchan / https://paypal.me/justalemon
Source Code: https://github.com/LemonUIbyLemon/LemonUI (under MIT License)
Feature Requests & Bug Reports: https://github.com/LemonUIbyLemon/LemonUI/issues
Full Changelog: https://github.com/LemonUIbyLemon/LemonUI/releases
Changelog
2.1.2
- FIX: Clicking an empty area in an empty menu will no longer crash
- FIX: Bruteforce minigame now properly resets the lives when when CanRetry is set to true
- FIX: Made BaseScaleform.Visible overridable, so it's consistant with the rest of the properties with the same name
2.1.1
This release has the same content as 2.1, except that #169 was reverted due to a comment pointed out by @kagikn in #174.
* FIX: NuGet Packages now explicity include the documentation (#173)
* FIX: Menus will no longer hang and crash the game when navigating with only separators (#158)
* FIX: Objective Timer Bars can now properly be set to zero (#168)
* FIX: Changed a typo in the constructor of NativeMenu (#166 #171)
* FIX: Fixed typos in the readme (#172)
* FIX: ScaledAnim properly overides DrawSpecific(PointF, PointF) (#170)
* FIX: FixIndexIfRequired in NativeListItem no longer causes a NativeListItem (#165)
* FIX: NativeCheckboxItem, NativeSeparatorItem, NativeSlidableItem and NativeSubmenuItem now properly handle custom backgrounds (#163)
2.0
- NEW: Added extra package for the Async version of Alt:v (#118)
- NEW: Added Celebration scaleform (#120)
- NEW: Added Countdown scaleform (#121)
- NEW: Checkbox textures can now be customized (#125)
- NEW: NativeListItem and NativeDynamicItem can now be set to null (#131 #137)
- NEW: Added support for ScriptHookVDotNetCore (#101)
- NEW: Moved tools to it's own namespace (#140 #141 #142 #145)
- NEW: Added static property to get the current resolution (#143)
- NEW: Added static property to get the current safe zone size set in the configuration (#146)
- NEW: Separators can now have text and are skipped automatically (#139 #134)
- NEW: Added support for Bink Video (#133 #149)
- NEW: Added animations via Texture Dictionaries (#153 #102)
- NEW: LemonUI.RageMP.cs is now included directly in the NuGet Package (#154)
- FIX: SHVDN3 now uses full debug symbols, restoring the line numbers in stack traces (#132)
- FIX: The hover check now correctly uses the IsHovered property (#147)
- FIX: You can no longer set string properties to null, as this would crash the game when calling natives (#123)
- FIX: You can no longer pass null arguments to BaseScaleform.CallFunction to prevent crashes (#124)
- FIX: Unsafe blocks are now used for the natives that require pointers (#119)
- FIX: Alt:v now uses GetGameTimer instead of MsPerGameMinute, fixing all of the time checks (#151)
- FIX: Time now uses long values to prevent overflows (#152)
- FIX: Added back missing SubtitleFont property in NativeMenu (#155)
- CHORE: Renamed references from absolute to scaled, as they are 1080p scaled resolutions (#144)
1.10
* NEW: Added alt:V support (thanks @itzshahay !)
* NEW: Added function to manually reset the cursor
* FIX: Improved low performance when processing controls (thanks @kagikn !)
* FIX: Disposing the scaleform in RagePluginHook and RageMP now properly uses the pointer value (thanks @kagikn !)
* FIX: Name/Title related properties are no longer ambiguous (Title is now BannerText, Subtitle is now Name, SubtitleBehavior is now HeaderBehavior)
1.9.4
* FIX: Exceptions of the BruteForce scaleform now show the correct information
* FIX: NativeDynamicItem's now correctly update the name of the item
1.9.3
This is the same as 1.9.2, but the artifacts actually work.
* FIX: Added missing README as part of the NuGet packages (#104)
* FIX: Changed FiveM DLL name from LemonUI.FiveM.net.dll to LemonUI.FiveM.dll to fix an issue that causes exports to stop working (#85 #99)
* FIX: Changed the URL of the Repo in the NuGet package (outdated since it was moved to the organization) (#104)
* FIX: You can now hold left or right to continuously navigate NativeSlidableItem's (#76)
* FIX: Closing down the menus will no longer trigger other options like aiming and the cinematic camera (#72)
1.9.2
Invalid release, please check 1.9.3 instead.
1.9.1
* FIX: Fixed CS1032 when trying to use LemonUI.RageMP.cs
* FIX: Fixed regression that made non visible menu items to be drawn on screen (caused by 5ee84937b963746c9c4572f132d6be1569d7c7cb)
1.9
* NEW: Added function to wait until the result of a Scaleform is ready and fetch it (#82)
* NEW: Added alternative PlayFrontend(bool) function to control if the Audio ID should be automatically released (#81)
* NEW: Added function to Stop() a Sound at any time (#81)
* NEW: Added Offset property for the TimerBarCollection
* NEW: Implemented IEnumerable for NativeColorPanel, NativeListItem, NativeMenu, NativeStatsPanel and ObjectPool
* FIX: Rewritten recalculation code for NativeStatsPanel, so it doesn't slides around on aspect ratios other than 16:9
* FIX: The badges will not be recalculated if they are set to the same exact badge
* FIX: Badges are now removed when a BadgeSet is removed
* FIX: RageMP now uses the custom CancelEventHandler and CancelEventArgs due to System.ComponentModel not being available ()
* FIX: Iterators for NativeColorPanel, NativeMenu, ObjectPool and TimerBarCollection now use indexes instead of foreach (#87)
* FIX: Added missing Handle parameter when drawing Scaleforms on RageMP (#91)
* FIX: ScaledText now calls the correct native when drawing the text (#95)
* FIX: The Sound class now properly keeps track of the Audio ID (#81)
1.8
* NEW: The `Process()` and `Recalculate()` functions of `NativeMenu` are now virtual, making them overridable
* NEW: Added `BackgroundColor` and `ForegroundColor` properties to change the colors of the bars used in the `NativeStatsPanel`
* NEW: Added `MenuModified` event to `NativeMenu`s that is triggered when an item is added or removed from a menu
* NEW: Added `SubtitleBehavior` property to `NativeMenu`s to customize the behavior of the subtitle and it's background
* FIX: Fixed "System.InvalidOperationException: Collection was modified; enumeration operation may not execute." when changing the different items of an ObjectPool
* FIX: Hovered items are no longer shown as such if the player has mouse controls disabled
* FIX: The `SelectedItem` property of `NativeListItem` now correctly sets the item index
1.7
* NEW: Added LemonUI.RageMP.cs file for RageMP Developers
* NEW: Added SliderColor property to set the color of a slider item
* NEW: You can now override the Add function in a NativeMenu (useful to perform Item checks before adding them)
* NEW: Added Fade Out for Big Messages via the FadeOut method
* NEW: Added Pop-up Scaleform (used for Warnings)
* NEW: Added IsHovered property to Items to check when the mouse cursor is over them
* FIX: Added missing background when hovering the menu items
* FIX: Setting the Y value in a grid now works correctly
* FIX: Fixed exception when setting a weapon in a Big Message
1.6
**WARNING: This update removes support for ScriptHookVDotNet 2. If you want to keep using LemonUI, please update to ScriptHookVDotNet 3 or continue using version 1.5.2 or older.**
* NEW: Added support for RageMP (requires using the classes manually)
* NEW: Added custom color backgrounds for `NativeItem`s
* NEW: The `DrawFullScreen`, `Draw` and `Process` functions in scaleforms are now virtual
* NEW: You can now get and set the Weapon Hash in a `BigMessage` as a `uint`
* FIX: Slidable Arrows now show the correct color from the `ColorSet` associated to it
* FIX: Added missing native calls for RPH in `NativeMenu`, `BaseScaleform`, `InstructionalButtons` and `TimerBarCollection`
* DEP: Removed support for ScriptHookVDotNet 2
1.5.2
* FIX: The documentation of the Alignment enum is now grammatically correct
* FIX: Descriptions are now correctly updated when the item is hovered
* FIX: `NativeSubmenuItem.Description` now gets correctly updated when the `NativeMenu.Description` is changed
* OBS: The `BaseScaleform.scaleform` field is now obsolete and it will throw an error when trying to use it
First Uploaded: August 04, 2020
Last Updated: July 11, 2024
Last Downloaded: 1 minute ago
All Versions
391 Comments
It was created as a replacement for NativeUI due to being too convoluted to develop and maintain. LemonUI retains most (if not all) of the UI Elements available in NativeUI.
Special thanks to:
- Guad for the original work in NativeUI
- alloc8or for the help with the GTA Online Loading Screen Scaleform
- ikt for helping me to use SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS
- Dot. for the snippet of code used for the item scrolling
- deterministic_bubble for answering some questions about some missing C# classes in FiveM
- PNWParksFan for helping me with some RPH question when I was doing the port
Installation Instructions
Warning: You don't need to install all of the files. You only need to install the ones for the framework you plan to use. For example, if you want to install SHVDN mods, you don't need to install the RPH version.
FiveM
You don't need to install any files when using FiveM. When you connect to a server, the resources that need it will automatically provide a copy of LemonUI.
RageMP
You don't need to install any files when using RageMP. When you connect to a server, the resources that need it will automatically provide a copy of LemonUI when compiling the code.
RagePluginHook
Copy all of the files from the RPH folder inside of the compressed file to the root of your GTA V installation directory.
ScriptHookVDotNet 2 and ScriptHookVDotNet 3
PLEASE NOTE THAT THE LAST VERSION THAT SUPPORTED SHVDN2 WAS 1.5.2. You can download it here.
Copy all of the files from the SHVDN2 and/or SHVDN3 folder(s) inside of the compressed file to your scripts directory.
Join the Conversation: https://discord.gg/Cf6sspj
Support my Mods: https://www.patreon.com/lemonchan / https://paypal.me/justalemon
Source Code: https://github.com/LemonUIbyLemon/LemonUI (under MIT License)
Feature Requests & Bug Reports: https://github.com/LemonUIbyLemon/LemonUI/issues
Full Changelog: https://github.com/LemonUIbyLemon/LemonUI/releases
Changelog
2.1.2
- FIX: Clicking an empty area in an empty menu will no longer crash
- FIX: Bruteforce minigame now properly resets the lives when when CanRetry is set to true
- FIX: Made BaseScaleform.Visible overridable, so it's consistant with the rest of the properties with the same name
2.1.1
This release has the same content as 2.1, except that #169 was reverted due to a comment pointed out by @kagikn in #174.
* FIX: NuGet Packages now explicity include the documentation (#173)
* FIX: Menus will no longer hang and crash the game when navigating with only separators (#158)
* FIX: Objective Timer Bars can now properly be set to zero (#168)
* FIX: Changed a typo in the constructor of NativeMenu (#166 #171)
* FIX: Fixed typos in the readme (#172)
* FIX: ScaledAnim properly overides DrawSpecific(PointF, PointF) (#170)
* FIX: FixIndexIfRequired in NativeListItem no longer causes a NativeListItem (#165)
* FIX: NativeCheckboxItem, NativeSeparatorItem, NativeSlidableItem and NativeSubmenuItem now properly handle custom backgrounds (#163)
2.0
- NEW: Added extra package for the Async version of Alt:v (#118)
- NEW: Added Celebration scaleform (#120)
- NEW: Added Countdown scaleform (#121)
- NEW: Checkbox textures can now be customized (#125)
- NEW: NativeListItem and NativeDynamicItem can now be set to null (#131 #137)
- NEW: Added support for ScriptHookVDotNetCore (#101)
- NEW: Moved tools to it's own namespace (#140 #141 #142 #145)
- NEW: Added static property to get the current resolution (#143)
- NEW: Added static property to get the current safe zone size set in the configuration (#146)
- NEW: Separators can now have text and are skipped automatically (#139 #134)
- NEW: Added support for Bink Video (#133 #149)
- NEW: Added animations via Texture Dictionaries (#153 #102)
- NEW: LemonUI.RageMP.cs is now included directly in the NuGet Package (#154)
- FIX: SHVDN3 now uses full debug symbols, restoring the line numbers in stack traces (#132)
- FIX: The hover check now correctly uses the IsHovered property (#147)
- FIX: You can no longer set string properties to null, as this would crash the game when calling natives (#123)
- FIX: You can no longer pass null arguments to BaseScaleform.CallFunction to prevent crashes (#124)
- FIX: Unsafe blocks are now used for the natives that require pointers (#119)
- FIX: Alt:v now uses GetGameTimer instead of MsPerGameMinute, fixing all of the time checks (#151)
- FIX: Time now uses long values to prevent overflows (#152)
- FIX: Added back missing SubtitleFont property in NativeMenu (#155)
- CHORE: Renamed references from absolute to scaled, as they are 1080p scaled resolutions (#144)
1.10
* NEW: Added alt:V support (thanks @itzshahay !)
* NEW: Added function to manually reset the cursor
* FIX: Improved low performance when processing controls (thanks @kagikn !)
* FIX: Disposing the scaleform in RagePluginHook and RageMP now properly uses the pointer value (thanks @kagikn !)
* FIX: Name/Title related properties are no longer ambiguous (Title is now BannerText, Subtitle is now Name, SubtitleBehavior is now HeaderBehavior)
1.9.4
* FIX: Exceptions of the BruteForce scaleform now show the correct information
* FIX: NativeDynamicItem's now correctly update the name of the item
1.9.3
This is the same as 1.9.2, but the artifacts actually work.
* FIX: Added missing README as part of the NuGet packages (#104)
* FIX: Changed FiveM DLL name from LemonUI.FiveM.net.dll to LemonUI.FiveM.dll to fix an issue that causes exports to stop working (#85 #99)
* FIX: Changed the URL of the Repo in the NuGet package (outdated since it was moved to the organization) (#104)
* FIX: You can now hold left or right to continuously navigate NativeSlidableItem's (#76)
* FIX: Closing down the menus will no longer trigger other options like aiming and the cinematic camera (#72)
1.9.2
Invalid release, please check 1.9.3 instead.
1.9.1
* FIX: Fixed CS1032 when trying to use LemonUI.RageMP.cs
* FIX: Fixed regression that made non visible menu items to be drawn on screen (caused by 5ee84937b963746c9c4572f132d6be1569d7c7cb)
1.9
* NEW: Added function to wait until the result of a Scaleform is ready and fetch it (#82)
* NEW: Added alternative PlayFrontend(bool) function to control if the Audio ID should be automatically released (#81)
* NEW: Added function to Stop() a Sound at any time (#81)
* NEW: Added Offset property for the TimerBarCollection
* NEW: Implemented IEnumerable for NativeColorPanel, NativeListItem, NativeMenu, NativeStatsPanel and ObjectPool
* FIX: Rewritten recalculation code for NativeStatsPanel, so it doesn't slides around on aspect ratios other than 16:9
* FIX: The badges will not be recalculated if they are set to the same exact badge
* FIX: Badges are now removed when a BadgeSet is removed
* FIX: RageMP now uses the custom CancelEventHandler and CancelEventArgs due to System.ComponentModel not being available ()
* FIX: Iterators for NativeColorPanel, NativeMenu, ObjectPool and TimerBarCollection now use indexes instead of foreach (#87)
* FIX: Added missing Handle parameter when drawing Scaleforms on RageMP (#91)
* FIX: ScaledText now calls the correct native when drawing the text (#95)
* FIX: The Sound class now properly keeps track of the Audio ID (#81)
1.8
* NEW: The `Process()` and `Recalculate()` functions of `NativeMenu` are now virtual, making them overridable
* NEW: Added `BackgroundColor` and `ForegroundColor` properties to change the colors of the bars used in the `NativeStatsPanel`
* NEW: Added `MenuModified` event to `NativeMenu`s that is triggered when an item is added or removed from a menu
* NEW: Added `SubtitleBehavior` property to `NativeMenu`s to customize the behavior of the subtitle and it's background
* FIX: Fixed "System.InvalidOperationException: Collection was modified; enumeration operation may not execute." when changing the different items of an ObjectPool
* FIX: Hovered items are no longer shown as such if the player has mouse controls disabled
* FIX: The `SelectedItem` property of `NativeListItem` now correctly sets the item index
1.7
* NEW: Added LemonUI.RageMP.cs file for RageMP Developers
* NEW: Added SliderColor property to set the color of a slider item
* NEW: You can now override the Add function in a NativeMenu (useful to perform Item checks before adding them)
* NEW: Added Fade Out for Big Messages via the FadeOut method
* NEW: Added Pop-up Scaleform (used for Warnings)
* NEW: Added IsHovered property to Items to check when the mouse cursor is over them
* FIX: Added missing background when hovering the menu items
* FIX: Setting the Y value in a grid now works correctly
* FIX: Fixed exception when setting a weapon in a Big Message
1.6
**WARNING: This update removes support for ScriptHookVDotNet 2. If you want to keep using LemonUI, please update to ScriptHookVDotNet 3 or continue using version 1.5.2 or older.**
* NEW: Added support for RageMP (requires using the classes manually)
* NEW: Added custom color backgrounds for `NativeItem`s
* NEW: The `DrawFullScreen`, `Draw` and `Process` functions in scaleforms are now virtual
* NEW: You can now get and set the Weapon Hash in a `BigMessage` as a `uint`
* FIX: Slidable Arrows now show the correct color from the `ColorSet` associated to it
* FIX: Added missing native calls for RPH in `NativeMenu`, `BaseScaleform`, `InstructionalButtons` and `TimerBarCollection`
* DEP: Removed support for ScriptHookVDotNet 2
1.5.2
* FIX: The documentation of the Alignment enum is now grammatically correct
* FIX: Descriptions are now correctly updated when the item is hovered
* FIX: `NativeSubmenuItem.Description` now gets correctly updated when the `NativeMenu.Description` is changed
* OBS: The `BaseScaleform.scaleform` field is now obsolete and it will throw an error when trying to use it
First Uploaded: August 04, 2020
Last Updated: July 11, 2024
Last Downloaded: 1 minute ago
-
@RaisinBreadCrumbs Check your game folder.
If you have ScriptHookVDotNet.asi, install the SHVDN3 version to your scripts folder.
If you have RagePluginHook.exe, install the RPH version to your root folder.July 18, 2024 -
-
-
-
@soliovi LemonUI does nothing by itself. It's probably another mod executing something when the menu is opened (there is an event called Opening and Opened).
August 06, 2024 -
@Chocoboy This is a library. It does nothing by itself. It's not a standalone mod, it's something meant to be used by other mods.
August 06, 2024 -
-
@justalemon Great work! Thank you! Is there somewhere an example or a guide on how to use it: Countdown, LoadingScreen and Panels (NativeStatsPanel, NativeColorData, NativeGridPanel) ?
August 15, 2024 -
-
-
I put the shvdn3 in my scripts folder and it dosen't load the mods but then i put the shvdn2 in my scripts folder and my game never loads i disable all my mods and it still dose not work
September 14, 2024 -
-
nothin happens when i put SHVDN3 in my scripts folder (ScriptHookVDotNet.asi user)
My mod that need LemonUI doesn't open. But the game crash thoughSeptember 27, 2024 -
i found the bug that i can't open the internet and change the characters, need solution.
October 02, 2024 -
-
-
@cobias_m LemonUI is a library, it does nothing by itself. One of the other mods is causing said issue.
October 21, 2024 -
Please note that LemonUI is not a Mod Menu/Trainer. The purpose of LemonUI is to allow developers to create their own interface elements like Menus.