local plr = game:GetService("Players").LocalPlayer local run = game:GetService("RunService") local tween = game:GetService("TweenService") local img_size = Vector3.new(5.5,5.5,0.0) local vp_size = UDim2.new(0,270,0,270) local gui = Instance.new("ScreenGui") gui.Name = "trollspin" gui.ResetOnSpawn = false gui.Parent = plr:WaitForChild("PlayerGui") local vp = Instance.new("ViewportFrame") vp.AnchorPoint = Vector2.new(1,1) vp.Position = UDim2.new(1,-20,1,-20) vp.Size = vp_size vp.BackgroundTransparency = 1 vp.ZIndex = 999 vp.Parent = gui local btn = Instance.new("TextButton") btn.AnchorPoint = vp.AnchorPoint btn.Position = vp.Position btn.Size = vp.Size btn.BackgroundTransparency = 1 btn.Text = "" btn.AutoButtonColor = false btn.ZIndex = 10 btn.Parent = gui local scn = Instance.new("Folder", vp) -- yuna; 124661215522619, 85036132639091 -- troll; 7120897383, 99234663737510 -- skyline.dev; 100819041770505, 75617908170824 -- yerba (symmetrical); 115488003433733, 115488003433733 -- if ur gonna use a custom image use this: https://pinetools.com/flip-image (ctrl + click to open webview in some aces) -- upload ur iamge to roblox, get the asset ID, go to; https://create.roblox.com/store/asset/ASSET_ID_HERE, right click on the image then click copy "texture ID" local id_front = "115488003433733" local id_back = "115488003433733" local p1 = Instance.new("Part") p1.Anchored = true p1.CanCollide = false p1.CastShadow = false p1.Transparency = 1 p1.Size = img_size p1.Parent = scn p1.CFrame = CFrame.new(0,0,0.003) local d1 = Instance.new("Decal", p1) d1.Face = Enum.NormalId.Front d1.Texture = "rbxassetid://"..id_front d1.Transparency = 0 local p2 = Instance.new("Part") p2.Anchored = true p2.CanCollide = false p2.CastShadow = false p2.Transparency = 1 p2.Size = img_size p2.Parent = scn p2.CFrame = CFrame.new(0,0,-0.003) * CFrame.Angles(0,math.rad(180),0) local d2 = Instance.new("Decal", p2) d2.Face = Enum.NormalId.Front d2.Texture = "rbxassetid://"..id_back d2.Transparency = 0 local cam = Instance.new("Camera", vp) cam.CFrame = CFrame.new(Vector3.new(0.2,0.08,6), Vector3.new(0,0,0)) vp.CurrentCamera = cam local spd = math.rad(110) local ang = 0 run.RenderStepped:Connect(function(dt) ang += spd * dt local cf = CFrame.Angles(0, ang, 0) p1.CFrame = cf * CFrame.new(0,0,0.003) p2.CFrame = cf * CFrame.new(0,0,-0.003) * CFrame.Angles(0,math.rad(180),0) end) local decals = {d1, d2} local hidden = false local tweenTime = 0.35 local tweenInfo = TweenInfo.new(tweenTime, Enum.EasingStyle.Sine, Enum.EasingDirection.Out) btn.MouseButton1Click:Connect(function() hidden = not hidden local target = hidden and 1 or 0 for _, dec in ipairs(decals) do local tw = tween:Create(dec, tweenInfo, {Transparency = target}) tw:Play() end end)