-
Posts
168 -
Joined
-
Last visited
Content Type
Profiles
Downloads
Forums
Store
Support
DOWNLOADS EXTRA
Services
Everything posted by HunterZ
-
So I went ahead and fixed things to use only the default categories, and after running for about 17 hours I noticed a massive amount of CPU and RAM usage incurred - about 20x what any other mods (including Raidable Bases) have used: Mod Author Version Hook Time Memory Usage Compile Time Uptime CustomLoot Steenamaroo v1.2.2 19329ms 1.1gb 164ms 17h6m40s CustomLoot v1.2.2 by Steenamaroo Path: C:\Games\rust\carbon\plugins\CustomLoot.cs Compile Time: 164ms Uptime: 17h6m56s Total Hook Time: 19332ms Total Memory Used: 1.1 gb Internal Hook Override: True Has Conditionals: False Mod Package: Scripts (44) Processor: Script Processor [.cs] Permissions: N/A Hooks: # Id Hook Time Memory Fires Subscribed Async/Overrides 1 1330569572 OnServerInitialized 463ms 9.7 mb 1 True 0/1 2 646977174 OnLootSpawn 17246ms 1.0 gb 149,057 True 0/1 3 3757549339 OnEntitySpawned 1623ms 99.5 mb 466,524 True 0/2
-
Ah, I see. The default categories are rather arbitrary, so being able to weight those isn't really helpful (especially in my case where the items I'm interested in are all in the same one). I was trying to split some loot into tiers and maintain the vanilla percentages for the contained items. Instead I'll have to do some complex composite probability calculations to implement it at the individual items level I guess.
-
Just tried using this with Carbon, and discovered what I think is a bug: I wanted to make vehicle_parts (blue plastic trays) have a chance to spawn medium or high quality parts, so I did the following relevant steps: 1. In CustomLoot.json, set the "lootTable" for "vehicle_parts" to "hz_vehicle_parts", which creates "hz_vehicle_parts.json" 2. In hz_vehicle_parts.json, created "Tier1", "Tier2", and "Tier3" entries under "Categories" with various percentages adding to 100 3. In hz_vehicle_parts.json, created "Tier1", "Tier2", and "Tier3" entries under "LootTypes", copied in the corresponding tiers of vehicle parts from the sibling "Component" entry of "LootTypes", and customized min/max stack & condition values And here's the bug: - On first reload of the CustomLoot plugin, the min/max condition values get removed from hz_vehicle_parts.json for my Tier1/Tier2/Tier3 LootTypes entries, but CustomLoot applies them in-game - On second reload of the CustomLoot plugin, it reverts to using the default 90-100% condition range (probably because the values were no longer in the JSON at the time of plugin load) I also tried tweaking the condition ranges under the default "Component" entry of "LootTyes". The values stick in the JSON file but are not used when spawning the items from my Tier1/Tier2/Tier3 categories. I suspect the bug is that CustomLoot is failing to write min/max condition values for custom LootTypes entries in a loot table JSON file.
-
- 222 comments
-
- 222 comments
-
Maintained and scheduled events have a "Time To Wait Between Spawns" setting. Scheduled events also have "Every Min Seconds" and "Every Max Seconds" settings, and I'd like to know how those all interact with each other because it's not obvious. Edit: It's also not obvious what the time unit is for "Time To Wait Between Spawns". Minutes?
-
Thanks. I ended up adding this logic, and it does end up triggering quite a lot during Raidable Bases raids (I know this because the log shows a completed raid within a couple minutes of the log message below being spammed): foreach (var id in authorizedPlayers) { if (!id.IsSteamId()) { PrintWarning("OnStructureAttack(): Aborting due to non-player owner"); return null; } break; }
-
First I'll mention that the typical hook time has dramatically reduced (from 30s to <1s) since I turned off "protect all prefabs", so I guess maybe it was animals trying to kill each other forever that was causing a lot of it lol. Regarding your suggested logic: This will only ever run one iteration of the loop, because it will either break out of the loop, or bail out of the entire method. Is this intentional?
-
Ah, okay thanks. I guess I'll have to trust that the included list is comprehensive enough. I checked ownership on an RB TC, and it says: (2) Authorized Unknown: 4890063 - 4890063 Unknown: 6485344 - 6485344 I'm not sure if these correspond to the NPCs that RB spawned outside, or if they're arbitrary, but in any case they're not players.
-
Another funny data point: For some reason, animals keep congregating on my base. Another player saw this while I was offline and said they were unable to kill them - and the animals were unable to kill each other - because of ORP lmao. I'm not sure what would cause this. I just tried turning off vehicle protection in case it's that, but unfortunately the user had already logged off and wasn't able to try again.
-
- 270 comments
-
- #updates checker
- #plugin
- (and 5 more)
-
I recently make a bunch of flame-raidable base designs to comprise a new Easy tier for my server, but they often seem to spawn in the water, which makes them a lot more expensive than intended. Other than tweaking the base designs, is there a way for me to tell the plugin to only spawn bases from a given list on dry land?
-
Here's my config: https://pastebin.com/Xryi9qyR Interestingly, the current hook time is tiny. I wonder if what's going on is that it does a lot of work while people are taking heli and such, but is pretty much idle the rest of the time. We have a new biweekly wipe starting today, so I'll keep an eye on server FPS and hook times if I see someone tag heli. Edit: Got a spike today, and players said they didn't take heli but they did raid some Raidable Bases bases. I wonder if there's an easy way to detect those and bail out of processing more quickly?
-
I'm pretty sure it's a cumulative execution time based on the following: See https://umod.org/community/rust/10414-determining-performance-usage-of-each-plugin-installed I also see the same thing with the explicit label of "Total Hook Time" when I create and view a report via the Performance Monitor plugin by ViolationHandler: https://umod.org/plugins/performance-monitor Your example of reloading the plugin also shows the number resetting to zero and then climbing over time, which is not what would happen if it was showing compilation time.
-
Okay, I think what I'm asking then is for an option to also apply damage mitigation when the source doesn't trace back to a player. I don't know Rust/Oxide API or performance considerations very well yet, but it seems that this could work: have `OnEntityTakeDamage()` allow the `OnStructureAttack()` call to go through when `hitInfo.InitiatorPlayer is null` have `OnStructureAttack()` skip the `authorizedPlayers.Contains(hitInfo.InitiatorPlayer.userID)` check when `hitInfo.InitiatorPlayer is null`
-
Thanks for this - it's super helpful! Here are some thoughts/ideas I captured while using this to make initial loot tables for my server: Left and right views using the same category order would be helpful, even if that means reordering the categories in the profile file. Navigating tables would be quicker if the left and right views were combined into one big one, with stuff in the database but not in the profile just greyed out or hidden via a toggle (may address items #1 & #8). Nivex says there's no functional difference between "disabled" and not in profile, so an option to just remove those might be useful. Adding a multiple selection of items to the loot table would benefit from "yes to all" and "no to all" options for the "already contains" popup. I keep forgetting to activate the checkboxes when bulk editing multiple-selected items, so it would be helpful for them to auto-enable when modifying the related data field. Water jug, mushroom, drone icons look wrong/outdated. When saving the current table as a different filename, the active filename doesn't change to match. Adding an item from the left list to the loot table often causes the latter to jump, such that I have to scroll back to where I was (could be related to differing category orders?). A "test" button that uses similar logic to RB to roll up sets of example loot would be useful for getting an idea of what results to expect from the current table. When editing a min/max amount, trying to backspace and re-enter a digit often erases multiple digits for some reason. RB rewrites loot table files on load, and stores the fields in a different order than the editor does. This makes it hard to compare things in a diff tool. Matching the field order would avoid this.
-
I just purchased this with the mod, and have some questions about loot tables: 1. When/how do the included tables in data\RaidableBases\Base_Loot versus data\RaidableBases\Difficulty_Loot get used? In particular, does one override the other, or do they get combined somehow? 2. When/how does the included data\RaidableBases\Difficulty_Loot\Normal.json get used? (the functions of the other files in that directory are obvious) 3. RB Loot Editor warns if I have a lot of sub-90% probability and/or minimum amount zero items. Does RB not cycle through the table until it rolls up some minimum amount of loot? 4. Is there a functional difference between an item being in the loot table with max=0 or probability=0, versus not being in the table at all? Thanks!