-
Posts
358 -
Joined
-
Last visited
Content Type
Profiles
Warranty Claims
Downloads
Forums
Store
Services
Downloads Plus Support
DOWNLOADS EXTRA
Everything posted by Somescrub
-
Looks like that may have done it. I will keep an eye on it, but thank you for pointing that out
-
"Button information": { "Enable use of the HUD button? Players can still disable it client side via the player settings": true, "Path of the icon button. You can use a SkinID, URL or assets/icons path": "https://i.imgur.com/R5tXKaK.png", "Offset Min": "-51.4, 120.7", "Offset Max": "-15.4, 156.7" },
-
I think I figured out my disappearing item issue - I don't believe it is EpicLoot doing it. One thing these errors do seem to be pointing to is that UI button. I and others have been having that issue for some time now, and the lang file reloads aren't fixing it. I have deleted and reloaded lang files probably a half dozen times so far over the last several months and it never sticks as a solution. I think there needs to be a more robust safety check on that method to ensure it sticks after these events happen. Not sure on your appetite to do that, but if you don't see it as a priority I would ask permission to seek a solution for my own purposes because my players continuously complain about that button disappearing and I don't currently have a workaround that works out for the long term.
-
@imthenewguy- More console errors I have been tracking. These happen after every player death and respawn, and I am trying to figure out if they correlate to issues players (and myself) have experienced where random enhanced items being worn are being wiped on death. Most of the time it has been a helmet or jacket that was enhanced as Operators, they die, then the item just reverts to vanilla on respawn. I havn't been able to point to anything else, because these are the only console errors I am seeing. I've been running with custom item manager/definitions, item perks, and legendaryitemperks for some time now - so I don't think its a conflict with those... but I would like your thoughts if this could be causing that other issue. Failed to call hook 'OnPlayerRespawned' on plugin 'EpicLoot v1.2.19' (FormatException: Input string was not in a correct format.) at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Number.ParseSingle (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00071] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Single.Parse (System.String s, System.IFormatProvider provider) [0x0001b] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Convert.ToSingle (System.String value) [0x0000f] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at Oxide.Plugins.EpicLoot.SetupDefaultPlayerUI (BasePlayer player) [0x0003e] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.EpicLoot.SendInspectMenuButton (BasePlayer player) [0x00051] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.EpicLoot.OnPlayerRespawned (BasePlayer player) [0x00040] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.EpicLoot.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02cc9] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0 Cerebus[76561199532418086] has spawned Cerebus[76561199532418086] has spawned Failed to call hook 'OnPlayerSleepEnded' on plugin 'EpicLoot v1.2.19' (FormatException: Input string was not in a correct format.) at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Number.ParseSingle (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00071] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Single.Parse (System.String s, System.IFormatProvider provider) [0x0001b] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Convert.ToSingle (System.String value) [0x0000f] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at Oxide.Plugins.EpicLoot.SetupDefaultPlayerUI (BasePlayer player) [0x0003e] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.EpicLoot.SendInspectMenuButton (BasePlayer player) [0x00051] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.EpicLoot.OnPlayerSleepEnded (BasePlayer player) [0x0005b] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.EpicLoot.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02d1f] in <e38f615b0dde47469721d6054821cf7a>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0
-
Had someone exploit the foundation limit today... If you build to the foundation limit, with one disconnected from the rest, place a TC, then reconnect to the rest, you can effectively bypass foundation limits entirely.
-
Getting a lot of console errors lately: Failed to call hook 'SpawnNpc' on plugin 'NpcSpawn v3.3.0' (NullReferenceException: Object reference not set to an instance of an object) at Oxide.Plugins.NpcSpawn+CustomScientistNpc.UpdateInventory () [0x00116] in <3ea45489ad30449a952558c1d3fd1f32>:0 at Oxide.Plugins.NpcSpawn+CustomScientistNpc.ServerInit () [0x001ac] in <3ea45489ad30449a952558c1d3fd1f32>:0 at BaseNetworkable.Spawn () [0x0004f] in <9330175985ef4e7bb03abe503b9a9264>:0 at BaseEntity.Spawn () [0x00000] in <9330175985ef4e7bb03abe503b9a9264>:0 at Oxide.Plugins.NpcSpawn.CreateCustomNpc (UnityEngine.Vector3 position, Oxide.Plugins.NpcSpawn+NpcConfig config) [0x00076] in <3ea45489ad30449a952558c1d3fd1f32>:0 at Oxide.Plugins.NpcSpawn.SpawnNpc (UnityEngine.Vector3 position, Newtonsoft.Json.Linq.JObject configJson) [0x00007] in <3ea45489ad30449a952558c1d3fd1f32>:0 at Oxide.Plugins.NpcSpawn.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x01b50] in <3ea45489ad30449a952558c1d3fd1f32>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0 NullReferenceException: Object reference not set to an instance of an object at Oxide.Plugins.NpcSpawn+CustomScientistNpc.EquipWeapon (System.Boolean skipDeployDelay) [0x0003e] in <3ea45489ad30449a952558c1d3fd1f32>:0 at NPCPlayer.EquipTest () [0x00000] in <9330175985ef4e7bb03abe503b9a9264>:0 at InvokeHandlerBase`1[T].DoTick () [0x00120] in <38d58fcbc41e48cf8bdf10f0307cd773>:0 at InvokeHandlerBase`1[T].LateUpdate () [0x0001f] in <38d58fcbc41e48cf8bdf10f0307cd773>:0 NullReferenceException: Object reference not set to an instance of an object NullReferenceException: Object reference not set to an instance of an object at Oxide.Plugins.NpcSpawn+CustomScientistNpc.EquipWeapon (System.Boolean skipDeployDelay) [0x0003e] in <3ea45489ad30449a952558c1d3fd1f32>:0 at NPCPlayer.EquipTest () [0x00000] in <9330175985ef4e7bb03abe503b9a9264>:0 at InvokeHandlerBase`1[T].DoTick () [0x00120] in <38d58fcbc41e48cf8bdf10f0307cd773>:0 at InvokeHandlerBase`1[T].LateUpdate () [0x0001f] in <38d58fcbc41e48cf8bdf10f0307cd773>:0
-
When I was watching them before I discovered the connection it was hmlmgs
-
I don't know how hard it is, but an elevator like missile silo would be fitting as well
-
Worked until a restart, then came back. I deleted the lang file again and it stopped, but immediately started again - there is a player crafting in-game and it persists as long as they are crafting, no matter how many times I delete it and reload the plugin.
-
@Wizla- I have the same issue and did some investigating... The RPC error happens when using the elevator's vanilla control panel, not the red buttons like you guys tested in the video. Just wanted to call out that distinction.
-
Getting this very frequently when players are crafting: Failed to call hook 'OnItemCraftFinished' on plugin 'EpicLoot v1.2.19' (FormatException: Input string was not in a correct format.) at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Number.ParseSingle (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00071] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Single.Parse (System.String s, System.IFormatProvider provider) [0x0001b] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Convert.ToSingle (System.String value) [0x0000f] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at Oxide.Plugins.EpicLoot.SetupDefaultPlayerUI (BasePlayer player) [0x0003e] in <287a2949e4bb40859ec361158558ad95>:0 at Oxide.Plugins.EpicLoot.MessagesOn (BasePlayer player, Oxide.Plugins.EpicLoot+PlayerSettings pi) [0x00003] in <287a2949e4bb40859ec361158558ad95>:0 at Oxide.Plugins.EpicLoot.OnItemCraftFinished (ItemCraftTask task, Item item, ItemCrafter crafter) [0x00134] in <287a2949e4bb40859ec361158558ad95>:0 at Oxide.Plugins.EpicLoot.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02a52] in <287a2949e4bb40859ec361158558ad95>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0
-
I'm not sure if it occurred with one of the Naval Update hotfixes, or the March update... but items with durability that are worn are deleting other worn items when reaching 0 durability. I am running a lot of other plugins, but I did troubleshoot this over the last 12 or so hours and was able to pinpoint it to this. I specifically rewrote your randomitem.condition logic below and it is working as expected now: if (randomitem.condition <= 0f) { if (!configData.popoff) { // Leave broken armor in place. Do not remove/reinsert it. return null; } NextTick(() => { if (randomitem == null || randomitem.info == null) return; if (configData.toinventory) { if (!target.inventory.containerMain.IsFull()) { if (!randomitem.MoveToContainer(target.inventory.containerMain)) { randomitem.Drop(target.transform.position, target.eyes.BodyForward() * 1.5f); } } else { randomitem.Drop(target.transform.position, target.eyes.BodyForward() * 1.5f); } } else { randomitem.Drop(target.transform.position, target.eyes.BodyForward() * 1.5f); } }); }
-
Here is a (bad) video example from one of my players, which shows when the custom item hits 0 durability (right) - then poofs and takes his jacket with it. These did not drop to the ground - they actually get deleted. VID_20260220_123839.mp4
-
This may be more of an issue with customitemdefinitions, but I am surfacing it here first since it affects items created via this plugin. While testing custom wearable items created via CustomItemManager + CustomItemDefinitions, I found a consistent behavior difference based on the custom definition’s Repairable flag: If a custom wearable is defined with Repairable=true, when condition reaches 0 it behaves like normal Rust clothing: it remains equipped and shows as broken (red exclamation), rather than disappearing. If the same item is defined with Repairable=false, once condition reaches 0 it is removed from the wear container (appears to “poof” rather than remain broken). In our case, this removal could also coincide with other worn items being displaced/disappearing when stacking/combination plugins were present (likely due to wear/equip refresh events firing at the same moment). For reference, this was occurring when I also had custom clothing combinations loaded - though the issue only surfaces when toggling the repairable flag in CIM. In CustomItemDefinitions, definition.repairable is applied directly to the underlying ItemDefinition.condition.repairable, so this is not just “can’t repair at a bench” — it seems to change runtime condition behavior. Workaround: For any custom item intended to be worn and allowed to reach 0 condition without vanishing, Repairable=true must be set (even if actual repair is undesired). I didn't really want these items repairable, but unless I have them set to true they end up vanishing (and taking other worn items with them) when reaching 0 durability.
-
Getting the below console errors since Feb update - not sure if it is a bad value in the code, or corrupted player data. I have not tried deleting the data file, but I can if you want me to test that first. Failed to call hook 'OnItemCraftFinished' on plugin 'EpicLoot v1.2.16' (FormatException: Input string was not in a correct format.) at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in :0 at System.Number.ParseSingle (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00071] in :0 at System.Single.Parse (System.String s, System.IFormatProvider provider) [0x0001b] in :0 at System.Convert.ToSingle (System.String value) [0x0000f] in :0 at Oxide.Plugins.EpicLoot.SetupDefaultPlayerUI (BasePlayer player) [0x0003e] in :0 at Oxide.Plugins.EpicLoot.MessagesOn (BasePlayer player, Oxide.Plugins.EpicLoot+PlayerSettings pi) [0x00003] in :0 at Oxide.Plugins.EpicLoot.OnItemCraftFinished (ItemCraftTask task, Item item, ItemCrafter crafter) [0x00237] in :0 at Oxide.Plugins.EpicLoot.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02a88] in :0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in :0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in :0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in :0 -------------- Failed to call hook 'OnServerInitialized' on plugin 'EpicLoot v1.2.16' (FormatException: Input string was not in a correct format.) at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Number.ParseSingle (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00071] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Single.Parse (System.String s, System.IFormatProvider provider) [0x0001b] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Convert.ToSingle (System.String value) [0x0000f] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at Oxide.Plugins.EpicLoot.SetupDefaultPlayerUI (BasePlayer player) [0x0003e] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.EpicLoot.SendInspectMenuButton (BasePlayer player) [0x00051] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.EpicLoot.OnServerInitialized (System.Boolean initial) [0x00d4a] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.EpicLoot.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02b97] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0 ------------- Failed to call hook 'OnPlayerRespawned' on plugin 'EpicLoot v1.2.16' (FormatException: Input string was not in a correct format.) at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Number.ParseSingle (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00071] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Single.Parse (System.String s, System.IFormatProvider provider) [0x0001b] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at System.Convert.ToSingle (System.String value) [0x0000f] in <8ce0bd04a7a04b4b9395538239d3fdd8>:0 at Oxide.Plugins.EpicLoot.SetupDefaultPlayerUI (BasePlayer player) [0x0003e] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.EpicLoot.SendInspectMenuButton (BasePlayer player) [0x00051] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.EpicLoot.OnPlayerRespawned (BasePlayer player) [0x00040] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.EpicLoot.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02cff] in <4a9d169dfd73499a811568da862d1575>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0
-
Since the update my console is being bombarded by the following, multiple times per second: Failed to call hook 'OnEntityTakeDamage' on plugin 'CustomClothingCombinations v2.0.7' (IndexOutOfRangeException: Index was outside the bounds of the array.) at Oxide.Plugins.CustomClothingCombinations.OnEntityTakeDamage (BasePlayer player, HitInfo info) [0x000e3] in :0 at Oxide.Plugins.CustomClothingCombinations.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x0008d] in :0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in :0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in :0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in :0
-
That works too, definitely simpler - thanks
-
Alrighty.... I reverted AlphaLoot back to the original file and updated Botrespawn. I got it working by changing CanPopulateLoot to match AlphaLoot’s signature and not using IsBRSCorpse(), because IsBRSCorpse() only returns true while corpse == null — by the time AlphaLoot calls CanPopulateLoot, the corpse is already tied, so IsBRSCorpse returns false and AlphaLoot still populates. The working change is essentially “block if the steamID exists in BotDeathData regardless of corpse linkage” for CanPopulateLoot only. I didn’t change ShouldBLPopulate_NPC (BetterNPC/BetterLoot gate) — but since your original intent for IsBRSCorpse seems BetterNPC timing-specific, you may want to test BetterNPC/BetterLoot to ensure nothing relies on CanPopulateLoot as well. I'm thinking if that doesn't work you could keep IsBRSCorpse semantics and add a separate helper for CanPopulateLoot. Here is the revised snip that at least fixes the AlphaLoot issue, without modifying AlphaLoot: private object CanPopulateLoot(BaseEntity entity, LootableCorpse corpse) { if (!loaded || entity == null || corpse == null) return null; ulong id = corpse.playerSteamID; if (id == 0) return null; return DeathData.BotDeathData.Any(x => x.SteamID == id) ? (object)true : null; } Let me know your thoughts on that - I don't use BetterNPC or BetterLoot so I can't test those out with this change
-
Thanks for digging into that, it helped I think. I was able to isolate it to AlphaLoot. With AlphaLoot disabled, NPCKits loot populated correctly every time. Root cause looks like AlphaLoot’s corpse hook is still running on BotReSpawn corpses because the CanPopulateLoot veto hook in BotReSpawn has a signature mismatch from what I can tell (you can confirm). AlphaLoot calls CanPopulateLoot(BaseEntity entity, LootableCorpse corpse) from OnCorpsePopulate(...), but BotReSpawn currently implements CanPopulateLoot(ScientistNPC entity, NPCPlayerCorpse corpse), so AlphaLoot never receives the veto and populates the corpse anyway (on top of BotReSpawn’s own AlphaLoot.Call PopulateLoot logic). Might consider updating this method: private object OnCorpsePopulate(BaseEntity entity, LootableCorpse corpse) { if (!entity || !corpse) return null; object obj = Interface.CallHook("CanPopulateLoot", entity, corpse); if (obj != null) return null; return PopulateLoot(entity, corpse) ? corpse : null; } To this: private object OnCorpsePopulate(BaseEntity entity, LootableCorpse corpse) { if (!entity || !corpse) return null; var brsSignal = Interface.CallHook("ShouldBLPopulate_NPC", corpse.playerSteamID); if (brsSignal != null) return null; object obj = Interface.CallHook("CanPopulateLoot", entity, corpse); if (obj != null) return null; return PopulateLoot(entity, corpse) ? corpse : null; } That makes AlphaLoot skip BR corpses (it already exits if CanPopulateLoot returns non-null), and your AlphaLoot integration continues to work as intended. I tested this for a few dozen NPCs and it appears to be working as expected again. AlphaLoot is technically already doing the right thing by providing a veto hook and respects it; it’s just not being hit because of the type mismatch. Let me know your thoughts - I will continue monitoring behavior and let you know if I see anything else squirrely going on. Hopefully this puts it to bed!
-
Looks like the attached image... The bandana and sheet metal I believe are just from the default scientist loot pool. The dog tag is part of the kit this particular profile pulls from (don't know which one in-particular, there are a thousand defined per-portfolio). The thing that is not making sense is that the tag is just one item out of those inventories, so I don't understand why the rest is suddenly getting wiped. I will run into one of these every 2-3 NPCs I kill, sometimes even more frequently. Never did this before I updated the plugin, and there are no console errors occurring.
-
Everything is freshly updated from the patch on the 18th, but my first report on this came in on the 16th anyways. The only other thing I changed within that timeframe was the NPC ID issues with XDQuest and TalkingNpc, which shouldn't be causing this behavior I wouldn't think. I updated this plugin at the same time, because I noticed I was still on 1.4.4 - that is why I felt there was some sort of logic change that was causing this
-
Hey there, I've gotten reports, and experienced myself, several instances of bots that are not producing the full inventory of a kit when killed. In most instances I have kits defined with 10-15 items in the inventory that will drop on death, but since updating to 1.4.9 just a few days ago (related to the ID issues) there are many instances where they are only dropping 3-4 items on death. This isn't a 1:1 issue - other bots behave correctly, but randomly others display the above behavior. This does not appear to be a complete kit failure either, as they are dressed appropriately and also have the correct weapons - this is just an inventory issue. The reduced items are also technically correct, as one item I have persistent across profiles are the use of tags - those are still always present, so I know it is pulling on the config. Would like your thoughts on it - I have not changed anything else related to them, so I don't know if maybe this is a change to the on-death wipe logic or not?
-
Those two I mentioned are core to my server design, so I will probably just investigate fixing them myself for the time being until they get an update. However, I do appreciate you explaining what is happening here - I did not realize that was what was going on, but it does make sense.
-
If I am understanding that correctly you are saying that any plugin spawning NPCs that utilizes userID could make any other plugin spawning NPCs, regardless of userID use, become invisible? That's a pretty shitty situation to pass off to both devs and admins from the framework side - has this not been a consideration to solve for broadly? I mean even an oxide debug warning that calls out userID collisions sounds like an appropriate thing for something so impactful. I did a quick search on my December backup plugins folder: Based on what you described, it looks like maybe XDQuest or TalkingNpcs could be the offenders? I see XDQuest it is making a hardcoded ID for the questgiver NPC. To compound that issue a bit, I do reload the plugin every hour to ensure the building gets pasted correctly, so I could see how that might cause conflicts randomly. I have quite a few TalkingNpc NPCs as well, and those are basically hardcoded IDs in practice - so I could see how that might also affect it. However, both of those plugins have been running un-altered for quite some time... is this userID logic something FP introduced specifically in November?
-
I don't know if they spawn invisible, or turn that way... only time I have ever caught them they are already invisible, and players report the same. I suppose load could be a factor, but I'm not really in a position to completely disable any of them - they are all doing it, so something more broadly must be causing the issue... whether it is load, code, or gremlins. Only thing that is consistent is that this all started after the November update...