-
Posts
176 -
Joined
-
Last visited
Content Type
Profiles
Downloads
Forums
Store
Support
DOWNLOADS EXTRA
Services
Everything posted by HunterZ
-
As someone who has a need for this plugin but hasn't pulled the trigger yet, this has me hesitating to purchase it. I did some experiments and found a method for calculating a 3D bounding box for a base that contains all of its building blocks, and then using that to derive a center and a radius. I think I may have to strike out on my own here, even though I'm not super experienced at Rust modding yet.
- 61 comments
-
I'm looking at adding AgileZones to the mix to create PvP zones around player bases. Does it play nice with DynamicPVP, RaidableBases, and RoadBradley? Background: I run a hybrid PvP/PvE casual server with RaidableBases and RoadBradley that currently runs on the honor system. Player bases, mid/high tier monuments, train tunnels, world events, and plugin events are all PvP, but low tier monuments and the rest of the map are PvE. I'm working on setting up plugin-based enforcement, and have ZoneManager + TruePVE + DynamicPVP + a work-in-progress extensive overhaul of Zone PVx Info (adds support for recognizing train tunnels, sky dungeons, safe zones, TruePVE/NextGenPVE exclusion zone mappings, Zone Manager pvpgod/pvegod zones, etc.). This is all working fairly well, but DynamicPVP lacks support for TC-based PvP zones. AgileZones seems like the obvious solution here. P.S. I ditched ZoneManagerAutoZones for DynamicPVP because everything about the latter is better. I also ditched ZoneDomes because (1) it doesn't clean up after itself if you reload it, resulting in duplicate domes, and (2) DynamicPVP and RaidableBases create (and clean up on reload) their own domes anyway.
- 61 comments
-
Yes, I think so: Looks like there's a hook for delay start, delay reset/restart/extend, and expired/end Hopefully there's a lower chance of weird corner cases since this is all being handled in `SetPVPDelay()` Non-conflicting signature for OnPlayerPvpDelayStart hook of same name in Abandoned Bases Question: How does the config option "PVP Delay Between Zone Hopping Persists After Despawn" fit in here? Hopefully I get an OnPlayerPvpDelayExpired hook call either way, but it will be more immediate if that config setting is false? Or am I completely misunderstanding its purpose?
-
I'm trying to overhaul a PvE/PvP status GUI plugin that wants to track whether the player is in a PVP delay state. `OnPlayerPvpDelayEntry` is what it was using, but it sounds like I should just assume PVP delay starts on `OnPlayerExitedRaidableBase` instead? What if the hook gets called because the player died and respawned? It might be good to have an explicit hook that gets called whenever you (re)set the PVP delay timer, just to avoid ambiguity. Also, are you seeing the same thing with `OnPlayerPvpDelayExpired` never getting called when the player is in a base when it despawns, regardless of "PVP Delay Between Zone Hopping Persists After Despawn"?
-
Experiencing some odd quirks in relation to PVP delays: `OnPlayerPvpDelayEntry` hook always gets called in entry to Raidable Base, even if it's a PVP base. This might be okay, except that trying to use this to trigger execution of `RaidableBases.Call("HasPVPDelay", somePlayer.userID.Get())` from my plugin results in false negatives because the PVP delay isn't actually in effect until the player leaves the base. `OnPlayerPvpDelayExpired` hook never gets called on base despawn. The "PVP Delay Between Zone Hopping Persists After Despawn" config setting doesn't seem to accomplish anything. In general, it seems like the coupling between RB's internal PVP delay states and when it calls hooks to notify other plugins might benefit from some tightening. For now, I'm still setting my internal PVP delay state on `OnPlayerPvpDelayEntry` and clearing it on `OnPlayerPvpDelayExpired` - but also calling `HasPVPDelay` whenever I get a `OnPlayerExitedRaidableBase` or `OnRaidableBaseEnded` hook, to check if the rug got pulled out from under me.
-
My server is configured for a single normal Bradley to exist, and to respawn 2700 +/- 900 seconds after being killed. Unfortunately it seems to often respawn more quickly than that - including almost instantly after the first kill of this month's force wipe. This seems to be because `OnServerInitialized()` starts a forever-repeating timer that causes a new Bradley to respawn every 10-15 minutes from server start, regardless of whatever else might be configured. Changing this `Timer.Every()` call to a `Timer.Once()` call fixes it, but it would be nice to get an official fix so that I don't have to keep remembering to reapply it on every update.
-
- 573 comments
-
- #rust
- #rust plugin
- (and 6 more)
-
Hello nivex! I'm overhauling a PvP/PvE mode UI plugin that has support for some of Abandoned Bases' hooks. I own Raidable Bases but not Abandoned Bases, so I can't get the answer to this myself by checking the code: Does Abandoned Bases call a hook on start of PvP delay, the way Raidable Bases calls "OnPlayerPvpDelayEntry"? If so, can you share enough of the signature for me to write a handler with a BasePlayer parameter? Thanks!
- 573 comments
-
- #rust
- #rust plugin
- (and 6 more)
-
Could be a red herring, as I added some code to check if `procotol` ends up null, and it doesn't. I only own your Tier 3 base pack, but here are the ones that are missing the protocol section: raideasy1.json raideasy10.json raideasy4.json raideasy5.json raideasy6.json raideasy7.json raideasy8.json raideasy9.json raidexpert1.json raidexpert10.json raidexpert2.json raidexpert3.json raidexpert4.json raidexpert5.json raidexpert6.json raidexpert7.json raidexpert8.json raidexpert9.json raidhard1.json raidhard10.json raidhard2.json raidhard3.json raidhard4.json raidhard5.json raidhard6.json raidhard7.json raidhard8.json raidhard9.json raidmed1.json raidmed10.json raidmed2.json raidmed3.json raidmed4.json raidmed5.json raidmed6.json raidmed7.json raidmed8.json raidmed9.json raidnightmare10.json raidnightmare3.json raidnightmare4.json raidnightmare5.json raidnightmare6.json raidnightmare7.json raidnightmare8.json raidnightmare9.json
-
My bad, not sure why I wasn't finding it. I'm now caught up to also experiencing the CopyPaste error with Carbon. Here is the line in CopyPaste that it's complaining about: var isItemReplace = !protocol.ContainsKey("items"); I guess RB ends up passing a null protocol dictionary? Edit: If it matters, it looks like only my custom bases, plus 4 of the bases I'm using from your Tier 3 pack have protocol data.
-
RB seems to have not migrated some of the config settings, like events - they're just completely missing from the JSON. I think I'll try starting over with a fresh config and then manually merge my desired settings back in. This has happened previously, so not unexpected (I even backed up my config just in case lol).
-
Thanks! Follow-ups: 1. Your response to the Scarecrows question seems to have got cut off. 8. Does that mean "Scientist Options - Amount Of Scientists To Spawn (might not spawn all of them)" is really a number of waves, and the number of scientists per wave is determined by base game logic? Just trying to understand what exactly turning that knob does so that I can figure out the best setting for my server. Another thing: 9. My players suggested it might be nice if each Road Bradley could jump/respawn to a different route if not taken for too long. I suspect this would be nontrivial because you'd have to maintain timers for each spawned Bradley, but thought I should pass it along.
-
Just bought this, and I have a couple questions/comments: 1. I'd like this to attack scarecrows (halloween zombies) as I have those enabled on my server, but "Targeting - Target NPC" seems to accomplish nothing? 2. If I try to open a different route in the route editor when one is already open, I get an exception in the server console, and the route editor UI turns blank but stays open until I log out and back in. 3. The Bradley health bar that appears never seems to disappear. Is this intentional? Seems like it should go away if no damage is dealt after some amount of time, or if the player ends up a certain distance away. 4. If I disable "Tank Route - Use longest path", it doesn't seem to spawn at all. My players are asking for more variation in spawning, so I was hoping there was a way to make it pick randomly from one of the >30 auto-generated paths? I think I somewhat understand now: There are basically 3 modes: Use longest path, use automatic path list, use explicit path list - possibly with some overlaps? Might be nice to have "use M longest paths" or "use top N% longest paths". Also might be nice to be able to prefer paths near high-tier monuments. For now I'll just manually tune this on a per-map basis probably. 5. Why did Bradley respawn after only 7 minutes when I set `"Spawns - Respawn Time (in seconds)": 3150,` and `"Spawns - Respawn Time Randomize Value (goes +value and -value from option above)": 450,`? Could it be that a repeating timer in `OnServerInitialized()` is running in parallel to the config-driven one? Edit: Yep, commenting that out seems to have fixed it - I'm just not sure if it will break online player count requirements for spawning. It might be worth considering consolidating respawn alarms into a single member variable, so that the alarm state can be queried, (re)set, cleaned up on plugin unload, etc. 6. The respawned Bradley got stuck on the wreckage of the destroyed one, but I'm not getting any stuck notices after several minutes. 7. I noticed that with "use all default routes" it was picking some very short ones. I tried setting a 100 checkpoint minimum, and it narrowed things down - but when I viewed them in the route editor, some of them have checkpoint numbers starting at 116 or so; seems like a possible bug? Edit: It seems it's because there are checkpoints going in each direction, so probably not a bug. 8. When I set "Scientist Options - Amount Of Scientists To Spawn (might not spawn all of them)" to 5, I get over a dozen scientists. What's that about? Edit: If it matters, I'm running with Carbon and PopUpAPI.
-
I think you misunderstand: Your code is using local time, because it's calling `DateTime.Now`. This returns local time: https://learn.microsoft.com/en-us/dotnet/api/system.datetime.now?view=net-8.0#system-datetime-now If your intention is for UpdateChecker to use UTC, then your code needs to be changed to instead call `DateTime.UtcNow`: https://learn.microsoft.com/en-us/dotnet/api/system.datetime.utcnow?view=net-8.0
- 272 comments
-
- 1
-
-
- #updates checker
- #plugin
- (and 5 more)
-
- 272 comments
-
- #updates checker
- #plugin
- (and 5 more)
-
- 272 comments
-
- #updates checker
- #plugin
- (and 5 more)