Loading...

LemonUI: Open Source UI Library 2.1.2

Download

700.670

LemonUI is a framework for creating UI systems in Grand Theft Auto V that is compatible with FiveM, RageMP, RagePluginHook ScriptHookVDotNet 2 and ScriptHookVDotNet 3. It allows you to create UI Elements with a NativeUI-like style, or you can also create your own UI System from scratch via the resolution-independant classes for Text, Rectangles and Textures.

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
Show Full Description

First Uploaded: 04. avg 2020
Last Updated: 11. jul 2024
Last Downloaded: 2 minuti

All Versions

 2.1.2 (current)

93.901 downloads , 1 MB
11. jul 2024

 2.1.1

35.700 downloads , 1 MB
25. maj 2024

 2.0

98.443 downloads , 1 MB
22. dec 2023

 1.10

49.795 downloads , 800 KB
19. sep 2023

 1.9.4

90.178 downloads , 600 KB
27. mar 2023

 1.9.3

16.392 downloads , 600 KB
21. feb 2023

 1.9.1

46.349 downloads , 600 KB
31. okt 2022

 1.9

4.060 downloads , 600 KB
25. okt 2022

 1.8

50.013 downloads , 600 KB
25. jun 2022

 1.7

29.980 downloads , 400 KB
25. mar 2022

 1.6

33.323 downloads , 300 KB
25. dec 2021

 1.5.2 (Last SHVDN2 version)

75.851 downloads , 300 KB
04. dec 2021

 1.5.1

35.554 downloads , 300 KB
05. sep 2021

 1.5

5.061 downloads , 300 KB
29. avg 2021

 1.4

17.252 downloads , 300 KB
23. apr 2021

 1.3

3.738 downloads , 200 KB
26. mar 2021

 1.2

7.965 downloads , 200 KB
14. nov 2020

 1.1.1

801 downloads , 200 KB
10. nov 2020

 1.1

2.699 downloads , 200 KB
04. okt 2020

 1.0

3.658 downloads , 200 KB
04. avg 2020

392 Comments