Hello. I made a script that changes the door handle clickdetector icon depending on if it is open or not.
prefix = "rbxassetid://" openIcon = "6081347829" closeIcon = "6081348044" knockIcon = "6081347938" chainIcon = "6081348125" outerPlace = script.Parent.Parent.OuterKnob.OuterKnob.ClickDetector innerPlace = script.Parent.Parent.InnerKnob.InnerKnob.ClickDetector bodyPlace = script.Parent.Parent.DoorBody.ClickDetector chainPlace = script.Parent.Parent.HalfLockAccept.ClickDetector bodyPlace.CursorIcon = prefix..knockIcon chainPlace.CursorIcon = prefix..chainIcon outerPlace.CursorIcon = prefix..openIcon innerPlace.CursorIcon = prefix..openIcon function onDoorStateChange(value) if (value == true) then outerPlace.CursorIcon = prefix..closeIcon innerPlace.CursorIcon = prefix..closeIcon else outerPlace.CursorIcon = prefix..openIcon innerPlace.CursorIcon = prefix..openIcon end end script.Parent.stateChange.Event:Connect(onDoorStateChange)
The icon gets changed as soon as the server starts and as this script is ran, but when the event is fired and the function is ran, it doesn't change. The if statement works, I tested it in the debugger. Also in the watch window, the outerPlace.CursorIcon and innerPlace.CursorIcon variables change but these changes aren't reflected in the game. Does anyone have any idea why it doesn't change?