Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
1

Trouble with remote events?

Asked by 8 years ago

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)
1
Can only answer every 1.5 minutes damnit boys User#6546 35 — 8y
0
Lol aquathorn321 858 — 8y

1 answer

Log in to vote
2
Answered by 8 years ago

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.

0
Thanks. I wasn't really familiar with remote events, so I thought they fired to every client. aquathorn321 858 — 8y
Ad

Answer this question