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!
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.