-
Posts
45 -
Joined
-
Last visited
Content Type
Profiles
Warranty Claims
Downloads
Forums
Store
Services
Downloads Plus Support
DOWNLOADS EXTRA
Everything posted by Hiro Of Canton
-
Issue with more than 5 raid levels
Hiro Of Canton replied to TheDragonessesLair's Support Report in Support
Thanks for supporting our plugin. I believe the issue you're describing comes form the base profile having a duplicate difficulty level in the profile file or unmatched profile in the main RaidableBases config. I'd start by looking at the json files in oxide/data/RaidableBases/Profiles and make sure they all have unique "Difficulty" and "Difficulty Level" values. They'll also need to have entries everywhere in the main config file (oxide/config/RaidableBases.json) everywhere the other difficulties are defined to allow them to function as a new difficulty type. If you can't find anything that stands out in those files, feel free to PM me a copy of your RaidableBases.json and the data/RaidableBases folder and I'll be happy to take a look. Thanks! -
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
-
Changed Status from Pending to Fixed Changed Fixed In to 4.9.142
-
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.
-
Changed Status from Pending to Fixed Changed Fixed In to 4.9.141
-
Changed Status from Pending to Fixed Changed Fixed In to 4.9.141
-
It looks like I have a bug with the RP costs check. Researching it now and I should have a fix out soon.
-
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.
-
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.
-
Plugin Needs To Manually Reload To Compile After Adding To Server Panel
Hiro Of Canton replied to ChardaZAR's Support Report in Support
Changed Status from Work in Progress to Fixed Changed Fixed In to 4.9.116 -
Plugin Needs To Manually Reload To Compile After Adding To Server Panel
Hiro Of Canton replied to ChardaZAR's Support Report in Support
Version 4.9.116 has further protections in place to prevent conflicts with other programs. Let me know if the problem persists after reboot with this version. One thing to look for is if manual reload is loading an older version. -
Plugin Needs To Manually Reload To Compile After Adding To Server Panel
Hiro Of Canton replied to ChardaZAR's Support Report in Support
Changed Status from Pending to Work in Progress -
Plugin Needs To Manually Reload To Compile After Adding To Server Panel
Hiro Of Canton replied to ChardaZAR's Support Report in Support
I had 1 other user that mentioned they were getting `The namespace 'Oxide.Plugins' already contains a definition for 'DictionaryExtensions'` on reboot but I haven't been able to replicate that locally. I've made some changes in this latest release that should address this if that error is really what's wrong. Are you using a plugin to do the restarts or just using cron/hosting provider's restart commands? -
Changed Status from Pending to Closed Changed Fixed In to 4.9.102
-
The info I'm finding is suggesting an outdated c# compiler as it's missing the feature to create that struct. Not a problem though. I'll send you a version via pm shortly to try that doesn't use that feature to try and isolate the issue further.
-
Can you confirm which version of Oxide you're running and if this is Windows or Linux? It looks like there might be a difference between Mono/.NET Framework where line 439 should just be "}" vs "};" I'll make a release with that fix shortly but I'd appreciate it if you can confirm that works. Thanks!
-
-
-
-
Feedback and requests regarding the plugin.
Hiro Of Canton replied to DeutscherRitterPlatz's Support Report in Support
Changed Status from Work in Progress to Fixed Changed Fixed In to v4.8.62 -
Feedback and requests regarding the plugin.
Hiro Of Canton replied to DeutscherRitterPlatz's Support Report in Support
4.8 release is out with the new permissions system. I'm hoping I've tested every possibility of permissions combinations but let me know if you find anything that doesn't work as expected. Thanks again for your support! -
Feedback and requests regarding the plugin.
Hiro Of Canton replied to DeutscherRitterPlatz's Support Report in Support
Looking at implementing the permissions system for now and that'll be released in the 4.8.x build once I finish cleanup. The grouping of the bases is a bigger refactor that I'll put in the future queue. -
Feedback and requests regarding the plugin.
Hiro Of Canton replied to DeutscherRitterPlatz's Support Report in Support
Changed Status from Pending to Work in Progress -
-
Failed compiling 'RaidSelector.cs': | Carbon: 2.0.215
Hiro Of Canton replied to DeutscherRitterPlatz's Support Report in Support
Turns out my carbon rust server died and it wasn't reporting the build failures anymore. This should be working now. Let me know if you have any issues or any suggestions and thanks again for your purchase.