GetPropertyChangedSignal not triggering

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!

i want something to trigger every time the player moves even the slightest bit

  1. What is the issue? Include screenshots / videos if possible!

the signal is not firing for some reason, there are no errors

  1. What solutions have you tried so far? Did you look for solutions on the Developer Hub?

yes, no solutions worked for me

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

i put all of this in a localscript in the starter character scripts folder, here is my very simplified code

game.Players.LocalPlayer.Character.HumanoidRootPart:GetPropertyChangedSignal("CFrame"):Connect(function()
	
	print("Localplayer's CFrame changed")
	
end)
1 Like

Try changing CFrame to something more specific like Position or something.

game.Players.LocalPlayer.Character.HumanoidRootPart:GetPropertyChangedSignal("Position"):Connect(function()
	
	print("Localplayer's CFramechanged")
	print("Well, not really")
end)

I also suggest you define the path using multiple variables. This way, you can use WaitForChild()

local lp = game:GetService("Players").LocalPlayer
local character = lp.Character or lp.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart") --You could also do character.PrimaryPart

local  connection = hrp:GetPropertyChangedSignal("CFrame"):Connect(function()
	
	print("Localplayer's CFrame changed")
	
end)

i also tried this with humanoidrootpart’s velocity and position i also added a task.wait() in case the connection was maybe getting triggered too often but still no luck

I don’t know why it doesn’t work but you can try this instead

local runService = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local humanoid = char:WaitForChild("Humanoid")

runService.Stepped:Connect(function()
   if humanoid.MoveDirection.Magnitude > 0 then
      print("Localplayer's CFrame changed")
   end
end)
1 Like

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