What is the issue?
I’m working on a systems UI/Client sided interaction. Was working on a simple UI frame display on button press but came across this issue that I’ve never really quite encountered without an easy fix or small mistake. Been scripting for 3+ years.
Issue:
Localscript is running without issue and prints that the “Frame.Visible” property is true when its not changing. Same goes with changing elements such as text within the frame. It runs fine but doesn’t actually change.
What solutions have you tried so far?
The script is a localscript located in StarterPlayerScripts. Detection and other tweens work but changing the clients UI does not. I ensured the ui instances are the correct ones, printed the ClassName, tried :WaitForChild etc. Everything “acts” as normal but no properties can be changed from the script. The UI is located in PlayerGui and properly referenced. The variable is not being changed or redefined anywhere after being referenced initially.
There is also no other external scripts that has anything to do with this/changing properties
Here is the relevant code:
local PlayerGui = player:WaitForChild("PlayerGui")
local BankUI = PlayerGui:WaitForChild("BankUI")
local CheckFrame = BankUI:WaitForChild("CheckFrame")
local function ButtonPressed(Button)
local Type = Button:GetAttribute("Type")
if Type == "Deposit" then
-- None of these are actually changing in Explorer
Date.Text = os.date("%b %d")
Name.Text = player.DisplayName
Memo.Text = "Deposit"
print(CheckFrame.ClassName) -- Prints the correct instance
CheckFrame.Visible = true -- Actual property is not changing
print("Visiblity set to: ",CheckFrame.Visible) -- Prints "true"
end
I also tried running a :GetPropertyChangedSignal() but it didn’t even run so it’s not being changed at all or overidden etc. Super strange issue, previously I’ve been able to solve it quickly but this is something else. Mabey something to do with the location of the script I have no idea. Is starterplayerscripts not a valid parent folder?