My remote event doesn't seem to be firing?

  1. What do you want to achieve? Keep it simple and clear!
    I would like to make some sort of a grapple script.
  2. What is the issue? Include screenshots / videos if possible!
    Although I know exactly how I’m gonna do the server side of things, it turns out, the local script fires the server, and does everything correctly, although, the server script does not respond whatsoever.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I have looked for answers use the developer hub, but, there were either no answers to the problems, or answers that did not fit my own problem. I also realized HTTPS Requests was off, so I turned it on, although, the server still did not respond.

Here’s the LocalScript

local UIS = game:GetService("UserInputService")
local event = script.InputEvent

UIS.InputBegan:Connect(function(input, typing)
	if not typing and input.KeyCode == Enum.KeyCode.F then
		print("hello from the client")
		event:FireServer()
	end
end)

Heres the ServerScript

local event = script.Parent.InputEvent

event.OnServerEvent:Connect(function(player)
	print("hello from the server")
end)

2 questions.

  1. Where is this local script located?
  2. Are you sure that the event is under the local script? Can we see the explorer?

Heres the Explorer:
Imgur

What do you mean by that??

chars(30)

I’m pretty sure a Script can’t run under StarterPlayerScripts, therefore your server script isn’t running at all.

Just put the ServerGrapple inside the ServerScriptService.

I don’t know how that will work as its gonna be multiplayer.

Server Scripts need to be in ServerScriptService or Workspace.

Place the InputEvent remote under ReplicatedStorage, parent ServerGrapple under ServerScriptService, and make local event equal to game.ReplicatedStorage:WaitForChild(“InputEvent”).

PS: The reason we’re using ReplicatedStorage is because both server and client have access to it.