Remote event :fireclient() not seeming to do... anything

local script

--unbinding and rebinding melee moves with remote event (THE SCRIPT ABOVE ^^^ MAY BE REPLACED BY THIS IF I CARE ENOUGH)
game.ReplicatedStorage.abilityRemoteEvents.meleeDisabler.OnClientEvent:Connect(function(limit)
	
	--unbings melee keybinds for a set amount of time
	CAServ:UnbindAction("Left Punch")
	CAServ:UnbindAction("Right Punch")
	CAServ:UnbindAction("Kick")
	
	--wait "limit", then rebind
	wait(limit)
	
	CAServ:BindAction("Left Punch", leftPunch, false, Enum.UserInputType.MouseButton1)
	CAServ:BindAction("Right Punch", rightPunch, false, Enum.UserInputType.MouseButton2)
	CAServ:BindAction("Kick", kick, false, Enum.KeyCode.E)
	
end)

server script

--fire remote event "meleeDisabler" to disable melee moves
	game.ReplicatedStorage.abilityRemoteEvents.meleeDisabler:FireClient(plr, 12)

yeah it just doesnt work (it doesnt unbind the functions for the melee stuff, im still able to use thme)
no errors, nothing

yes, in the full script the keybinds are bound beforehand, so it shouldnt be because i unbound them before i rebind them

EDIT: i put prints in the thing, and it seems it isnt printing? so its as if the remote event isnt even being fired? but how does that make sense? its fired before everything else in the script, and everything else afterwards runs fine? and theres no errors?

Try this, if it doesn’t work let me know

--unbinding and rebinding melee moves with remote event (THE SCRIPT ABOVE ^^^ MAY BE REPLACED BY THIS IF I CARE ENOUGH)

local function Fired()
	--unbings melee keybinds for a set amount of time
	CAServ:UnbindAction("Left Punch")
	CAServ:UnbindAction("Right Punch")
	CAServ:UnbindAction("Kick")
	
	--wait "limit", then rebind
	wait(limit)
	
	CAServ:BindAction("Left Punch", leftPunch, false, Enum.UserInputType.MouseButton1)
	CAServ:BindAction("Right Punch", rightPunch, false, Enum.UserInputType.MouseButton2)
	CAServ:BindAction("Kick", kick, false, Enum.KeyCode.E)
	
end)

end

game.ReplicatedStorage.abilityRemoteEvents.meleeDisabler.OnClientEvent = function(Fired)

what exactly did you change here

You aren’t supposed to use .OnClientEvent:Connect(function()

unless its a server script.

But for Client Scripts dont use :connect do OnClientEvent = function()

Did it work?

no

you didnt change anything you just rewrote the same thing

also the whole point of onclientevent is that it is inside a local script
onserverevent is in a server script
from the dev hub

" Fires listening functions in LocalScript when either RemoteEvent:FireClient or RemoteEvent:FireAllClients is called from a Script ."

Sometimes it’s the simple things like I just did that don’t make script works.

Try this and if it doesnt work I have one more idea

--unbinding and rebinding melee moves with remote event (THE SCRIPT ABOVE ^^^ MAY BE REPLACED BY THIS IF I CARE ENOUGH)

function Fired()
	--unbings melee keybinds for a set amount of time
	CAServ:UnbindAction("Left Punch")
	CAServ:UnbindAction("Right Punch")
	CAServ:UnbindAction("Kick")
	
	--wait "limit", then rebind
	wait(limit)
	
	CAServ:BindAction("Left Punch", leftPunch, false, Enum.UserInputType.MouseButton1)
	CAServ:BindAction("Right Punch", rightPunch, false, Enum.UserInputType.MouseButton2)
	CAServ:BindAction("Kick", kick, false, Enum.KeyCode.E)
	
end)

end

game.ReplicatedStorage.abilityRemoteEvents.meleeDisabler.OnClientEvent = function(Fired,limit)

just tell me the extra idea and ill try that first cuz i really dont think thats gonna work

“.OnClientEvent” is an RBXScriptSignal object, not a callback function.

do you have any ideas on how to fix this im so confused

hmm, How about printing this “12” thing you send from server to client

game.ReplicatedStorage.abilityRemoteEvents.meleeDisabler:FireClient(plr, 12)

Print the Value you sent from the server and print the value from the client, it maybe just because the client and the server has a different value. that’s why it does not gives error.

I’m not sure though?

see my edit for info about this

Have you printed it as well in the server? did it print successfully?

yeah actually i did just end up fixing it lol

turns out it was because it was after a line of code that ended up giving a “infinite yield possible” warning
i moved it before that and it works
now im trying to get rid of the whole infinite yield possible warning so it doesnt mess things up somehow in the future like it did here