Version / Update: v1.0.0
- Download / Script Link
- local p = game.Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Mouse = p:GetMouse()
local RunService = game:GetService("RunService")
-- [[ SETTINGAN KHUSUS BATTLEGROUNDS ]] --
local Settings = {
-- Naikkan ke 0.35 - 0.5 agar menempel ketat saat musuh Dash/Teleport
Smoothness = 0.38,
TargetPart = "HumanoidRootPart", -- "Head" jika ingin lock kepala
DefaultWalkSpeed = 16,
AntiStunEnabled = true
}
_G.Camlock = false
local LockedTarget = nil
local CamlockConnection = nil
-- [[ ANTI STUN & ANTI SLOW ]] --
task.spawn(function()
while true do
task.wait(0.1)
if Settings.AntiStunEnabled then
local char = p.Character
local hum = char and char:FindFirstChild("Humanoid")
if hum then
-- Menjaga agar tidak terkena efek slow berlebih
if hum.WalkSpeed < Settings.DefaultWalkSpeed then
hum.WalkSpeed = Settings.DefaultWalkSpeed
end
if hum.PlatformStand then hum.PlatformStand = false end
if hum.Sit then hum.Sit = false end
end
end
end
end)
-- [[ UI DESIGN ]] --
local ScreenGui = Instance.new("ScreenGui")
pcall(function() ScreenGui.Parent = game:GetService("CoreGui") end)
ScreenGui.Name = "ExosShadowLock"
ScreenGui.ResetOnSpawn = false
local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.new(0, 160, 0, 42)
MainFrame.Position = UDim2.new(0.5, -80, 0.82, 0) -- Pas di atas bar HP/Skill
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
local UICorner = Instance.new("UICorner", MainFrame)
UICorner.CornerRadius = UDim.new(0, 10)
local UIStroke = Instance.new("UIStroke", MainFrame)
UIStroke.Thickness = 2
UIStroke.Color = Color3.fromRGB(40, 40, 40)
local TextLabel = Instance.new("TextLabel", MainFrame)
TextLabel.Size = UDim2.new(1, 0, 1, 0)
TextLabel.BackgroundTransparency = 1
TextLabel.Text = "CAMLOCK: READY"
TextLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
TextLabel.Font = Enum.Font.GothamBold
TextLabel.TextSize = 13
local TextButton = Instance.new("TextButton", MainFrame)
TextButton.Size = UDim2.new(1, 0, 1, 0)
TextButton.BackgroundTransparency = 1
TextButton.Text = ""
-- [[ TARGETING LOGIC ]] --
local function getClosestPlayer()
local Target = nil
local Dist = math.huge
for _, v in pairs(game.Players:GetPlayers()) do
if v ~= p and v.Character and v.Character:FindFirstChild(Settings.TargetPart) then
local hum = v.Character:FindFirstChild("Humanoid")
if hum and hum.Health > 0 then
local Pos, OnScreen = Camera:WorldToScreenPoint(v.Character[Settings.TargetPart].Position)
if OnScreen then
local Mag = (Vector2.new(Mouse.X, Mouse.Y) - Vector2.new(Pos.X, Pos.Y)).Magnitude
if Mag < Dist then
Dist = Mag
Target = v.Character[Settings.TargetPart]
end
end
end
end
end
return Target
end
-- [[ TOGGLE CAMLOCK ]] --
TextButton.MouseButton1Click:Connect(function()
_G.Camlock = not _G.Camlock
if _G.Camlock then
LockedTarget = getClosestPlayer()
if LockedTarget then
TextLabel.Text = "LOCKED: " .. LockedTarget.Parent.Name:upper()
TextLabel.TextColor3 = Color3.fromRGB(255, 50, 50) -- Merah saat lock
UIStroke.Color = Color3.fromRGB(255, 50, 50)
-- Gunakan RenderStepped untuk sinkronisasi kamera terbaik
CamlockConnection = RunService.RenderStepped:Connect(function()
if LockedTarget and LockedTarget.Parent and LockedTarget.Parent:FindFirstChild("Humanoid") and LockedTarget.Parent.Humanoid.Health > 0 then
-- Prediksi posisi sedikit ke depan agar tidak ketinggalan (Offset)
local TargetPos = LockedTarget.Position
local LookAt = CFrame.new(Camera.CFrame.Position, TargetPos)
-- Lerp lebih agresif
Camera.CFrame = Camera.CFrame:Lerp(LookAt, Settings.Smoothness)
else
_G.Camlock = false
TextLabel.Text = "TARGET LOST"
TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
UIStroke.Color = Color3.fromRGB(40, 40, 40)
if CamlockConnection then CamlockConnection:Disconnect() end
end
end)
else
_G.Camlock = false
end
else
TextLabel.Text = "CAMLOCK: READY"
TextLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
UIStroke.Color = Color3.fromRGB(40, 40, 40)
if CamlockConnection then CamlockConnection:Disconnect() end
LockedTarget = nil
end
end)[ View More ]
AimLock jjs supported all game btw