Star glitcher remastered.
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- UI Setup
local ScreenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
ScreenGui.Name = "ModeGui"
ScreenGui.ResetOnSpawn = false
local TextLabel = Instance.new("TextLabel", ScreenGui)
TextLabel.AnchorPoint = Vector2.new(0.5, 0.5)
TextLabel.Position = UDim2.new(0.5, 0, 0.85, 0)
TextLabel.Size = UDim2.new(0, 400, 0, 80)
TextLabel.BackgroundTransparency = 1
TextLabel.TextScaled = true
TextLabel.Font = Enum.Font.GothamBold
TextLabel.TextTransparency = 1
local ToggleButton = Instance.new("TextButton", ScreenGui)
ToggleButton.Size = UDim2.new(0, 150, 0, 40)
ToggleButton.Position = UDim2.new(0, 20, 0.5, -25)
ToggleButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
ToggleButton.Text = "SWITCH MODE (F)"
ToggleButton.TextColor3 = Color3.new(1, 1, 1)
ToggleButton.Font = Enum.Font.GothamBold
Instance.new("UICorner", ToggleButton)
local TPButton = Instance.new("TextButton", ScreenGui)
TPButton.Size = UDim2.new(0, 150, 0, 40)
TPButton.Position = UDim2.new(0, 20, 0.5, 25)
TPButton.BackgroundColor3 = Color3.fromRGB(80, 0, 150)
TPButton.Text = "TELEPORT (E)"
TPButton.TextColor3 = Color3.new(1, 1, 1)
TPButton.Font = Enum.Font.GothamBold
TPButton.Visible = false
Instance.new("UICorner", TPButton)
-- State Variables
local mode = 1
local currentTrack
local character, humanoid, hrp, animator
local connections = {}
local effects = {}
local px, py = 0, 0
local dodgeDebounce = false
-- GHOST CLONE FUNCTION (Colorable)
local function createGhostClone(color)
if not character or not hrp then return end
character.Archivable = true
local clone = character:Clone()
character.Archivable = false
clone.Name = "Ghost"
clone.Parent = workspace
local h = clone:FindFirstChild("Humanoid")
if h then h.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None end
if clone:FindFirstChild("Head") then clone.Head:ClearAllChildren() end
for _, v in pairs(clone:GetDescendants()) do
if v:IsA("BasePart") then
v.Anchored = true; v.CanCollide = false;
v.Color = color or Color3.new(1,1,1);
v.Material = Enum.Material.Neon
TweenService:Create(v, TweenInfo.new(1), {Transparency = 1}):Play()
elseif not v:IsA("SpecialMesh") then v:Destroy() end
end
game.Debris:AddItem(clone, 1)
end
-- ADVANCED SAFETY CHECK (Anti-Wall & Anti-Void)
local function getSafePos(startPos, direction, distance)
local rayParams = RaycastParams.new()
rayParams.FilterDescendantsInstances = {character}
rayParams.FilterType = Enum.RaycastFilterType.Exclude
-- 1. Wall Check
local wallResult = workspace:Raycast(startPos, direction * distance, rayParams)
local targetPos = wallResult and (wallResult.Position + (wallResult.Normal * 3)) or (startPos + (direction * distance))
-- 2. Floor/Void Check
local floorResult = workspace:Raycast(targetPos + Vector3.new(0, 5, 0), Vector3.new(0, -20, 0), rayParams)
if not floorResult then
-- No floor found! Return original position to prevent falling
return startPos
end
return Vector3.new(targetPos.X, floorResult.Position.Y + 3.5, targetPos.Z)
end
local function playSound(id, vol)
if not hrp then return end
local s = Instance.new("Sound", hrp)
s.SoundId = "rbxassetid://"..id
s.Volume = vol or 2
s:Play()
game.Debris:AddItem(s, 5)
end
local function showText(text, color)
TextLabel.Text = text
TextLabel.TextColor3 = color
TweenService:Create(TextLabel, TweenInfo.new(0.3), {TextTransparency = 0}):Play()
task.delay(0.8, function() TweenService:Create(TextLabel, TweenInfo.new(0.5), {TextTransparency = 1}):Play() end)
end
local function clearAll()
for _, v in pairs(effects) do if v then v:Destroy() end end
for _, c in pairs(connections) do if c then c:Disconnect() end end
effects = {}; connections = {}
if currentTrack then currentTrack:Stop() currentTrack:Destroy() currentTrack = nil end
if humanoid then humanoid.WalkSpeed = 16 end
TPButton.Visible = false
end
-- MODES
local function modeExotic()
clearAll()
showText("EXOTIC", Color3.new(1,1,1))
local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://125722696765151"
currentTrack = animator:LoadAnimation(anim) currentTrack.Priority = Enum.AnimationPriority.Action4; currentTrack.Looped = true; currentTrack:Play()
local a1, a2 = Instance.new("Attachment", hrp), Instance.new("Attachment", hrp)
a1.Position = Vector3.new(2.5, 1, -1) a2.Position = Vector3.new(-2.5, 1, -1)
for _, w in pairs({a1, a2}) do
local p = Instance.new("ParticleEmitter", w)
p.Texture = "rbxassetid://241837157"; p.Rate = 180; p.Brightness = 10; p.LightEmission = 1
end
table.insert(effects, a1); table.insert(effects, a2)
local function doDodge()
if dodgeDebounce then return end
dodgeDebounce = true
playSound("1353139043", 2.5)
local side = (math.random() > 0.5 and hrp.CFrame.RightVector or -hrp.CFrame.RightVector)
local bv = Instance.new("BodyVelocity", hrp)
bv.MaxForce = Vector3.new(1,1,1) * 10^7
bv.Velocity = (side + -hrp.CFrame.LookVector).Unit * 85
game.Debris:AddItem(bv, 0.1)
task.wait(0.12)
dodgeDebounce = false
end
table.insert(connections, RunService.Heartbeat:Connect(function()
for _, p in pairs(Players:GetPlayers()) do
if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
if (hrp.Position - p.Character.HumanoidRootPart.Position).Magnitude < 15 then doDodge() end
end
end
end))
table.insert(connections, humanoid.HealthChanged:Connect(function(h) if h < humanoid.MaxHealth then doDodge() end end))
end
local function modeChromatic()
clearAll()
showText("CHROMATIC", Color3.fromRGB(255, 50, 50))
local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://87449122230956"
currentTrack = animator:LoadAnimation(anim) currentTrack:Play()
local att = Instance.new("Attachment", hrp)
local p = Instance.new("ParticleEmitter", att)
p.Texture = "rbxassetid://243098098"; p.Rate = 350; p.Brightness = 15; p.Color = ColorSequence.new(Color3.fromRGB(255,0,0))
table.insert(effects, att)
table.insert(connections, humanoid.HealthChanged:Connect(function(h) if h < humanoid.MaxHealth then humanoid.WalkSpeed = 50 end end))
end
local function modeAura()
clearAll()
showText("AURA", Color3.fromRGB(255, 60, 60))
local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://123127694191310"
currentTrack = animator:LoadAnimation(anim) currentTrack:Play()
local att = Instance.new("Attachment", hrp)
local p = Instance.new("ParticleEmitter", att)
p.Texture = "rbxassetid://241837157"; p.Rate = 250; p.Brightness = 10; p.Color = ColorSequence.new(Color3.fromRGB(50,150,255))
table.insert(effects, att)
local function doAuraDodge()
if dodgeDebounce then return end
dodgeDebounce = true
-- Dark Blue Ghost Clone
createGhostClone(Color3.fromRGB(0, 0, 150))
playSound("1843403332", 2.5)
local blinkDir = (hrp.CFrame.RightVector * (math.random() > 0.5 and 25 or -25)).Unit
local safePos = getSafePos(hrp.Position, blinkDir, 25)
-- Only move if a safe position (floor) was found
if safePos ~= hrp.Position then
hrp.CFrame = CFrame.new(safePos, safePos + hrp.CFrame.LookVector)
end
task.wait(0.3)
dodgeDebounce = false
end
table.insert(connections, RunService.Heartbeat:Connect(function()
for _, p in pairs(Players:GetPlayers()) do
if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
if (hrp.Position - p.Character.HumanoidRootPart.Position).Magnitude < 15 then doAuraDodge() end
end
end
end))
table.insert(connections, humanoid.HealthChanged:Connect(function(h) if h < humanoid.MaxHealth then doAuraDodge() end end))
end
local function modeLevitation()
clearAll()
showText("LEVITATION", Color3.fromRGB(255, 255, 100))
local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://88138077358201"
currentTrack = animator:LoadAnimation(anim) currentTrack:Play()
TPButton.Visible = true
local stars = {}
for i=1,15 do
local p = Instance.new("Part", workspace); p.Size = Vector3.new(0.4, 0.4, 0.4); p.Anchored = true; p.CanCollide = false; p.Material = Enum.Material.Neon
table.insert(stars, p); table.insert(effects, p)
end
table.insert(connections, RunService.RenderStepped:Connect(function()
local ang = tick() * 2
for i, s in ipairs(stars) do
local off = (i/#stars)*math.pi*2
s.Position = hrp.Position + Vector3.new(math.cos(ang+off)*5, 3 + math.sin(ang), math.sin(ang+off)*5)
end
end))
end
local function switch()
mode = mode + 1
if mode > 4 then mode = 1 end
if mode == 1 then modeExotic()
elseif mode == 2 then modeChromatic()
elseif mode == 3 then modeAura()
elseif mode == 4 then modeLevitation() end
end
-- Controls
ToggleButton.MouseButton1Click:Connect(switch)
TPButton.MouseButton1Click:Connect(function()
if hrp then
createGhostClone(Color3.new(1,1,1))
playSound("1581452185", 3)
local safePos = getSafePos(hrp.Position, hrp.CFrame.LookVector, 45)
if safePos ~= hrp.Position then
hrp.CFrame = CFrame.new(safePos, safePos + hrp.CFrame.LookVector)
end
end
end)
local function setup(char)
character = char; humanoid = char:WaitForChild("Humanoid"); hrp = char:WaitForChild("HumanoidRootPart"); animator = humanoid:WaitForChild("Animator")
modeExotic()
end
player.CharacterAdded:Connect(setup)
if player.Character then setup(player.Character) end
UserInputService.InputBegan:Connect(function(i, g)
if not g and i.KeyCode == Enum.KeyCode.F then switch() end
end)
-- Tilt Logic
RunService.RenderStepped:Connect(function(dt)
if not (character and hrp and humanoid) then return end
local mv = humanoid.MoveDirection
local sx, sp = 0, 0
if mv.Magnitude > 0 then
local rel = hrp.CFrame:VectorToObjectSpace(mv)
sx = -rel.X * 35
local pos, vel = hrp.Position, hrp.Velocity
local dy = (pos + vel * .25).Y - pos.Y
if math.abs(dy) > .05 then sp += math.atan2(dy, (Vector3.new((pos + vel * .25).X, pos.Y, (pos + vel * .25).Z) - pos).Magnitude) * .5 end
sp += rel.Z * .15
end
py += (sx - py) * math.min(dt * 8, 1); px += (sp - px) * math.clamp(dt * 8, 0, 1)
hrp.CFrame = CFrame.new(hrp.Position) * CFrame.Angles(0, math.rad(hrp.Orientation.Y), 0) * CFrame.Angles(px, 0, math.rad(py))
end)


All the features star glitcher remastered is a AI build of the original lua code from the creator except re tweak now exotic has a side dodge and back dodge and aura has a auto teleportation dodge and levitation has a forward teleportation has a toggle button plus chromatic has a rage state where if your player gets damaged it it turns your whole screen red and gives you speed boost plus the animation are now constant not like the old star glitches whenever you reset the animations are gone now this has a reset proof keeping both the animation and effects or each animation intact plus it has a mobile toggle for changing each animation