Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buying a lockpicker from quick buy menu is broken. #9

Closed
jakemaguy opened this issue Jan 10, 2024 · 0 comments · Fixed by #11
Closed

Buying a lockpicker from quick buy menu is broken. #9

jakemaguy opened this issue Jan 10, 2024 · 0 comments · Fixed by #11

Comments

@jakemaguy
Copy link
Owner

Problem

When purchasing a lockpicker on quick buy menu, it appears to add in your inventory three times, and the mesh is invisble

Error Logs

[Debug  :QuickBuyMenu] Terminal Input from purchase command: lock
[Debug  :QuickBuyMenu] Item carry weight: 0.15
 Current Player weight: 1
[Debug  :QuickBuyMenu] Running EventServerRPC method
$tracker, client ID: 0

[Debug  :QuickBuyMenu] Running EventClientRPC method
$tracker, client ID: 0

[Debug  :QuickBuyMenu] Running GrabObjectSyncServerRpc method
$tracker, client ID: 0

[Warning: Unity Log] PlayOneShot was called with a null AudioClip.
[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
LockPicker.RetractClaws () (at <af9b1eec498a45aebd42601d6ab85015>:0)
LockPicker.EquipItem () (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.SwitchToItemSlot (System.Int32 slot, GrabbableObject fillSlotWithItem) (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.GrabObjectClientRpc (System.Boolean grabValidated, Unity.Netcode.NetworkObjectReference grabbedObject) (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.__rpc_handler_2552479808 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <af9b1eec498a45aebd42601d6ab85015>:0)
Unity.Netcode.RpcMessageHelpers.Handle (Unity.Netcode.NetworkContext& context, Unity.Netcode.RpcMetadata& metadata, Unity.Netcode.FastBufferReader& payload, Unity.Netcode.__RpcParams& rpcParams) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Rethrow as Exception: Unhandled RPC exception!
UnityEngine.Debug:LogException(Exception)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ClientRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendClientRpc(FastBufferWriter&, UInt32, ClientRpcParams, RpcDelivery)
GameNetcodeStuff.PlayerControllerB:GrabObjectClientRpc(Boolean, NetworkObjectReference)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:GrabObjectSyncServerRpc(UInt64, NetworkObjectReference)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:__rpc_handler_2303539470(NetworkBehaviour, FastBufferReader, __RpcParams)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ServerRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendServerRpc(FastBufferWriter&, UInt32, ServerRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:GrabObjectSyncServerRpc(UInt64, NetworkObjectReference)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventClientRpc(Int32, UInt64, NetworkObjectReference, ClientRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:__rpc_handler_4249696823(NetworkBehaviour, FastBufferReader, __RpcParams)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ClientRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendClientRpc(FastBufferWriter&, UInt32, ClientRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventClientRpc(Int32, UInt64, NetworkObjectReference, ClientRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventServerRpc(Int32, UInt64, ServerRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:__rpc_handler_2099203733(NetworkBehaviour, FastBufferReader, __RpcParams)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ServerRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendServerRpc(FastBufferWriter&, UInt32, ServerRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventServerRpc(Int32, UInt64, ServerRpcParams)
QuickBuyMenu.Plugin:RunQuickBuy(Terminal)
SimpleCommand.API.Patches.SimpleCommandPatches:PatchSubmit(Terminal&)
Terminal:DMD<Terminal::OnSubmit>(Terminal)
UnityEngine.Events.UnityEvent`1:Invoke(String)
TMPro.TMP_InputField:SendOnEndEdit()
TMPro.TMP_InputField:ReleaseSelection()
TMPro.TMP_InputField:DeactivateInputField(Boolean)
TMPro.TMP_InputField:OnUpdateSelected(BaseEventData)
UnityEngine.EventSystems.EventSystem:Update()

[Warning: Unity Log] PlayOneShot was called with a null AudioClip.
[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
LockPicker.RetractClaws () (at <af9b1eec498a45aebd42601d6ab85015>:0)
LockPicker.EquipItem () (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.SwitchToItemSlot (System.Int32 slot, GrabbableObject fillSlotWithItem) (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.GrabObjectClientRpc (System.Boolean grabValidated, Unity.Netcode.NetworkObjectReference grabbedObject) (at <af9b1eec498a45aebd42601d6ab85015>:0)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler.GrabObjectSyncServerRpc (System.UInt64 clientId, Unity.Netcode.NetworkObjectReference obj) (at <c2cddc235bb248c2854cf29f113036fc>:0)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler.__rpc_handler_2303539470 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <c2cddc235bb248c2854cf29f113036fc>:0)
Unity.Netcode.RpcMessageHelpers.Handle (Unity.Netcode.NetworkContext& context, Unity.Netcode.RpcMetadata& metadata, Unity.Netcode.FastBufferReader& payload, Unity.Netcode.__RpcParams& rpcParams) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Rethrow as Exception: Unhandled RPC exception!
UnityEngine.Debug:LogException(Exception)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ServerRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendServerRpc(FastBufferWriter&, UInt32, ServerRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:GrabObjectSyncServerRpc(UInt64, NetworkObjectReference)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventClientRpc(Int32, UInt64, NetworkObjectReference, ClientRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:__rpc_handler_4249696823(NetworkBehaviour, FastBufferReader, __RpcParams)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ClientRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendClientRpc(FastBufferWriter&, UInt32, ClientRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventClientRpc(Int32, UInt64, NetworkObjectReference, ClientRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventServerRpc(Int32, UInt64, ServerRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:__rpc_handler_2099203733(NetworkBehaviour, FastBufferReader, __RpcParams)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ServerRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendServerRpc(FastBufferWriter&, UInt32, ServerRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventServerRpc(Int32, UInt64, ServerRpcParams)
QuickBuyMenu.Plugin:RunQuickBuy(Terminal)
SimpleCommand.API.Patches.SimpleCommandPatches:PatchSubmit(Terminal&)
Terminal:DMD<Terminal::OnSubmit>(Terminal)
UnityEngine.Events.UnityEvent`1:Invoke(String)
TMPro.TMP_InputField:SendOnEndEdit()
TMPro.TMP_InputField:ReleaseSelection()
TMPro.TMP_InputField:DeactivateInputField(Boolean)
TMPro.TMP_InputField:OnUpdateSelected(BaseEventData)
UnityEngine.EventSystems.EventSystem:Update()

[Debug  :QuickBuyMenu] Running GrabObjectSyncServerRpc method
$tracker, client ID: 0

[Warning: Unity Log] PlayOneShot was called with a null AudioClip.
[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
LockPicker.RetractClaws () (at <af9b1eec498a45aebd42601d6ab85015>:0)
LockPicker.EquipItem () (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.SwitchToItemSlot (System.Int32 slot, GrabbableObject fillSlotWithItem) (at <af9b1eec498a45aebd42601d6ab85015>:0)
GameNetcodeStuff.PlayerControllerB.GrabObjectClientRpc (System.Boolean grabValidated, Unity.Netcode.NetworkObjectReference grabbedObject) (at <af9b1eec498a45aebd42601d6ab85015>:0)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler.GrabObjectSyncServerRpc (System.UInt64 clientId, Unity.Netcode.NetworkObjectReference obj) (at <c2cddc235bb248c2854cf29f113036fc>:0)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler.EventClientRpc (System.Int32 eventName, System.UInt64 clientId, Unity.Netcode.NetworkObjectReference obj, Unity.Netcode.ClientRpcParams clientRpcParams) (at <c2cddc235bb248c2854cf29f113036fc>:0)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler.__rpc_handler_4249696823 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <c2cddc235bb248c2854cf29f113036fc>:0)
Unity.Netcode.RpcMessageHelpers.Handle (Unity.Netcode.NetworkContext& context, Unity.Netcode.RpcMetadata& metadata, Unity.Netcode.FastBufferReader& payload, Unity.Netcode.__RpcParams& rpcParams) (at <895801699cfc4b4ab52267f31e2a4998>:0)
Rethrow as Exception: Unhandled RPC exception!
UnityEngine.Debug:LogException(Exception)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ClientRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendClientRpc(FastBufferWriter&, UInt32, ClientRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventClientRpc(Int32, UInt64, NetworkObjectReference, ClientRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventServerRpc(Int32, UInt64, ServerRpcParams)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:__rpc_handler_2099203733(NetworkBehaviour, FastBufferReader, __RpcParams)
Unity.Netcode.RpcMessageHelpers:Handle(NetworkContext&, RpcMetadata&, FastBufferReader&, __RpcParams&)
Unity.Netcode.ServerRpcMessage:Handle(NetworkContext&)
Unity.Netcode.NetworkBehaviour:__endSendServerRpc(FastBufferWriter&, UInt32, ServerRpcParams, RpcDelivery)
QuickBuyMenu.NetworkHandler.QuickBuyNetworkHandler:EventServerRpc(Int32, UInt64, ServerRpcParams)
QuickBuyMenu.Plugin:RunQuickBuy(Terminal)
SimpleCommand.API.Patches.SimpleCommandPatches:PatchSubmit(Terminal&)
Terminal:DMD<Terminal::OnSubmit>(Terminal)
UnityEngine.Events.UnityEvent`1:Invoke(String)
TMPro.TMP_InputField:SendOnEndEdit()
TMPro.TMP_InputField:ReleaseSelection()
TMPro.TMP_InputField:DeactivateInputField(Boolean)
TMPro.TMP_InputField:OnUpdateSelected(BaseEventData)
UnityEngine.EventSystems.EventSystem:Update()

Possible Solution

It appears that items with custom sound FX needs to have references to the original audio clips prepared before adding to inventory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant