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

Unable to cast value to Object?

Asked by 5 years ago
Edited 5 years ago
events.JailPlayer.OnServerEvent:Connect(function(player, t, username)
    game.Players:FindFirstChild(username).TeamColor = BrickColor.new('Mulberry')
    game.Players:FindFirstChild(username):LoadCharacter()
    events.Jailing:FireClient(username, t)
end)

22:37:12.751 - Unable to cast value to Object 22:37:12.759 - Stack Begin 22:37:12.761 - Script 'ServerScriptService.devARRESTServer', Line 4 22:37:12.769 - Stack End

Can someone please explain why it is doing this?

When firing the client it ask for the client you are firing :FireClient(playername, arguments) if I remember correctly

Username is returning as the name of the client I want to fire but for some reason it errors.

t returns as a number chose by the person arresting the player

0
first argument of FireClient is the player object you're firing to. the username variable is a string. make a variable like: local newPlayer = game.Players:FindFirstChild(username), and use that in place of it Gey4Jesus69 2705 — 5y

1 answer

Log in to vote
0
Answered by
yHasteeD 1819 Moderation Voter
5 years ago
Edited 5 years ago

You need to fire client sending player, not player name

example:

-- ServerScript
local event = game.ReplicatedStorage.RemoteEvent
game.Players.PlayerAdded:Connect(function(player)
    event:FireClient(player)
end)

-- LocalScript
local event = game.ReplicatedStorage.RemoteEvent
event.OnClientEvent:Connect(function()
    print("Player added!")
end)

For your script only send player, you can create a variable for check if player exist and do not need to repeat game.Players:FindFirstChild(username)

Fixed script:

events.JailPlayer.OnServerEvent:Connect(function(player, t, username)
    local plr = game.Players:FindFirstChild(username) -- PlayerVariable
    if plr then -- Check if player exist
        plr.TeamColor = BrickColor.new('Mulberry')
        plr:LoadCharacter()
        events.Jailing:FireClient(plr, t)
    end
end)

Wiki pages:

FireClient

Hope it helped :)

Ad

Answer this question