Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
TweenService = :()
ReplicatedStorage = :()
Lighting = :()
TeleportService = :()
ME = Players.LocalPlayer
() ME.Character
() c=(); c c:()
() c=(); c c:()
C = {
bg = .(,,), sidebar = .(,,),
card = .(,,), border = .(,,),
accent = .(,,), green = .(,,),
orange = .(,,), red = .(,,),
yellow = .(,,), text = .(,,),
sub = .(,,),pill_off = .(,,),
row = .(,,), row_sel = .(,,),
teal = .(,,), pink = .(,,),
purple = .(,,),
}
TW = TweenInfo.(, .EasingStyle.Quad)
(p,r) o=.(); o.CornerRadius=.(,r ); o.Parent=p
(p,col,th) o=.(); o.Color=col C.border; o.Thickness=th ; o.Parent=p
(p,props) f=.(); f.BorderSizePixel=; k,v (props) f[k]=v ; f.Parent=p; f
(p,props) l=.(); l.BackgroundTransparency=; l.TextXAlignment=.TextXAlignment.Left; l.Font=.Font.GothamBold; k,v (props) l[k]=v ; l.Parent=p; l
(p,props) b=.(); b.BorderSizePixel=; b.Font=.Font.GothamBold; k,v (props) b[k]=v ; b.Parent=p; b
old=ME.PlayerGui:(); old old:()
SG=.(); SG.Name=; SG.ResetOnSpawn=
SG.ZIndexBehavior=.ZIndexBehavior.Sibling; SG.Parent=ME.PlayerGui
hubReady =
WIN
LOAD_BG=(SG,{Size=.(,,,),BackgroundColor3=.(,,),BackgroundTransparency=})
LOAD=(SG,{Size=.(,,,),Position=.(,-,,-),
BackgroundColor3=.(,,)})
(LOAD,); (LOAD,C.accent,)
(LOAD,{Size=.(,,,),Position=.(,,,),
Text=,TextSize=,TextColor3=C.accent,TextXAlignment=.TextXAlignment.Center})
(LOAD,{Size=.(,-,,),Position=.(,,,),
Text=,TextSize=,TextColor3=C.text})
(LOAD,{Size=.(,-,,),Position=.(,,,),
Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
(LOAD,{Size=.(,-,,),Position=.(,,,),BackgroundColor3=C.border})
loadStatus=(LOAD,{Size=.(,-,,),Position=.(,,,),
Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
barTrack=(LOAD,{Size=.(,-,,),Position=.(,,,),
BackgroundColor3=.(,,)}); (barTrack,)
barFill=(barTrack,{Size=.(,,,),BackgroundColor3=C.accent}); (barFill,)
pctLbl=(LOAD,{Size=.(,-,,),Position=.(,,,),
Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub,TextXAlignment=.TextXAlignment.Right})
(LOAD,{Size=.(,-,,),Position=.(,,,-),
Text=,TextSize=,Font=.Font.Gotham,
TextColor3=.(,,),TextXAlignment=.TextXAlignment.Center})
loadMessages={,,,,}
LOAD_TIME=
.(()
start=()
msgIdx=
elapsed=()-start
pct=.(elapsed/LOAD_TIME,,)
TweenService:(barFill,TweenInfo.(),{Size=.(pct,,,)}):()
pctLbl.Text=.(pct*)..
expectedMsg=.(.(pct*#loadMessages),,#loadMessages)
expectedMsg~=msgIdx
msgIdx=expectedMsg
loadStatus.Text=loadMessages[msgIdx]
pct>=
.()
.()
TweenService:(LOAD,TweenInfo.(,.EasingStyle.Quad),{BackgroundTransparency=}):()
TweenService:(LOAD_BG,TweenInfo.(),{BackgroundTransparency=}):()
_,d (LOAD:())
d:() TweenService:(d,TweenInfo.(),{TextTransparency=}):()
d:() TweenService:(d,TweenInfo.(),{BackgroundTransparency=}):()
.()
LOAD:(); LOAD_BG:()
WIN.Visible=
WIN.Size=.(,,,)
WIN.Position=.(,-,,-)
TweenService:(WIN,TweenInfo.(,.EasingStyle.Back,.EasingDirection.Out),
{Size=.(,,,),Position=.(,-,,-)}):()
hubReady =
)
WIN=(SG,{Size=.(,,,),Position=.(,-,,-),
BackgroundColor3=C.bg,Active=,Draggable=,Visible=})
(WIN,); (WIN,C.border,)
hint = (SG, {
Size = .(, , , ),
Position = .(, -, , -),
BackgroundColor3 = .(, , ),
BackgroundTransparency = ,
})
(hint, )
(hint, C.border, )
badge = (hint, {
Size = .(, , , ),
Position = .(, , , -),
BackgroundColor3 = C.accent,
})
(badge, )
(badge, {
Size = .(, , , ),
Text = ,
TextSize = ,
TextColor3 = .(, , ),
TextXAlignment = .TextXAlignment.Center,
})
(hint, {
Size = .(, -, , ),
Position = .(, , , ),
Text = ,
TextSize = ,
Font = .Font.Gotham,
TextColor3 = C.sub,
})
.(, ()
i = ,
.()
hint.BackgroundTransparency = + (i / ) *
_, child (hint:())
child:()
child.TextTransparency = i /
child:()
child.BackgroundTransparency = i /
child:()
child.Transparency = i /
hint:()
)
SB=(WIN,{Size=.(,,,),BackgroundColor3=C.sidebar})
(SB,)
(SB,{Size=.(,,,),Position=.(,-,,),BackgroundColor3=C.sidebar})
(SB,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.accent,TextXAlignment=.TextXAlignment.Center})
(SB,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.text,TextXAlignment=.TextXAlignment.Center})
(SB,{Size=.(,-,,),Position=.(,,,),BackgroundColor3=C.border})
TAB_LIST=(SB,{Size=.(,,,-),Position=.(,,,),BackgroundTransparency=})
ul=.(); ul.SortOrder=.SortOrder.LayoutOrder; ul.Padding=.(,); ul.Parent=TAB_LIST
up=.(); up.PaddingLeft=.(,); up.PaddingRight=.(,); up.PaddingTop=.(,); up.Parent=TAB_LIST
(SB,{Size=.(,,,),Position=.(,,,-),Text=,TextSize=,TextColor3=C.sub,TextXAlignment=.TextXAlignment.Center})
CONTENT=(WIN,{Size=.(,-,,-),Position=.(,,,),BackgroundTransparency=})
PAGE_TITLE=(CONTENT,{Size=.(,-,,),Text=,TextSize=,TextColor3=C.text})
CLOSE=(CONTENT,{Size=.(,,,),Position=.(,-,,),BackgroundColor3=C.red,Text=,TextColor3=C.text,TextSize=})
(CLOSE,); CLOSE.MouseButton1Click:(() WIN.Visible= )
SCROLL=.()
SCROLL.Size=.(,,,-); SCROLL.Position=.(,,,)
SCROLL.BackgroundTransparency=; SCROLL.BorderSizePixel=
SCROLL.ScrollBarThickness=; SCROLL.ScrollBarImageColor3=C.accent
SCROLL.CanvasSize=.(,,,); SCROLL.AutomaticCanvasSize=.AutomaticSize.Y
SCROLL.Parent=CONTENT
ul=.(); ul.SortOrder=.SortOrder.LayoutOrder; ul.Padding=.(,); ul.Parent=SCROLL
up=.(); up.PaddingLeft=.(,); up.PaddingRight=.(,); up.PaddingTop=.(,); up.Parent=SCROLL
tabData={}; tabCount=
(icon,name)
tabCount+=; order=tabCount
btn=(TAB_LIST,{Size=.(,,,),BackgroundColor3=C.sidebar,Text=,LayoutOrder=order}); (btn,)
ic=(btn,{Size=.(,,,),Position=.(,,,),Text=icon,TextSize=,TextColor3=C.sub,TextXAlignment=.TextXAlignment.Center})
lb=(btn,{Size=.(,-,,),Position=.(,,,),Text=name,TextSize=,TextColor3=C.sub})
bar=(btn,{Size=.(,,,),Position=.(,,,),BackgroundColor3=C.accent,Visible=}); (bar,)
page=(SCROLL,{Name=name..,Size=.(,,,),AutomaticSize=.AutomaticSize.Y,BackgroundTransparency=,Visible=,LayoutOrder=order})
ul=.(); ul.SortOrder=.SortOrder.LayoutOrder; ul.Padding=.(,); ul.Parent=page
tabData[name]={btn=btn,ic=ic,lb=lb,bar=bar,page=page}
()
_,d (tabData) d.page.Visible=; d.bar.Visible=; d.btn.BackgroundColor3=C.sidebar; d.ic.TextColor3=C.sub; d.lb.TextColor3=C.sub
page.Visible=; bar.Visible=; btn.BackgroundColor3=.(,,)
ic.TextColor3=C.accent; lb.TextColor3=C.text; PAGE_TITLE.Text=name; SCROLL.CanvasPosition=.zero
btn.MouseButton1Click:(activate)
order== ()
page
elemOrd=
(page,h)
elemOrd+=
f=(page,{Size=.(,,,h),BackgroundColor3=C.card,LayoutOrder=elemOrd})
(f,); (f,C.border); f
(page,name,sub,cb)
f=(page,)
(f,{Size=.(,-,,),Position=.(,,,),Text=name,TextSize=,TextColor3=C.text})
(f,{Size=.(,-,,),Position=.(,,,),Text=sub,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
pill=(f,{Size=.(,,,),Position=.(,-,,-),BackgroundColor3=C.pill_off,Text=}); (pill,)
knob=(pill,{Size=.(,,,),Position=.(,,,-),BackgroundColor3=.(,,)}); (knob,)
on=
pill.MouseButton1Click:(()
on= on
TweenService:(pill,TW,{BackgroundColor3=on C.accent C.pill_off}):()
TweenService:(knob,TW,{Position=on .(,-,,-) .(,,,-)}):()
(on)
)
(page,name,mn,mx,def,cb)
f=(page,)
(f,{Size=.(,-,,),Position=.(,,,),Text=name,TextSize=,TextColor3=C.text})
vl=(f,{Size=.(,,,),Position=.(,-,,),Text=(def),TextSize=,TextColor3=C.accent,TextXAlignment=.TextXAlignment.Right})
track=(f,{Size=.(,-,,),Position=.(,,,),BackgroundColor3=C.pill_off}); (track,)
fill=(track,{Size=.((def-mn)/(mx-mn),,,),BackgroundColor3=C.accent}); (fill,)
sk=(track,{Size=.(,,,),AnchorPoint=.(,),Position=.((def-mn)/(mx-mn),,,),BackgroundColor3=.(,,),Text=,ZIndex=}); (sk,)
drag=
sk.MouseButton1Down:(() drag= )
UserInputService.InputEnded:((i) i.UserInputType==.UserInputType.MouseButton1 drag= )
UserInputService.InputChanged:((i)
drag i.UserInputType~=.UserInputType.MouseMovement
r=.((i.Position.X-track.AbsolutePosition.X)/track.AbsoluteSize.X,,)
v=.(mn+r*(mx-mn)); fill.Size=.(r,,,); sk.Position=.(r,,,); vl.Text=(v); (v)
)
(page,label,color,cb)
f=(page,); (f,color,)
b=(f,{Size=.(,-,,),Position=.(,,,-),BackgroundColor3=color,Text=label,TextColor3=.(,,),TextSize=}); (b,)
b.MouseButton1Click:(()
()
TweenService:(b,TW,{BackgroundColor3=C.green}):()
.(,() TweenService:(b,TW,{BackgroundColor3=color}):() )
)
b
(page, label, placeholder, cb)
f = (page, )
(f, {Size=.(,-,,), Position=.(,,,), Text=label, TextSize=, TextColor3=C.text})
box = .()
box.Size = .(,-,,)
box.Position = .(,,,)
box.BackgroundColor3 = C.pill_off
box.BorderSizePixel =
box.TextColor3 = C.text
box.PlaceholderColor3 = C.sub
box.PlaceholderText = placeholder
box.Text =
box.TextSize =
box.Font = .Font.Gotham
box.ClearTextOnFocus =
box.Parent = f
(box, )
box.FocusLost:(()
(box.Text)
)
box
(parent,height,onSelect)
stCard=(parent,)
stLbl=(stCard,{Size=.(,-,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.sub})
lhCard=(parent,)
(lhCard,{Size=.(,-,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.text})
refBtn=(lhCard,{Size=.(,,,),Position=.(,-,,-),BackgroundColor3=C.accent,Text=,TextColor3=C.text,TextSize=}); (refBtn,)
elemOrd+=
outer=(parent,{Size=.(,,,height),BackgroundColor3=.(,,),LayoutOrder=elemOrd,ClipsDescendants=})
(outer,); (outer,C.border)
sf=.(); sf.Size=.(,,,); sf.BackgroundTransparency=; sf.BorderSizePixel=
sf.ScrollBarThickness=; sf.ScrollBarImageColor3=C.accent; sf.CanvasSize=.(,,,)
sf.AutomaticCanvasSize=.AutomaticSize.Y; sf.ScrollingDirection=.ScrollingDirection.Y; sf.Parent=outer
ul=.(); ul.SortOrder=.SortOrder.LayoutOrder; ul.Padding=.(,); ul.Parent=sf
up=.(); up.PaddingLeft=.(,); up.PaddingRight=.(,); up.PaddingTop=.(,); up.PaddingBottom=.(,); up.Parent=sf
pBtns={}; selected=
(txt,col) stLbl.Text=txt; stLbl.TextColor3=col C.sub
()
_,c (sf:()) c:() c:() c:()
pBtns={}; selected=; (,C.sub)
others={}; _,p (Players:()) p~=ME .(others,p)
#others==
ef=(sf,{Size=.(,,,),BackgroundColor3=.(,,)}); (ef,)
(ef,{Size=.(,,,),Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub,TextXAlignment=.TextXAlignment.Center});
i,p (others)
row=(sf,{Size=.(,,,),BackgroundColor3=C.row,LayoutOrder=i}); (row,)
av=(row,{Size=.(,,,),Position=.(,,,-),BackgroundColor3=C.accent}); (av,)
(av,{Size=.(,,,),Text=.(.(p.Name,,)),TextSize=,TextColor3=.(,,),TextXAlignment=.TextXAlignment.Center})
(row,{Size=.(,-,,),Position=.(,,,),Text=p.Name,TextSize=,TextColor3=C.text})
(row,{Size=.(,-,,),Position=.(,,,),Text=(p.DisplayName~=p.Name) p.DisplayName ,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
sb=(row,{Size=.(,,,),Position=.(,-,,-),BackgroundColor3=.(,,),Text=,TextColor3=C.text,TextSize=}); (sb,)
pBtns[p]={row=row,btn=sb,av=av}
sb.MouseButton1Click:(()
_,d (pBtns) d.row.BackgroundColor3=C.row; d.btn.BackgroundColor3=.(,,); d.btn.Text=; d.btn.TextColor3=C.text; d.av.BackgroundColor3=C.accent
selected=p; row.BackgroundColor3=C.row_sel; sb.BackgroundColor3=C.accent; sb.Text=; sb.TextColor3=.(,,); av.BackgroundColor3=C.orange
(p,setStatus)
)
TweenService:(refBtn,TW,{BackgroundColor3=C.green}):()
.(,() TweenService:(refBtn,TW,{BackgroundColor3=C.accent}):() )
refBtn.MouseButton1Click:(buildList)
Players.PlayerAdded:(() .(); () )
Players.PlayerRemoving:(() .(); () )
()
sf,buildList,setStatus,() selected
fly=; flySpeed=; bv,bg2
nc=; infJump=; god=
espOn=; espHL={}
floatOn=; floatBV=
spinOn=; spinConn=
rainbowOn=; rainbowConn=
trailOn=; trailObj=
invisOn=
followOn=; followTarget=; followConn=
spectateOn=; spectateTarget=
origCamType=
swimAirOn=; swimBV=
jetpackOn=; jetpackBV=
heroLandOn=; heroLastY=; heroWasAir=
fullbrightOn=
origAmbient; origOutAmbient; origBrightness
crosshairOn=; crosshairFrame=
coordsOn=; coordsLabel=
fpsOn=; fpsLabel=
flingTargets={}
flingCheckboxUI={}
flingActive=
flingStatusText=
flingStatusLbl=
blinkOn=; blinkCooldown=; blinkDist=
autoDodgeOn=; autoDodgeTouched=; dodgeCooldown=
punchForceOn=; punchForceAmt=; punchConns={}
lagOn=; lagConn=; lagIntensity=; lagOldCF=; lagTimer=
nameTagOn=; nameTagGui=; nameTagText=..ME.Name
scriptStartTime=.()
statsUpdateConns={}
aimOn =
afkOn =
chatSpamConn =
aimFOV =
aimSmooth =
aimDist =
aimHead =
aimHoldOnly =
aimLockedTarget =
()
hrp=(); hum=(); hrp hum
fly=; hum.PlatformStand=
hrp:() hrp:():()
hrp:() hrp:():()
bv=.(); bv.Name=; bv.MaxForce=.(,,); bv.Velocity=.zero; bv.Parent=hrp
bg2=.(); bg2.Name=; bg2.MaxTorque=.(,,); bg2.P=; bg2.Parent=hrp
()
fly=; hum=(); hum hum.PlatformStand=
bv bv.Parent bv:() ; bg2 bg2.Parent bg2:() ; bv=; bg2=
(p)
p==ME ; ch=p.Character; ch espHL[p]
h=.(); h.FillColor=C.accent; h.OutlineColor=.(,,)
h.FillTransparency=; h.OutlineTransparency=; h.DepthMode=.HighlightDepthMode.AlwaysOnTop; h.Adornee=ch; h.Parent=ch
bb=.(); bb.Name=; bb.Size=.(,,,); bb.StudsOffset=.(,,); bb.AlwaysOnTop=
bb.Adornee=ch:() ch:(); bb.Parent=ch
nl=.(); nl.Size=.(,,,); nl.BackgroundTransparency=
nl.Text=..p.Name; nl.TextColor3=.(,,); nl.TextSize=; nl.Font=.Font.GothamBold; nl.TextStrokeTransparency=; nl.Parent=bb
espHL[p]=h
(p)
espHL[p] espHL[p]:(); espHL[p]=
ch=p.Character; ch b=ch:(); b b:()
() p (espHL) (p)
() espOn (); ; _,p (Players:()) (p)
Players.PlayerAdded:((p) espOn p.CharacterAdded:(() .(); (p) ) )
Players.PlayerRemoving:(remESP)
()
hrp=(); hrp
hrp:() hrp:():()
floatBV=.(); floatBV.Name=
floatBV.MaxForce=.(,,); floatBV.Velocity=.(,,); floatBV.Parent=hrp
hum=(); hum hum.PlatformStand=
()
floatBV floatBV.Parent floatBV:() ; floatBV=
()
spinOn=
spinConn=RunService.Heartbeat:(()
hrp=(); hrp
hrp.CFrame=hrp.CFrame*.(,.(),)
)
()
spinOn=; spinConn spinConn:(); spinConn=
rainbowHue=
()
rainbowOn=
rainbowConn=RunService.Heartbeat:(()
ch=(); ch
rainbowHue=(rainbowHue+)%
col=.(rainbowHue/,,)
_,p (ch:())
p:() p.Name~= p.Color=col
)
()
rainbowOn=; rainbowConn rainbowConn:(); rainbowConn=
ch=(); ch
_,p (ch:())
p:() p.Color=.(,,)
()
hrp=(); hrp
hrp:() hrp:():()
a0=.(); a0.Position=.(,,); a0.Parent=hrp
a1=.(); a1.Position=.(,-,); a1.Parent=hrp
trailObj=.(); trailObj.Name=
trailObj.Attachment0=a0; trailObj.Attachment1=a1
trailObj.Lifetime=; trailObj.MinLength=
trailObj.Color=ColorSequence.({
ColorSequenceKeypoint.(,.(,,)),
ColorSequenceKeypoint.(,.(,,)),
ColorSequenceKeypoint.(,.(,,)),
})
trailObj.Parent=hrp; trailOn=
()
trailOn=
hrp=(); hrp
t=hrp:(); t t:()
_,a (hrp:()) a:() a:()
(on)
invisOn=on
ch=(); ch
_,p (ch:())
p:() p.Name~= p.LocalTransparencyModifier=on
p:() p.Transparency=on
(scale)
ch=(); ch
hum=(); hum
(name,val)
s=hum:(name)
s s:() s.Value=val
(,scale); (,scale)
(,scale); (,scale)
(target)
followTarget=target; followOn=
followConn followConn:()
followConn=RunService.Heartbeat:(()
followOn
hrp=(); hrp
tch=followTarget followTarget.Character
thrp=tch tch:()
thrp
hum=(); hum
dist=(thrp.Position-hrp.Position).Magnitude
dist> hum:(thrp.Position)
)
()
followOn=; followTarget=
followConn followConn:(); followConn=
(target)
spectateTarget=target; spectateOn=
cam=.CurrentCamera
origCamType=cam.CameraType
cam.CameraType=.CameraType.Scriptable
RunService.RenderStepped:(()
spectateOn
tch=spectateTarget spectateTarget.Character
thrp=tch tch:()
thrp cam.CFrame=.(thrp.Position+.(,,-),thrp.Position)
)
()
spectateOn=; spectateTarget=
cam=.CurrentCamera
origCamType cam.CameraType=origCamType
()
blinkOn blinkCooldown
hrp=(); hrp
cam=.CurrentCamera
look=cam.CFrame.LookVector
dashDir=.(look.X,,look.Z)
dashDir.Magnitude> dashDir=dashDir.Unit
hrp.CFrame=hrp.CFrame + dashDir * blinkDist
.(()
ch=(); ch
_,p (ch:())
p:() p.Name~=
orig=p.Material
p.Material=.Material.Neon
.(,() p p.Parent p.Material=orig )
)
blinkCooldown=
.(,() blinkCooldown= )
()
autoDodgeOn=
ch=(); ch
autoDodgeTouched autoDodgeTouched:()
autoDodgeTouched=ch.PrimaryPart ch.PrimaryPart.Touched:((hit)
autoDodgeOn dodgeCooldown
hit:(ch)
isEnemy=
_,p (Players:())
p~=ME p.Character hit:(p.Character) isEnemy=;
isEnemy hit.Velocity.Magnitude <
dodgeCooldown=
hum=()
hum hum:(.HumanoidStateType.Jumping)
hrp=()
hrp
dir=(hrp.Position-hit.Position)
dir=.(dir.X,,dir.Z)
dir.Magnitude> dir=dir.Unit
pushBV=.()
pushBV.Velocity=dir*
pushBV.MaxForce=.(,,)
pushBV.P=
pushBV.Parent=hrp
.(,() pushBV.Parent pushBV:() )
.(,() dodgeCooldown= )
)
()
autoDodgeOn=
autoDodgeTouched autoDodgeTouched:(); autoDodgeTouched=
dodgeCooldown=
()
_,c (punchConns) c:()
punchConns={}
()
punchForceOn=
()
ch=(); ch
_,part (ch:())
part:()
conn=part.Touched:((hit)
punchForceOn
hitChar=
_,p (Players:())
p~=ME p.Character hit:(p.Character)
hitChar=p.Character;
hitChar
thrp=hitChar:(); thrp
myHRP=(); myHRP
pushDir=(thrp.Position-myHRP.Position)
pushDir=.(pushDir.X,,pushDir.Z)
pushDir.Magnitude> pushDir=pushDir.Unit
launchVel=(pushDir+.(,,)).Unit*(punchForceAmt*)
bvPunch=.()
bvPunch.Velocity=launchVel
bvPunch.MaxForce=.(,,)
bvPunch.P=
bvPunch.Parent=thrp
.(,() bvPunch.Parent bvPunch:() )
)
.(punchConns,conn)
()
punchForceOn=
()
flingOldPos =
flingOrigFPDH = .FallenPartsDestroyHeight
()
flingStatusLbl
count=; _ (flingTargets) count+=
flingActive
flingStatusLbl.Text=..count..
flingStatusLbl.TextColor3=C.red
flingStatusLbl.Text=..count..
flingStatusLbl.TextColor3=C.sub
(targetPlayer)
ch=()
hum=()
hrp=()
tch=targetPlayer.Character
tch ch hum hrp
tHum=tch:()
tHRP=tHum tHum.RootPart
tHead=tch:()
acc=tch:()
handle=acc acc:()
hrp.Velocity.Magnitude <
flingOldPos=hrp.CFrame
tHum tHum.Sit
tHead
.CurrentCamera.CameraSubject=tHead
handle
.CurrentCamera.CameraSubject=handle
tHum
.CurrentCamera.CameraSubject=tHum
targetBasePart=tHRP tHead handle
targetBasePart
(base, pos, ang)
hrp.CFrame=.(base.Position)*pos*ang
ch:(.(base.Position)*pos*ang)
hrp.Velocity=.(, *, )
hrp.RotVelocity=.(, , )
(base)
timeLimit=
startTime=()
angle=
hrp tHum
base.Velocity.Magnitude <
angle+=
md=tHum.MoveDirection*(base.Velocity.Magnitude/)
(base, .(,,)+md, .(.(angle),,)); .()
(base, .(,-,)+md, .(.(angle),,)); .()
(base, .(,,)+md, .(.(angle),,)); .()
(base, .(,-,)+md, .(.(angle),,)); .()
(base, .(,,)+tHum.MoveDirection, .(.(angle),,)); .()
(base, .(,-,)+tHum.MoveDirection, .(.(angle),,)); .()
(base, .(,,tHum.WalkSpeed), .(.(),,)); .()
(base, .(,-,-tHum.WalkSpeed), .(,,)); .()
(base, .(,,tHum.WalkSpeed), .(.(),,)); .()
(base, .(,-,), .(.(),,)); .()
(base, .(,-,), .(,,)); .()
(base, .(,-,), .(.(),,)); .()
(base, .(,-,), .(,,)); .()
startTime+timeLimit < () flingActive
.FallenPartsDestroyHeight=/
bvFling=.()
bvFling.Parent=hrp
bvFling.Velocity=.zero
bvFling.MaxForce=.(,,)
hum:(.HumanoidStateType.Seated,)
(targetBasePart)
bvFling:()
hum:(.HumanoidStateType.Seated,)
.CurrentCamera.CameraSubject=hum
flingOldPos
safePos=flingOldPos*.(,,)
attempts=
hrp.CFrame=safePos
ch:(safePos)
hum:(.HumanoidStateType.GettingUp)
_,part (ch:())
part:()
part.Velocity=.zero
part.RotVelocity=.zero
.()
attempts+=
(hrp.Position-flingOldPos.p).Magnitude< attempts>
.FallenPartsDestroyHeight=flingOrigFPDH
()
flingActive
count=; _ (flingTargets) count+=
count==
flingStatusLbl
flingStatusLbl.Text=
flingStatusLbl.TextColor3=C.yellow
.(,updateFlingStatus)
flingActive=
()
.(()
flingActive
valid={}
name,p (flingTargets)
p p.Parent
.(valid,p)
flingTargets[name]=
ui=flingCheckboxUI[name]
ui
ui.check.Text=; ui.check.BackgroundColor3=.(,,)
ui.row.BackgroundColor3=C.row
flingCheckboxUI[name]=
_,p (valid)
flingActive (p); .()
()
.()
)
()
flingActive=
.FallenPartsDestroyHeight=flingOrigFPDH
()
()
ch=(); ch
hrp=ch:(); hrp
existing=hrp:()
existing existing:()
nameTagOn
bb=.()
bb.Name=
bb.Size=.(,,,)
bb.StudsOffset=.(,,)
bb.AlwaysOnTop=
bb.Adornee=hrp
bb.Parent=hrp
nameTagGui=bb
bg=(bb,{
Size=.(,,,),
BackgroundColor3=.(,,),
BackgroundTransparency=,
})
(bg,)
(bg,C.accent,)
lbl=.()
lbl.Size=.(,,,)
lbl.BackgroundTransparency=
lbl.Text=nameTagText
lbl.TextColor3=.(,,)
lbl.TextSize=
lbl.Font=.Font.GothamBold
lbl.TextStrokeTransparency=
lbl.TextStrokeColor3=C.accent
lbl.TextXAlignment=.TextXAlignment.Center
lbl.Parent=bg
()
ch=(); ch
hrp=ch:(); hrp
existing=hrp:()
existing existing:()
nameTagGui=
(player)
player==ME
ME.Team~= player.Team==ME.Team
ch=player.Character; ch
hum=ch:()
hum hum.Health<=
ch:()~=
()
localChar=()
localChar aimLockedTarget=;
cam=.CurrentCamera
camPos=cam.CFrame.Position
camLook=cam.CFrame.LookVector
aimLockedTarget aimLockedTarget.Parent
owner=Players:(aimLockedTarget.Parent)
owner (owner)
dist=(aimLockedTarget.Position-camPos).Magnitude
dist<=aimDist aimLockedTarget
aimLockedTarget=
bestPart=; bestDist=aimDist
_,player (Players:())
(player)
ch=player.Character
part=aimHead (ch:() ch:()) ch:()
part
toTarget=part.Position-camPos
dist=toTarget.Magnitude
dist<=aimDist
angle=.(.(.(camLook:(toTarget.Unit),-,)))
angle<=aimFOV dist<bestDist
params=RaycastParams.()
params.FilterDescendantsInstances={localChar,ch}
params.FilterType=.RaycastFilterType.Exclude
:(camPos,toTarget.Unit*dist,params)
bestDist=dist; bestPart=part
aimLockedTarget=bestPart
bestPart
movPage = (,)
visPage = (,)
funPage = (,)
cosPage = (,)
worldPage = (,)
tpPage = (,)
aimPage = (,)
statsPage = (,)
piPage = (,)
settingsPage = (,)
reviewsPage = (,)
(movPage,,,(on) on () () )
(movPage,,,,,(v) flySpeed=v )
(movPage,,,(on) nc=on )
(movPage,,,,,(v) h=(); h h.WalkSpeed=v )
(movPage,,,,,(v) h=(); h h.JumpPower=v )
(movPage,,,(on) infJump=on )
(movPage,,,(on) on () () )
(movPage,,,(on) on () () )
(movPage,,,(on)
swimAirOn=on
hrp=(); hrp
on
bv2=.(); bv2.Name=
bv2.Velocity=.zero; bv2.MaxForce=.(,,); bv2.P=
bv2.Parent=hrp; swimBV=bv2
h=(); h h.PlatformStand=
swimBV swimBV.Parent swimBV:() ; swimBV=
h=(); h h.PlatformStand=
)
(movPage,,,(on)
jetpackOn=on
on
jetpackBV jetpackBV.Parent jetpackBV:() ; jetpackBV=
)
(movPage,,,(on) heroLandOn=on )
blinkHdr=(movPage,); (blinkHdr,C.purple,)
(blinkHdr,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.purple})
(blinkHdr,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
(movPage,,,(on) blinkOn=on )
(movPage,,,,,(v) blinkDist=v )
(movPage,,,(on)
on () ()
)
(visPage,,,(on) espOn=on; () )
(visPage,,,(on) god=on )
(visPage,,,(on) (on) )
(visPage,,,(on)
fullbrightOn=on
on
origAmbient=Lighting.Ambient; origOutAmbient=Lighting.OutdoorAmbient; origBrightness=Lighting.Brightness
Lighting.Ambient=.(,,); Lighting.OutdoorAmbient=.(,,); Lighting.Brightness=
origAmbient Lighting.Ambient=origAmbient; Lighting.OutdoorAmbient=origOutAmbient; Lighting.Brightness=origBrightness
)
(visPage,,,(on)
crosshairOn=on
on crosshairFrame
crosshairFrame=.(); crosshairFrame.Name=
crosshairFrame.Size=.(,,,); crosshairFrame.Position=.(,-,,-)
crosshairFrame.BackgroundTransparency=; crosshairFrame.ZIndex=; crosshairFrame.Parent=SG
h=.(); h.Size=.(,,,); h.Position=.(,-,,-)
h.BackgroundColor3=.(,,); h.BorderSizePixel=; h.ZIndex=; h.Parent=crosshairFrame
v=.(); v.Size=.(,,,); v.Position=.(,-,,-)
v.BackgroundColor3=.(,,); v.BorderSizePixel=; v.ZIndex=; v.Parent=crosshairFrame
dot=.(); dot.Size=.(,,,); dot.Position=.(,-,,-)
dot.BackgroundColor3=C.accent; dot.BorderSizePixel=; dot.ZIndex=; dot.Parent=crosshairFrame
ins=.(); ins.CornerRadius=.(,); ins.Parent=dot
on crosshairFrame
crosshairFrame:(); crosshairFrame=
)
(visPage,,,(on)
coordsOn=on
on coordsLabel
coordsLabel=.(); coordsLabel.Name=
coordsLabel.Size=.(,,,); coordsLabel.Position=.(,,,-)
coordsLabel.BackgroundColor3=.(,,); coordsLabel.BackgroundTransparency=
coordsLabel.TextColor3=C.accent; coordsLabel.TextSize=; coordsLabel.Font=.Font.Code
coordsLabel.Text=; coordsLabel.BorderSizePixel=; coordsLabel.ZIndex=
coordsLabel.Parent=SG; (coordsLabel,)
on coordsLabel
coordsLabel:(); coordsLabel=
)
(visPage,,,(on)
fpsOn=on
on fpsLabel
fpsLabel=.(); fpsLabel.Name=
fpsLabel.Size=.(,,,); fpsLabel.Position=.(,,,-)
fpsLabel.BackgroundColor3=.(,,); fpsLabel.BackgroundTransparency=
fpsLabel.TextColor3=C.green; fpsLabel.TextSize=; fpsLabel.Font=.Font.Code
fpsLabel.Text=; fpsLabel.BorderSizePixel=; fpsLabel.ZIndex=
fpsLabel.Parent=SG; (fpsLabel,)
on fpsLabel
fpsLabel:(); fpsLabel=
)
(cosPage,,,(on) on () () )
(cosPage,,,(on) on () () )
sizeCard=(cosPage,)
(sizeCard,{Size=.(,-,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.text})
vl=(sizeCard,{Size=.(,,,),Position=.(,-,,),Text=,TextSize=,TextColor3=C.accent,TextXAlignment=.TextXAlignment.Right})
track=(sizeCard,{Size=.(,-,,),Position=.(,,,),BackgroundColor3=C.pill_off}); (track,)
fill=(track,{Size=.(,,,),BackgroundColor3=C.purple}); (fill,)
sk=(track,{Size=.(,,,),AnchorPoint=.(,),Position=.(,,,),BackgroundColor3=.(,,),Text=,ZIndex=}); (sk,)
drag=
sk.MouseButton1Down:(() drag= )
UserInputService.InputEnded:((i) i.UserInputType==.UserInputType.MouseButton1 drag= )
UserInputService.InputChanged:((i)
drag i.UserInputType~=.UserInputType.MouseMovement
r=.((i.Position.X-track.AbsolutePosition.X)/track.AbsoluteSize.X,,)
v=.((+r*)*)/
fill.Size=.(r,,,); sk.Position=.(r,,,)
vl.Text=(v); (v)
)
(cosPage,,C.sub,() () )
ntHdr=(cosPage,); (ntHdr,C.orange,)
(ntHdr,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.orange})
(ntHdr,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
(cosPage,,,(on)
nameTagOn=on
on () ()
)
(cosPage,,,(text)
text==
nameTagText=text
nameTagOn ()
)
(cosPage,,C.sub,()
nameTagText=..ME.Name
nameTagOn ()
)
flHdr=(funPage,); (flHdr,C.red,)
(flHdr,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.red})
(flHdr,{Size=.(,,,),Position=.(,,,),Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub})
flStatusCard=(funPage,)
flingStatusLbl=(flStatusCard,{Size=.(,-,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.sub})
flListHdr=(funPage,)
(flListHdr,{Size=.(,-,,),Position=.(,,,),Text=,TextSize=,TextColor3=C.text})
flRefBtn=(flListHdr,{Size=.(,,,),Position=.(,-,,-),BackgroundColor3=C.accent,Text=,TextColor3=C.text,TextSize=}); (flRefBtn,)
elemOrd+=
flOuter=(funPage,{Size=.(,,,),BackgroundColor3=.(,,),LayoutOrder=elemOrd,ClipsDescendants=})
(flOuter,); (flOuter,C.border)
flSF=.(); flSF.Size=.(,,,); flSF.BackgroundTransparency=; flSF.BorderSizePixel=
flSF.ScrollBarThickness=; flSF.ScrollBarImageColor3=C.red; flSF.CanvasSize=.(,,,)
flSF.AutomaticCanvasSize=.AutomaticSize.Y; flSF.ScrollingDirection=.ScrollingDirection.Y; flSF.Parent=flOuter
ul=.(); ul.SortOrder=.SortOrder.LayoutOrder; ul.Padding=.(,); ul.Parent=flSF
up=.(); up.PaddingLeft=.(,); up.PaddingRight=.(,); up.PaddingTop=.(,); up.PaddingBottom=.(,); up.Parent=flSF
()
_,c (flSF:())
c:() c:() c:()
flingCheckboxUI={}
others={}
_,p (Players:()) p~=ME .(others,p)
#others==
(flSF,{Size=.(,,,),Text=,TextSize=,Font=.Font.Gotham,TextColor3=C.sub,TextXAlignment=.TextXAlignment.Center})
i,p (others)
row=(flSF,{Size=.(,,,),BackgroundColor3=C.row,LayoutOrder=i}); (row,)
chkBox=(row,{Size=.(,,,),Position=.(,,,-),
BackgroundColor3=.(,,),Text=,ZIndex=}); (chkBox,)
(chkBox,C.border,)
chkMark=(chkBox,{Size=.(,,,),Text=,TextSize=,
TextColor3=C.red,TextXAlignment=.TextXAlignment.Center,ZIndex=})
av=(row,{Size=.(,,,),Position=.(,,,-),BackgroundColor3=C.accent}); (av,)
(av,{Size=.(,,,),Text=.(.(p.Name,,)),TextSize=,TextColor3=.(,,),TextXAlignment=.TextXAlignment.Center})
(row,{Size=.(,-,,),Position=.(,,,-),Text=p.Name,TextSize=,TextColor3=C.text})
flingTargets[p.Name]
chkMark.Text=; chkBox.BackgroundColor3=C.red
row.BackgroundColor3=.(,,)
flingCheckboxUI[p.Name]={row=row, check=chkMark, box=chkBox}
-- Toggle on click (whole row clickable)
local clickArea=mkBtn(row,{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,Text="",ZIndex=5})
clickArea.MouseButton1Click:Connect(function()
if flingTargets[p.Name] then
flingTargets[p.Name]=nil
chkMark.Text=""; chkBox.BackgroundColor3=Color3.fromRGB(50,50,70)
row.BackgroundColor3=C.row
else
flingTargets[p.Name]=p
chkMark.Text="✓"; chkBox.BackgroundColor3=C.red
row.BackgroundColor3=Color3.fromRGB(44,22,22)
end
updateFlingStatus()
end)
end
TweenService:Create(flRefBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.4,function() TweenService:Create(flRefBtn,TW,{BackgroundColor3=C.accent}):Play() end)
updateFlingStatus()
end
flRefBtn.MouseButton1Click:Connect(buildFlingList)
Players.PlayerAdded:Connect(function() task.wait(0.6); buildFlingList() end)
Players.PlayerRemoving:Connect(function(p)
if flingTargets[p.Name] then flingTargets[p.Name]=nil end
task.wait(0.15); buildFlingList()
end)
buildFlingList()
-- Select All / Deselect All
local flSelCard=card(funPage,40); mkStroke(flSelCard,C.border,1)
local flSelAll=mkBtn(flSelCard,{Size=UDim2.new(0.48,-5,0,26),Position=UDim2.new(0,10,0.5,-13),
BackgroundColor3=Color3.fromRGB(45,45,65),Text="✓ Select All",TextColor3=C.text,TextSize=11}); mkCorner(flSelAll,6)
local flDeselAll=mkBtn(flSelCard,{Size=UDim2.new(0.48,-5,0,26),Position=UDim2.new(0.52,0,0.5,-13),
BackgroundColor3=Color3.fromRGB(45,45,65),Text="✕ Deselect All",TextColor3=C.text,TextSize=11}); mkCorner(flDeselAll,6)
flSelAll.MouseButton1Click:Connect(function()
for _,p in ipairs(Players:GetPlayers()) do
if p~=ME then
flingTargets[p.Name]=p
local ui=flingCheckboxUI[p.Name]
if ui then ui.check.Text="✓"; ui.box.BackgroundColor3=C.red; ui.row.BackgroundColor3=Color3.fromRGB(44,22,22) end
end
end
updateFlingStatus()
end)
flDeselAll.MouseButton1Click:Connect(function()
for name in pairs(flingTargets) do
flingTargets[name]=nil
local ui=flingCheckboxUI[name]
if ui then ui.check.Text=""; ui.box.BackgroundColor3=Color3.fromRGB(50,50,70); ui.row.BackgroundColor3=C.row end
end
updateFlingStatus()
end)
-- Start / Stop buttons
local flBtnCard=card(funPage,52); mkStroke(flBtnCard,C.red,1.5)
local flStartBtn=mkBtn(flBtnCard,{Size=UDim2.new(0.5,-8,0,36),Position=UDim2.new(0,8,0.5,-18),
BackgroundColor3=C.red,Text="🚀 START FLING",TextColor3=Color3.new(1,1,1),TextSize=12}); mkCorner(flStartBtn,8)
local flStopBtn=mkBtn(flBtnCard,{Size=UDim2.new(0.5,-8,0,36),Position=UDim2.new(0.5,0,0.5,-18),
BackgroundColor3=C.pill_off,Text="■ STOP",TextColor3=Color3.new(1,1,1),TextSize=12}); mkCorner(flStopBtn,8)
flStartBtn.MouseButton1Click:Connect(function()
startFlingLoop()
TweenService:Create(flStartBtn,TW,{BackgroundColor3=C.orange}):Play()
task.delay(0.4,function() TweenService:Create(flStartBtn,TW,{BackgroundColor3=C.red}):Play() end)
end)
flStopBtn.MouseButton1Click:Connect(function()
stopFlingLoop()
TweenService:Create(flStopBtn,TW,{BackgroundColor3=C.red}):Play()
task.delay(0.4,function() TweenService:Create(flStopBtn,TW,{BackgroundColor3=C.pill_off}):Play() end)
end)
-- ── Punch Force Multiplier (NEW) ──────────────────────────────────
local pfHdr=card(funPage,50); mkStroke(pfHdr,C.red,1.5)
mkLabel(pfHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="🥊 Punch Force Multiplier",TextSize=14,TextColor3=C.red})
mkLabel(pfHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Send players flying when you touch them",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
makeToggle(funPage,"Enable Punch Force","Blast nearby players on contact",function(on)
if on then startPunchForce() else stopPunchForce() end
end)
makeSlider(funPage,"Launch Power",5,80,25,function(v) punchForceAmt=v end)
-- Follow player
local followHdr=card(funPage,50); mkStroke(followHdr,C.pink,1)
mkLabel(followHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="🚶 Follow Player",TextSize=14,TextColor3=C.pink})
mkLabel(followHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Auto-walk toward a selected player",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local followTarget2=nil
local _,_,setFollowS,getFollowS=makePlayerList(funPage,140,function(p,ss) followTarget2=p; ss("✅ Will follow: "..p.Name,C.pink) end)
do
local fc=card(funPage,48); mkStroke(fc,C.pink,1)
local startFollowBtn=mkBtn(fc,{Size=UDim2.new(0.48,-5,0,32),Position=UDim2.new(0,10,0.5,-16),BackgroundColor3=C.pink,Text="▶ Start Follow",TextColor3=Color3.new(1,1,1),TextSize=12}); mkCorner(startFollowBtn,8)
local stopFollowBtn=mkBtn(fc,{Size=UDim2.new(0.48,-5,0,32),Position=UDim2.new(0.52,0,0.5,-16),BackgroundColor3=C.pill_off,Text="■ Stop",TextColor3=Color3.new(1,1,1),TextSize=12}); mkCorner(stopFollowBtn,8)
startFollowBtn.MouseButton1Click:Connect(function()
local t=getFollowS(); if not t then setFollowS("⚠️ Select a player first!",C.yellow); return end
startFollow(t); setFollowS("🚶 Following "..t.Name.."...",C.pink)
TweenService:Create(startFollowBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.4,function() TweenService:Create(startFollowBtn,TW,{BackgroundColor3=C.pink}):Play() end)
end)
stopFollowBtn.MouseButton1Click:Connect(function()
stopFollow(); setFollowS("⛔ Stopped following",C.sub)
TweenService:Create(stopFollowBtn,TW,{BackgroundColor3=C.red}):Play()
task.delay(0.4,function() TweenService:Create(stopFollowBtn,TW,{BackgroundColor3=C.pill_off}):Play() end)
end)
end
-- Spectate
local specHdr=card(funPage,50); mkStroke(specHdr,C.teal,1)
mkLabel(specHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="📷 Spectate Player",TextSize=14,TextColor3=C.teal})
mkLabel(specHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Lock your camera to another player",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local _,_,setSpecS,getSpecS=makePlayerList(funPage,140,function(p,ss) ss("✅ Will spectate: "..p.Name,C.teal) end)
do
local sc=card(funPage,48); mkStroke(sc,C.teal,1)
local startSpecBtn=mkBtn(sc,{Size=UDim2.new(0.48,-5,0,32),Position=UDim2.new(0,10,0.5,-16),BackgroundColor3=C.teal,Text="📷 Spectate",TextColor3=Color3.new(1,1,1),TextSize=12}); mkCorner(startSpecBtn,8)
local stopSpecBtn=mkBtn(sc,{Size=UDim2.new(0.48,-5,0,32),Position=UDim2.new(0.52,0,0.5,-16),BackgroundColor3=C.pill_off,Text="■ Stop",TextColor3=Color3.new(1,1,1),TextSize=12}); mkCorner(stopSpecBtn,8)
startSpecBtn.MouseButton1Click:Connect(function()
local t=getSpecS(); if not t then setSpecS("⚠️ Select a player first!",C.yellow); return end
startSpectate(t); setSpecS("📷 Spectating "..t.Name.."...",C.teal)
TweenService:Create(startSpecBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.4,function() TweenService:Create(startSpecBtn,TW,{BackgroundColor3=C.teal}):Play() end)
end)
stopSpecBtn.MouseButton1Click:Connect(function()
stopSpectate(); setSpecS("⛔ Stopped spectating",C.sub)
end)
end
end
-- ── WORLD ─────────────────────────────────────────────────────────────
do
makeSlider(worldPage,"Time of Day",0,24,12,function(v) Lighting.TimeOfDay=string.format("%02d:00:00",v) end)
makeSlider(worldPage,"Gravity",0,200,196,function(v) workspace.Gravity=v end)
makeToggle(worldPage,"Thick Fog","Add dense fog to the world",function(on)
Lighting.FogEnd=on and 100 or 100000
Lighting.FogStart=on and 0 or 0
Lighting.FogColor=Color3.fromRGB(200,200,200)
end)
makeSlider(worldPage,"Brightness",0,10,2,function(v) Lighting.Brightness=v end)
makeToggle(worldPage,"Freeze NPCs","Anchor all NPC models in the world",function(on)
for _,obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") then
local isPlayer=false
for _,p in ipairs(Players:GetPlayers()) do
if p.Character and obj:IsDescendantOf(p.Character) then isPlayer=true; break end
end
if not isPlayer then obj.Anchored=on end
end
end
end)
end
-- ── TELEPORT ──────────────────────────────────────────────────────────
do
local hdr=card(tpPage,50); mkStroke(hdr,C.teal,1)
mkLabel(hdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="🌀 Teleport",TextSize=14,TextColor3=C.teal})
mkLabel(hdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Teleport to players or saved waypoints",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local tpTarget=nil
local _,_,setTPS,getTPS=makePlayerList(tpPage,150,function(p,ss) tpTarget=p; ss("✅ Will teleport to: "..p.Name,C.teal) end)
local tpCard=card(tpPage,48); mkStroke(tpCard,C.teal,1)
local tpBtn=mkBtn(tpCard,{Size=UDim2.new(1,-20,0,32),Position=UDim2.new(0,10,0.5,-16),BackgroundColor3=C.teal,Text="🌀 Teleport to Player",TextColor3=Color3.new(1,1,1),TextSize=13}); mkCorner(tpBtn,8)
tpBtn.MouseButton1Click:Connect(function()
local t=getTPS(); if not t then setTPS("⚠️ Select a player first!",C.yellow); return end
local tch=t.Character; if not tch then setTPS("⚠️ Player has no character!",C.yellow); return end
local thrp=tch:FindFirstChild("HumanoidRootPart"); if not thrp then return end
local myHRP=getHRP(); if not myHRP then return end
myHRP.CFrame=CFrame.new(thrp.Position+thrp.CFrame.LookVector*-3+Vector3.new(0,0.5,0))
setTPS("✅ Teleported to "..t.Name.."!",C.green)
TweenService:Create(tpBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.4,function() TweenService:Create(tpBtn,TW,{BackgroundColor3=C.teal}):Play() end)
end)
elemOrd+=1
local wpHdr=mkFrame(tpPage,{Size=UDim2.new(1,0,0,34),BackgroundColor3=C.card,LayoutOrder=elemOrd}); mkCorner(wpHdr,10); mkStroke(wpHdr,C.border)
mkLabel(wpHdr,{Size=UDim2.new(1,-136,1,0),Position=UDim2.new(0,12,0,0),Text="📍 Waypoints",TextSize=12,TextColor3=C.text})
local saveBtn=mkBtn(wpHdr,{Size=UDim2.new(0,78,0,22),Position=UDim2.new(1,-134,0.5,-11),BackgroundColor3=C.green,Text="+ Save Here",TextColor3=Color3.new(1,1,1),TextSize=10}); mkCorner(saveBtn,6)
local clrBtn=mkBtn(wpHdr,{Size=UDim2.new(0,46,0,22),Position=UDim2.new(1,-50,0.5,-11),BackgroundColor3=C.red,Text="Clear",TextColor3=Color3.new(1,1,1),TextSize=10}); mkCorner(clrBtn,6)
elemOrd+=1
local wpOuter=mkFrame(tpPage,{Size=UDim2.new(1,0,0,160),BackgroundColor3=Color3.fromRGB(18,18,28),LayoutOrder=elemOrd,ClipsDescendants=true}); mkCorner(wpOuter,10); mkStroke(wpOuter,C.border)
local wpSF=Instance.new("ScrollingFrame"); wpSF.Size=UDim2.new(1,0,1,0); wpSF.BackgroundTransparency=1; wpSF.BorderSizePixel=0
wpSF.ScrollBarThickness=5; wpSF.ScrollBarImageColor3=C.teal; wpSF.CanvasSize=UDim2.new(0,0,0,0)
wpSF.AutomaticCanvasSize=Enum.AutomaticSize.Y; wpSF.ScrollingDirection=Enum.ScrollingDirection.Y; wpSF.Parent=wpOuter
do
local ul=Instance.new("UIListLayout"); ul.SortOrder=Enum.SortOrder.LayoutOrder; ul.Padding=UDim.new(0,4); ul.Parent=wpSF
local up=Instance.new("UIPadding"); up.PaddingLeft=UDim.new(0,6); up.PaddingRight=UDim.new(0,10); up.PaddingTop=UDim.new(0,6); up.PaddingBottom=UDim.new(0,6); up.Parent=wpSF
end
local waypoints={}; local wpCount=0
local function rebuildWP()
for _,c in ipairs(wpSF:GetChildren()) do if not c:IsA("UIListLayout") and not c:IsA("UIPadding") then c:Destroy() end end
if #waypoints==0 then
mkLabel(wpSF,{Size=UDim2.new(1,0,0,44),Text="No waypoints yet — press '+ Save Here'",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub,TextXAlignment=Enum.TextXAlignment.Center})
return
end
for i,wp in ipairs(waypoints) do
local row=mkFrame(wpSF,{Size=UDim2.new(1,0,0,40),BackgroundColor3=C.row,LayoutOrder=i}); mkCorner(row,8)
local ic=mkFrame(row,{Size=UDim2.new(0,28,0,28),Position=UDim2.new(0,6,0.5,-14),BackgroundColor3=C.teal}); mkCorner(ic,14)
mkLabel(ic,{Size=UDim2.new(1,0,1,0),Text="📍",TextSize=13,TextXAlignment=Enum.TextXAlignment.Center})
mkLabel(row,{Size=UDim2.new(1,-134,0,18),Position=UDim2.new(0,42,0,4),Text=wp.name,TextSize=12,TextColor3=C.text})
mkLabel(row,{Size=UDim2.new(1,-134,0,14),Position=UDim2.new(0,42,0,22),Text=string.format("%.0f, %.0f, %.0f",wp.pos.X,wp.pos.Y,wp.pos.Z),TextSize=10,Font=Enum.Font.Gotham,TextColor3=C.sub})
local goBtn=mkBtn(row,{Size=UDim2.new(0,36,0,24),Position=UDim2.new(1,-82,0.5,-12),BackgroundColor3=C.teal,Text="Go",TextColor3=Color3.new(1,1,1),TextSize=11}); mkCorner(goBtn,6)
goBtn.MouseButton1Click:Connect(function()
local hrp=getHRP(); if not hrp then return end
hrp.CFrame=CFrame.new(wp.pos+Vector3.new(0,0.5,0))
TweenService:Create(goBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.4,function() TweenService:Create(goBtn,TW,{BackgroundColor3=C.teal}):Play() end)
end)
local delBtn=mkBtn(row,{Size=UDim2.new(0,36,0,24),Position=UDim2.new(1,-40,0.5,-12),BackgroundColor3=Color3.fromRGB(80,0,0),Text="✕",TextColor3=Color3.new(1,1,1),TextSize=11}); mkCorner(delBtn,6)
delBtn.MouseButton1Click:Connect(function()
table.remove(waypoints,i); rebuildWP()
end)
end
end
rebuildWP()
saveBtn.MouseButton1Click:Connect(function()
local hrp=getHRP(); if not hrp then return end
wpCount+=1; table.insert(waypoints,{name="Waypoint "..wpCount,pos=hrp.Position})
rebuildWP()
TweenService:Create(saveBtn,TW,{BackgroundColor3=C.accent}):Play()
task.delay(0.4,function() TweenService:Create(saveBtn,TW,{BackgroundColor3=C.green}):Play() end)
end)
clrBtn.MouseButton1Click:Connect(function()
waypoints={}; wpCount=0; rebuildWP()
TweenService:Create(clrBtn,TW,{BackgroundColor3=C.orange}):Play()
task.delay(0.4,function() TweenService:Create(clrBtn,TW,{BackgroundColor3=C.red}):Play() end)
end)
end
-- ── AIM ASSIST ────────────────────────────────────────────────────────
do
local function aimToggleRow(page,name,sub,cb)
makeToggle(page,name,sub,cb)
end
local aimHdr=card(aimPage,50); mkStroke(aimHdr,C.yellow,1)
mkLabel(aimHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="🎯 Aim Assist",TextSize=14,TextColor3=C.yellow})
mkLabel(aimHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Auto-pull camera toward nearest enemy",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
aimToggleRow(aimPage,"Enable Aim Assist","Auto-pull camera toward nearest enemy",function(on) aimOn=on end)
aimToggleRow(aimPage,"Hold RMB Only","Only active while right-click is held",function(on) aimHoldOnly=on end)
aimToggleRow(aimPage,"Aim at Head","Target head instead of body center",function(on) aimHead=on end)
makeSlider(aimPage,"FOV Cone",5,90,25,function(v) aimFOV=v end)
makeSlider(aimPage,"Smoothness",1,20,8,function(v) aimSmooth=v end)
makeSlider(aimPage,"Max Distance",20,500,150,function(v) aimDist=v end)
end
-- ══════════════════════════════════════════════════════════════════════
-- SERVER STATS TAB (NEW)
-- ══════════════════════════════════════════════════════════════════════
do
local statHdr=card(statsPage,50); mkStroke(statHdr,C.accent,1.5)
mkLabel(statHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="📊 Server Stats",TextSize=14,TextColor3=C.accent})
mkLabel(statHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Live information about this server session",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
-- Helper to make a live stat row
local statRows={}
local function makeStatRow(icon, label, initVal, color)
local f=card(statsPage,52)
local iconLbl=mkLabel(f,{Size=UDim2.new(0,28,1,0),Position=UDim2.new(0,10,0,0),Text=icon,TextSize=16,TextColor3=color or C.accent,TextXAlignment=Enum.TextXAlignment.Center})
mkLabel(f,{Size=UDim2.new(0.5,0,0,18),Position=UDim2.new(0,42,0,8),Text=label,TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local valLbl=mkLabel(f,{Size=UDim2.new(1,-52,0,20),Position=UDim2.new(0,42,0,26),Text=initVal,TextSize=14,TextColor3=color or C.text})
table.insert(statRows,{lbl=valLbl})
return valLbl
end
local playerCountLbl = makeStatRow("👥","Players in Server","--",C.green)
local serverUptimeLbl = makeStatRow("⏱️","Server Uptime","--",C.yellow)
local pingLbl = makeStatRow("📡","Your Ping","--",C.teal)
local fpsStatLbl = makeStatRow("🖥️","Your FPS","--",C.purple)
local placeIdLbl = makeStatRow("🎮","Place ID",tostring(game.PlaceId),C.accent)
local jobIdLbl = makeStatRow("🔑","Server Job ID",string.sub(game.JobId,1,16).."...",C.sub)
-- Refresh button
local refreshCard=card(statsPage,48); mkStroke(refreshCard,C.accent,1)
local refreshStatsBtn=mkBtn(refreshCard,{Size=UDim2.new(1,-20,0,32),Position=UDim2.new(0,10,0.5,-16),BackgroundColor3=C.accent,Text="↺ Refresh Stats",TextColor3=Color3.new(1,1,1),TextSize=13}); mkCorner(refreshStatsBtn,8)
local statsFpsCount=0; local statsFpsClock=0; local statsFpsVal=0
local function updateStats()
-- Players
playerCountLbl.Text=tostring(#Players:GetPlayers()).." / "..tostring(game.Players.MaxPlayers)
-- Uptime
local elapsed=os.time()-scriptStartTime
local mins=math.floor(elapsed/60); local secs=elapsed%60
serverUptimeLbl.Text=string.format("%dm %02ds",mins,secs)
-- Ping
local ping=math.floor(ME:GetNetworkPing()*1000)
pingLbl.Text=ping.."ms"
pingLbl.TextColor3 = ping<80 and C.green or (ping<180 and C.yellow or C.red)
-- FPS
fpsStatLbl.Text=tostring(statsFpsVal).." FPS"
fpsStatLbl.TextColor3 = statsFpsVal>=50 and C.green or (statsFpsVal>=30 and C.yellow or C.red)
end
-- Fast FPS counter for stats tab
RunService.Heartbeat:Connect(function(dt)
statsFpsCount+=1; statsFpsClock+=dt
if statsFpsClock>=0.5 then
statsFpsVal=math.floor(statsFpsCount/statsFpsClock)
statsFpsCount=0; statsFpsClock=0
end
end)
-- Auto-update every second
RunService.Heartbeat:Connect(function()
-- throttle to ~1 per second using os.clock
end)
task.spawn(function()
while SG.Parent do
updateStats()
task.wait(1)
end
end)
refreshStatsBtn.MouseButton1Click:Connect(function()
updateStats()
TweenService:Create(refreshStatsBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.4,function() TweenService:Create(refreshStatsBtn,TW,{BackgroundColor3=C.accent}):Play() end)
end)
end
-- ── SETTINGS (Anti-AFK, Lag, Rejoin) ────────────────────────────────────
makeToggle(settingsPage,"Anti-AFK","Prevent being kicked for inactivity",function(on) afkOn=on end)
-- ── LAG SIMULATOR ─────────────────────────────────────────────────────
do
local lagHdr=card(settingsPage,50); mkStroke(lagHdr,C.orange,1.5)
mkLabel(lagHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="📶 Lag Simulator",TextSize=14,TextColor3=C.orange})
mkLabel(lagHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Makes your character stutter and rubber-band",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
makeToggle(settingsPage,"Enable Lag","Simulate connection lag and stuttering",function(on)
lagOn=on
if not on then lagOldCF=nil; lagTimer=0 end
end)
makeSlider(settingsPage,"Lag Intensity",1,10,5,function(v) lagIntensity=v end)
end
-- ── REJOIN ────────────────────────────────────────────────────────────
do
local rjHdr=card(settingsPage,50); mkStroke(rjHdr,C.red,1.5)
mkLabel(rjHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),Text="🔄 Rejoin",TextSize=14,TextColor3=C.red})
mkLabel(rjHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),Text="Leave and instantly rejoin a fresh server",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local rjCard=card(settingsPage,48); mkStroke(rjCard,C.red,1)
local rjBtn=mkBtn(rjCard,{Size=UDim2.new(1,-20,0,32),Position=UDim2.new(0,10,0.5,-16),BackgroundColor3=C.red,Text="🔄 Rejoin Server",TextColor3=Color3.new(1,1,1),TextSize=13}); mkCorner(rjBtn,8)
rjBtn.MouseButton1Click:Connect(function()
TweenService:Create(rjBtn,TW,{BackgroundColor3=C.orange}):Play()
task.delay(0.5,function()
TeleportService:Teleport(game.PlaceId, ME)
end)
end)
end
-- ══════════════════════════════════════════════════════════════════════
-- PLAYER INFO TAB
-- ══════════════════════════════════════════════════════════════════════
do
local LocalizationService = game:GetService("LocalizationService")
-- ── shared helper: builds a two-column info row on any page ──────────
local function infoRow(page, label, value, valueColor)
local c=card(page,44); mkStroke(c,C.border,1)
mkLabel(c,{Size=UDim2.new(0.44,0,1,0),Position=UDim2.new(0,12,0,0),
Text=label,TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local vl=mkLabel(c,{Size=UDim2.new(0.54,0,1,0),Position=UDim2.new(0.46,0,0,0),
Text=value,TextSize=12,TextColor3=valueColor or C.text})
return vl
end
local function fmtAge(days)
if days >= 365 then
local y=math.floor(days/365); local d=days-y*365
return y.."y "..d.."d"
end
return days.." days"
end
local function ageColor(days)
return days>=365 and C.green or (days>=30 and C.yellow or C.red)
end
local function myRegion()
local r="Unknown"
pcall(function() r=LocalizationService.RobloxLocaleId or "Unknown" end)
return r
end
-- ── YOUR INFO section ─────────────────────────────────────────────
local myHdr=card(piPage,50); mkStroke(myHdr,C.purple,1.5)
mkLabel(myHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),
Text="👤 Your Account",TextSize=14,TextColor3=C.purple})
mkLabel(myHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),
Text="Info about your own Roblox profile",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
local myDisp=ME.DisplayName==(ME.Name) and ME.DisplayName.." (same)" or ME.DisplayName
infoRow(piPage,"Username","@"..ME.Name, C.accent)
infoRow(piPage,"Display Name", myDisp, C.text)
infoRow(piPage,"Account Age", fmtAge(ME.AccountAge), ageColor(ME.AccountAge))
infoRow(piPage,"Region / Locale", myRegion(), C.teal)
infoRow(piPage,"User ID", tostring(ME.UserId), C.sub)
-- ── LOOK UP OTHER PLAYERS section ─────────────────────────────────
local luHdr=card(piPage,50); mkStroke(luHdr,C.accent,1.5)
mkLabel(luHdr,{Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,14,0,6),
Text="🔍 Look Up Player",TextSize=14,TextColor3=C.accent})
mkLabel(luHdr,{Size=UDim2.new(1,0,0,16),Position=UDim2.new(0,14,0,28),
Text="Select any player to see their info",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
-- player list (single-select) + status bar
local luSelected=nil
local _,_,setLuStatus,getLuSel=makePlayerList(piPage,150,function(p,ss)
luSelected=p; ss("✅ Viewing: "..p.Name, C.accent)
end)
-- Result cards (labels we update on selection)
local resHdr=card(piPage,34); mkStroke(resHdr,C.border,1)
mkLabel(resHdr,{Size=UDim2.new(1,0,1,0),Position=UDim2.new(0,12,0,0),
Text="📋 Selected Player's Info",TextSize=12,TextColor3=C.text})
local rName = infoRow(piPage,"Username", "—", C.accent)
local rDisp = infoRow(piPage,"Display Name", "—", C.text)
local rAge = infoRow(piPage,"Account Age", "—", C.sub)
local rId = infoRow(piPage,"User ID", "—", C.sub)
-- Refresh button
local luRefCard=card(piPage,48); mkStroke(luRefCard,C.accent,1)
local luRefBtn=mkBtn(luRefCard,{Size=UDim2.new(1,-20,0,32),Position=UDim2.new(0,10,0.5,-16),
BackgroundColor3=C.accent,Text="🔍 Load Info",TextColor3=Color3.new(1,1,1),TextSize=13})
mkCorner(luRefBtn,8)
luRefBtn.MouseButton1Click:Connect(function()
local p=getLuSel()
if not p then setLuStatus("⚠️ Select a player first!",C.yellow); return end
rName.Text = "@"..p.Name
rDisp.Text = p.DisplayName==(p.Name) and p.DisplayName.." (same)" or p.DisplayName
local ac=p.AccountAge
rAge.Text = fmtAge(ac)
rAge.TextColor3 = ageColor(ac)
rId.Text = tostring(p.UserId)
TweenService:Create(luRefBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.5,function() TweenService:Create(luRefBtn,TW,{BackgroundColor3=C.accent}):Play() end)
end)
end
-- ══════════════════════════════════════════════════════════════════════
-- REVIEWS TAB
-- ══════════════════════════════════════════════════════════════════════
do
local API_URL = "https://4849d70f-5ae6-4275-8e80-a09a616a7231-00-1uriiwde98m9b.janeway.replit.dev/api/reviews"
local HttpService = game:GetService("HttpService")
local httpRequest = (syn and syn.request) or (http and http.request) or request
local ratingVal = 5
local stars = {"★","★★","★★★","★★★★","★★★★★"}
-- ── Header ─────────────────────────────────────────────────────────
local revHdr=card(reviewsPage,42); mkStroke(revHdr,C.yellow,1.5)
mkLabel(revHdr,{Size=UDim2.new(1,0,0,18),Position=UDim2.new(0,14,0,4),Text="⭐ Community Reviews",TextSize=14,TextColor3=C.yellow})
mkLabel(revHdr,{Size=UDim2.new(1,0,0,14),Position=UDim2.new(0,14,0,24),Text="Reviews are saved globally — everyone sees them",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub})
-- ── Star rating slider ────────────────────────────────────────────
local ratingCard=card(reviewsPage,56); mkStroke(ratingCard,C.border,1)
mkLabel(ratingCard,{Size=UDim2.new(1,-70,0,18),Position=UDim2.new(0,14,0,6),Text="Star Rating",TextSize=13,TextColor3=C.text})
local ratingDisp=mkLabel(ratingCard,{Size=UDim2.new(0,60,0,18),Position=UDim2.new(1,-70,0,6),Text="★★★★★",TextSize=13,TextColor3=C.yellow,TextXAlignment=Enum.TextXAlignment.Right})
local rTrack=mkFrame(ratingCard,{Size=UDim2.new(1,-28,0,6),Position=UDim2.new(0,14,0,36),BackgroundColor3=C.pill_off}); mkCorner(rTrack,3)
local rFill=mkFrame(rTrack,{Size=UDim2.new(1,0,1,0),BackgroundColor3=C.yellow}); mkCorner(rFill,3)
local rKnob=mkBtn(rTrack,{Size=UDim2.new(0,16,0,16),AnchorPoint=Vector2.new(0.5,0.5),Position=UDim2.new(1,0,0.5,0),BackgroundColor3=Color3.new(1,1,1),Text="",ZIndex=5}); mkCorner(rKnob,8)
local rDrag=false
rKnob.MouseButton1Down:Connect(function() rDrag=true end)
UserInputService.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then rDrag=false end end)
UserInputService.InputChanged:Connect(function(i)
if not rDrag or i.UserInputType~=Enum.UserInputType.MouseMovement then return end
local r=math.clamp((i.Position.X-rTrack.AbsolutePosition.X)/rTrack.AbsoluteSize.X,0,1)
ratingVal=math.clamp(math.round(r*4)+1,1,5)
local frac=(ratingVal-1)/4
rFill.Size=UDim2.new(math.max(frac,0.01),0,1,0); rKnob.Position=UDim2.new(frac,0,0.5,0)
ratingDisp.Text=stars[ratingVal]
end)
-- ── Review text box ───────────────────────────────────────────────
local revInputCard=card(reviewsPage,72)
mkLabel(revInputCard,{Size=UDim2.new(1,-70,0,18),Position=UDim2.new(0,14,0,5),Text="Write Your Review",TextSize=13,TextColor3=C.text})
local revBox=Instance.new("TextBox")
revBox.Size=UDim2.new(1,-28,0,38); revBox.Position=UDim2.new(0,14,0,27)
revBox.BackgroundColor3=C.pill_off; revBox.BorderSizePixel=0
revBox.TextColor3=C.text; revBox.PlaceholderColor3=C.sub
revBox.PlaceholderText="Share your experience with kAaMs Hub..."
revBox.Text=""; revBox.TextSize=11; revBox.Font=Enum.Font.Gotham
revBox.ClearTextOnFocus=false; revBox.TextWrapped=true; revBox.MultiLine=true
revBox.Parent=revInputCard; mkCorner(revBox,6); mkStroke(revBox,C.border,1)
-- ── Submit + Refresh buttons ──────────────────────────────────────
local btnCard=card(reviewsPage,42); mkStroke(btnCard,C.yellow,1)
local submitBtn=mkBtn(btnCard,{Size=UDim2.new(0.6,-8,0,28),Position=UDim2.new(0,8,0.5,-14),BackgroundColor3=C.yellow,Text="⭐ Submit Review",TextColor3=Color3.fromRGB(20,20,20),TextSize=12}); mkCorner(submitBtn,8)
local refreshBtn=mkBtn(btnCard,{Size=UDim2.new(0.38,-4,0,28),Position=UDim2.new(0.62,0,0.5,-14),BackgroundColor3=C.pill_off,Text="↺ Refresh",TextColor3=C.text,TextSize=11}); mkCorner(refreshBtn,8)
-- ── Reviews list header ───────────────────────────────────────────
local revListHdr=card(reviewsPage,28); mkStroke(revListHdr,C.border,1)
mkLabel(revListHdr,{Size=UDim2.new(0.7,0,1,0),Position=UDim2.new(0,12,0,0),Text="📋 All Reviews",TextSize=12,TextColor3=C.text})
local revCountLbl=mkLabel(revListHdr,{Size=UDim2.new(0.28,0,1,0),Position=UDim2.new(0.7,0,0,0),Text="",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub,TextXAlignment=Enum.TextXAlignment.Right})
-- ── Scrollable review list container ─────────────────────────────
elemOrd+=1
local revOuter=mkFrame(reviewsPage,{Size=UDim2.new(1,0,0,160),BackgroundColor3=Color3.fromRGB(18,18,28),LayoutOrder=elemOrd,ClipsDescendants=true}); mkCorner(revOuter,10); mkStroke(revOuter,C.border)
local revSF=Instance.new("ScrollingFrame"); revSF.Size=UDim2.new(1,0,1,0); revSF.BackgroundTransparency=1; revSF.BorderSizePixel=0
revSF.ScrollBarThickness=5; revSF.ScrollBarImageColor3=C.yellow; revSF.CanvasSize=UDim2.new(0,0,0,0)
revSF.AutomaticCanvasSize=Enum.AutomaticSize.Y; revSF.ScrollingDirection=Enum.ScrollingDirection.Y; revSF.Parent=revOuter
do
local ul=Instance.new("UIListLayout"); ul.SortOrder=Enum.SortOrder.LayoutOrder; ul.Padding=UDim.new(0,6); ul.Parent=revSF
local up=Instance.new("UIPadding"); up.PaddingLeft=UDim.new(0,6); up.PaddingRight=UDim.new(0,10); up.PaddingTop=UDim.new(0,6); up.PaddingBottom=UDim.new(0,6); up.Parent=revSF
end
mkLabel(revSF,{Size=UDim2.new(1,0,0,36),Text="⏳ Loading reviews...",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.sub,TextXAlignment=Enum.TextXAlignment.Center})
local function buildReviewRows(list)
for _,c in ipairs(revSF:GetChildren()) do
if not c:IsA("UIListLayout") and not c:IsA("UIPadding") then c:Destroy() end
end
if #list==0 then
revCountLbl.Text="0 reviews"
mkLabel(revSF,{Size=UDim2.new(1,0,0,44),Text="No reviews yet — be the first!",TextSize=12,Font=Enum.Font.Gotham,TextColor3=C.sub,TextXAlignment=Enum.TextXAlignment.Center})
return
end
revCountLbl.Text=tostring(#list).." total"
for i,rv in ipairs(list) do
local pname = rv.playerName or rv.player_name or "?"
local row=mkFrame(revSF,{Size=UDim2.new(1,0,0,68),BackgroundColor3=C.row,LayoutOrder=i}); mkCorner(row,8); mkStroke(row,C.border,1)
local av=mkFrame(row,{Size=UDim2.new(0,30,0,30),Position=UDim2.new(0,7,0,7),BackgroundColor3=C.accent}); mkCorner(av,15)
mkLabel(av,{Size=UDim2.new(1,0,1,0),Text=string.upper(string.sub(pname,1,1)),TextSize=14,TextColor3=Color3.new(1,1,1),TextXAlignment=Enum.TextXAlignment.Center})
mkLabel(row,{Size=UDim2.new(1,-110,0,18),Position=UDim2.new(0,45,0,5),Text=pname,TextSize=12,TextColor3=C.text})
local rating = rv.rating or 5
mkLabel(row,{Size=UDim2.new(0,72,0,18),Position=UDim2.new(1,-76,0,5),Text=stars[math.clamp(rating,1,5)],TextSize=13,TextColor3=C.yellow,TextXAlignment=Enum.TextXAlignment.Right})
local txt=rv.reviewText or rv.review_text or ""
local tl=Instance.new("TextLabel"); tl.Size=UDim2.new(1,-52,0,36); tl.Position=UDim2.new(0,45,0,26)
tl.BackgroundTransparency=1; tl.TextColor3=C.sub; tl.TextSize=10; tl.Font=Enum.Font.Gotham
tl.Text=txt; tl.TextXAlignment=Enum.TextXAlignment.Left; tl.TextWrapped=true
tl.TextTruncate=Enum.TextTruncate.AtEnd; tl.Parent=row
end
end
local function loadReviews()
task.spawn(function()
local ok, result = pcall(httpRequest, {Url=API_URL, Method="GET"})
if ok and result and result.StatusCode==200 then
local data = HttpService:JSONDecode(result.Body)
buildReviewRows(data)
else
for _,c in ipairs(revSF:GetChildren()) do
if not c:IsA("UIListLayout") and not c:IsA("UIPadding") then c:Destroy() end
end
revCountLbl.Text=""
mkLabel(revSF,{Size=UDim2.new(1,0,0,44),Text="⚠️ Could not load reviews",TextSize=11,Font=Enum.Font.Gotham,TextColor3=C.red,TextXAlignment=Enum.TextXAlignment.Center})
end
end)
end
-- Auto-load when Reviews tab is opened
tabData["Reviews"].btn.MouseButton1Click:Connect(function()
task.wait(0.05)
loadReviews()
end)
loadReviews() -- also load on startup
refreshBtn.MouseButton1Click:Connect(function()
loadReviews()
TweenService:Create(refreshBtn,TW,{BackgroundColor3=C.green}):Play()
task.delay(0.5,function() TweenService:Create(refreshBtn,TW,{BackgroundColor3=C.pill_off}):Play() end)
end)
submitBtn.MouseButton1Click:Connect(function()
local txt=revBox.Text
if txt=="" or #txt<3 then
TweenService:Create(submitBtn,TW,{BackgroundColor3=C.red}):Play()
submitBtn.Text="⚠️ Too short!"
task.delay(1.5,function()
TweenService:Create(submitBtn,TW,{BackgroundColor3=C.yellow}):Play()
submitBtn.Text="⭐ Submit Review"
end)
return
end
submitBtn.Text="Saving..."; submitBtn.BackgroundColor3=C.sub
task.spawn(function()
local body = HttpService:JSONEncode({playerName=ME.Name, rating=ratingVal, reviewText=txt})
local ok, result = pcall(httpRequest, {
Url=API_URL, Method="POST",
Headers={["Content-Type"]="application/json"},
Body=body
})
if ok and result and (result.StatusCode==200 or result.StatusCode==201) then
revBox.Text=""
loadReviews()
TweenService:Create(submitBtn,TW,{BackgroundColor3=C.green}):Play()
submitBtn.Text="✓ Saved!"
task.delay(2,function()
TweenService:Create(submitBtn,TW,{BackgroundColor3=C.yellow}):Play()
submitBtn.Text="⭐ Submit Review"
end)
else
TweenService:Create(submitBtn,TW,{BackgroundColor3=C.red}):Play()
submitBtn.Text="✕ Failed"
task.delay(2,function()
TweenService:Create(submitBtn,TW,{BackgroundColor3=C.yellow}):Play()
submitBtn.Text="⭐ Submit Review"
end)
end
end)
end)
end
-- ══════════════════════════════════════════════════════════════════════
-- MAIN HEARTBEAT LOOP
-- ══════════════════════════════════════════════════════════════════════
RunService.Heartbeat:Connect(function(dt)
-- ── Fly ──
if fly and bv and bv.Parent then
local cam=workspace.CurrentCamera; local d=Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then d+=cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then d-=cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then d-=cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then d+=cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then d+=Vector3.yAxis end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then d-=Vector3.yAxis end
bv.Velocity=(d.Magnitude>0 and d.Unit or Vector3.zero)*flySpeed
bg2.CFrame=cam.CFrame
end
-- ── Noclip ──
if nc then local ch=getChar(); if ch then for _,p in ipairs(ch:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide=false end end end end
if god then local h=getHum(); if h then h.Health=h.MaxHealth end end
if espOn then
for _,p in ipairs(Players:GetPlayers()) do
if p~=ME then
if p.Character and not espHL[p] then addESP(p)
elseif not p.Character and espHL[p] then remESP(p) end
end
end
end
if invisOn then
local ch=getChar(); if ch then
for _,p in ipairs(ch:GetDescendants()) do
if p:IsA("BasePart") and p.Name~="HumanoidRootPart" then p.LocalTransparencyModifier=1 end
end
end
end
-- ── Swim in Air ──
if swimAirOn then
local hrp=getHRP()
if hrp and swimBV and swimBV.Parent then
local cam=workspace.CurrentCamera; local d=Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then d+=cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then d-=cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then d-=cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then d+=cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then d+=Vector3.yAxis end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then d-=Vector3.yAxis end
local target=(d.Magnitude>0 and d.Unit or Vector3.zero)*20
swimBV.Velocity=swimBV.Velocity:Lerp(target,0.08)
end
end
-- ── Jetpack ──
if jetpackOn and UserInputService:IsKeyDown(Enum.KeyCode.Space) then
local hrp=getHRP()
if hrp then
if not jetpackBV or not jetpackBV.Parent then
jetpackBV=Instance.new("BodyVelocity"); jetpackBV.Name="kAaMsJetBV"
jetpackBV.MaxForce=Vector3.new(0,1e5,0); jetpackBV.P=5000; jetpackBV.Parent=hrp
end
jetpackBV.Velocity=Vector3.new(0,math.min((jetpackBV.Velocity.Y or 0)+2,80),0)
end
elseif jetpackOn then
if jetpackBV and jetpackBV.Parent then jetpackBV:Destroy(); jetpackBV=nil end
end
-- ── Superhero Landing ──
if heroLandOn then
local hrp=getHRP()
if hrp then
local velY=hrp.Velocity.Y
local inAir=math.abs(velY)>1
if heroWasAir and not inAir and heroLastY<-30 then
task.spawn(function()
for i=1,6 do
local ring=Instance.new("Part"); ring.Shape=Enum.PartType.Cylinder
ring.Size=Vector3.new(0.3,i*4,i*4); ring.CFrame=CFrame.new(hrp.Position)*CFrame.Angles(0,0,math.pi/2)
ring.Anchored=true; ring.CanCollide=false; ring.CastShadow=false
ring.BrickColor=BrickColor.new("White"); ring.Material=Enum.Material.Neon
ring.Parent=workspace
task.delay(0.4,function() if ring.Parent then ring:Destroy() end end)
end
local cam=workspace.CurrentCamera
for _=1,8 do
cam.CFrame=cam.CFrame*CFrame.new(math.random(-1,1)*0.3,math.random(-1,1)*0.3,0)
task.wait(0.04)
end
end)
end
heroWasAir=inAir; heroLastY=velY
end
end
-- ── Lag Simulator ──
if lagOn then
local hrp=getHRP()
if hrp then
lagTimer=lagTimer+dt
local interval=math.max(0.03,(11-lagIntensity)*0.06)
if lagTimer>=interval then
lagTimer=0
if lagOldCF and math.random(1,3)~=1 then
local jitter=Vector3.new(
math.random(-lagIntensity,lagIntensity)*0.35,
0,
math.random(-lagIntensity,lagIntensity)*0.35
)
hrp.CFrame=lagOldCF*CFrame.new(jitter)
else
lagOldCF=hrp.CFrame
end
end
end
end
-- ── Coordinates HUD ──
if coordsOn and coordsLabel and coordsLabel.Parent then
local hrp=getHRP()
if hrp then
local p=hrp.Position
coordsLabel.Text=string.format("X: %.1f Y: %.1f Z: %.1f",p.X,p.Y,p.Z)
end
end
end)
-- ── FPS + PING LOOP ──────────────────────────────────────────────────
local fpsCounter=0; local fpsClock=0
RunService.Heartbeat:Connect(function(dt)
fpsCounter+=1; fpsClock+=dt
if fpsClock>=0.5 then
if fpsOn and fpsLabel and fpsLabel.Parent then
local fps=math.floor(fpsCounter/fpsClock)
local ping=math.floor(ME:GetNetworkPing()*1000)
fpsLabel.Text=string.format("FPS: %d Ping: %dms",fps,ping)
fpsLabel.TextColor3=fps>=50 and C.green or (fps>=30 and C.yellow or C.red)
end
fpsCounter=0; fpsClock=0
end
end)
-- ── ANTI-AFK LOOP ─────────────────────────────────────────────────────
task.spawn(function()
while true do
task.wait(270)
if afkOn then
local hum=getHum()
if hum then
hum:Move(Vector3.new(0.5,0,0),false)
task.wait(0.15)
hum:Move(Vector3.new(-0.5,0,0),false)
task.wait(0.15)
hum:Move(Vector3.new(0,0,0),false)
end
end
end
end)
-- ── AIM ASSIST LOOP ───────────────────────────────────────────────────
RunService:BindToRenderStep("kAaMsAimAssist",Enum.RenderPriority.Camera.Value+1,function()
if not aimOn then aimLockedTarget=nil; return end
if aimHoldOnly and not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
aimLockedTarget=nil; return
end
local target=aimFindTarget()
if not target then return end
local cam=workspace.CurrentCamera
local camPos=cam.CFrame.Position
local toTarget=(target.Position-camPos).Unit
local lockedCF=CFrame.lookAt(camPos,camPos+toTarget)
local factor=math.clamp(aimSmooth/20,0.05,1)
cam.CFrame=cam.CFrame:Lerp(lockedCF,factor)
end)
-- ══════════════════════════════════════════════════════════════════════
-- SIDEBAR SCROLL WHEEL (scroll over sidebar to switch tabs)
-- ══════════════════════════════════════════════════════════════════════
do
-- Build an ordered list of tab names to cycle through
local tabOrder = {
"Movement","Visuals","Fun","Cosmetics","World",
"Teleport","Aim Assist","Stats","Player Info","Settings","Reviews"
}
local currentTabIdx = 1
-- Activate a tab by its ordered index
local function activateTabByIdx(idx)
idx = ((idx - 1) % #tabOrder) + 1 -- wrap around
currentTabIdx = idx
local name = tabOrder[idx]
local d = tabData[name]
if not d then return end
d.btn.MouseButton1Click:Fire() -- reuse existing activate logic
end
-- Watch for when a tab is clicked so currentTabIdx stays in sync
for i, name in ipairs(tabOrder) do
local d = tabData[name]
if d then
local capturedI = i
d.btn.MouseButton1Click:Connect(function()
currentTabIdx = capturedI
end)
end
end
-- Connect scroll wheel on the sidebar background
SB.InputChanged:Connect(function(inp)
if inp.UserInputType == Enum.UserInputType.MouseWheel then
local delta = inp.Position.Z -- +1 scroll up (prev), -1 scroll down (next)
activateTabByIdx(currentTabIdx - math.sign(delta))
end
end)
-- Also connect on the tab list itself for better hit detection
TAB_LIST.InputChanged:Connect(function(inp)
if inp.UserInputType == Enum.UserInputType.MouseWheel then
local delta = inp.Position.Z
activateTabByIdx(currentTabIdx - math.sign(delta))
end
end)
end
-- ══════════════════════════════════════════════════════════════════════
-- INPUT HANDLER
-- ══════════════════════════════════════════════════════════════════════
UserInputService.JumpRequest:Connect(function()
if infJump then local h=getHum(); if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end
end)
UserInputService.InputBegan:Connect(function(inp,gp)
if gp then return end
-- Hub toggle
if inp.KeyCode==Enum.KeyCode.Five and hubReady then WIN.Visible=not WIN.Visible end
-- Blink Dash (Q key)
if inp.KeyCode==Enum.KeyCode.Q then doBlink() end
end)
-- ══════════════════════════════════════════════════════════════════════
-- CHARACTER RESPAWN CLEANUP
-- ══════════════════════════════════════════════════════════════════════
ME.CharacterAdded:Connect(function(ch)
fly=false; bv=nil; bg2=nil; floatOn=false; floatBV=nil
spinOn=false; rainbowOn=false; trailOn=false; invisOn=false
blinkCooldown=false; dodgeCooldown=false
if spinConn then spinConn:Disconnect(); spinConn=nil end
if rainbowConn then rainbowConn:Disconnect(); rainbowConn=nil end
-- Re-hook auto-dodge on new character
if autoDodgeOn then
task.wait(0.5)
startAutoDodge()
end
-- Re-hook punch force on new character
if punchForceOn then
task.wait(0.5)
cleanPunchConns()
startPunchForce()
end
-- Re-apply name tag on new character
if nameTagOn then
task.wait(0.5)
applyNameTag()
end
local h=ch:WaitForChild("Humanoid",5); if h then h.PlatformStand=false end
end)

Universal