Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Trouble with remote events?

I'm trying to use remote events to communicate between scripts (server to client), but I get this error saying "Unable to cast value on object". The error is referring to the event on line 8 of the server script. Any suggestions on how I could fix this?

--server script

local event = Instance.new("RemoteEvent",game.ReplicatedStorage)
event.Name = "lever touched"

script.Parent.Touched:connect(function(hit)
	if game.Players:GetPlayerFromCharacter(hit.Parent) then
		event:FireClient(hit.Parent.Name)
	end
end)
--local script

local player = game.Players.LocalPlayer
local event = game.ReplicatedStorage:WaitForChild("lever touched")

event.OnClientEvent:connect(function(name)
	if name == player.Name then
		print(name)
	end
end)

2 comments

1

Can only answer every 1.5 minutes damnit boys

0

Lol

1 answer

✓ Accepted answer

FireClient takes a Player as the first argument
Instead, your code should look a bit like this:

--server script

local event = Instance.new("RemoteEvent",game.ReplicatedStorage)
event.Name = "lever touched"

script.Parent.Touched:connect(function(hit)
    if game.Players:GetPlayerFromCharacter(hit.Parent) then
        event:FireClient(game.Players:GetPlayerFromCharacter(hit.Parent),hit.Parent.Name)
    end
end)

It's also worth noting that the Name will definitely be the Player's name.

1 comment

0

Thanks. I wasn't really familiar with remote events, so I thought they fired to every client.

This discussion is preserved as it was. New answers, comments, and votes are closed.