Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
TweenService = :()
StarterGui = :()
UserInputService = :()
player = Players.LocalPlayer
camera = .CurrentCamera
HELI_HEIGHT =
RANGE_ZONE =
FOLLOW_ZONE =
SWEEP_ZONE =
PATROL_SPEED =
FOLLOW_SPEED =
SWEEP_SPEED =
TURN_SPEED =
U_TURN_CHANCE =
LIFETIME =
ESP_INTERVAL =
ESP_DURATION =
AMBIENT_GLOW =
FIRE_RATE =
TRACER_SPEED =
TRACER_WIDTH =
AIM_INACCURACY =
FIRE_DISTANCE_LIMIT =
heliActive =
trackedPlayer =
lockOn =
heliStartTime =
lastESPToggle =
currentESP =
currentGlow =
lastKnownPos = .()
patrolYaw =
heliYaw =
sweepTime =
isPatrolOnSpawn =
isViewingHeli =
viewRotation = .(, )
currentHeli =
heli = .()
heli.Name =
heli.Parent =
body = .()
body.Name =
body.Size = .(, , )
body.Position = .(, HELI_HEIGHT, )
body.Anchored =
body.CanCollide =
body.Color = .(, , )
body.Material = .Material.Metal
body.Parent = heli
heli.PrimaryPart = body
detailParts = {}
(name, size, relativeCFrame, color, material, transparency, shape)
part = .()
part.Name = name
part.Size = size
part.Color = color
part.Material = material .Material.Metal
part.Transparency = transparency
part.CanCollide =
part.Anchored =
part.Parent = heli
.(detailParts, {part = part, offsetCFrame = relativeCFrame})
part.CFrame = body.CFrame * relativeCFrame
part
(, .(, , ), .(, , ), .(, , ), , , .PartType.Ball)
(, .(, , ), .(, , -), .(, , ), .Material.ForceField, )
(, .(, , ), .(, , ) * .(, , .()), .(, , ), , , .PartType.Wedge)
bladeThickness =
bladeLength =
i = ,
degrees = i *
extraTilt = (i % == ) -
relativeCFrame = .(, , )
* .(, .(degrees), )
* .(.(extraTilt), , )
blade = (
.. i,
.(bladeThickness, bladeThickness, bladeLength),
relativeCFrame,
.(, , ),
.Material.Neon
)
blade.Transparency =
blade.Reflectance =
detailParts[#detailParts].spinOffset = degrees
side = -, ,
(..(side> ), .(, , ),
.(side * , -, ),
.(, , ))
( .. #detailParts .. )
surfaceLight = .()
surfaceLight.Parent = body
surfaceLight.Angle =
surfaceLight.Range =
surfaceLight.Brightness =
surfaceLight.Face = .NormalId.Bottom
attachHeli = .()
attachHeli.Position = .(,-body.Size.Y/-,)
attachHeli.Parent = body
attachTarget = .()
attachTarget.Parent =
spotlightBeam = .()
spotlightBeam.Attachment0 = attachHeli
spotlightBeam.Attachment1 = attachTarget
spotlightBeam.Color = ColorSequence.(.(,,))
spotlightBeam.LightEmission =
spotlightBeam.Width0 =
spotlightBeam.Width1 =
spotlightBeam.Transparency = NumberSequence.({
NumberSequenceKeypoint.(,), NumberSequenceKeypoint.(,)
})
spotlightBeam.FaceCamera =
spotlightBeam.Texture =
spotlightBeam.TextureSpeed =
spotlightBeam.Enabled =
spotlightBeam.Parent = body
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.Parent = player:()
frame = .()
frame.Size = .(,,,)
frame.Position = .(,-,,-)
frame.BackgroundColor3 = .(,,)
frame.Active =
frame.Draggable =
frame.Parent = gui
title = .(,frame)
title.Size = .(,,,)
title.Text =
title.TextColor3 = .(,,)
title.TextScaled =
title.BackgroundTransparency =
title.Font = .Font.GothamBold
activateButton = .(,frame)
activateButton.Size = .(,,,)
activateButton.Position = .(,,,)
activateButton.Text =
activateButton.TextScaled =
activateButton.BackgroundColor3 = .(,,)
viewButton = .(,frame)
viewButton.Size = .(,,,)
viewButton.Position = .(,,,)
viewButton.Text =
viewButton.TextScaled =
viewButton.BackgroundColor3 = .(,,)
switchButton = .(,frame)
switchButton.Size = .(,,,)
switchButton.Position = .(,,,)
switchButton.Text =
switchButton.TextScaled =
switchButton.BackgroundColor3 = .(,,)
lockButton = .(,frame)
lockButton.Size = .(,,,)
lockButton.Position = .(,,,)
lockButton.Text =
lockButton.TextScaled =
lockButton.BackgroundColor3 = .(,,)
targetInput = .(,frame)
targetInput.Size = .(,,,)
targetInput.Position = .(,,,)
targetInput.PlaceholderText =
targetInput.TextScaled =
targetInput.BackgroundColor3 = .(,,)
targetInput.TextColor3 = .(,,)
setTargetButton = .(,frame)
setTargetButton.Size = .(,,,)
setTargetButton.Position = .(,,,)
setTargetButton.Text =
setTargetButton.TextScaled =
setTargetButton.BackgroundColor3 = .(,,)
mgButton = .(, frame)
mgButton.Size = .(,,,)
mgButton.Position = .(,,,)
mgButton.Text =
mgButton.TextScaled =
mgButton.BackgroundColor3 = .(,,)
disableButton = .(, frame)
disableButton.Size = .(,,,)
disableButton.Position = .(,,,)
disableButton.Text =
disableButton.TextScaled =
disableButton.BackgroundColor3 = .(,,)
(title,text)
StarterGui:(,{Title=title,Text=text,Duration=})
(target,show)
currentESP currentESP:() currentESP=
show target target.Character
currentESP=.()
currentESP.FillColor=.(,,)
currentESP.OutlineColor=.(,,)
currentESP.FillTransparency=
currentESP.OutlineTransparency=
currentESP.Parent=target.Character
(targetChar)
currentGlow currentGlow:() currentGlow=
targetChar targetChar:()
currentGlow=.()
currentGlow.Color=.(,,)
currentGlow.Brightness=AMBIENT_GLOW
currentGlow.Range=
currentGlow.Shadows=
currentGlow.Parent=targetChar.HumanoidRootPart
()
currentGlow currentGlow:() currentGlow=
(name)
name = name:()
_,p Players:()
p.Name:():(,#name)==name (p.DisplayName p.DisplayName:():(,#name)==name)
p
()
char=player.Character
char char:()
pos=char.HumanoidRootPart.Position
closest,minDist=,.huge
_,plr Players:()
plr~=player plr.Character plr.Character:()
mag=(plr.Character.HumanoidRootPart.Position-pos).Magnitude
mag<minDist mag<=RANGE_ZONE*
minDist=mag
closest=plr
closest
(target)
target target.Character target.Character:() .huge
tPos=target.Character.HumanoidRootPart.Position
hPos=body.Position
.(tPos.X-hPos.X,,tPos.Z-hPos.Z).Magnitude
lastShotTime =
(targetPos)
origin = body.Position
+ body.CFrame.LookVector *
+ .(, -, )
direction = (targetPos - origin).Unit
spreadCF = .(origin, origin + direction)
* .(
.(.(-AIM_INACCURACY, AIM_INACCURACY)),
.(.(-AIM_INACCURACY, AIM_INACCURACY)),
)
direction = spreadCF.LookVector
rayParams = RaycastParams.()
rayParams.FilterDescendantsInstances = {heli}
rayParams.FilterType = .RaycastFilterType.Blacklist
result = :(origin, direction * FIRE_DISTANCE_LIMIT, rayParams)
hitPosition
result
hitPosition = result.Position
hitModel = result.Instance:()
hitModel
humanoid = hitModel:()
humanoid humanoid.Health >
humanoid:()
hitPosition = origin + direction * FIRE_DISTANCE_LIMIT
distance = (hitPosition - origin).Magnitude
tracer = .()
tracer.Anchored =
tracer.CanCollide =
tracer.Material = .Material.Neon
tracer.Color = .(, , )
tracer.Size = .(TRACER_WIDTH, TRACER_WIDTH, distance)
tracer.CFrame = .(origin, hitPosition) * .(, , -distance/)
tracer.Parent =
.(TRACER_SPEED, ()
tracer tracer:()
)
trackedPlayer trackedPlayer.Character trackedPlayer.Character:()
targetPart = trackedPlayer.Character.HumanoidRootPart
gunSound = targetPart:()
gunSound
gunSound = .()
gunSound.Name =
gunSound.SoundId =
gunSound.Volume =
gunSound.RollOffMaxDistance =
gunSound.Parent = targetPart
gunSound:()
gunSound:()
activateButton.MouseButton1Click:(()
heliActive = heliActive
activateButton.Text = heliActive
activateButton.BackgroundColor3 = heliActive .(,,) .(,,)
heliActive
heliStartTime = ()
char = player.Character
char char:()
spawnPos = char.HumanoidRootPart.Position + .(, HELI_HEIGHT + , )
body.Position = spawnPos
lastKnownPos = spawnPos
(,)
(,)
heliActive =
activateButton.Text =
activateButton.BackgroundColor3 = .(,,)
isPatrolOnSpawn =
trackedPlayer = ()
trackedPlayer
lastKnownPos = trackedPlayer.Character.HumanoidRootPart.Position
(,..trackedPlayer.Name)
(trackedPlayer.Character)
(,)
currentHeli currentHeli:() currentHeli =
surfaceLight.Brightness =
spotlightBeam.Enabled =
(trackedPlayer,)
()
trackedPlayer =
lockOn =
lockButton.Text =
lockButton.BackgroundColor3 = .(,,)
(,)
isViewingHeli
isViewingHeli =
viewButton.Text =
viewButton.BackgroundColor3 = .(,,)
camera.CameraType = .CameraType.Custom
)
switchButton.MouseButton1Click:(()
lockOn heliActive
(,)
nt = ()
nt
()
trackedPlayer = nt
lastKnownPos = nt.Character.HumanoidRootPart.Position
(,..nt.Name)
(nt.Character)
isPatrolOnSpawn =
)
lockButton.MouseButton1Click:(()
heliActive
lockOn = lockOn
lockButton.Text = lockOn
lockButton.BackgroundColor3 = lockOn .(,,) .(,,)
(, lockOn )
)
setTargetButton.MouseButton1Click:(()
heliActive
(,)
input = targetInput.Text
input ==
(,)
target = (input)
target
()
trackedPlayer = target
lastKnownPos = target.Character.HumanoidRootPart.Position
(,..target.Name)
(target.Character)
isPatrolOnSpawn =
(,..input)
)
viewOffset = .(, , )
viewRotation = .(, )
viewButton.MouseButton1Click:(()
heliActive body
(,)
isViewingHeli = isViewingHeli
isViewingHeli
viewButton.Text =
viewButton.BackgroundColor3 = .(,,)
camera.CameraType = .CameraType.Scriptable
(, )
viewButton.Text =
viewButton.BackgroundColor3 = .(,,)
camera.CameraType = .CameraType.Custom
(, )
)
UserInputService.InputChanged:((input)
isViewingHeli
input.UserInputType == .UserInputType.Touch
delta = input.Delta
viewRotation = viewRotation + .(-delta.X * , -delta.Y * )
viewRotation = .(viewRotation.X, .(viewRotation.Y, -, ))
)
heliMode =
mgButton.MouseButton1Click:(()
heliMode =
(,)
disableButton.Text =
)
disableButton.MouseButton1Click:(()
heliMode =
(,)
disableButton.Text =
)
RunService.RenderStepped:(()
heliActive
_, data (detailParts)
baseCFrame = body.CFrame * data.offsetCFrame
.(data.part.Name, )
spinOffset = data.spinOffset
totalRotation = (() * + spinOffset) %
spin = .(, .(totalRotation), )
data.part.CFrame = baseCFrame * spin
data.part.CFrame = baseCFrame
() - heliStartTime >= LIFETIME
heliActive =
currentHeli currentHeli:() currentHeli =
activateButton.Text =
activateButton.BackgroundColor3 = .(,,)
surfaceLight.Brightness =
spotlightBeam.Enabled =
(trackedPlayer, )
()
(, )
isViewingHeli
isViewingHeli =
viewButton.Text =
viewButton.BackgroundColor3 = .(,,)
camera.CameraType = .CameraType.Custom
targetValid = trackedPlayer trackedPlayer.Parent trackedPlayer.Character trackedPlayer.Character:()
trackedPlayer targetValid
()
lockOn
surfaceLight.Brightness =
spotlightBeam.Enabled =
(, )
trackedPlayer = ()
trackedPlayer
lastKnownPos = trackedPlayer.Character.HumanoidRootPart.Position
(, .. trackedPlayer.Name)
(trackedPlayer.Character)
surfaceLight.Brightness =
spotlightBeam.Enabled =
(, )
targetValid
surfaceLight.Brightness =
spotlightBeam.Enabled =
(trackedPlayer, )
()
root = trackedPlayer.Character.HumanoidRootPart
targetPos = root.Position
lastKnownPos = targetPos
flatDist = (trackedPlayer)
targetHeliPos, moveSpeed, isSweeping = .(), ,
isPatrolOnSpawn flatDist <= RANGE_ZONE
patrolYaw = patrolYaw + TURN_SPEED *
offset = .(.(patrolYaw)*, HELI_HEIGHT, .(patrolYaw)*)
targetHeliPos = targetPos + offset
moveSpeed = PATROL_SPEED
.() < U_TURN_CHANCE
patrolYaw = patrolYaw + .pi *
flatDist <= RANGE_ZONE isPatrolOnSpawn =
flatDist <= FOLLOW_ZONE
targetHeliPos = .(targetPos.X, targetPos.Y + HELI_HEIGHT, targetPos.Z)
moveSpeed = FOLLOW_SPEED
isSweeping =
sweepTime = ()
offset = .(.(sweepTime*)*, HELI_HEIGHT, .(sweepTime*)*)
targetHeliPos = lastKnownPos + offset
moveSpeed = SWEEP_SPEED
body.Position = body.Position:(targetHeliPos, moveSpeed * )
look = .((targetPos - body.Position).X, , (targetPos - body.Position).Z).Unit
targetYaw = .(look.X, look.Z)
heliYaw = heliYaw + (targetYaw - heliYaw) * TURN_SPEED
body.CFrame = .(body.Position) * .(, heliYaw, ) * .(.(-), , )
surfaceLight.Brightness =
spotlightBeam.Enabled =
surfaceLight.Brightness =
beamTarget
isSweeping
angle = sweepTime *
beamTarget = lastKnownPos + .(.(angle)*, -, .(angle)*)
beamTarget = .(targetPos.X, targetPos.Y - , targetPos.Z)
attachTarget.WorldPosition = beamTarget
spotlightBeam.Enabled =
bDist = (targetPos - body.Position).Magnitude
spotlightBeam.Width1 = .( + bDist * , , )
isViewingHeli
baseOffset = .(, , )
yawRad = .(viewRotation.X)
pitchRad = .(viewRotation.Y)
rotatedX = .(yawRad) * baseOffset.Z
rotatedZ = .(yawRad) * baseOffset.Z
finalOffset = .(rotatedX, baseOffset.Y + .(pitchRad) * , rotatedZ * .(pitchRad))
targetCFrame = .(body.Position + finalOffset, body.Position)
camera.CFrame = camera.CFrame:(targetCFrame, )
now = ()
trackedPlayer flatDist <= FIRE_DISTANCE_LIMIT
heliMode == heliActive trackedPlayer flatDist <= FIRE_DISTANCE_LIMIT
now - lastShotTime >= FIRE_RATE
lastShotTime = now
aimPos = trackedPlayer.Character.HumanoidRootPart.Position
.() <
aimPos = aimPos + .(.(-,), .(-,), .(-,))
(aimPos)
now - lastESPToggle >= ESP_INTERVAL
lastESPToggle = now
(trackedPlayer, )
.(ESP_DURATION, ()
(trackedPlayer, )
)
)This Script is made by AI Just a fancier realistic Locate player View heli is kinda bugged for Mobile and broken on PC You can change the Settings at Line 10 also at line 329 (yeah it's kinda long) you can change on how many damage the MG deals. It's humanoid:TakeDamage(3) -- change the number UPDATE: NOW INCLUDING A LIGHT MACHINE GUN

Universal