For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ› οΈConfiguration

Main Configuration (sh.main.lua)

Basic Settings

Config.MenuCommand = "skill"  -- Command to open menu (string or false)
Config.Keybind = "F7"        -- Keybind to open menu (string or false) 
Config.Item = false          -- Item required to open menu (string or false)
--client event | devhub_skillTree:client:openSkillTree

Theme

Sets the visual theme used by the UI.

Config.Theme = "modern" -- string | "legacy" | "modern" | "zombie" | "fantasy"

XP Settings

Config.XpBoost = 1.0         -- XP multiplier
Config.BaseXp = 100          -- Base XP required per level
Config.LevelBasedXp = 50     -- Additional XP per level
Config.PointsPerLevel = 1    -- Skill points awarded per level

function xpAlgorithm(level)
    return Config.BaseXp + (Config.LevelBasedXp * level)
end

System Settings


XP Earning Activities

To disable an activity, simply remove it from the table.


Daily XP Limit

Caps how much XP a player can earn per day in each category. Resets at the configured hour in server-local time. Set Config.DailyXpLimit = nil (or remove the block) to disable entirely.


Skill Degradation

Optional per-skill mechanic. When enabled on a skill, the player must continuously earn XP in that category to keep the skill effect active. Set Config.SkillDegradation = nil to disable the system entirely.


Premium Currency

Optional global secondary currency for unlocking skills. Each skill in the generator can specify a premiumCurrency amount.

  • type = "optional" β†’ if the player pays the premium currency, points and UnlockHandlerForSkills checks are skipped

  • type = "required" β†’ premium currency is an additional requirement on top of points / unlock handlers

The handler runs server-side and receives (amount, categoryUid, skillUid, source). It MUST return true on success or false on failure.

Set Config.PremiumCurrency = nil to disable the system.


Trigger Events On Skill Unlock

Automatically fire your own events whenever a player unlocks a specific skill β€” no listener boilerplate required.

  • client event is triggered with (category, skillUid, effect)

  • server event is triggered with (source, category, skillUid, effect)

Both client and server are optional β€” set only the one you need.


Disabled Listeners

Disable specific listener events for optimization. If no other resource listens to a given event, you can disable it to reduce network traffic.


Config Backup System

This setting only has effect in the exclusive version because backups are tied to generator saves.

Automatic backups are created before each generator save. Manual backups can also be created from the admin panel. When the limit is reached, the oldest backup is removed automatically.


Reset System


Level & Skills Configuration

Custom Skill Unlock Requirements


Language Configuration (sh.lang.lua)

The language file contains all text strings used in the UI. Each string can be customized:


Server Configuration (s.main.lua)

Admin Commands

Enabled by default in v3 (commented out in v2). Permission is checked via Core.IsPlayerAdmin(source) from devhub_lib.

You can also use the in-game admin panel for a UI-driven workflow.

Category visibility

Logging Configuration

Security Settings

Suspicious Activity Handler

Enable Unclock Skill Export

Turn on export for unlocking skills, this will allow you to unlock skills from other scripts, it will skip all requirements. Use it with caution! It might be used in a malicious way or cause script to not work properly if you are not careful. Try unlocking only skills that have active connection to other unlocked skills.


Skills Configuration (sh.skills.lua)

Categories

  • skill (string): category UID

  • title (string): display name

  • group (string | nil): v3 β€” categories sharing the same group string are visually grouped under one tab in the menubar

  • icon (string | nil): v3 β€” optional FontAwesome icon class displayed next to the category name

Skills

Each skill is defined with:

  • uid: Unique identifier

  • title: Display name

  • icon: FontAwesome icon or image URL

  • effect: Numerical effect value

  • description: Skill description

  • points: Points required to unlock

  • img: Preview image/gif URL

  • lines: Connection lines to other skills

  • index: Position in skill grid (19 columns, rows are dynamic β€” minimum 9, auto-expands)

  • degradation (v3, optional): per-skill degradation overrides β€” see Skill Degradation

Example skill entry:


Helpers (s.helpers.lua)

New in v3. Server-side global utility functions available inside Config.UnlockHandlerForSkills, Config.CategoryVisibilityHandler, Config.PremiumCurrency.handler, and any other server-side hook.

Example β€” using helpers in an unlock handler:


Ui Configuration (config.js)

Where to find: html/config.js


Used Natives (c.natives.lua)

Last updated