Why Wont This Script Work?

Here’s My Script:

while true do
	wait(.3)
	script.Parent.Value = script.Parent.Parent.Text
end

Heres A Picture Of The Explorer:
Capture
(BTW, I tried to put print(script.Parent.Parent.Text) in the loop and it would print nothing…
also it seems that the script cant detect updated text box… also im on a server script.)

Text from a TextBox is client sided (unless changed from the server of course). You need to get it from the client. So, I would do it through a remote event.

i might make a separate post asking about a remote question…

Instead of using a while true do loop, we have Events! These nifty gimmicks have the capability of firing whenever a specific property of the Instance has been changed!

Also I do believe you’d need to use a LocalScript to handle UI Scripting

Judging by your hierarchy on the picture you sent:

local TextValue = script.Parent
local PasswordBox = TextValue.Parent

PasswordBox.FocusLost:Connect(function(EnterPressed)
    if EnterPressed then
        TextValue.Value = PasswordBox.Text
    end
end)

Although it depends on what you’re going for here, since this would only be handled from your client side

1 Like

Add a remote event and local script to the text box

type the following into the local script:

local textBox = script.Parent
local remoteEvent = textBox.RemoteEvent

textBox.Changed:Connect(function()
    remoteEvent:FireServer(textBox.Text)
end)

then in that server script type this:

local textBox = script.Parent.Parent
local remoteEvent = textBox.RemoteEvent

remoteEvent.OnServerEvent:Connect(function(text)
    script.Parent.Value = text
end)

at the “Connect” part its underlined with blue…

change the perenthesis (Connect to :Connect
my mistake sorry