Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
player = Players.LocalPlayer
()
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.Parent = player:()
frame = .()
frame.AnchorPoint = .(,)
frame.Position = .(,,,-)
frame.Size = .(,,,)
frame.BackgroundTransparency =
frame.BackgroundColor3 = .(,,)
frame.Parent = gui
.(, frame).CornerRadius = .(,)
layout = .(, frame)
layout.FillDirection = .FillDirection.Horizontal
layout.HorizontalAlignment = .HorizontalAlignment.Center
layout.VerticalAlignment = .VerticalAlignment.Center
layout.Padding = .(,)
padding = .(, frame)
padding.PaddingLeft = .(,)
padding.PaddingRight = .(,)
box = .()
box.Size = .(,,,)
box.PlaceholderText =
box.Text =
box.ClearTextOnFocus =
box.TextScaled =
box.BackgroundColor3 = .(,,)
box.TextColor3 = .(,,)
box.Parent = frame
.(, box).CornerRadius = .(,)
box:():(()
box.Text = box.Text:(,)
)
(txt,col)
b = .()
b.Size = .(,,,)
b.Text = txt
b.TextScaled =
b.BackgroundColor3 = col
b.TextColor3 = .(,,)
.(, b).CornerRadius = .(,)
b.Parent = frame
b
plus = (,.(,,))
plus2 = (,.(,,))
inf = (,.(,,))
clear = (,.(,,))
colorBtn = (,.(,,))
gui, box, plus, plus2, inf, clear, colorBtn
character
humanoid
hrp
(char)
character = char
humanoid = character:()
hrp = character:()
player.Character (player.Character)
player.CharacterAdded:(bindCharacter)
()
humanoid {}
humanoid.RigType==.HumanoidRigType.R6
{,,,,,}
{
,
,,
,,,
,,,
,,,
,,
}
()
map = {}
_, name (())
p = character:(name,)
p p:()
map[name] = hrp.CFrame:(p.CFrame)
map
snakeSegments = {}
trail = {}
FRAMES_PER_SEGMENT =
MAX_SEGMENTS =
WIGGLE_SPEED =
WIGGLE_AMOUNT =
colorMode =
solidColor = .(,,)
()
_, seg (snakeSegments)
_, part (seg.parts) part:()
snakeSegments = {}
trail = {}
(idx,total)
colorMode==
hue = (idx/total) %
.(hue,,)
colorMode==
.(.(,),.(,),.(,))
solidColor
()
i, seg (snakeSegments)
total = #snakeSegments
_, part (seg.parts)
part.Color = (i,total)
seg.parts.Head
_, acc (seg.parts.Head:())
acc:()
acc.Color = (i,total)
(relMap, idx, total)
seg = {parts={},rel=relMap}
name, rel (relMap)
src = character:(name,)
src src:()
clone = src:()
clone.Anchored =
clone.CanCollide =
clone.Massless =
clone.Name = ..name
_, child (clone:())
child:() child:() child:()
child:()
clone.Color = (idx,total)
scale = - (idx/total)*
clone.Size = clone.Size * scale
clone.CFrame = hrp.CFrame * rel
clone.Parent =
seg.parts[name] = clone
name==
_, acc (character:())
acc:()
accClone = acc:()
_, child (accClone:())
child:() child:() child:()
child:()
accClone.Parent = clone
seg
(length)
length = .(.(length),,MAX_SEGMENTS)
relMap = ()
#snakeSegments < length
.(snakeSegments, (relMap,#snakeSegments+,length))
#snakeSegments > length
seg = .(snakeSegments)
_, part (seg.parts) part:()
trail = {}
need = length*FRAMES_PER_SEGMENT+
i=,need .(trail,,hrp.CFrame*.(,,-i*))
RunService.Heartbeat:(()
hrp #snakeSegments==
.(trail,,hrp.CFrame)
maxTrail = #snakeSegments*FRAMES_PER_SEGMENT+
#trail>maxTrail .(trail)
i,seg (snakeSegments)
idx = i*FRAMES_PER_SEGMENT+
baseCF = trail[idx] (hrp.CFrame*.(,,-i*))
wiggle = .(.()*WIGGLE_SPEED+i*)*WIGGLE_AMOUNT
vertical = .(.()*WIGGLE_SPEED*+i*)*
segCF = baseCF * .(vertical, wiggle, )
name,part (seg.parts)
rel = seg.rel[name]
rel part.CFrame = segCF*rel
)
player.CharacterAdded:(clearSnake)
gui, box, plus, plus2, inf, clearBtn, colorBtn = ()
plus.MouseButton1Click:(()
(#snakeSegments+)
)
plus2.MouseButton1Click:(()
(#snakeSegments+)
)
inf.MouseButton1Click:(()
(MAX_SEGMENTS)
)
clearBtn.MouseButton1Click:(clearSnake)
box.FocusLost:((enterPressed)
enterPressed box.Text~=
n = (box.Text)
n (n)
)
modes = {,,}
modeIndex =
colorBtn.MouseButton1Click:(()
modeIndex = modeIndex +
modeIndex > #modes modeIndex =
colorMode = modes[modeIndex]
()
)Is script not idea me is idea by chatgpt [update COMING SOON]

Universal