Why client cannot receive this tool value?

Client Side :

EquipEvent.OnClientEvent:Connect(function(tool: Tool)
    print(tool.Name)
end)

Server Side :

local tool = workspace.ClassicSword:Clone()
EquipEvent:FireClient(player, tool)
1 Like

just for testing does replacing the server-side code with this makes the client receive the tool value?

-server

local tool = workspace.ClassicSword:Clone()
task.wait(2)
EquipEvent:FireClient(player, tool)
1 Like

Umm not working.
If I put task.wait()

You did not specify the player

I checked that player received the event.
But player cannot receive value(tool)

you cloned the tool on the server which means that it’s not accessible to the client

instances have to exist on both client and server if you want to send them in this case the tool instance only exists on the server

if you set the instance parent to workspace/Replicated storage on the server then it will get replicated to the client but if its parent is nil/none then it will not get replicated to the client

2 Likes

Umm I just set the tool of parent to replicatedStorage and it worked.

You have to parent the tool to something in order it to “exist.” I’m not sure if that is necessarily accurate, but when you clone it you have to set the parent.

Edit: Just saw you figured it out.