Jump to content

Brad Copp

Creator
  • Posts

    483
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Brad Copp

  1. Changed Status from Pending to Fixed Changed Fixed In to 1.0.9
    Magnificent craftsmanship with this map. Players agree
  2. Hello, , will upload another update shortly - sorry i missed it in 1.0.9
  3. Hi Kobani, i've tested with the latest version for quite some time and crates were respawning correctly, no real reason they shouldnt Here's my current example config for alwaysopen/building enabled/respawn/allow all vehicle { "Control - Schedule (plugin manages open/close mode and timers)": true, "Control - Content (plugin sets island/ghost ship/RHIB spawn settings)": true, "Control - Travel Rules (plugin changes what can pass through the portal)": true, "Control - Building (plugin enforces allow/deny building while in deep sea)": true, "Force apply change on plugin reload? (closes + reopens deep sea to apply spawn changes immediately. Recommend manual close/open instead.)": false, "Schedule": { "Mode (Vanilla | AlwaysOpen | Disabled)": "AlwaysOpen", "Open Time Seconds (vanilla wipeDuration)": 999999.0, "Cooldown Seconds (time until next opening after closing)": 5400.0, "Final Phase Seconds (used for end weather/ramp)": 1800.0, "Radiation Warning Phase Seconds (entry blocked when time left is below this)": 300.0, "AlwaysOpen - Keep Time Left Around Seconds": 999999.0, "AlwaysOpen - Refill When Below Seconds": 3600.0, "Disabled - Push Next Opening To Seconds": 9999999.0, "Set DeepSea Enabled Flag (restart may be required)": true, "DeepSea Enabled": true }, "Content": { "Islands": { "Count": 6, "Spacing Size (bigger = more spread out)": 300.0, "Edge Buffer (bigger = further from outer edge)": 750.0, "Minimum Spacing (hard minimum distance)": 600.0 }, "Ghost Ships": { "Count": 4, "Spacing Size (bigger = more spread out)": 80.0, "Edge Buffer (bigger = further from outer edge)": 450.0, "Minimum Spacing (hard minimum distance)": 400.0 }, "RHIB Groups": { "Count": 4, "Spacing Size (bigger = more spread out)": 10.0, "Edge Buffer (bigger = further from outer edge)": 1150.0, "Minimum Spacing (hard minimum distance)": 300.0 } }, "Travel Rules": { "Allow Any Vehicle": true, "Allowed Vehicle Prefabs (If not all vehicles)": [], "If any vehicle, require boat type only?": false, "Allow Players Without Vehicle": false, "Allow Noclip Players": true, "Allow Non-Player Passengers (npcs)": false, "Allow Non-Player Entity Teleport (npcs)": false, "Allow Entry During Radiation Warning Phase": false, "Ignore Extra Vehicle Onboard Check (eg copter transported on boat": false, "Log entry/exit": false }, "Building": { "Allow Building In Deep Sea": true, "DeepSea - Limit Foundations": true, "DeepSea - Max Foundations Per Player": 10, "DeepSea - GameTip: Show remaining on successful place": true, "DeepSea - GameTip: Show message when denied": true }, "Notifications": { "GameTip - Deep Sea Opening": true, "GameTip - Deep Sea Opened": true, "GameTip - Deep Sea Closing": true, "GameTip - Deep Sea Closed": true }, "Respawn (Crates/NPCs/Hackables)": { "Enable Respawn System": true, "Check Interval Minutes": 15, "Min Distance From Players To Allow Respawn": 100.0, "Respawn Hackable Crates Via Ghostship": true, "Hackable Crates Count": 2 } }
  4. Hello, yes it can stop deepsea from opening permanently. Not part of the plugin at this time
  5. Hi frontier, below is a tested and working config which: - Keeps deepsea always open - Allow build (max 10 foundations) - Allows any vehicle through - 15 minute respawn timer { "Control - Schedule (plugin manages open/close mode and timers)": true, "Control - Content (plugin sets island/ghost ship/RHIB spawn settings)": true, "Control - Travel Rules (plugin changes what can pass through the portal)": true, "Control - Building (plugin enforces allow/deny building while in deep sea)": true, "Force apply change on plugin reload? (closes + reopens deep sea to apply spawn changes immediately. Recommend manual close/open instead.)": false, "Schedule": { "Mode (Vanilla | AlwaysOpen | Disabled)": "AlwaysOpen", "Open Time Seconds (vanilla wipeDuration)": 999999.0, "Cooldown Seconds (time until next opening after closing)": 5400.0, "Final Phase Seconds (used for end weather/ramp)": 1800.0, "Radiation Warning Phase Seconds (entry blocked when time left is below this)": 300.0, "AlwaysOpen - Keep Time Left Around Seconds": 999999.0, "AlwaysOpen - Refill When Below Seconds": 3600.0, "Disabled - Push Next Opening To Seconds": 9999999.0, "Set DeepSea Enabled Flag (restart may be required)": true, "DeepSea Enabled": true }, "Content": { "Islands": { "Count": 6, "Spacing Size (bigger = more spread out)": 300.0, "Edge Buffer (bigger = further from outer edge)": 750.0, "Minimum Spacing (hard minimum distance)": 600.0 }, "Ghost Ships": { "Count": 4, "Spacing Size (bigger = more spread out)": 80.0, "Edge Buffer (bigger = further from outer edge)": 450.0, "Minimum Spacing (hard minimum distance)": 400.0 }, "RHIB Groups": { "Count": 4, "Spacing Size (bigger = more spread out)": 10.0, "Edge Buffer (bigger = further from outer edge)": 1150.0, "Minimum Spacing (hard minimum distance)": 300.0 } }, "Travel Rules": { "Allow Any Vehicle": true, "Allowed Vehicle Prefabs (If not all vehicles)": [], "If any vehicle, require boat type only?": false, "Allow Players Without Vehicle": false, "Allow Noclip Players": true, "Allow Non-Player Passengers (npcs)": false, "Allow Non-Player Entity Teleport (npcs)": false, "Allow Entry During Radiation Warning Phase": false, "Ignore Extra Vehicle Onboard Check (eg copter transported on boat": false, "Log entry/exit": false }, "Building": { "Allow Building In Deep Sea": true, "DeepSea - Limit Foundations": true, "DeepSea - Max Foundations Per Player": 10, "DeepSea - GameTip: Show remaining on successful place": true, "DeepSea - GameTip: Show message when denied": true }, "Notifications": { "GameTip - Deep Sea Opening": true, "GameTip - Deep Sea Opened": true, "GameTip - Deep Sea Closing": true, "GameTip - Deep Sea Closed": true }, "Respawn (Crates/NPCs/Hackables)": { "Enable Respawn System": true, "Check Interval Minutes": 15, "Min Distance From Players To Allow Respawn": 100.0, "Respawn Hackable Crates Via Ghostship": true, "Hackable Crates Count": 2 } }
  6. A search option to filter discussion posts and support requests by keyword and/or user would make it easier to check if something was already discussed before requesting support etc. I see theres a global support center search but would be nice to have these within product discussion/support too.
  7. Brad Copp

    wont load after update

    Changed Status from Pending to Fixed
  8. Can try mine. { "Control - Schedule (plugin manages open/close mode and timers)": true, "Control - Content (plugin sets island/ghost ship/RHIB spawn settings)": true, "Control - Travel Rules (plugin changes what can pass through the portal)": true, "Control - Building (plugin enforces allow/deny building while in deep sea)": true, "Force apply change on plugin reload? (closes + reopens deep sea to apply spawn changes immediately. Recommend manual close/open instead.)": false, "Schedule": { "Mode (Vanilla | AlwaysOpen | Disabled)": "AlwaysOpen", "Open Time Seconds (vanilla wipeDuration)": 9999999.0, "Cooldown Seconds (time until next opening after closing)": 5400.0, "Final Phase Seconds (used for end weather/ramp)": 1800.0, "Radiation Warning Phase Seconds (entry blocked when time left is below this)": 300.0, "AlwaysOpen - Keep Time Left Around Seconds": 3600.0, "AlwaysOpen - Refill When Below Seconds": 600.0, "Disabled - Push Next Opening To Seconds": 9999999.0, "Set DeepSea Enabled Flag (restart may be required)": true, "DeepSea Enabled": true }, "Content": { "Islands": { "Count": 6, "Spacing Size (bigger = more spread out)": 300.0, "Edge Buffer (bigger = further from outer edge)": 750.0, "Minimum Spacing (hard minimum distance)": 600.0 }, "Ghost Ships": { "Count": 4, "Spacing Size (bigger = more spread out)": 80.0, "Edge Buffer (bigger = further from outer edge)": 450.0, "Minimum Spacing (hard minimum distance)": 400.0 }, "RHIB Groups": { "Count": 4, "Spacing Size (bigger = more spread out)": 10.0, "Edge Buffer (bigger = further from outer edge)": 1150.0, "Minimum Spacing (hard minimum distance)": 300.0 } }, "Travel Rules": { "Allow Any Vehicle": true, "Allowed Vehicle Prefabs (If not all vehicles)": [], "If any vehicle, require boat type only?": false, "Allow Players Without Vehicle": false, "Allow Noclip Players": true, "Allow Non-Player Passengers (npcs)": false, "Allow Non-Player Entity Teleport (npcs)": false, "Allow Entry During Radiation Warning Phase": false, "Ignore Extra Vehicle Onboard Check (eg copter transported on boat": false, "Log entry/exit": false }, "Building": { "Allow Building In Deep Sea": false, "DeepSea - Limit Foundations": false, "DeepSea - Max Foundations Per Player": 20, "DeepSea - GameTip: Show remaining on successful place": true, "DeepSea - GameTip: Show message when denied": true }, "Notifications": { "GameTip - Deep Sea Opening": true, "GameTip - Deep Sea Opened": true, "GameTip - Deep Sea Closing": true, "GameTip - Deep Sea Closed": true }, "Respawn (Crates/NPCs/Hackables)": { "Enable Respawn System": true, "Check Interval Minutes": 15, "Min Distance From Players To Allow Respawn": 200.0, "Respawn Hackable Crates Via Ghostship": true, "Hackable Crates Count": 1 } }
  9. Some sweet screenshots for you @J4V1
  10. Upload the custom map file here as an example - https://mapstr.gg/ It will give you direct download link to the map file which is needed in server.levelurl
  11. Brad Copp

    Config Being Reset

    Hello @Junk Rat Rust Sorry about this, please try the updated version
  12. Brad Copp

    Stacking barrels /nodes

    Changed Status from Work in Progress to Fixed
  13. Brad Copp

    Loading

    Changed Status from Pending to Work in Progress
  14. Brad Copp

    New Update - Killing CPU.

    Changed Status from Work in Progress to Cant Reproduce Changed Fixed In to 1.0.6
  15. Brad Copp

    New Update - Killing CPU.

    Hi Zim, there's not much in the plugin that could put so much stress on the CPU (and doesn't in tests), but i've removed some unnecessary overhead - settings only enforce on server and plugin startup, rather than at a default interval. Hopefuilly this will help.
    It was fine when it was simply an api for spawning npcs. Now it takes away most of the configuration from the plugins that actally use it and stuff it all in one folder. As an example in better npc, the monument configs now only store npc positions, and for every npc, settings have been removed and separated into individual files, all stuffed into the npcspawn folder, with many duplicates and no indication which monument preset they came from. eg if same NPC name in oil rig and large oil rig, you now have two files with the same npc name, and some randomised string for the duplicate, no indication which is from small and large rig . Now i have to spend time figuring out which monument Scientist-56e34e comes from, and which npc is from which oil rig . Bonus star for the new AI brains
  16. @SlayersRust minimal patch, checks if planter is in deepsea and not owned by a real player.
  17. //#define Debug using HarmonyLib; using Oxide.Core.Plugins; using System.Collections.Generic; using UnityEngine; using System; using Oxide.Core; namespace Oxide.Plugins { [Info("Planterbox Defender", "kaucsenta", "3.0.0")] [Description("Only owner, owner team or if clans plugin present, clan can harvest grownable entities")] public class PlanterboxDefender : RustPlugin { [PluginReference] private Plugin Clans, Friends; private static PlanterboxDefender _instance; [AutoPatch] [HarmonyPatch(typeof(GrowableEntity), "TakeClones", new Type[] { typeof(BasePlayer) })] public class Patch_TakeClones { public static bool Prefix(GrowableEntity __instance, BasePlayer player) { return _instance.CanLootGrowableEntity(__instance, player) == null; } } [AutoPatch] [HarmonyPatch(typeof(GrowableEntity), "PickFruit", new Type[] { typeof(BasePlayer), typeof(bool) })] public class Patch_PickFruit { public static bool Prefix(GrowableEntity __instance, BasePlayer player, bool eat) { return _instance.CanLootGrowableEntity(__instance, player) == null; } } private void OnServerInitialized() { _instance = this; permission.RegisterPermission("planterboxdefender.admin", this); } private void OnEntityBuilt(Planner plan, GameObject seed) { var player = plan.GetOwnerPlayer(); var isSeed = seed.GetComponent<GrowableEntity>(); if (player == null || isSeed == null) { return; } var held = player.GetActiveItem(); NextTick(() => { if (isSeed.GetParentEntity() == null || !(isSeed.GetParentEntity() is PlanterBox)) { return; } else { if (!(isSeed.GetParentEntity() is PlanterBox)) { return; } else { if (held == null) { return; } PlanterBox temp = (PlanterBox)isSeed.GetParentEntity(); ulong plantowner = temp.OwnerID; if (plantowner == player.userID) { #if Debug PrintToChat("You can harvest0"); #endif return; } if (SameTeam(plantowner, player.userID)) { #if Debug PrintToChat("You can harvest1"); #endif return; } if (SameClan(plantowner, player.userID)) { #if Debug PrintToChat("You can harvest2"); #endif return; } if (HasFriend(plantowner, player.userID)) { #if Debug PrintToChat("You can harvest3"); #endif return; } BuildingPrivlidge PrivlidgeToHarvest = temp.GetBuildingPrivilege(); if (PrivlidgeToHarvest?.IsAuthed(player) == true) { #if Debug PrintToChat("You can harvest4"); #endif return; } player.ChatMessage(lang.GetMessage("Noharvest", this, player.UserIDString)); #if Debug PrintToChat(player.userID.ToString()); #endif var refund = ItemManager.CreateByName(held.info.shortname, 1); if (refund != null) { player.inventory.GiveItem(refund); } return; } } }); } object CanLootGrowableEntity(GrowableEntity plant, BasePlayer player) { if (player == null) { Puts("Player error"); return true; } if (plant == null) { Puts("Plant error"); #if Debug PrintToChat(player.userID.ToString()); #endif return true; } if (player != null && permission.UserHasPermission(player.UserIDString, "planterboxdefender.admin")) return null; var planter = plant.GetPlanter(); if (planter != null) { ulong plantowner = planter.OwnerID; if (!plantowner.IsSteamId() && DeepSeaManager.IsInsideDeepSea(planter.transform.position)) { #if Debug PrintToChat("DeepSea non-player-owned planter: allow harvest"); #endif return null; } if (plantowner == player.userID) { #if Debug PrintToChat("You can harvest0"); #endif return null; } if (SameTeam(plantowner, player.userID)) { #if Debug PrintToChat("You can harvest1"); #endif return null; } if (SameClan(plantowner, player.userID)) { #if Debug PrintToChat("You can harvest2"); #endif return null; } if (HasFriend(plantowner, player.userID)) { #if Debug PrintToChat("You can harvest3"); #endif return null; } BuildingPrivlidge PrivlidgeToHarvest = planter.GetBuildingPrivilege(); if (PrivlidgeToHarvest?.IsAuthed(player) == true) { #if Debug PrintToChat("You can harvest4"); #endif return null; } player.ChatMessage(lang.GetMessage("Noharvest", this, player.UserIDString)); #if Debug PrintToChat(player.userID.ToString()); #endif return true; } #if Debug PrintToChat("missing planter"); #endif return null; } private bool SameTeam(ulong playerID, ulong friendID) { if (!RelationshipManager.TeamsEnabled()) return false; var playerTeam = RelationshipManager.ServerInstance.FindPlayersTeam(playerID); if (playerTeam == null) return false; var friendTeam = RelationshipManager.ServerInstance.FindPlayersTeam(friendID); if (friendTeam == null) return false; return playerTeam == friendTeam; } private bool HasFriend(ulong playerID, ulong friendID) { if (Friends == null) return false; return (bool)Friends.Call("HasFriend", playerID, friendID); } private bool SameClan(ulong playerID, ulong friendID) { if (Clans == null) return false; //Clans var isMember = Clans.Call("IsClanMember", playerID.ToString(), friendID.ToString()); if (isMember != null) return (bool)isMember; //Rust:IO Clans var playerClan = Clans.Call("GetClanOf", playerID); if (playerClan == null) return false; var friendClan = Clans.Call("GetClanOf", friendID); if (friendClan == null) return false; return (string)playerClan == (string)friendClan; } protected override void LoadDefaultMessages() { lang.RegisterMessages(new Dictionary<string, string> { ["Noharvest"] = "You can't harvest this." }, this); } } }
    Great value and simple for players to use. Will definitely reduce the amount of "i dont remember where i parked" requests
  18. Brad Copp

    New Update - Killing CPU.

    hi zim, will investigate asap. would recommend closing deepsea before the update. Can you please also share your config so can test with the same settings if not defaults. If you need older version, they can be accessed from the updates section by clicking see changelog drop down. Link will be at the bottom :
  19. Brad Copp

    New Update - Killing CPU.

    Changed Status from Pending to Work in Progress
  20. Thanks manky , i've let him know in support, should be good hopefully!

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.4k
Total sales
Payments
3.5m
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.