Monument Addons and SignsMontor

i am getting an error with signsMonitor when Monument Addons loads.
I have SignsMonitor going to Discord,  functioning correctly

but when server starts i am getting console spam with the following error.

 

> o.reload MonumentAddons MonumentAddons was compiled successfully in 5014ms Unloaded plugin Monument Addons v0.14.1 by WhiteThunder Loaded plugin Monument Addons v0.14.1 by WhiteThunder Failed to call hook 'OnSignUpdated' on plugin 'SignsMonitor v1.0.1' (NullReferenceException: Object reference not set to an instance of an object) at Oxide.Plugins.SignsMonitor.FormatMessage (System.String key, BasePlayer player, System.String displayName, System.String steamId, BaseEntity entity) [0x0000e] in <969b6254c0d74a0fbba7880e19dfd007>:0 0b/s in, 0b/s out at Oxide.Plugins.SignsMonitor.SendDiscordEmbed (System.Byte[] image, BasePlayer player, System.UInt64 signageOwnerId, BaseEntity entity) [0x00015] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.OnSignUpdated (ISignage signage, BasePlayer player, System.Int32 textureIndex) [0x00034] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00109] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <23ba99f131254889867c71f0bd137b1d>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <157a94ee66ab4a7991faecd1eb84be3b>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <157a94ee66ab4a7991faecd1eb84be3b>:0 Failed to call hook 'OnSignUpdated' on plugin 'SignsMonitor v1.0.1' (NullReferenceException: Object reference not set to an instance of an object) at Oxide.Plugins.SignsMonitor.FormatMessage (System.String key, BasePlayer player, System.String displayName, System.String steamId, BaseEntity entity) [0x0000e] in <969b6254c0d74a0fbba7880e19dfd007>:0 0b/s in, 0b/s out at Oxide.Plugins.SignsMonitor.SendDiscordEmbed (System.Byte[] image, BasePlayer player, System.UInt64 signageOwnerId, BaseEntity entity) [0x00015] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.OnSignUpdated (ISignage signage, BasePlayer player, System.Int32 textureIndex) [0x00034] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00109] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <23ba99f131254889867c71f0bd137b1d>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <157a94ee66ab4a7991faecd1eb84be3b>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <157a94ee66ab4a7991faecd1eb84be3b>:0 Failed to call hook 'OnSignUpdated' on plugin 'SignsMonitor v1.0.1' (NullReferenceException: Object reference not set to an instance of an object) at Oxide.Plugins.SignsMonitor.FormatMessage (System.String key, BasePlayer player, System.String displayName, System.String steamId, BaseEntity entity) [0x0000e] in <969b6254c0d74a0fbba7880e19dfd007>:0 0b/s in, 0b/s out at Oxide.Plugins.SignsMonitor.SendDiscordEmbed (System.Byte[] image, BasePlayer player, System.UInt64 signageOwnerId, BaseEntity entity) [0x00015] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.OnSignUpdated (ISignage signage, BasePlayer player, System.Int32 textureIndex) [0x00034] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00109] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <23ba99f131254889867c71f0bd137b1d>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <157a94ee66ab4a7991faecd1eb84be3b>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <157a94ee66ab4a7991faecd1eb84be3b>:0 [Monument Addons] Loaded profile Default (10 entities). Failed to call hook 'OnSignUpdated' on plugin 'SignsMonitor v1.0.1' (NullReferenceException: Object reference not set to an instance of an object) at Oxide.Plugins.SignsMonitor.FormatMessage (System.String key, BasePlayer player, System.String displayName, System.String steamId, BaseEntity entity) [0x0000e] in <969b6254c0d74a0fbba7880e19dfd007>:0 0b/s in, 0b/s out at Oxide.Plugins.SignsMonitor.SendDiscordEmbed (System.Byte[] image, BasePlayer player, System.UInt64 signageOwnerId, BaseEntity entity) [0x00015] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.OnSignUpdated (ISignage signage, BasePlayer player, System.Int32 textureIndex) [0x00034] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.SignsMonitor.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00109] in <969b6254c0d74a0fbba7880e19dfd007>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <23ba99f131254889867c71f0bd137b1d>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <157a94ee66ab4a7991faecd1eb84be3b>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <157a94ee66ab4a7991faecd1eb84be3b>:0

Any idea whats causing it please?

The problem is that Signs Monitor assumes that a player changed the sign, which is not always the case.

Monument Addons is just calling Sign Artist to update a sign. Sign Artist is calling the OnSignUpdated hook so that other plugins can detect the change. Because the sign update was initiated by a plugin via the Sign Artist API, there was no player, so when Signs Monitor tries to get the player steam id, it throws an error.

To solve, either Sign Artist could be updated to not call the OnSignUpdated hook when the sign update was initiated by a plugin, or the Signs Monitor plugin could be updated to not throw an errror when the OnSignUpdated hook is called without a player.

thanks WhiteThunder, i shall look on the signs artist help page and see if a fix has been mentioned,  as far as i know there isnt on the signsmonitor page