if player.Character ~= nil then
If in this case “player” represents… well, the player, would this work effectively? Or is there a better way to do this?
if player.Character ~= nil then
If in this case “player” represents… well, the player, would this work effectively? Or is there a better way to do this?
Hi Read, this looks like it could work, but a more reliable way that I use for every time I need to check if the player has a character is this:
local character = Player.Character
if not character or not character.Parent then
character = Player.CharacterAdded:Wait()
end
I believe that would work, you could also just do
if player.Character then
Since any value (except from false
, 0, nil
) is true
.
To get a char you could also do:
game.Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function(char)
...
end)
end)
But the above is not always a fitting solution.
‘0’ in Lua and subsequently Luau is considered truthy.
print(0 and true) --true
A more concise way of achieving that would be the following:
local Character = Player.Character or Player.CharacterAdded:Wait()
Since it would default to waiting for the Character to load if it doesn’t exist already.