[Release][Dev] NativeUILua

Yeah I know that, I don’t like the Reloaded version. Used it.

Getting really bored of not getting answers… for the last time can someone tell me how to put items inside of a submenu inside of a submenu?

@KevinM it’s pretty easy once you get used to it :wink: basically my theory is patience, Trial And Error. that’s how i learned.

:handshake:

1 Like

If you don’t like the UI like the size of menu or the fact that arrow are not displayed when not hovered on list item you can just import the part of code in NativeUI for the arrow and you can also change the default size in Reloaded files.

1 Like

To be honest, I am just to lazy to convert my SimpleMenu to NativeUIReloaded.

didn’t explain anything, not even the same code…

1 Like

I got it figured out on my own, thanks. :smile:

If you want help on it to this is a example.

If you wish to make SubMenu’s in SubMenu’s then do the following.

  • Change submenu to othermenu (ex local othermenu = _menuPool:AddSubMenu(submenu, "Test Menu", "" was originally local submenu = _menuPool:AddSubMenu(menu, "Weapons Menu", "Sub Menu for Weapons")
  • For submenu:AddItem() change submenu to othermenu

Example

local othermenu = _menuPool:AddSubMenu(submenu, "~b~Emergency Loadouts")
    local stateloadout = NativeUI.CreateItem("State Loadout", "Gives State Loadout")
    local hwayloadout = NativeUI.CreateItem("Highway Patrol Loadout", "Gives Highway Patrol Loadout")
    local coploadout = NativeUI.CreateItem("Police Loadout", "Gives Police Loadout")
    local sherloadout = NativeUI.CreateItem("Sheriff Loadout", "Gives Sheriff Loadout")
    local medloadout = NativeUI.CreateItem("EMT Loadout", "Gives EMT Loadout")
    local fireloadout = NativeUI.CreateItem("Fire Loadout", "Gives Fire Loadout")
    othermenu:AddItem(stateloadout)
    othermenu:AddItem(hwayloadout)
    othermenu:AddItem(coploadout)
    othermenu:AddItem(sherloadout)
    othermenu:AddItem(medloadout)
    othermenu:AddItem(fireloadout)
    othermenu.OnItemSelect = function(sender, item, index)
      if item == coploadout then
        if police then
          loaded = not loaded
          if loaded then
        loadModel("s_m_y_cop_01")
        giveWeapon("weapon_teargas")
        giveWeapon("weapon_combatpistol")
        giveWeapon("weapon_stungun")
        giveWeapon("weapon_pumpshotgun")
        giveWeapon("weapon_carbinerifle")
        giveWeapon("weapon_nightstick")
        giveWeapon("weapon_flashlight")
        notify("~b~Police Loadout Given")
      else
        RemoveAllPedWeapons(GetPlayerPed(-1), true)
        notify("~r~Loadout is now Removed")
      end
      else
        notify("~r~Permission not granted!")
      end
      else if item == stateloadout then
        if state then
          loaded2 = not loaded2
          if loaded2 then
          loadModel("s_m_y_sheriff_01")
          giveWeapon("weapon_teargas")
          giveWeapon("weapon_combatpistol")
          giveWeapon("weapon_stungun")
          giveWeapon("weapon_pumpshotgun")
          giveWeapon("weapon_carbinerifle")
          giveWeapon("weapon_nightstick")
          giveWeapon("weapon_flashlight")
          notify("~b~Sheriff Loadout Given: ")
        else
          RemoveAllPedWeapons(GetPlayerPed(-1), true)
          notify("~r~Loadout is now Removed")
        end
        else
          notify("~r~Permission not granted!")
        end
      else if item == sherloadout then
        if sheriff then
        loaded3 = not loaded3
        if loaded3 then
        loadModel("s_m_y_sheriff_01")
        giveWeapon("weapon_teargas")
        giveWeapon("weapon_combatpistol")
        giveWeapon("weapon_stungun")
        giveWeapon("weapon_pumpshotgun")
        giveWeapon("weapon_carbinerifle")
        giveWeapon("weapon_nightstick")
        giveWeapon("weapon_flashlight")
        notify("~b~Sheriff Loadout Given: ")
      else
        RemoveAllPedWeapons(GetPlayerPed(-1), true)
        notify("~r~Loadout is now Removed")
      end
      else
        notify("~r~Permission not granted!")
      end
      else if item == medloadout then
        if emt then
        loaded4 = not loaded4
        if loaded4 then
        loadModel("S_M_M_Paramedic_01")
      else
        RemoveAllPedWeapons(GetPlayerPed(-1), true)
        notify("~r~Loadout is now Removed")
      end
      else
        notify("~r~Permission not granted!")
      end
      else if item == fireloadout then
        if fire then
        loaded5 = not loaded5
        if loaded5 then
        loadModel("S_M_Y_Fireman_01")
        giveWeapon("weapon_flaregun")
        giveWeapon("weapon_fireextinguisher")
        giveWeapon("weapon_crowbar")
        notify("~b~Fire Loadout Given")
      else
        RemoveAllPedWeapons(GetPlayerPed(-1), true)
        notify("~r~Loadout is now Removed")
      end
      else
        notify("~r~Permission not granted!")
      end
    else if item == hwayloadout then
      if sheriff then
      loaded3 = not loaded3
      if loaded3 then
      giveWeapon("weapon_teargas")
      giveWeapon("weapon_combatpistol")
      giveWeapon("weapon_stungun")
      giveWeapon("weapon_pumpshotgun")
      giveWeapon("weapon_carbinerifle")
      giveWeapon("weapon_nightstick")
      giveWeapon("weapon_flashlight")
      notify("~b~Sheriff Loadout Given: ")
    else
      RemoveAllPedWeapons(GetPlayerPed(-1), true)
      notify("~r~Loadout is now Removed")
    end
    else
      notify("~r~Permission not granted!")
    end
              end
            end
          end
        end
      end
    end
  end
end
1 Like
function LEOMenu(menu)
	local submenu = _menuPool:AddSubMenu(menu, "Police Toolbox")
	for i = 1, 1 do
    	local Item = NativeUI.CreateItem("Cuff", " ")
		Item.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('cuffp')
    	end
		local Item2 = NativeUI.CreateItem("Grab", " ")
		Item2.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('dragp')
		end
		local Item3 = NativeUI.CreateItem("Radar", " ")
		Item3.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'wk:radarRC' )
		end
		local Item4 = NativeUI.CreateItem("Breathalyze", " ")
		Item4.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'breathalyze' )
		end
		local Item5 = NativeUI.CreateItem("Search Ped", " ")
		Item5.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'searchp' )
		end
		local Item6 = NativeUI.CreateItem("Search Vehicle", " ")
		Item6.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'searchv' )
		end
		local Item7 = NativeUI.CreateItem("Toggle Hand on Radio", " ")
		Item7.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('radioh')
		end
		local Item8 = NativeUI.CreateItem("Loadouts", " ")
		Item8.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('loadout')
		end
		local Item9 = NativeUI.CreateItem("Toggle Carbine", " ")
		Item9.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('carbine')
		end
		local Item10 = NativeUI.CreateItem("Toggle Shotgun", " ")
		Item10.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('shotgun')
		end
		local Item11 = NativeUI.CreateItem("Put In Vehicle", "Seats the nearest player!")
		Item11.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('seatp')
		end
		local Item12 = NativeUI.CreateItem("Take Out Of Vehicle", "Unseats the nearest player!")
		Item12.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('unseatp')
    	end
		local Item13 = NativeUI.CreateItem("Uncuff", "Uncuffs the nearest player")
		Item13.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('uncuffp')
    	end
		local Item14 = NativeUI.CreateItem("Undrag", "Undrags the nearest player")
		Item14.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('undragp')
    	end
		local Item15 = NativeUI.CreateItem("Put In Vehicle", "Seats the nearest player!")
		Item15.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('seatp')
    	end
		local Item16 = NativeUI.CreateItem("Panic Button", "Trigger your panic button!")
		Item16.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		--TriggerEvent('toggleMenu')
			TriggerServerEvent('InteractSound_SV:PlayWithinDistance', 0.5, 'sound.ogg', 1.0)
		end
		local Item17 = NativeUI.CreateItem("Close", "Exit the whole menu!")
		Item17.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		ToggleMenu() -- triggers the close NativeUI Menu function
		end
        submenu:AddItem(Item)
		submenu:AddItem(Item2)
		submenu:AddItem(Item3)
		submenu:AddItem(Item4)
		submenu:AddItem(Item5)
		submenu:AddItem(Item6)
		submenu:AddItem(Item7)
		_menuPool:AddSubMenu(submenu, "Loadouts")
		submenu:AddItem(Item8)
		submenu:AddItem(Item9)
		submenu:AddItem(Item10)
		submenu:AddItem(Item11)
		submenu:AddItem(Item12)
		submenu:AddItem(Item13)
		submenu:AddItem(Item14)
		submenu:AddItem(Item15)
		submenu:AddItem(Item16)
		submenu:AddItem(Item17)
		_menuPool:MouseControlsEnabled(false)
		_menuPool:ControlDisablingEnabled(false)
    end
end

this is my code so far

1 Like

I don’t need to know how to add a submenu in a submenu I need to know how to add items to my submenu inside of the submenu.

1 Like

Our code is different. I used @rhys19 menu as a template.

2 Likes

interesting haven’t done that before (that i know of)

The same way you add items to any other menu?

1 Like

that’s not explaining it at all. Just being a smart ass. I’m still having trouble with this and nothing is working and the explainations are all in some type of different code each time, all i’m trying to do is a loadout menu inside of my leo menu… I thought someone would have done it before.

I have no idea where this would even go…

I don’t know how to tell you this without sounding like a smart ass or showing “some different type of code” buts it’s literally exactly the same way you add items to any other menu which you already know how to do… whateveryoursubmenuiscalled:AddItem(item)

Only way I could see you having an issue with this is if your reusing variable names or you’re out of scope or something silly like that

function LEOMenu(menu)
	local submenu = _menuPool:AddSubMenu(menu, "Police Toolbox")
	for i = 1, 1 do
    	local Item = NativeUI.CreateItem("Cuff", " ")
		Item.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('cuffp')
    	end
		local Item2 = NativeUI.CreateItem("Grab", " ")
		Item2.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('dragp')
		end
		local Item3 = NativeUI.CreateItem("Radar", " ")
		Item3.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'wk:radarRC' )
		end
		local Item4 = NativeUI.CreateItem("Breathalyze", " ")
		Item4.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'breathalyze' )
		end
		local Item5 = NativeUI.CreateItem("Search Ped", " ")
		Item5.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'searchp' )
		end
		local Item6 = NativeUI.CreateItem("Search Vehicle", " ")
		Item6.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent( 'searchv' )
		end
		local Item7 = NativeUI.CreateItem("Toggle Hand on Radio", " ")
		Item7.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('radioh')
		end
		local Item8 = NativeUI.CreateItem("Loadouts", " ")
		Item8.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('loadout')
		end
		local Item9 = NativeUI.CreateItem("Toggle Carbine", " ")
		Item9.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('carbine')
		end
		local Item10 = NativeUI.CreateItem("Toggle Shotgun", " ")
		Item10.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('shotgun')
		end
		local Item11 = NativeUI.CreateItem("Put In Vehicle", "Seats the nearest player!")
		Item11.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
			TriggerEvent('seatp')
		end
		local Item12 = NativeUI.CreateItem("Take Out Of Vehicle", "Unseats the nearest player!")
		Item12.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('unseatp')
    	end
		local Item13 = NativeUI.CreateItem("Uncuff", "Uncuffs the nearest player")
		Item13.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('uncuffp')
    	end
		local Item14 = NativeUI.CreateItem("Undrag", "Undrags the nearest player")
		Item14.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('undragp')
    	end
		local Item15 = NativeUI.CreateItem("Put In Vehicle", "Seats the nearest player!")
		Item15.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		TriggerEvent('seatp')
    	end
		local Item16 = NativeUI.CreateItem("Panic Button", "Trigger your panic button!")
		Item16.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		--TriggerEvent('toggleMenu')
			TriggerServerEvent('InteractSound_SV:PlayWithinDistance', 0.5, 'sound.ogg', 1.0)
		end
		local Item17 = NativeUI.CreateItem("Close", "Exit the whole menu!")
		Item17.Activated = function(ParentMenu, SelectedItem)
    		--Do stuff
    		ToggleMenu() -- triggers the close NativeUI Menu function
		end
        submenu:AddItem(Item)
		submenu:AddItem(Item2)
		submenu:AddItem(Item3)
		submenu:AddItem(Item4)
		submenu:AddItem(Item5)
		submenu:AddItem(Item6)
		submenu:AddItem(Item7)
		_menuPool:AddSubMenu(submenu, "Loadouts")
		submenu:AddItem(Item8)
		submenu:AddItem(Item9)
		submenu:AddItem(Item10)
		submenu:AddItem(Item11)
		submenu:AddItem(Item12)
		submenu:AddItem(Item13)
		submenu:AddItem(Item14)
		submenu:AddItem(Item15)
		submenu:AddItem(Item16)
		submenu:AddItem(Item17)
		_menuPool:MouseControlsEnabled(false)
		_menuPool:ControlDisablingEnabled(false)
    end
end

this is all I have so far with my leo menu. It shows the submenu inside of the submenu, the loadouts. I don’t have or need the local othermenu as I used was

   	submenu:AddItem(Item2)
   	submenu:AddItem(Item3)
   	submenu:AddItem(Item4)
   	submenu:AddItem(Item5)
   	submenu:AddItem(Item6)
   	submenu:AddItem(Item7)
   	_menuPool:AddSubMenu(submenu, "Loadouts") <<< this
   	submenu:AddItem(Item8)
   	submenu:AddItem(Item9)
   	submenu:AddItem(Item10)
   	submenu:AddItem(Item11)
   	submenu:AddItem(Item12)
   	submenu:AddItem(Item13)
   	submenu:AddItem(Item14)
   	submenu:AddItem(Item15)
   	submenu:AddItem(Item16)
   	submenu:AddItem(Item17)
   	_menuPool:MouseControlsEnabled(false)
   	_menuPool:ControlDisablingEnabled(false)
   end
end

There’s your problem, you should be saving each menu to a variable so it can be accessed later. Change
_menuPool:AddSubMenu(submenu, "Loadouts") <<< this

To

local loadoutMenu = _menuPool:AddSubMenu(submenu, "Loadouts") <<< this

Then do loadoutMenu:AddItem(item)

Typed from my phone so formatting may be ugly