So, I have made a FilteringEnabled walkspeed boost pad. When touched, instead of the person who touched it gets the boost, everyone in the server gets it and it runs once per person in the server. Is there any way to make it run once and for the person who touched the part?
--Server script
local Button = script.Parent.Button
local Event = game.ReplicatedStorage["Remote Events"]["Bonus_Walkspeed_Pad"]
local Duration = 3
local Boost = 2
Event.OnServerEvent:connect(function(Player)
local Character = Player.Character
local Humanoid = Character:FindFirstChild("Humanoid")
Button.CFrame = Button.CFrame * CFrame.new(0, -0.1, 0)
Button.BrickColor = BrickColor.new("Dark stone grey")
Humanoid.WalkSpeed = Humanoid.WalkSpeed * Boost
wait(Duration)
Button.CFrame = Button.CFrame * CFrame.new(0, 0.1, 0)
Button.BrickColor = BrickColor.new("Bright green")
Humanoid.WalkSpeed = Humanoid.WalkSpeed / Boost
end)
--Local script
local RemoteEventFolder = game.ReplicatedStorage:WaitForChild("Remote Events")
local RemoteEvent = RemoteEventFolder["Bonus_Walkspeed_Pad"]
local Model = game.Workspace["Button FilteringEnabled"]
local Enabled = true
Model:FindFirstChild("Button").Touched:connect(function(Hit)
if Hit.Parent and Hit.Parent:FindFirstChild("Humanoid") and game.Players:FindFirstChild(Hit.Parent.Name) and Hit.Parent:FindFirstChild("Humanoid").Health > 0 then
if Enabled == true then
Enabled = false
RemoteEvent:FireServer()
wait(4)
Enabled = true
else
print("Already Fired, waiting for cooldown.")
end
end
end)

2 comments
Nothing about this seems incorrect to me. Can you provide a ROBLOX Place we can enter in Edit Mode to see what might be causing this?
Here is the uncopylocked model in-game. https://www.roblox.com/games/684260392/Testing