Jump to content
Message added by romzar,

NEW: TitlePerks Add-on Now Available!

TitleSelector now has official integration with Title Perks — an optional add-on that lets you assign real gameplay bonuses to your chat titles. Players can see exactly what perks each title provides directly inside the selection UI, making titles more than just cosmetic.

Turn your titles into meaningful rewards that players actually compete for.
Don't forget to leave a nice review 🙂

4 Screenshots

  • 2.4k
  • 99
  • 86.57 kB
  • Update details
    v2.3.0
    Released
    Download size86.57 kB
    Total versions12
    Time between versions 4 days
    Typical update pace About every 8 days
    Freshness 4 days ago

depends on

Required files or plugins needed for this resource to work properly.

Works with

Compatible add-ons, packages, or tools that pair well with this resource.

About Title Selector

TITLE SELECTOR

Customize Chat Titles Without Losing Permission Groups
by romzar.games

Description

TitleSelector provides an intuitive UI for players to select, hide, or show their chat titles from BetterChat. It also integrates seamlessly with SkillTree, giving players independent control over their Level and Prestige indicators. Players can customize which titles appear in chat without losing their permission groups.

 

Key Features

  • Visual Title Selection — Clean modal UI with green/gray/orange/locked states
  • Title Presets — 5 slots, quick-switch via buttons or keybinds
  • Collectible Display — Shows locked titles players can work towards
  • SkillTree Integration — Independent toggle for Level/Prestige indicators
  • Hide All Option — One-click hide all titles, keep SkillTree/Clan visible
  • Clan Tag Preservation — Clan tags always visible, even with Hide All
  • Emoji Toggle — Hide emoji-only titles or strip emojis from mixed titles
  • Permission-Based Title Limits — Different max titles per group/VIP tier
  • Title Exclusion System — Prevent conflicting titles simultaneously
  • Pagination — Handles large title collections with configurable pages
  • Multi-language Support — Fully translatable via Oxide lang system
  • Persistent Data — Auto-saved per-player, survives restarts/reloads
  • BetterChatGradients Support — Native gradient color support

Installation

  1. Upload TitleSelector.cs to oxide/plugins/ or carbon/plugins/
  2. Ensure BetterChat is installed and configured
  3. Grant permission: o.grant group default titleselector.use
  4. Reload the plugin if needed: o.reload TitleSelector
  5. (Optional) Customize the config and lang files

Dependencies

Required:

  • BetterChat — hooks into BetterChat to modify title display

Optional:

  • SkillTree — toggle Level/Prestige visibility
  • Clans (Reborn) — clan tags forced visible
  • BetterChatGradients — gradient colors render natively

Permissions

  • titleselector.use — Access to the title selector UI
  • titleselector.default — Grants "default" max title limit (default: 3)
  • titleselector.vip1 — Grants "vip1" max title limit (default: 4)
  • titleselector.vip2 — Grants "vip2" max title limit (default: 5)

Permission names match keys in "Max titles per permission" config. Player gets the HIGHEST limit from all matching permissions.

Permission Examples:

# Grant to all players
o.grant group default titleselector.use
o.grant group default titleselector.default

# Grant VIP tiers
o.grant group vip titleselector.vip1
o.grant group vip+ titleselector.vip2

# Grant to specific player
o.grant user PlayerName titleselector.use
o.grant user 76561198000000000 titleselector.use

Commands

  • /title — Opens the Title Selector UI (main command)
  • /titulo — Alternative command (configurable)
  • /titulos — Alternative command (configurable)
  • /titlepreset <1-5> — Switch to a specific preset
  • titleselector.preset <1-5> — Console/bind command for preset switching

Configuration

File: oxide/config/TitleSelector.json or carbon/configs/TitleSelector.json

{
  "Allow hide all titles": true,
  "Allow toggle SkillTree (level + prestige)": false,
  "Allow toggle emoji titles": true,
  "Force show clan tags (Clans)": true,
  "Emoji patterns (regex)": ["\\s*:\\w+:\\s*"],
  "Max titles per permission": {
    "default": 3,
    "vip1": 4,
    "vip2": 5
  },
  "Default max titles (no permission)": 2,
  "Main command": "title",
  "Alternative commands": ["titulo", "titulos"],
  "Ignored groups (hidden from UI)": ["default", "player", "guest"],
  "Permanent groups (always shown)": [],
  "Title exclusion groups (mutual exclusion)": [],
  "Items per page": 7,
  "UI - Background color": "0.1 0.1 0.1 0.95",
  "UI - Header color": "0.15 0.15 0.15 1",
  "UI - Available item color": "0.2 0.2 0.2 0.9",
  "UI - Locked item color": "0.12 0.12 0.12 0.7",
  "UI - Selected item color": "0.1 0.4 0.1 0.9",
  "UI - Close button color": "0.8 0.2 0.2 1",
  "UI - Active checkbox color": "0.3 0.8 0.3 1",
  "UI - Restricted item color": "0.35 0.25 0.1 0.9",
  "UI - Inactive checkbox color": "0.3 0.3 0.3 1"
}

Configuration Options:

  • Allow hide all titles — Enable/disable the "Hide All" button
  • Allow toggle SkillTree — Enable/disable SkillTree toggle
  • Allow toggle emoji titles — Enable/disable Emoji toggle
  • Force show clan tags — Keep clan tags visible when hiding
  • Emoji/Extra patterns — Regex patterns for emoji detection
  • Max titles per permission — Named permission entries with limits
  • Default max titles — Fallback when no permission matches
  • Main/Alternative commands — Chat commands to open UI
  • Ignored groups — BetterChat groups hidden from UI
  • Permanent groups — Always-displayed groups
  • Title exclusion groups — Mutually exclusive title lists
  • Items per page — Titles per page in UI
  • UI colors — Customize interface appearance

Title Exclusion System

Prevents conflicting titles from being active simultaneously.

{
  "Title exclusion groups (mutual exclusion)": [
    ["vip", "mvp", "elite"],
    ["admin", "moderator"]
  ]
}
  • A player cannot have "vip" and "mvp" active simultaneously
  • Selecting "mvp" when "vip" is active auto-deselects "vip"
  • Player receives a chat notification about the conflict
  • Restricted titles show in orange in the UI

Title Presets

Players can save up to 5 different title configurations:

  • Each preset stores: selected titles, hide all, emoji toggle, skilltree toggle
  • Switch via numbered buttons (1-5) in the UI header
  • Active preset highlighted in green
  • Chat: /titlepreset 3
  • Keybind: bind f5 titleselector.preset 1
  • Hook events fire for changed titles when switching

How It Works

  1. Player with titleselector.use permission types /title
  2. UI opens showing all available titles
  3. Titles organized by status: Active (green) | Available (gray) | Restricted (orange) | Locked
  4. Click titles to enable/disable them
  5. Use preset buttons (1-5) to save/switch configurations
  6. When no titles selected, BetterChat displays by priority
  7. Preferences saved automatically

Title States

  • Available — Player owns it, interactive checkbox, click to toggle
  • Selected — Green checkbox, displays in chat
  • Restricted — Orange indicator, conflicts with selected title
  • Locked — Collectible/goal, locked icon, cannot select

SkillTree Integration

  • Toggle button in the Filters row of the UI
  • Controls Level [Lv.X] and Prestige [Pr.X] visibility
  • Uses skilltree.notitles permission internally

Emoji Toggle

  • Controls emoji-only titles (:coffeecan:, 🎖️, etc.)
  • Strips emojis from mixed titles (e.g., "Admin :star:" becomes "Admin")
  • Works with selected titles and Hide All mode
  • Extra patterns applied when emoji toggle is OFF

Gradient Collors Support

  • Gradient colors render correctly when selecting titles
  • Supports hex colors: #ff0000, #00ff00, #0000ff
  • Supports named colors: red, green, blue, yellow, orange, purple, pink, cyan, white, black, gray, gold, silver
  • Multi-color gradients: red,orange,yellow,green
  • No additional configuration required

Clan Tag Preservation

  • Clan tags remain visible even with "Hide All"
  • Don't count towards max title limit
  • Prevents hiding clan identity on solo/trio servers
  • Requires Clans Reborn plugin

Hide All Feature

  • One-click hide all BetterChat titles
  • Respects SkillTree and Emoji toggle settings
  • Clan tags preserved when configured
  • "Show All" button reverses the action

Player Workflow

  1. Type /title to open the UI
  2. Browse titles using pagination
  3. Click checkboxes to select titles (up to max limit)
  4. Toggle SkillTree/Emoji visibility
  5. Use "Hide All" for quick hiding
  6. Save configurations using presets (1-5)
  7. Close UI — preferences saved automatically

Admin Workflow

  1. Install plugin with BetterChat dependency
  2. Configure ignored groups
  3. Set up permission-based max titles
  4. Configure exclusion groups if needed
  5. Set permanent groups
  6. Customize UI colors
  7. Grant permissions to groups
  8. Translate lang file if needed

API Methods

  • API_GetSelectedTitles(string odId) — Returns List<string> of selected titles
  • API_IsHidingTitles(string odId) — Returns bool hide status
  • API_SetSelectedTitles(string odId, List<string> titles) — Set titles programmatically
  • API_RefreshTitles() — Refresh title cache after config changes

Developer Hooks

  • OnTitleSelected(BasePlayer player, string groupName) — Fires on select and preset switch
  • OnTitleDeselected(BasePlayer player, string groupName) — Fires on deselect, exclusion, and preset switch
  • OnTitlesCleared(BasePlayer player, List<string> previousTitles) — Fires on Clear button

API Usage Example

[PluginReference] private Plugin TitleSelector;

void Example(BasePlayer player)
{
    var titles = TitleSelector?.Call<List<string>>(
        "API_GetSelectedTitles", player.UserIDString);

    var isHiding = TitleSelector?.Call<bool>(
        "API_IsHidingTitles", player.UserIDString) ?? false;

    TitleSelector?.Call("API_SetSelectedTitles",
        player.UserIDString, new List<string> { "vip", "donator" });

    TitleSelector?.Call("API_RefreshTitles");
}

Localization

File: oxide/lang/en/TitleSelector.json or carbon/lang/en/TitleSelector.json

{
  "NoPermission": "<color=#ff5555>You do not have permission.</color>",
  "BetterChatNotLoaded": "<color=#ff5555>BetterChat is not loaded!</color>",
  "TitleLocked": "<color=#ff5555>You do not own this title!</color>",
  "MaxTitlesReached": "<color=#ff5555>Maximum of {max} titles reached!</color>",
  "UITitle": "TITLE SELECTOR",
  "UIStatusHidden": "All titles are hidden",
  "UIStatusDefault": "Showing default titles (by priority)",
  "UIStatusSelected": "{count}/{max} titles selected",
  "UILocked": "Locked",
  "UISelected": "Active",
  "UIAvailable": "Available",
  "UIRestricted": "Restricted",
  "UIClear": "Clear",
  "UIHideAll": "Hide All",
  "UIShowAll": "Show All",
  "UIClose": "Close",
  "PresetSwitched": "<color=#55ff55>Preset {num} activated!</color>",
  "TitleExclusionRemoved": "<color=#ffaa55>Title removed (conflicts).</color>"
}

Troubleshooting

  • UI not opening? — Check titleselector.use permission
  • Titles not showing in chat? — Ensure BetterChat is loaded
  • SkillTree toggles missing? — Install SkillTree + enable in config
  • Titles missing from UI? — Check "Ignored groups" config
  • Can't select more titles? — Max limit reached, check permissions
  • Changes not saving? — Check data folder permissions
  • Emoji toggle not working? — Enable in config
  • Gradients broken? — Ensure hex colors are right
  • Title shows "Restricted"? — Conflicts with selected title (exclusion groups)
  • Preset not switching? — Needs titleselector.use permission

Performance

  • Lightweight and optimized
  • Per-player data files with lazy loading
  • UI rendered on-demand only
  • Safe for high-population servers

Compatibility

  • Requires BetterChat (mandatory)
  • Optional: SkillTree, Clans 
  • Works with Oxide and Carbon
  • No conflicts with other chat plugins

Use Cases

  • VIP Customization — Let VIP players customize chat appearance
  • VIP Tiers — Different limits per donation level
  • Roleplay Servers — Choose titles that fit character
  • Clean Chat — Minimalist players hide all titles
  • Quick Switching — Presets for instant config swaps
  • Exclusive Ranks — Exclusion groups prevent conflicts
  • Clan Identity — Force clan tags for accountability
  • Gradient Titles — Beautiful color gradients
  • Collectibles — Motivate players to unlock titles

 

© 2025-2026 romzar.games — All rights reserved.
Thank you for using Title Selector! Give your players control over their chat identity!

  • Love 1

User Feedback

2.3m

Downloads

Total number of downloads.

10.6k

Customers

Total customers served.

153k

Files Sold

Total number of files sold.

3.3m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.