I'm trying to make it so that this script that records the player's X, Y and Z positions starts functioning after pressing some GUI button.

local character = script.Parent
local player = game.Players:GetPlayerFromCharacter(character)
local HRP = character:WaitForChild("HumanoidRootPart")
local X = player:WaitForChild("XPosition")
local Y = player:WaitForChild("YPosition")
local Z = player:WaitForChild("ZPosition")

repeat wait() until player.Place.Value == "notSpawn"

while true do
	X.Value = HRP.Position.X
	Y.Value = HRP.Position.Y
	Z.Value = HRP.Position.Z
	wait(0.5)
end

The button has a local script that basically changes the value of "Place" which is a "StringValue" in the character to "notSpawn". For some reason, it just never works when FilteringEnabled is on or off. So I don't think it's an FE related problem??

Or is it maybe the repeat function does not update when the value changes?? I'm really really not sure what's going on anymore... Ugh...

1 comment

0

repeat ... until is a loop, and repeat alone is a keyword, not a function. Additionally, FilteringEnabled will always be on. The FilteringEnabled property in Workspace is a dummy setting now; it does nothing. I also suggest you use events instead of loops.