Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Had help from ChatGPT to make this
- -- LocalScript, put it in StarterPack or StarterGUI
- -- I don't suggest trying to add this because it has certain perimeters that only work in my game
- local player = game.Players.LocalPlayer
- local character = nil
- local humanoid = nil
- local rootPart = nil
- local debounce = false
- local rootPartTransparency = 1
- local fadeTime = 0.5
- local TweenService = game:GetService("TweenService")
- local function makeInvisible()
- if debounce or humanoid.MoveDirection.Magnitude > 0 then
- return
- end
- debounce = true
- humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
- humanoid.WalkSpeed = 5
- for _, part in pairs(character:GetDescendants()) do
- if part:IsA("BasePart") and part ~= rootPart then
- TweenService:Create(part, TweenInfo.new(fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 1}):Play()
- local decal = part:FindFirstChildOfClass("Decal")
- if decal then
- TweenService:Create(decal, TweenInfo.new(fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 1}):Play()
- end
- end
- end
- wait(fadeTime)
- debounce = false
- end
- local function makeVisible()
- if debounce then return end
- debounce = true
- humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Viewer
- for _, part in pairs(character:GetDescendants()) do
- if part:IsA("BasePart") and part ~= rootPart then
- TweenService:Create(part, TweenInfo.new(fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 0}):Play()
- local decal = part:FindFirstChildOfClass("Decal")
- if decal then
- TweenService:Create(decal, TweenInfo.new(fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 0}):Play()
- end
- end
- end
- wait(fadeTime)
- debounce = false
- humanoid.WalkSpeed = 16
- end
- local function onCharacterAdded(char)
- character = char
- humanoid = character:WaitForChild("Humanoid")
- rootPart = character:WaitForChild("HumanoidRootPart")
- humanoid.Died:Connect(function()
- makeVisible()
- end)
- game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
- if not gameProcessed and input.KeyCode == Enum.KeyCode.Q and player.StatFolder.Race.Value == "Puppet" then
- if humanoid.DisplayDistanceType == Enum.HumanoidDisplayDistanceType.None then
- humanoid.WalkSpeed = 5
- makeVisible()
- else
- humanoid.WalkSpeed = 16
- rootPartTransparency = rootPart.Transparency
- makeInvisible()
- TweenService:Create(rootPart, TweenInfo.new(fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 1}):Play()
- local decal = rootPart:FindFirstChildOfClass("Decal")
- if decal then
- TweenService:Create(decal, TweenInfo.new(fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Transparency = 1}):Play()
- end
- end
- end
- end)
- end
- player.CharacterAdded:Connect(onCharacterAdded)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement