-
Posts
483 -
Joined
-
Last visited
-
Days Won
7
Content Type
Profiles
Warranty Claims
Downloads
Forums
Store
Services
Downloads Plus Support
DOWNLOADS EXTRA
Everything posted by Brad Copp
-
Changed Status from Pending to Fixed Changed Fixed In to 1.0.9
-
- 32 comments
-
- 1
-
-
- #archipelago
- #water map
-
(and 7 more)
Tagged with:
-
Hello, , will upload another update shortly - sorry i missed it in 1.0.9
-
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 } }
-
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 } }
-
- 1 comment
-
- 2
-
-
- #sewer branch
- #racetrack
-
(and 6 more)
Tagged with:
-
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.
-
Changed Status from Pending to Fixed
-
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 } }
-
-
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
-
Hello @Junk Rat Rust Sorry about this, please try the updated version
-
Changed Status from Work in Progress to Fixed
-
Changed Status from Pending to Work in Progress
-
Changed Status from Work in Progress to Cant Reproduce Changed Fixed In to 1.0.6
-
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
- 435 comments
-
- 10
-
-
Hello can you please fix this to ignore the Deep Sea Floating city Planters?
Brad Copp replied to SlayersRust's Support Report in Support
@SlayersRust minimal patch, checks if planter is in deepsea and not owned by a real player. -
Hello can you please fix this to ignore the Deep Sea Floating city Planters?
Brad Copp replied to SlayersRust's Support Report in Support
//#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); } } } -
- 2 comments
-
- #karuza
- #karuza vehicle
-
(and 1 more)
Tagged with:
-
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 :
-
Changed Status from Pending to Work in Progress
-
- 1 comment
-
- 1
-
-
- #escape from tarkov
- #eft
- (and 11 more)