Weird, it’s not working for me. But I also didn’t check if the tool changes parent yet. Don’t have to just yet as I just want to see Player2 seeing Player1’s bullet, even before Player2 selects the tool.
How I now set the tool in the LocalScript in StarterPlayerScripts:
Assume I’ve waited on player and character
if not character:FindFirstChild("DebugGun") then
Tool = Player:FindFirstChild("Backpack"):FindFirstChild("DebugGun")
print("Tool set to backpack: "..Tool.Name)
Tool = character:FindFirstChild("DebugGun")
print("Tool set to character: "..Tool.Name)
Then I do:
local EventStorage = Tool
local SendCastEvt = EventStorage:WaitForChild("SendCast")
As for receiving the RemoteEvent in that script I have:
function DrawProjectileAllOtherClients(Origin, DirectionWithMagnitude, Speed, cosmeticBulletObject, ignoreDescendantsInstance, ignoreWater, bulletAcceleration, Type)
print("CastReplicationClient: Received message")
--More irrelevant code
When I have the events in ReplicatedStorage this print is printed on Player2 after Player1 shoots, when I have them in the tool it is not.