Jump to content

HunterZ

Member
  • Posts

    301
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by HunterZ

  1. HunterZ

    Road Bradley

    I wish it were possible to either edit automatically generated routes, or to blacklist them from the list of routes that Bradley can randomly spawn on (I don't use the purchase feature on my server). My current procedural map has a bad road that runs through a building at Harbor, and Bradley keeps getting stuck on it. Alternatively, it would be nice if the un-stick feature could detect if Bradley hasn't moved for a couple of minutes regardless of reason. Edit: Also verified that enabling the obstacle check config options doesn't help. Check out the Q11 end of `4_Edited` on procedural map with seed 775103760, size 2800.
  2. HunterZ

    Any Map Vendor

    I was hoping someone would make this, because I just started leaning into smaller maps for our low pop casual server. Thanks for creating and publishing it - and for free, no less! I noticed that this seems to implement custom logic that simply stops every once in a while in lieu of the vanilla behavior of pulling over when a player approaches. I wonder if it's possible to activate or replicate more of the vanilla logic. I'm also super-impressed that this seems to be able to cobble together a path that spawns multiple roads. I purchased Road Bradley for my server because my players missed the vanilla Launch Site one on smaller maps, and that plugin seems to confine the Bradley to single road spans unless you create custom paths for it.
    Do you run custom maps? Do you run procedural maps that are too small to have ring roads? If your answer to either question is "yes", then this plugin is worth checking out as a way to provide your players with access to this otherwise-inaccessible content added by Facepunch. The spawned vendor seems to be able to navigate across connections between multiple roads in order to drive a significant distance across the map, which is quite impressive since conceptually similar plugins like Road Bradley don't currently manage to do this on their own. On the other hand, version 1.0.0 seems to be missing the vanilla behavior of pulling over when a player approaches. To make up for this, it stops at configurable intervals for a configurable amount of time. I also noticed that the vendor's turrets attack scarecrows (Halloween zombies). This is probably vanilla behavior, but I figured some folks might be interested to know. By default this plugin also unloads itself if a ring road is detected, in order to work seamlessly on servers that alternate between large maps and small/custom ones. This behavior is also configurable. Verified working with Carbon as well.
  3. I have released an update to fix this. Turns out I did some stuff that works in Carbon but not in Oxide, but it was minor and easy to fix.
  4. HunterZ

    Super PVx Info

    All: I screwed up the config file defaults in versions prior to 1.1.1. To fix, please update and regenerate your config file, or manually apply the suggested fix in the 1.1.1 update note or the plugin docs.
  5. HunterZ

    Super PVx Info

    @Stark okay, I've released version 1.1.0 with Simple Status support. Let me know what you think. Note that Simple Status support is disabled by default, so you will have to do the following: Load up the new version to update the config file Edit the config file to toggle UI and/or Simple Status displays on and off for each PVx status Reload the plugin for your changes to take effect
  6. HunterZ

    status display wrong

    I'm also seeing Facepunch item pickup/crafting status bars covered up by Simple Status bars.
  7. HunterZ

    Super PVx Info

    Will do. It looks like SimpleStatus provides its own bridge to AdvancedStatus, so I may only need to add support for the first one to get it working with either?
  8. HunterZ

    Super PVx Info

    Honestly my plugin probably ought to be broken apart into a library and a GUI, but it's hard to get stuff approved so I just wanted to get something out there. I can probably work out adding support for other front-ends and letting people choose between them and the default GUI though.
  9. Thanks, I hope you like it! The funny thing is I'm not in it for money - running a Rust server and making plugins is a hobby for me. I created this because players on my own causal hybrid PvE/PvP server wanted me to look into plugin enforcement of our rules, and I couldn't find anything that did everything I wanted.
  10. Version 1.9.0

    690 downloads

    Adds a highly configurable GUI to players' HUDs indicating whether they are currently in a PvE, PvP, or Safe Zone area, or are currently subject to a PvP expiration delay. Features: Complete control of GUI indicators for each status PvE/PvP status for Zone Manager zones Supports matching on zone name, True PVE exclusion mappings, or zone flags Tested with Dynamic PVP, but should also work with Agile Zones, Zone Manager Auto Zones, etc. PvE/PvP status detection for various plugins: Abandoned Bases (untested) Dangerous Treasures Dynamic PVP Player Base PVP Zones Raidable Bases PvP status detection for various plugins and locations: Adem event plugins (Caravan, Convoy Reforged) (untested) KpucTaJl event plugins (Air Event, Arctic Base Event, Ferry Terminal Event, Gas Station Event, Harbor Event, Junkyard Event, Power Plant Event, Satellite Dish Event, Supermarket Event, Water Event) (untested) Cargo Train Event (untested) Player height (sky / seasonal dungeons, train tunnels, etc.) Deep Sea PvP expiration delay status detection for: Abandoned Bases (untested) Dynamic PVP Player Base PVP Zones Raidable Bases True PVE Safe Zone status detection Tutorial Island detection (treated as PVE) Player notification on state changes not covered by other plugins (e.g. holiday dungeon / train tunnel / safe zone entry/exit) Can be enabled in chat and/or in Popup Notifications Optional Simple Status support Optional support for reading altitude and Deep Sea PVP settings from True PVE Commands: /pvxui (configurable) toggles the UI off and back on Configuration: { "Server Default PVx (PVP or PVE)": "PVE", "Assume PVP Below Height": -50.0, "Assume PVP Above Height": 1000.0, "Assume PVP In Deep Sea": false, "Prefer TruePVE Config Over Assumptions": true, "Toggle UI Command (empty string to disable)": "pvxui", "Seconds Between Updates": 1.0, "Force Updates On State Change": true, "Minimum Seconds Data File Saves": 5.0, "PVE Exclusion Mapping Names (case insensitive substrings / none to disable)": [ "exclude" ], "PVE Zone Names (case insensitive substrings / none to disable)": [ "PVE" ], "PVP Zone Names (case insensitive substrings / none to disable)": [ "PVP" ], "Notification Settings": { "Chat notify enabled": false, "Chat notify prefix (empty string to disable)": "[SuperPVxInfo]: ", "PopupNotifications notify enabled": true, "PopupNotifications notify prefix (empty string to disable)": "", "Individual Notification Toggles": { "Unexpected Exit From Abandoned Or Raidable Base": true, "Unexpected Exit From Dangerous Treasures Event": true, "Safe Zone Entry": true, "Safe Zone Exit": true, "PVP Height Entry": true, "PVP Height Exit": true, "PVP Depth Entry": true, "PVP Depth Exit": true, "Unexpected Exit From Dangerous Treasures Event": true, "PVP Deep Sea Entry": true, "PVP Deep Sea Exit": true } }, "Default UI Settings": { "PVE": { "Enabled": true, "Min Anchor": "0.5 0", "Max Anchor": "0.5 0", "Min Offset": "190 30", "Max Offset": "250 60", "Layer": "Hud", "Text": "PVE", "Text Size": 14, "Text Color": "1.0 1.0 1.0 1.0", "Background Color": "0.0 1.0 0.0 0.8", "Fade In": 0.25, "Fade Out": 0.25 }, "PVP": { "Enabled": true, "Min Anchor": "0.5 0", "Max Anchor": "0.5 0", "Min Offset": "190 30", "Max Offset": "250 60", "Layer": "Hud", "Text": "PVP", "Text Size": 14, "Text Color": "1.0 1.0 1.0 1.0", "Background Color": "1.0 0.0 0.0 0.8", "Fade In": 0.25, "Fade Out": 0.25 }, "PVPDelay": { "Enabled": true, "Min Anchor": "0.5 0", "Max Anchor": "0.5 0", "Min Offset": "190 30", "Max Offset": "250 60", "Layer": "Hud", "Text": "WAIT", "Text Size": 14, "Text Color": "1.0 1.0 1.0 1.0", "Background Color": "1.0 0.5 0.0 0.8", "Fade In": 0.25, "Fade Out": 0.25 }, "SafeZone": { "Enabled": true, "Min Anchor": "0.5 0", "Max Anchor": "0.5 0", "Min Offset": "190 30", "Max Offset": "250 60", "Layer": "Hud", "Text": "SAFE", "Text Size": 14, "Text Color": "1.0 1.0 1.0 1.0", "Background Color": "0.0 0.0 1.0 0.8", "Fade In": 0.25, "Fade Out": 0.25 } }, "Simple Status UI Settings": { "PVE": { "Enabled": false, "Background Color": "0.0 0.7 0.0 0.8", "Title Text": "PVE", "Title Color": "1.0 1.0 1.0 1.0", "Status Text": "SuperPVxInfo", "Status Color": "0.0 1.0 0.0 0.2", "Icon Path": "assets/icons/resource.png", "Icon Color": "0.5 1.0 0.5 1.0" }, "PVP": { "Enabled": false, "Background Color": "0.7 0.0 0.0 0.8", "Title Text": "PVP", "Title Color": "1.0 1.0 1.0 1.0", "Status Text": "SuperPVxInfo", "Status Color": "1.0 0.0 0.0 0.2", "Icon Path": "assets/icons/warning_2.png", "Icon Color": "1.0 0.5 0.5 1.0" }, "PVPDelay": { "Enabled": false, "Background Color": "0.7 0.7 0.0 0.8", "Title Text": "WAIT", "Title Color": "1.0 1.0 1.0 1.0", "Status Text": "SuperPVxInfo", "Status Color": "1.0 1.0 0.0 0.2", "Icon Path": "assets/icons/stopwatch.png", "Icon Color": "1.0 1.0 0.5 1.0" }, "SafeZone": { "Enabled": false, "Background Color": "0.0 0.0 0.7 0.8", "Title Text": "SAFE", "Title Color": "1.0 1.0 1.0 1.0", "Status Text": "SuperPVxInfo", "Status Color": "0.0 0.0 1.0 0.2", "Icon Path": "assets/icons/peace.png", "Icon Color": "0.5 0.5 1.0 1.0" } } } Background: Super PVx Info attaches a watcher to each player on login that monitors for any changes to PvE/PvP/delay/safezone state, and updates the player's HUD. By default this is done once per second, or as soon as possible after a hook-based change has occurred - but both of these behaviors are configurable, so you can reduce server load (at the cost of reduced GUI responsiveness) by increasing "Seconds Between Updates" and/or disabling "Force Updates On State Change". This approach is needed to monitor the player's height, and for more accurate safe zone detection (Facepunch is bad at providing triggers for things like exiting Train Tunnels into Outpost). This plugin is a complete overhaul of Zone PVx Info by BuzZ[PHOQUE]/Arainrr, which I was inspired to attempt after struggling to get it to work with Zone Manager Auto Zones (since abandoned in favor of DynamicPVP). Credits: BuzZ[PHOQUE] & Arainrr for creating Zone PVx Info Bug Man & Cannabis on Carbon's Discord server for suggesting the FacepunchBehavior approach and offering examples Nivex for putting up with all of my Abandoned/Raidable Bases and TruePVE questions and fixing/enhancing/documenting those plugins KpucTaJl for providing API clarification
    Free
  11. Version 1.5.0

    763 downloads

    Introduction Automatically manages PVP zones for player bases, legacy shelters, tugboats, and modular boats. Background/Compatibility Player Base PVP Zones is meant for hybrid PVP servers that want to allow online raiding. It is meant to complement Dynamic PVP which only provides zones for monuments and events. Zone Manager is a hard requirement in order to implement moving zones for tugboats and modular boats, as it doesn't officially support this feature. A PVE mod is required to make this useful. I only tested with True PVE for various reasons. Others have reported success with SimplePVE. Features Manages its own Zone Manager zones and maps them as True PVE exclusion zones (Re)creates zones on plugin load and cleans them up on unload Provides tool cupboard based zones: Configurable creation & deletion delays Automatic resizing to always encompass the base as building blocks are added/destroyed, with configurable delay Configurable minimum total base and per-building-block buffer sizes Provides legacy shelter based zones: Configurable zone size Provides tugboat based zones: Configurable zone size Zone moves with the tugboat Provides modular boat based zones: Configurable zone size Zone moves with the modular boat Optional support for visible zone spheres: Configurable sphere darkness Optional support for language file based zone creation/deletion and entry/exit notifications Configurable PVP expiration delay on player exit from zones Optional support for toggling zones on and off via a permission-controlled command Zone Toggling Notes In order for players to toggle zones, they must have the `PlayerBasePvpZones.toggleZones` Oxide permission, or be in an Oxide group that has that permission. The `/pbpz toggle` command will attempt to toggle a zone if the player is doing one of the following: Looking at and authorized to a Tool Cupboard within interaction range Within building privilege of a Legacy Shelter Mounted to the steering wheel of a Tugboat Mounted to a steering wheel of a Modular Boat If a zone creation/deletion timer is in effect, toggling will cancel it; otherwise, PBPZ will act as if the associated entity (TC/shelter/tugboat) just (de)spawned, applying any appropriate delays. Besides standard zone creation/deletion delays, exploitation of the toggle feature can be discouraged by configuring timed toggle lockouts that are triggered by toggling and/or by damage being done to building blocks, Tool Cupboards, Shelters, Tugboats, or Modular Boats. Admins can bypass the standard creation/deletion delays by reloading the plugin after running the toggle command. Admins can also toggle Tool Cupboard zones for other players by temporarily authorizing on the TC, and of course anyone with permission can toggle the zone for any Tugboat or Modular Boat that they are able to mount. Admin toggling of other players' shelter zones is currently not supported (if someone really needs it, I can implement it). Permissions `PlayerBasePvpZones.toggleZones` controls whether a player/group can use the `/pbpz toggle` command Commands `/pbpz` in chat supports the following sub-commands: `/pbpz help` shows info on currently available sub-commands (if any) `/pbpz toggle` attempts to toggle a zone on or off Configuration Default configuration: { "Zone creation delay in seconds (excludes tugboat)": 60.0, "Zone creation delay notifications (owner only, excludes tugboat)": true, "Zone deletion delay in seconds": 300.0, "Zone deletion delay notifications (all players in zone)": true, "Zone creation/deletion notification prefix": "[PBPZ] ", "Zone exit PvP delay in seconds (0 for none)": 5.0, "Zone sphere darkness (0 to disable, maximum 10)": 0, "Zone entry/exit ZoneManager messages": true, "Zone TruePVE mappings ruleset name": "exclude", "Building settings": { "Building update check delay in seconds": 5.0, "Building zone overall minimum radius": 16.0, "Building zone per-block minimum radius": 16.0 }, "Modular boat settings": { "Modular boat zone radius": 32.0 }, "Shelter settings": { "Shelter zone radius": 8.0 }, "Tugboat settings": { "Tugboat force global rendering on/off when spheres enabled (null=skip)": null, "Tugboat force enable buoyancy when forcing global rendering": false, "Tugboat zone radius": 32.0 }, "Zone toggle settings": { "Zone toggle lockout seconds after damage": 60.0, "Zone toggle lockout seconds after toggle": 60.0 } } NOTE: The tugboat rendering options should be left at defaults. The options are provided for the case that you are running other plugins that force global networking/rendering for tugboats, which can cause spheres to disappear when a tugboat comes back into client render range.This plugin will automatically attempt to synchronize tugboat sphere networking with each tugboat's networking type when (re)creating the spheres. Developer API Supported API calls: bool IsUsingExcludePlayer() Returns whether True PVE 2.2.3+ ExcludePlayer() PVP delay API is being used. string OnPlayerBasePvpDelayQuery(ulong playerID) Provides the ability to query whether a player has an active PVP delay Returns the triggering zone ID if the referenced player has an active PVP delay Returns an empty string If no PVP delay is active Hooks: void OnPlayerBasePvpDelayStart(ulong playerID, string zoneID) Called when PVP exit delay is applied to a player as a result of their exiting a base zone playerID is the ID of the triggering player zoneID is the Zone Manager zone ID whose exit triggered the delay void OnPlayerBasePvpDelayStop(ulong playerID, string zoneID) Called when PVP exit delay expires from a player playerID is the ID of the triggering player zoneID is the Zone Manager zone ID whose exit triggered the delay Zone Manager / PVE Plugin Integration Direct Zone Manager API calls are used to maintain zones for all bases, and indirect True PVE API calls are used to map those zones to the configured True PVE ruleset (`exclude` by default). This will cause True PVE (or other PVE plugins that implement a compatible API) to treat them as PVP areas. Zone names are broken into categories in case you want other plugins to recognize them separately: `PlayerBasePVP:building` for building block bases `PlayerBasePVP:shelter` for legacy wood shelters `PlayerBasePVP:tugboat` for tugboats `PlayerBasePVP:modularboat` for modular boats Developer note: Zone IDs are `PlayerBasePVP:` followed by a unique identifier. Credits Thanks to the following folks for making this plugin possible: bmgjet (help with / code for tugboat sphere issues) CatMeat & Arainrr (moving Zone Manager zones code examples in Dynamic PVP) Karuza (help with unique entity identifiers & tugboat sphere issues) Kulltero (help with TC/building relationship) WhiteThunder (help with tugboat sphere issues) AFKBank and Mooselips whose bases I took screenshots of on my server during testing
    Free
  12. HunterZ

    AgileZones

    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.
  13. HunterZ

    Raidable Bases

    Nivex: Thanks for all your help! My total overhaul of Zone PVx Info has been released here as Super PVx Info, and uses your latest hooks. Edit: I guess it's still in review.
  14. HunterZ

    AgileZones

    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.
  15. HunterZ

    Raidable Bases

    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?
  16. HunterZ

    Raidable Bases

    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"?
  17. HunterZ

    Raidable Bases

    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.
  18. HunterZ

    Road Bradley

    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.
  19. HunterZ

    Raidable Bases

    I just noticed that if a player dies within a RaidableBases PvP base event area and then respawns on the beach, `OnPlayerExitedRaidableBase()` doesn't get called. Do you have any suggestions on how a plugin should detect that they have respawned outside of the event area?
  20. HunterZ

    Abandoned Bases

    Thanks, you're a legend! Forgot to ask - can you also share the parameters/signature for `OnAbandonedBaseEnded`? This addon is checking *all* players on the server when that gets called, and I want to apply a distance-based filter like I did for `OnRaidableBaseEnded`.
  21. HunterZ

    Abandoned Bases

    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!
  22. HunterZ

    Raidable Bases

    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
  23. HunterZ

    Raidable Bases

    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.
  24. HunterZ

    Raidable Bases

    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).

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.5m
Total downloads
Customers
11.2k
Customers served
Files Sold
160.2k
Total 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.