CharacterApperanceLoaded or CharacterAdded never work

I don’t know if this is a me problem, but CharacterAdded:Wait() or CharacterAppearanceLoaded:Wait() never function properly. Here is the script:

local replicatedStorage = game:GetService("ReplicatedStorage")
local camera = game.Workspace.CurrentCamera

local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
localPlayer.CharacterAppearanceLoaded:Wait()


local viewmod = require(replicatedStorage.ViewModule)

local module = viewmod.new()

replicatedStorage.RequestViewModel.Event:Connect(function(rig)
	module:setViewModel(camera, rig)
end)

replicatedStorage.DisconnectViewModel.Event:Connect(function()
	module:disconnectViewModel()
end)
local Character = localPlayer.Character
Character.Humanoid.Died:Connect(function()
	module:disconnectViewModel()
end)

Script is in StarterGui

1 Like

I think these events are not working properly on the client side. Use them on the server, but for your client use:

repeat wait() until localPlayer.Character
1 Like

Not to be that guy, but it would be much better to do

local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()

as it is way faster. If for some reason you still want to use a repeat loop then just use task.wait instead

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.