Tools I cloned via serverside won't execute their remote events

I want my cloned tools to fire remote events. Everytime a tool is cloned and equipped to the humanoid, it doesn’t fire the remote event as intended. It only runs the clients. I’ve tried moving the remote events, I’ve tried disabling the backpack and making the tools equipable via script. The non-cloned tools are the only ones to actually fire remote events, while the others can’t. I really want to fix this please!

1 Like

What do you mean equipped to the humanoid tools can’t go in there

Tools would normally be equipped to the character model rather than the humanoid.
Could you provide the script you think is not working? Have you added print statements on server and client to check the event is firing and is being received? And that the function firing the remote is being called?

Ah, sorry. I meant Humanoid because I use Humanoid:EquipTool() I have provided print statements and can confirmed it wasn’t working. Usually the remote event, and the serverside are parented the tool itself.

Client Side!

local Rocket = script.Parent
local ThrowEvent = Rocket:WaitForChild("ThrowEvent")

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local Character = player.Character
local Humanoid = Character:FindFirstChildWhichIsA("Humanoid")
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")

local Mouse = player:GetMouse()
local Equipped = false
local Debounce = false

Rocket.Equipped:Connect(function()
	Equipped = true
end)
Rocket.Unequipped:Connect(function()
	Equipped = false
end)

Mouse.Button1Down:Connect(function()
	if Equipped == true then
		if Debounce == false then
			Debounce = true
			ThrowEvent:FireServer()
			wait(2)
			Debounce = false
		end
	end
end)


[SERVERSIDE PART, DIFFERENT SCRIPT]

local ThrowEvent = script.Parent.ThrowEvent

ThrowEvent.OnServerEvent:Connect(function(player, RocketPOS)
	local Character = player.Character
	local Humanoid = Character:FindFirstChildWhichIsA("Humanoid")
	local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
	local extraRocket = game.ReplicatedStorage.PowerUpModels.Rocket:Clone()
	extraRocket.Parent = game.Workspace
	extraRocket.CFrame = HumanoidRootPart.CFrame + Vector3.new(0,9,0)
	extraRocket.Velocity = extraRocket.CFrame.LookVector * 500
	local StunScript = game.ServerScriptService:FindFirstChild("StunRocket"):Clone()
	StunScript.Parent = extraRocket
	StunScript.Enabled = true
	local BodyVelocity = Instance.new("BodyVelocity")
	BodyVelocity.MaxForce = Vector3.new(math.huge,0,math.huge) 
	BodyVelocity.P = math.huge
	BodyVelocity.Velocity = (HumanoidRootPart.CFrame.lookVector*120)
	BodyVelocity.Parent = extraRocket
	wait(3)
	BodyVelocity:Destroy()
	
end)

this might not fix it, but u forgot an argument on ur fireserver function on the client script

Sometimes when you add server scripts on ReplicatedStorage they just stop working, specially with some tools that use detecting loops, i experienced this many times adding tools to the replicated storage.