Jump to content

Hiro Of Canton

Creator
  • Posts

    44
  • Joined

  • Last visited

Everything posted by Hiro Of Canton

  1. Hiro Of Canton

    help)

    The profile names are all set in the files in `oxide/data/RaidableBaes/Profiles/*.json` like the following: { "Difficulty": "Easy", "Difficulty Level": 0, ... } Here's the full description of how we load them... # Difficulty Names: RaidableBases -> RaidSelector Quick reference for how difficulty names flow from RaidableBases into RaidSelector. --- ## Where Difficulty Names Come From Difficulty names are **not hardcoded**. They come from the `"Difficulty"` field in each RaidableBases profile file: ``` oxide/data/RaidableBases/Profiles/*.json ``` Each profile looks like this: ```json { "Difficulty": "Easy", "Additional Bases": { "easy_base_1": { ... }, "easy_base_2": { ... } } } ``` The `"Difficulty"` value is a **free-form, case-sensitive string**. It can contain spaces. Whatever you type there becomes the difficulty name everywhere else. ### Standard RaidableBases Difficulties | Name | Description | |---|---| | `Easy` | Ground-based, lowest tier | | `Medium` | Ground-based, mid tier | | `Hard` | Ground-based, high tier | | `Expert` | Ground-based, very high tier | | `Nightmare` | Ground-based, maximum tier | ### Custom Difficulties You can create any difficulty name you want by setting the `"Difficulty"` field in a profile. Common examples: | Name | Description | |---|---| | `Ship Expert` | Ship-based expert raid | | `Ship Hard` | Ship-based hard raid | | `Sky Easy` | Sky-based easy raid | | `Sky Medium` | Sky-based medium raid | Multiple profile files can share the same difficulty name -- their bases get merged together. --- ## How RaidSelector Imports Them On plugin load, RaidSelector runs this sequence: 1. **Scans all profile files** in `oxide/data/RaidableBases/Profiles/` 2. **Reads the `"Difficulty"` string** and the `"Additional Bases"` keys from each profile 3. **Merges profiles** that share the same difficulty name 4. **Looks up costs** from the RaidableBases main config (`oxide/config/RaidableBases.json`) 5. **Auto-creates permission entries** in `RaidSelector.json` for any new difficulty found No manual mapping is needed. If a difficulty exists in a profile, RaidSelector picks it up automatically on the next reload. --- ## Setting Costs in RaidableBases Costs are configured in `oxide/config/RaidableBases.json` under `Settings`. The difficulty name is used as the **dictionary key**: ### Economics / ServerRewards ```json "Economics Buy Raid Costs (0 = disabled)": { "Easy": 0.0, "Medium": 0.0, "Hard": 0.0, "Expert": 0.0, "Nightmare": 0.0, "Ship Expert": 0.0 } ``` ### Custom Item Costs ```json "Custom Buy Raid Cost": { "Easy": [ { "Enabled": true, "Item Shortname": "scrap", "Amount": 3000 } ], "Medium": [ { "Enabled": true, "Item Shortname": "scrap", "Amount": 6000 } ], "Hard": [ { "Enabled": true, "Item Shortname": "scrap", "Amount": 12000 } ] } ``` **Important**: If you add a custom difficulty like `Ship Expert` to your profiles, you must also add a matching entry in the cost dictionaries for it to have a price. Otherwise it will be treated as free. ### Enabling Cost Types In the same config, toggle which cost systems are active: ```json "Buyable Event Costs": { "Require Custom Costs": true, "Require Economics Costs": false, "Require Server Rewards Costs": false } ``` --- ## Controlling Visibility in RaidSelector In `oxide/config/RaidSelector.json`, each difficulty gets a `DifficultyPermissions` entry: ```json "DifficultyPermissions": { "Easy": { "DifficultyActivate": true, "RequiresDifficultyPermission": false }, "Ship Expert": { "DifficultyActivate": true, "RequiresDifficultyPermission": false } } ``` | Setting | Effect | |---|---| | `DifficultyActivate: false` | Hides the difficulty from the UI entirely | | `RequiresDifficultyPermission: true` | Only players with the Oxide permission can see it | Permissions are auto-generated as `raidselector.difficulty.<name>` where the name is lowercased with spaces replaced by underscores: | Difficulty | Permission | |---|---| | `Easy` | `raidselector.difficulty.easy` | | `Ship Expert` | `raidselector.difficulty.ship_expert` | | `Sky Medium` | `raidselector.difficulty.sky_medium` | --- ## Sort Order Difficulties appear in the UI sorted by: 1. Economics cost (ascending) 2. ServerRewards cost (ascending) 3. Alphabetical name (natural sort) --- ## Russian Config Support RaidSelector auto-detects Russian-language RaidableBases configs and normalizes the structural keys (e.g. `"Сложность"` -> `"Difficulty"`). However, **difficulty names themselves are not translated** -- if your profiles use `"Легкий"` as the difficulty name, that is what appears in RaidSelector. The names are passed through as-is. --- ## Checklist: Adding a New Difficulty 1. Create or edit a profile in `oxide/data/RaidableBases/Profiles/` with your new `"Difficulty"` value (e.g. `"Sky Nightmare"`) 2. Add bases to the `"Additional Bases"` dictionary in that profile 3. In `oxide/config/RaidableBases.json`, add a cost entry for `"Sky Nightmare"` in the relevant cost dictionaries (Economics, ServerRewards, or Custom) 4. Reload RaidSelector -- it will auto-detect the new difficulty and add a `DifficultyPermissions` entry to `RaidSelector.json` 5. Optionally edit `RaidSelector.json` to set `DifficultyActivate` or `RequiresDifficultyPermission` for the new difficulty
  2. Hiro Of Canton

    help)

    Changed Status from Pending to Fixed Changed Fixed In to 4.9.142
  3. Hiro Of Canton

    help)

    I'll add natural sort for the base names shortly. The "Easy" label comes directly from the RaidableBases profile files in `oxide/data/RaidableBases/Profiles`. The "Difficulty" property gives it the actual name and the "Difficulty Level" must be unique for each group in RaidableBases.
  4. Changed Status from Pending to Fixed Changed Fixed In to 4.9.141
  5. Hiro Of Canton

    not work!

    Changed Status from Pending to Fixed Changed Fixed In to 4.9.141
  6. It looks like I have a bug with the RP costs check. Researching it now and I should have a fix out soon.
  7. Hiro Of Canton

    not work!

    Hi BenDer, thanks for purchasing our plugin. My best guess right now is that we're having issues parsing the config file since the keys aren't in English. I think I have a work around for this but it'll take me a little bit to write it up and test. I'll get you an update as soon as I have something. Having full support for localization is on my roadmap but if you need it to work right now you can copy the Raidable bases configs into the English config templates.
  8. Hi PumpkinKing, Thanks for purchasing our plugin. There's a combination of settings/permissions for being able to buy raids. It looks like the buy random one is set correctly but the buy specific isn't. If you have the settings like: "BuyButtonPermissions": { "RequiresBuyRandomPermission": true, "RequiresBuySpecificPermission": true } Then you'll need to grant the user or group the `raidselector.buyraidspecific` permission in oxide permissions or set the `RequiresBuySpecificPermission` to false. If this doesn't take care of the issue, please upload your config file and I'll take a look.
  9. This is implemented now in v4.9.46.
  10. This would make sense as we're treating 0 as disabled under the economics. I'll look into seeing if there's a better way of handling this.
  11. Not sure why it didn't update but v4.8.64 is downloading for me now. Thanks for letting me know.
  12. I believe our server admin was using Fortify to do the previews. I've been hoping to find a better way too to generate the previews so I'll be sure to let you know if I find something.
  13. Version 4.9.142

    152 downloads

    WHAT IS RAIDSELECTOR? A user-friendly raid base purchasing system for Rust servers that transforms how players engage with raidable content. Featuring an intuitive UI, multilingual support, and seamless integration with popular server plugins. Perfect for server owners who want: • Professional player experience with modern UI • Monetization through VIP raid access • Multi-language support for international players • Easy integration with existing economy systems ═══════════════════════════════════════════════════════════════════ WHY CHOOSE RAIDSELECTOR? ═══════════════════════════════════════════════════════════════════ PLAYER EXPERIENCE • Intuitive point-and-click interface - no complex commands • Automatic per-player language via Oxide's lang system • Beautiful image previews of raid bases • Clear cost display with multiple currency support • Instant raid spawning after purchase MONETIZATION FEATURES • VIP-only difficulty tiers (Expert, Nightmare) • Permission-based purchase restrictions • Tiered access system for progression servers • Browse-only mode for non-VIP players MULTILINGUAL SUPPORT (NEW!) • Full localization system with external JSON files • Translates ALL UI text, errors, and base descriptions • Automatic language detection per player • Easy translation management for server admins • Admin command to generate language templates PROFESSIONAL INTEGRATION • Works standalone OR with ServerPanel unified menu • Seamless Economics, ServerRewards, and Custom Costs integration • Automatic base detection from RaidableBases profiles • No manual cost configuration needed • Russian RaidableBases config support (auto key translation) COMPLETE CUSTOMIZATION • 24+ customizable UI colors for branding • Custom base names, descriptions, and credits • Image preview support via ImageLibrary/ImageDatabase • Unlimited difficulty levels - automatically detected from RaidableBases profiles • Individual permission control per difficulty tier• Five difficulty levels with individual permission control PERFORMANCE OPTIMIZED • Memory-efficient object pooling • Cross-platform: Oxide AND Carbon support • Minimal server impact • Tested on high-population servers • Difficulties auto-sorted by cost (cheapest first) • New bases auto-detected from RaidableBases profiles ═══════════════════════════════════════════════════════════════════ FLEXIBLE PERMISSION SYSTEM ═══════════════════════════════════════════════════════════════════ Granular permissions for complete control: ✓ raidselector.can.use Open the UI ✓ raidselector.admin Manage translations & admin tools ✓ raidselector.difficulty.easy Access Easy raids ✓ raidselector.difficulty.medium Access Medium raids ✓ raidselector.difficulty.hard Access Hard raids (VIP) ✓ raidselector.difficulty.expert Access Expert raids (VIP) ✓ raidselector.difficulty.nightmare Access Nightmare raids (VIP) ✓ raidselector.buyraidspecific Purchase selected bases ✓ raidselector.buyraidrandom Purchase random bases Smart UI: Buttons automatically hide when players lack permissions Perfect for VIP tiers: Grant higher difficulties to premium players Flexible control: Allow browsing but restrict purchasing ═══════════════════════════════════════════════════════════════════ GETTING STARTED - 5 MINUTES TO LAUNCH ═══════════════════════════════════════════════════════════════════ INSTALLATION (2 minutes) 1. Install RaidableBases plugin (required) 2. Drop RaidSelector.cs into oxide/plugins/ or carbon/plugins/ 3. Server automatically loads plugin and creates config 4. Done! Players can immediately use /rs FOR PLAYERS (30 seconds) 1. Type /rs in chat (or click RAID SELECTOR in ServerPanel) 2. Pick a difficulty level from the left panel 3. Browse bases in the middle or click "Random" 4. Hit "Buy" button - raid spawns instantly! FOR ADMINS (Optional customization) • Grant basic access: o.grant group default raidselector.can.use • Create VIP tiers: o.grant group vip raidselector.difficulty.expert • Add translations: /rsinitlang es (Spanish, French, German, etc.) • Customize colors and base info in config file • Add base images via ImageLibrary/ImageDatabase • Enable Debug mode in config for detailed startup diagnostics and troubleshooting logs MULTILINGUAL SETUP (1 minute per language) 1. Run: /rsinitlang <language> (e.g., /rsinitlang es) 2. Edit: oxide/lang/es/RaidSelector.json 3. Reload: o.reload RaidSelector 4. Players see their Steam language automatically! PLUGIN INTEGRATION REQUIRED • RaidableBases - Core raid system and base configurations OPTIONAL (Enhance functionality) • Economics - Use server currency ($) for purchases • ServerRewards - Use reward points (RP) for purchases • ImageLibrary (Oxide) - Show base preview images • ImageDatabase (Carbon) - Show base preview images • ServerPanel - Unified menu integration (/info command) Works with ANY combination of optional plugins Costs automatically detected from RaidableBases config Supports dual currency: Economics + ServerRewards together! KEY CONFIGURATION OPTIONS Config automatically created at: oxide/config/RaidSelector.json BRANDING & APPEARANCE • ChatCommand - Change /rs to your preferred command • Colors - 24+ RGBA colors for complete UI theming • Base info - Custom names, descriptions, builder credits • Images - Add preview images via URLs ACCESS CONTROL • RequiresOxidePermission - Public or permission-based access • DifficultyPermissions - Enable/disable difficulties, require permissions • BuyButtonPermissions - Control who can purchase raids INTEGRATION • ServerPanelConfig - Enable/configure ServerPanel integration - Works standalone, embedded, or both modes - Perfect for unified server menu systems All settings hot-reload with: o.reload RaidSelector SMART PAYMENT SYSTEM AUTOMATIC COST DETECTION • Reads costs from RaidableBases config (no duplicate setup!) • Supports Economics, ServerRewards, Custom Costs, or any combination • Plugin-based currencies supported via RaidableBases custom costs • Free raids supported (no payment required) FLEXIBLE DISPLAY • Economics only: "Easy ($500)" • ServerRewards only: "Easy (100 RP)" • Dual currency: "Easy ($500 + 100 RP)" • Custom costs: item and plugin currency amounts displayed • Free raids: "Easy" PLAYER-FRIENDLY • Clear cost display before purchase • Payment handling delegated to RaidableBases (balance checks, charges, refunds) • Supports free raids with no payment required USE CASES & SERVER TYPES PERFECT FOR: • PvE servers wanting organized raid content • PvX servers with economy-based raid access • VIP/donor servers with tiered content access • International servers needing multi-language support • High-population servers requiring performance optimization • Servers using ServerPanel for unified menu systems POPULAR CONFIGURATIONS: • Public Easy/Medium, VIP-only Hard/Expert/Nightmare • Browse free, purchase requires VIP subscription • Progressive unlocking: rank up to access harder raids • Multi-language: Spanish, French, German, Russian supported • Branded UI matching your server's color scheme WHAT PLAYERS WILL LOVE ✓ No complicated commands - just /rs or click ServerPanel ✓ See exactly what you're buying with images and descriptions ✓ Know the cost before clicking - clear pricing display ✓ Interface in their own language automatically ✓ Instant raid spawning - no waiting ✓ Professional, polished experience WHAT ADMINS WILL LOVE ✓ 5-minute setup, works immediately out of box ✓ No manual cost configuration - reads from RaidableBases ✓ Permission system perfect for VIP monetization ✓ Easy translation management for international players ✓ Extensive customization without code editing ✓ Works on both Oxide AND Carbon servers ✓ Detailed configuration documentation included ✓ Debug mode for troubleshooting configuration issues ✓ Automatic Russian config key translation for RaidableBases ✓ New bases auto-detected on reload - zero maintenance DOCUMENTATION & SUPPORT INCLUDED DOCUMENTATION: • CONFIGURATION.md - Complete setup guide with examples • User changelog - All features and updates • Design documents - Technical architecture details FULL CONFIGURATION GUIDE: Comprehensive 1900+ line documentation covering: • Installation walkthrough • Permission system examples • Color customization guide • Multi-currency setup • Localization system • ServerPanel integration • Troubleshooting solutions • Real-world configuration examples Base Image Library I've started a git repository with images we've started collecting of different bases. Feel free to create a pull request if you have any additional base images you'd like to share with others. See the README for information about contributing and creating the pull request. CONFIGURATION.md.zip
    $30.00

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.4m
Total downloads
Customers
10.9k
Customers served
Files Sold
156.9k
Marketplace sales
Payments
3.4m
Processed total
×
×
  • 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.