I was creating an object that lies on a pedestal, and when pushed off by a player, it turns red and its face changes. Not long after, it begins to float and will face you. The problem, something without a face can't really face you.
My issue is just that, its face disappears the minutes it starts facing you. The worst part is, its not just an orientation issue. Its face doesn't exist on any of the six sides.
How can I fix this?
Here's my script:
local torso
game.Players.PlayerAdded:Connect(function(NewPlayer)
NewPlayer.CharacterAdded:Connect(function(NewCharacter)
torso = NewCharacter:WaitForChild('UpperTorso')
end)
end)
script.Parent.Touched:Connect(function(TouchOther)
local sr = script.Parent
if TouchOther.Name == "Floor" then
sr.Face.Transparency = 1
sr.UglyFace.Transparency = 0
sr.BrickColor = BrickColor.Red()
sr.Groan.Playing = true
game.Players.LocalPlayer.PlayerGui.WackyTune.Playing = false
wait(2)
sr.Groan.Playing = false
wait(2.5)
sr.Anchored = true
sr.CanCollide = false
for i = 1,10 do
sr.CFrame = sr.CFrame + Vector3.new(0,0.1,0)
wait()
end
wait(0.25)
local srP = sr.CFrame.p
while true do
sr.CFrame = CFrame.new(srP, torso.Position)
wait()
end
end
end)

4 comments
LocalPlayer is nil to the server. and CFrame.p is deprecated, you should be using CFrame.Position
So I changed line 27 to "local srP = sr.CFrame.Position. The decal still disappears when the object faces me. Do I need to assign a localplayer?
You could try a SurfaceGui. Not sure if that would help any better.
@Chexburger The SurfaceGUI didn't change it much either, but thanks for your input. Could anyone rewrite the script for me with the necessary corrections?