I’ve downloaded it and watched it now. ViewportFrames tend to have an issue with knowing when to update. In the Heartbeat loop, try setting the Visible property to false then back to true immediately after.
No, that didn’t fix anything…
Current script:
local runService = game:GetService("RunService")
runService.RenderStepped:Connect(function()
if game.Players.LocalPlayer.Character:FindFirstChild("VPPX-1689") then
local tool = game.Players.LocalPlayer.Character:FindFirstChild("VPPX-1689")
local generatedRooms = workspace:WaitForChild("GeneratedRooms")
local startRoom = generatedRooms:WaitForChild("StartRoom")
local frame = tool.Handle.Handle.SurfaceGui.ViewportFrame
frame.Visible = false
local camera = nil
if not frame:FindFirstChild("Camera") then
camera = Instance.new("Camera", frame)
else
camera = frame.Camera
end
if not frame:FindFirstChild("StartRoom") then
startRoom:Clone().Parent = frame
end
frame.CurrentCamera = camera
camera.CFrame = tool.Camera.CFrame
frame.Visible = true
end
end)
Can you add a print statement to see if the heartbeat loop is ran more than once per equip?
yes, it does run more than once…
I tried to make this myself and it seems like keeping SurfaceGui in PlayerGui makes it update every frame. I added some logic so the SurfaceGui is disabled if the tool isn’t out so it doesn’t float in front of you when it’s unequipped.
Oh, wow! This works perfectly! Thank you so much!
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.