Ваш код выглядит правильным и должен работать. Возможно, проблема заключается в том, что вы неправильно назвали ваш Part или Label в свойствах объектов.
Убедитесь, что имя Part и имя свойства Touched в объекте script.Parent совпадают. Также проверьте, что вы правильно назвали Label в свойстве Name в объекте MainFrame в вашем StarterGui.
Если все имена правильны, попробуйте добавить дополнительную проверку, чтобы убедиться, что Label находится внутри вашего MainFrame и существует перед изменением его текста:
function onTouched(Part)
if Part.Parent:FindFirstChild('Humanoid') then
local Gui = game:GetService('StarterGui'):WaitForChild('MainGui'):WaitForChild('MainFrame')
local Label = Gui:FindFirstChild('StagePlayer')
if Label then -- Добавленная проверка
Label.Text = 'Hi!'
print('Test')
end
end
end
script.Parent.Touched:Connect(onTouched)
Если это не помогает, попробуйте добавить отладочный вывод, чтобы узнать, где именно возникает проблема:
function onTouched(Part)
if Part.Parent:FindFirstChild('Humanoid') then
local Gui = game:GetService('StarterGui'):WaitForChild('MainGui'):WaitForChild('MainFrame')
local Label = Gui:FindFirstChild('StagePlayer')
if Label then
Label.Text = 'Hi!'
print('Test')
else
warn('Label not found')
print(Gui:GetFullName())
for _, child in ipairs(Gui:GetChildren()) do
print(child.Name)
end
end
end
end
script.Parent.Touched:Connect(onTouched)
Этот код выведет информацию о вашем MainFrame и его дочерних объектах, чтобы вы могли убедиться, что ваш Label находится внутри MainFrame и имеет правильное имя.