About RaidSelector
RaidSelector Plugin - How It Works
What is RaidSelector?
RaidSelector makes it easy for players to buy raids on your server! Instead of typing complicated commands, players get a simple point-and-click interface to browse and purchase raidable bases.
What it does:
- Shows all available raids in a clean, visual menu
- Organizes raids by difficulty (Easy, Medium, Hard, Expert, Nightmare)
- Displays prices for each difficulty level
- Shows base previews with images (automatically cached for faster loading)
- Handles payments automatically through your Economics plugin
- Lets players pick specific bases or choose randomly
- Supports multiple languages through external language files (currently UI elements only)
-------------------------------------------------------------------
How to Install
You need RaidableBases and it's dependencies installed first.
Then just:
- Put the RaidSelector.cs file in your oxide/plugins/ folder
- Restart your server or type "o.reload RaidSelector" in console
- Give players permission to use it (see below)
-------------------------------------------------------------------
Permission System (Enhanced in v4.8.0+)
RaidSelector has a complete permission system that lets you control exactly what players can access!
Available Permissions
- raidselector.can.use - Controls who can open the UI
- raidselector.difficulty.easy - Controls access to Easy difficulty raids
- raidselector.difficulty.medium - Controls access to Medium difficulty raids
- raidselector.difficulty.hard - Controls access to Hard difficulty raids
- raidselector.difficulty.expert - Controls access to Expert difficulty raids
- raidselector.difficulty.nightmare - Controls access to Nightmare difficulty raids
- raidselector.buyraidspecific - Controls ability to purchase specific bases
- raidselector.buyraidrandom - Controls ability to purchase random bases
Smart UI Features
Difficulty buttons automatically hide when players don't have permission
Purchase buttons hide when players don't have permission
Clear error messages if players try to access restricted content
No confusing "access denied" messages - unavailable options just don't show!
Example Permission Setups
VIP Players Only:
o.grant group vip raidselector.can.use o.grant group vip raidselector.difficulty.easy o.grant group vip raidselector.difficulty.medium o.grant group vip raidselector.buyraidspecific
Free Easy Raids, Pay for Hard
o.grant group default raidselector.can.use
o.grant group default raidselector.difficulty.easy
o.grant group default raidselector.buyraidspecific
o.grant group vip raidselector.difficulty.hard
o.grant group vip raidselector.difficulty.expert
Everyone Can Browse, VIPs Can Buy:
o.grant group default raidselector.can.use
o.grant group default raidselector.difficulty.easy
o.grant group default raidselector.difficulty.medium
o.grant group vip raidselector.buyraidspecific
o.grant group vip raidselector.buyraidrandom
-------------------------------------------------------------------
How Players Use It
Opening the Menu
Players type "/rs" in chat (you can change this command in config)
Buying a Raid
- Pick a difficulty on the left
- Choose a specific base from the middle, OR click "Random"
- Click the "Purchase" button
- The money is taken from their account automatically
- The raid spawns and they get notified where it is
-------------------------------------------------------------------
Server Setup
Permission Commands
Grant permission to everyone: o.grant group default raidselector.can.use
Grant permission to a specific player: o.grant user PlayerName raidselector.can.use
Grant permission by Steam ID: o.grant user 76561198012345678 raidselector.can.use
Revoke a permission: o.revoke user PlayerName raidselector.buyraidspecific
Check what permissions a player has: o.show user PlayerName
Admin Commands
o.reload RaidSelector - Reload the plugin
/rs - Open the interface (if you have permission)
/rsinitlang - Create language files for translation (creates oxide/lang/en/RaidSelector.json)
-------------------------------------------------------------------
Configuration File
The config file is at: oxide/config/RaidSelector.json
Here's what you can change:
Basic Settings
ChatCommand - What players type to open the menu
Default: "rs" (so players type /rs)
You can change it to anything: "raids", "buyraid", "rb", etc.
RequiresOxidePermission - Whether players need permission to use it
true = Only players with permission can use it
false = Everyone can use it
Difficulty Permissions (NEW in v4.8.0)
Control access to each difficulty level:
DifficultyPermissions - Per-difficulty settings
DifficultyActivate - Show/hide this difficulty entirely
true = Difficulty shows up (if player has permission)
false = Difficulty is completely hidden from everyone
RequiresDifficultyPermission - Require permission for this difficulty
true = Players need raidselector.difficulty.[name] to access
false = All players can access (if DifficultyActivate is true)
Example:
"DifficultyPermissions": { "Easy": { "DifficultyActivate": true, "RequiresDifficultyPermission": false }, "Expert": { "DifficultyActivate": true, "RequiresDifficultyPermission": true } }
Buy Button Permissions (NEW in v4.8.0)
Control who can purchase raids:
BuyButtonPermissions - Purchase button settings
RequiresBuySpecificPermission - Require permission to buy specific bases
true = Need raidselector.buyraidspecific permission
false = Everyone can buy specific bases
RequiresBuyRandomPermission - Require permission to buy random
true = Need raidselector.buyraidrandom permission
false = Everyone can buy random bases
Example:
"BuyButtonPermissions": { "RequiresBuyRandomPermission": true, "RequiresBuySpecificPermission": true }
Colors (Optional)
You can customize how the interface looks:
Colors use RGBA format (Red Green Blue Alpha), with values from 0 to 1:
Main Window:
ModalBackground: Main window background
TitleBarBackground: Title bar background
TitleBarText: Title text color
XButtonBackground: Close X button background
XButtonText: Close X button text color
Left Panel (Difficulty Selection):
LeftPanelBackground: Left panel background
DifficultyButtonActiveBackground: Selected difficulty button
DifficultyButtonInactiveBackground: Unselected difficulty button
DifficultyButtonText: Difficulty button text
CloseButtonBackground: Bottom close button background
CloseButtonText: Bottom close button text
Middle Panel (Base Selection):
MiddlePanelBackground: Middle panel background
BasePanelActiveBackground: Selected base background
BasePanelInactiveBackground: Unselected base background
BasePanelNameText: Base name text color
BasePanelDescText: Base description text color
RandomButtonBackground: Random button background
Right Panel (Base Details):
RightPanelBackground: Right panel background
RightPanelDescText: Description text color
PurchaseButtonBackground: Purchase button background
PurchaseButtonText: Purchase button text color
Scrollbars:
ScrollbarHandleColor: Scrollbar handle color
ScrollbarHighlightColor: Scrollbar highlight color
ScrollbarPressedColor: Scrollbar pressed color
ScrollbarTrackColor: Scrollbar track background
Custom Base Info (Optional)
You can add custom information for specific bases:
DisplayName - Friendly name shown to players
Description - Text shown when they select the base
Credit - Who built the base
ImageUrl - Link to an image of the base
NotBuyable - Set to true to hide this base from purchase options
