I'm making a shop where a player can click on a mannequin's clothes and get information on the clothes, buy the product, or add it to a cart to try on. I set up a RemoteFunction called OpenItemCard in the ReplicatedStorage and whenever the player clicks on clothes, I want the script to invoke OpenitemCard to send information from the mannequin to the client. Whenever I click on the mannequin all that shows up on output is "Unable to cast value to Object" and "Script 'Workspace.Mannequin.ShirtPurchase.ClickDetector.WhenClicked', Line 5" What do?
server side script (line 5 mentioned above is line 5 below)
Adornee = script.Parent.Parent.Parent.AdorneeAnchor
ShirtID = string.sub(script.Parent.Parent.Parent.Body.Shirt.ShirtTemplate, 14)
script.Parent.MouseClick:connect(function()
print("Click Detected")
game.ReplicatedStorage.OpenItemCard:InvokeClient(ShirtID, nil, Adornee)
print("Client Invoked")
end)
here's the remote function being called on the client side
OpenItemCard = game.ReplicatedStorage:WaitForChild("OpenItemCard")
function OpenItemCard.OnClientInvoke(player,ShirtID,PantsID,Body)

3 comments
how would I be able to call the player in OnClientInvoke if it isn't a parameter? Should I just use the name of the argument set back at InvokeClient?
Because this is the player you’re invoking the remote function to. In OnServerInvoke, THATS where you need the player parameter, but it doesnt get passed as an argument This is client invocation were dealing with.
Thank you