robotboy655 /
gmod-addons
Small addons/mods created by me for the game Garry's Mod.
54/100 healthLoading repository data…
justarandomguyintheinternet / repository
A small mod for Cyberpunk 2077 that allows other mods to easily add settings menus using only native UI
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A small mod for Cyberpunk 2077 that allows other mods to easily add settings options to a custom, fully native UI Mods settings menu. User-friendly and fully controller compatible.

nativeSettings = GetMod("nativeSettings")

path should be a / followed by a simple keywordlabel is what will be displayedcallbackFunction is an optional function parameter that gets called when the tab gets closed
nativeSettings.addTab("/myMod", "My mod", callbackFunction) -- Add a tab (path, label, callback)
path should be your mods tab path (e.g. /myMod), followed by a /, followed by a simple keyword.label is what will be displayedoptionalIndex is an optional int parameter to control the position of the subcategory (Default is same order as addSubcategory's get called)
nativeSettings.addSubcategory("/myMod/sub", "A subcategory") -- Add a subcategory (path, label, optionalIndex)
path : Where the widget goes, e.g. /myMod or /myMod/sublabel : What gets displayed to the left of the widgetdesc : A description of what the option does, gets displayed when hovered overcurrentValue : This is what the option's initial value (Type depends on the widget) is. Usually, this value would get read from a settings file / database insideonInitdefaultValue : This is what the option's default value should be, gets set when the Defaults button is hitcallback : Here, you pass a function f(value) that gets called when the options gets changed. It gets called with a single parameter, the updated valueoptionalIndex : Optional index parameter that can be used to control the order of the options (Default is same order as the addOption's get called)
boolean
-- Parameters: path, label, desc, currentValue, defaultValue, callback, optionalIndex
nativeSettings.addSwitch("/myMod/sub", "Switch", "Description", true, true, function(state)
print("Changed SWITCH to ", state)
-- Add any logic you need in here, such as saving the changes to file / database
end)

intmin : This is the minimum value of the slidermax : This is the maximum value of the sliderstep : This is the minimum amount the slider can move
-- Parameters: path, label, desc, min, max, step, currentValue, defaultValue, callback, optionalIndex
nativeSettings.addRangeInt("/myMod/sub", "Slider Int", "Description", 1, 100, 1, 50, 25, function(value)
print("Changed SLIDER INT to ", value)
-- Add any logic you need in here, such as saving the changes to file / database
end)

float (int also works)min : This is the minimum value of the slidermax : This is the maximum value of the sliderstep : This is the minimum amount the slider can moveformat : This is a format string, to control how the value gets displayed (Works the same as lua's string.format())
-- Parameters: path, label, desc, min, max, step, format, currentValue, defaultValue, callback, optionalIndex
nativeSettings.addRangeFloat("/myMod/sub", "Slider Float", "Description", 1, 100, 0.25, "%.2f", 50, 1, function(value)
print("Changed SLIDER FLOAT to ", value)
-- Add any logic you need in here, such as saving the changes to file / database
end)

tablecurrentValue / defaultValue is the index of the selected element
-- Parameters: path, label, desc, elements, currentValue, defaultValue, callback, optionalIndex
local list = {[1] = "Option 1", [2] = "Option 2", [3] = "Option 3", [4] = "Option 4"} -- Create list of options, with numeric index
nativeSettings.addSelectorString("/myMod/sub", "String List", "Description", list, 1, 3, function(value)
print("Changed LIST STRING to ", list[value])
-- Add any logic you need in here, such as saving the changes to file / database
end)

stringIK_X of the pressed keycurrentKey and defaultKey needs to be a valid keycodeisHold determines whether or not the key icon has a "Hold" outline-- Parameters: path, label, desc, currentKey, defaultKey, isHold, callback, optionalIndex
nativeSettings.addKeyBinding("/myMod/sub", "Keybind", "Description", "IK_1", "IK_5", false, function(key)
print("Changed KEYBIND to", key)
-- Add any logic you need in here, such as saving the changes to file / database
end)

callback function without any parameters when clickedcurrentValue and defaultValue parametersbuttonText is the text that gets displayed inside the buttontextSize is the size of the buttonText text
-- Parameters: path, label, desc, buttonText, textSize, callback, optionalIndex
nativeSettings.addButton("/myMod/sub", "Button", "Description", "Button label", 45, function()
print("User clicked BUTTON")
-- Add any logic you need in here, such as calling a function from your mod
end)
inkCompoundWidgetinkCompoundWidget is the SettingsMainGameController's settingsOptionsList widget-- Parameters: path, callback, optionalIndex
nativeSettings.addCustom("/myMod/sub", function(inkCompoundWidget)
-- Add any logic you need in here, such as adding custom UI to the inkCompoundWidget
end)
optionalIndex parameter of any addOption function to add and remove options where they are neededoptionTable is what gets returned by any addOption function (switch/int/float/list/button)
-- Parameters: optionTable
nativeSettings.removeOption(optionTable)
path is the full path to the subcategory you want to remove
-- Parameters: path
nativeSettings.removeSubcategory("/myMod/sub")
-- Parameters: path, overrideNativeRestoreDefaults, callback
nativeSettings.registerRestoreDefaultsCallback("/myMod", true, function()
-- Handle restoring defaults with your own logic
end)
refresh function:addSwitch) or removing (e.g. removeOption) option widgets or entire subcategoriesrefresh once, after all adding / removing operations are done
nativeSettings.refresh()
setOption function:currentValuesetOption(optionTable, value) function if you change an option from outside the nativeSettings window, to make sure everything stays syncedoptionTable is what gets returned by any addOption function (switch/int/float/list)value is the value you want to setlocal settingsTables = {} -- An empty table to store the return from the addOption functions, in case we want to use setOption() or removeOption(), can be ignored otherwise
local switchState = false -- Would usually get loaded from a config file / database
local nativeSettings
registerForEvent("onInit", function()
nativeSettings = GetMod("nativeSettings") -- Get a reference to the nativeSettings mod
if not nativeSettings then -- Make sure the mod is installed
print("Error: NativeSettings not found!")
return
end
nativeSettings.addTab("/myMod", "My mod") -- Add our mods tab (path, label)
nativeSettings.addSubcategory("/myMod/sub", "A subcategory") -- Optional: Add a subcategory (path, label), you can add as many as you want
settingsTables["switch"] = nativeSettings.addSwitch("/myMod/sub", "Switch", "Description", switchState, true, function(state) -- Setup a switch, and store its returned table
print("Changed SWITCH to ", state)
switchState = state
end)
end)
registerForEvent("onDraw", function()
if ImGui.Begin("Alternative Settings Window", ImGuiWindowFlags.AlwaysAutoResize) then
switchState, changed = ImGui.Checkbox("Switch", switchState)
if changed then -- We changed the option value from somewhere else
nativeSettings.setOption(settingsTables["switch"], switchState) -- Update the value for the nativeSettings mod
end
end
ImGui.End()
end)
Cron.lua, UIButton.lua, Ref.lua and EventProxy.lua.Selected from shared topics, language and repository description—not editorial ratings.
robotboy655 /
Small addons/mods created by me for the game Garry's Mod.
54/100 healthcrholm /
A small implementation of a dynamic SRV record proxy replacing nginx proxy_pass and static upstreams
40/100 healthMrWalll /
A small stand script to get paid for griefing others.
/100 healthchrisbyfrcole1906 /
Compact Windows 10/11 desktop executor for Lua and scripts, with mod menu controls, a small script hub, hotkey shortcuts, and a clean interface designed for 2026 use.
71/100 healthLixquid /
102.31.03 Garry's Mod: Simple Hitmarkers adds a small hitmarker with accompanying sound when damage is dealt to any player or NPC.
34/100 healthreturn5 /
a small collection of small lua modules which i wrote. i found them helpful. they may be helpful to someone else.
37/100 health