What exactly is the “ContextMenu” and what can you do with it?

ContextMenu is a script that allows you to create your own menus for any kind of purpose. It does nothing by itself. You hold a button and your cursor appears on the screen. You can then click on any object and open specific menus for specific objects. This is kind of like your default rightclick menu in every other application. E.g. clicking on a player can have a completely different menu than clicking on a vehicle. An example of what can be done with this script can be found in this video:

This can be a main replace to the model that was uploaded round a yr in the past. The outdated subject could be discovered here.

Checkout the Automobile Interplay Script that’s utilizing this menu right here: [Release] Advanced Vehicle Interaction

Features

  • Create custom context based menus using LUA.
  • Menu items include:
    • Item: Just has text and can be clicked.
    • SpriteItem: Background image and can be clicked.
    • TextItem: Just text and no functionality.
    • CheckboxItem: Has a text and a checkbox that can be checked.
    • SubmenuItem: Automatically created when creating a submenu to a menu.
    • Separator: Just a separator line to group items together.
  • Use custom sprites on the right and left side of an item.
  • Extensive customizability with more to come!
  • Easily create custom ingame UI elements using the following elements:
    • Sprites (with UV coordinates)
    • Text (with all settings)
    • Rectangles
  • All elements can be parented, positioned, scaled etc.
  • Compatible with basically everything? Might collide with other targeting scripts.
  • Let me know if you find any issues!

Download the ContextMenu.zip file and extract it into your resources folder.

Performance

  • The script itself draws no performance at all.
  • When you have created your own menu, the performance depends on the amount of items that are currently displayed on the screen.

FAQ

Is this still WIP and will it be expanded upon?

  • Yes, this script is very much a work-in-progress project.
  • A lot of things will be added and changed throughout this process.
  • If you have any suggestions on changes or find features missing, just let me know and I’ll see what is possible and can be done.

How can I create a custom menu?

Known Issues

  • No Controller support as of now.

Update v2.0 introduced the following changes:

  • Completely reworked every single part of the code. Not compatible with prior versions!
  • Basically now acts as a giant UI library for FiveM: All UI elements can now be parented to other UI elements to make positioning and scaling much easier.
  • Better performance while menu is open.
  • Menu background is now a Sprite that can be changed to better fit your own server aesthetics instead of just a grey background.
  • Added Scroll- and PageMenu which both allow for an unlimited number of items without cluttering the screen.
  • Added exports for creating the menu. Several scripts can add items / submenus to the default menu without overlapping each other.
  • Added SpriteUV for controlling the UVs of a sprite directly.




Looking for paid scripts? Click here