Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
TweenService = :()
Debris = :()
lp = Players.LocalPlayer
INCREMENT =
INCREMENT_INTERVAL =
MAX_SPEED =
RESET_IDLE_TIME =
TRAIL_COLOR = .(,,)
TRAIL_LIFETIME =
TRAIL_EMISSION =
TRAIL_WIDTH_START =
TRAIL_WIDTH_END =
LIGHTNING_ENABLED =
LIGHTNING_COLOR = .(,,)
LIGHTNING_BASE_RATE =
LIGHTNING_MIN_RATE =
LIGHTNING_MAX_RATE =
LIGHTNING_MAIN_COUNT =
LIGHTNING_BRANCH_CHANCE =
LIGHTNING_SPARKS =
LIGHTNING_SPARK_COUNT =
(n) n n > .(n)
(char, names)
_, n (names)
p = char:(n)
p p
()
char = lp.Character lp.CharacterAdded:()
hum = char:() char:()
hrp = char:() char:()
char, hum, hrp
char, humanoid, hrp = ()
baseSpeed = humanoid.WalkSpeed
allTrails = {}
()
_, t (allTrails)
(()
t.trail t.trail:()
t.att0 t.att0:()
t.att1 t.att1:()
)
.(allTrails)
(part, id, offA, offB)
part
att0 = .(); att0.Position = offA; att0.Parent = part
att1 = .(); att1.Position = offB; att1.Parent = part
tr = .()
tr.Attachment0 = att0; tr.Attachment1 = att1
tr.Color = ColorSequence.(TRAIL_COLOR)
tr.Transparency = NumberSequence.(, )
tr.WidthScale = NumberSequence.(TRAIL_WIDTH_START, TRAIL_WIDTH_END)
tr.LightEmission = TRAIL_EMISSION
tr.Lifetime = TRAIL_LIFETIME
tr.Enabled =
tr.Parent = part
.(allTrails, {trail=tr, att0=att0, att1=att1})
()
()
((char,{,,}),,.(-,,),.(,-,-))
((char,{,,}),,.(,,),.(-,-,-))
((char,{,,}),,.(-,,),.(,,-))
((char,{,,}),,.(,,),.(-,,-))
torso = (char,{,,}) hrp
(torso,,.(-,,),.(,-,-))
(torso,,.(,,-),.(-,-,))
(on) _, t (allTrails) t.trail.Enabled = on
()
(p,t) TweenService:(p,TweenInfo.(t),{Transparency=}):(); Debris:(p,t+)
(a,b,th)
s=.();s.Anchored=;s.CanCollide=;s.Material=.Material.Neon;s.Color=LIGHTNING_COLOR
dir=(b-a);s.Size=.(th,th,.(,dir.Magnitude))
s.CFrame=.(a,b)*.(,,-s.Size.Z/);s.Parent=; s
(origin)
LIGHTNING_SPARKS
i=,LIGHTNING_SPARK_COUNT
p=.();p.Anchored=;p.CanCollide=;p.Material=.Material.Neon;p.Color=LIGHTNING_COLOR
p.Shape=.PartType.Ball;p.Size=.(,,)
dir=.(.()-, .()-, .()-).Unit
p.CFrame=.(origin + dir*(.()*+))
p.Transparency=;p.Parent=;(p,)
()
LIGHTNING_ENABLED
base=hrp.Position+.(,,)
(hrp.Position+.(,,))
m=,LIGHTNING_MAIN_COUNT
segments=.(,)
radius=+.()*
dir=.(.()-, .()-, .()-).Unit*radius
prev=base
i=,segments
t=i/segments
nextPos=base+dir*t+.((.()-)*,(.()-)*,(.()-)*)
((prev,nextPos,),)
.()<LIGHTNING_BRANCH_CHANCE
branch=.(.()-, .()-, .()-).Unit*(+.()*)
((nextPos,nextPos+branch,),)
prev=nextPos
lp.CharacterAdded:(() (); char, humanoid, hrp=(); baseSpeed=humanoid.WalkSpeed; () )
incT,idleT,lastL=,,
RunService.Heartbeat:((dt)
humanoid humanoid.Health<=
moving=humanoid.MoveDirection.Magnitude>
moving
(); idleT=; incT+=dt
incT>=INCREMENT_INTERVAL incT=; humanoid.WalkSpeed=.(humanoid.WalkSpeed+INCREMENT,MAX_SPEED)
lastL+=dt
rate=.(LIGHTNING_BASE_RATE - .((humanoid.WalkSpeed-baseSpeed)/,,)*(LIGHTNING_BASE_RATE-LIGHTNING_MIN_RATE),LIGHTNING_MIN_RATE,LIGHTNING_MAX_RATE)
lastL>=rate lastL=; ()
(); incT=; lastL=; idleT+=dt
idleT>=RESET_IDLE_TIME humanoid.WalkSpeed~=baseSpeed humanoid.WalkSpeed=baseSpeed
)Everytime you walk you gain speed and all the effects are visual but when you stop running it resets your speed to default

Universal