'Surface GUI Text Change Not Working On Roblox

Im currently developing a british army game and this doesnt seem to work, the text doesnt change. Should I change the script location?

if wall.CanCollide == true then
    status.Text = Active
end

if wall.CanCollide == false then
    status.Text = Not Active
end

Any thoughs?

I changed the text to string then took away the strings, did a loop, took the loop away...



Solution 1:[1]

local a
wall:GetPropertyChangedSignal"CanCollide":Connect(function()
    if a then
        return
    end
    a = true
    status.Text = (not wall.CanCollide and "Not "or"") .. "Active"
    a = false
end)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Kylaaa