Skip to content

Configuration

This section explains all settings in the config.lua file.


-- Available languages: 'tr' (Turkish), 'en' (English)
-- Add new languages in locales folder (e.g., locales/es.lua for Spanish)
Config.Language = 'en'

Config.Debug = true -- Enables test commands and console output

Common color palette for all minigames:

Config.GlobalTheme = {
LogoPath = 'nui://rs_minigames/html/logo.svg',
Primary = '#ffffbc', -- Accent color (golden yellow)
Background = 'transparent', -- Main background
Surface = 'rgba(18, 20, 22, 0.98)', -- Container background
SurfaceSolid = '#121416', -- Solid surface color
Text = '#ffffff', -- Primary text
TextSecondary = '#a6aeb7', -- Secondary text
Success = '#37ed00', -- Success color
Danger = '#ff4444', -- Danger color
Warning = '#ffcc00', -- Warning color
Border = 'rgba(255, 255, 188, 0.2)', -- Border color
BorderRadius = '1.5vh', -- Corner radius
Font = 'Plus Jakarta Sans, Roboto, sans-serif'
}

You can select a different theme for each minigame:

Config.Themes = {
circuit = "custom",
spectrograph = "custom",
trex = "custom",
wordle = "custom",
breach = "custom",
-- ... others
}
ThemeDescription
defaultDefault cyan theme
darkDark mode
blueOcean Blue
purpleRoyal Purple
redCrimson Red
greenForest Green
customVORP style golden theme
chromeChrome T-Rex style
synthnetSynthNet 2077 neon
Config.Themes.themes["myTheme"] = {
name = "My Custom Theme",
colors = {
primary = "#ff0000",
primaryRgb = "255, 0, 0",
secondary = "#000000",
background = "#111111",
surface = "#222222",
text = "#ffffff",
textSecondary = "#cccccc",
border = "#333333",
success = "#00ff00",
warning = "#ffff00",
error = "#ff0000",
accent = "#ff5555"
}
}
-- Then use it:
Config.Themes.circuit = "myTheme"

Each minigame has its own difficulty levels:

Config.Circuit = {
Difficulties = {
[1] = { rows = 4, cols = 4, duration = 45 },
[2] = { rows = 4, cols = 5, duration = 35 },
[3] = { rows = 5, cols = 6, duration = 25 }
},
DefaultDifficulty = 1,
DefaultDuration = 30
}

Word pools by difficulty:

Config.Wordle = {
Words = {
easy = {
'CLASS', 'NOVEL', 'QUILL', 'YARDS', 'OCEAN',
-- ... more words
},
medium = {
'SHEAR', 'CLERK', 'BELLY', 'PEACE', 'SHIRT',
-- ...
},
hard = {
'TOXIC', 'CIVIL', 'RIVAL', 'FERAL', 'WRATH',
-- ...
}
}
}

Wire colors can be customized:

Config.Wiring = {
Colors = {
{ name = 'red', hex = '#e74c3c', rgb = '231, 76, 60' },
{ name = 'blue', hex = '#3498db', rgb = '52, 152, 219' },
{ name = 'yellow', hex = '#f1c40f', rgb = '241, 196, 15' },
{ name = 'pink', hex = '#e91e8c', rgb = '233, 30, 140' },
{ name = 'green', hex = '#2ecc71', rgb = '46, 204, 113' },
{ name = 'orange', hex = '#e67e22', rgb = '230, 126, 34' },
{ name = 'purple', hex = '#9b59b6', rgb = '155, 89, 182' },
{ name = 'cyan', hex = '#00bcd4', rgb = '0, 188, 212' }
}
}

Config.Voodoo = {
Symbols = {'โ˜ ', 'โ˜พ', 'โš”', 'โš•', 'โšš', 'โ˜ฏ', 'โš˜', 'โš ', 'โšก', 'โ˜…', 'โ˜ค', 'โ˜ช', 'โ˜ฎ', 'โ˜ข', 'โ˜ฃ', 'โ˜ฅ'}
}

Config.Breach = {
HexCodes = { '1C', '55', 'BD', 'E9', '7A', 'FF' },
GridSize = 6 -- 6x6 matrix
}

Falling letters/words game settings.

Config.LettersFall = {
Difficulties = {
easy = { duration = 30000, speed = 0.3, spawnRate = 1800, letterCount = 15, maxMisses = 5, mode = 'letters' },
medium = { duration = 40000, speed = 0.4, spawnRate = 2200, letterCount = 10, maxMisses = 3, mode = 'words' },
hard = { duration = 45000, speed = 0.6, spawnRate = 2000, letterCount = 15, maxMisses = 2, mode = 'words' },
expert = { duration = 50000, speed = 0.8, spawnRate = 1800, letterCount = 20, maxMisses = 1, mode = 'words' }
},
-- Hacker Words for Medium+
Words = {
"SYSTEM", "HACK", "DATA", "CODE", "FIREWALL", "SERVER", "ACCESS",
"ROOT", "ADMIN", "SHELL", "BASH", "SUDO", "GREP", "NMAP"
}
}

Vintage industrial style elevator panel.

Config.BreakerPuzzle = {
Colors = {
panel_bg = '#111111',
primary_text = '#a0a0a0',
screen_bg = '#080808',
screen_text = '#ffb000', -- Amber text
button_base = '#2a2a2a',
button_lit = '#ff3333',
success = '#33ff00',
danger = '#ff0000'
},
Difficulties = {
easy = { rounds = 3, switches = 4, switchTime = 1200, readyTime = 2500, inputTime = 6000 },
medium = { rounds = 4, switches = 6, switchTime = 1000, readyTime = 2000, inputTime = 5000 },
hard = { rounds = 5, switches = 8, switchTime = 800, readyTime = 1500, inputTime = 4000 },
expert = { rounds = 6, switches = 10, switchTime = 600, readyTime = 1000, inputTime = 3000 }
}
}