-- SERVICES
local player = game.Players.LocalPlayer
local userInputService = game:GetService("UserInputService")
local lighting = game:GetService("Lighting")
local tweenService = game:GetService("TweenService")
local soundService = game:GetService("SoundService")
local players = game:GetService("Players")
local runService = game:GetService("RunService")
local camera = workspace.CurrentCamera
if not userInputService.TouchEnabled then return end
--------------------------------------------------
-- KEY SYSTEM GUI (Itachi-Themed Red & Black)
--------------------------------------------------
local keyGui = Instance.new("ScreenGui")
keyGui.Parent = player:WaitForChild("PlayerGui")
keyGui.IgnoreGuiInset = true
local lockFrame = Instance.new("Frame")
lockFrame.Size = UDim2.new(1, 0, 1, 0)
lockFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
lockFrame.BackgroundTransparency = 0.5
lockFrame.Parent = keyGui
local keyLabel = Instance.new("TextLabel")
keyLabel.Size = UDim2.new(1, 0, 0.2, 0)
keyLabel.Position = UDim2.new(0, 0, 0.2, 0)
keyLabel.Text = "Enter Key"
keyLabel.Font = Enum.Font.Arcade
keyLabel.TextSize = 50
keyLabel.TextColor3 = Color3.fromRGB(255, 0, 0)
keyLabel.BackgroundTransparency = 1
keyLabel.Parent = lockFrame
local keyBox = Instance.new("TextBox")
keyBox.Size = UDim2.new(0.6, 0, 0.1, 0)
keyBox.Position = UDim2.new(0.2, 0, 0.4, 0)
keyBox.Font = Enum.Font.GothamBold
keyBox.PlaceholderText = "Enter key..."
keyBox.TextSize = 30
keyBox.TextColor3 = Color3.fromRGB(0, 0, 0)
keyBox.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
keyBox.Parent = lockFrame
local submitButton = Instance.new("TextButton")
submitButton.Size = UDim2.new(0.3, 0, 0.1, 0)
submitButton.Position = UDim2.new(0.35, 0, 0.55, 0)
submitButton.Text = "SUBMIT"
submitButton.Font = Enum.Font.GothamBold
submitButton.TextSize = 30
submitButton.TextColor3 = Color3.fromRGB(255, 255, 255)
submitButton.BackgroundColor3 = Color3.fromRGB(150, 0, 0)
submitButton.Parent = lockFrame
local getKeyButton = Instance.new("TextButton")
getKeyButton.Size = UDim2.new(0.3, 0, 0.1, 0)
getKeyButton.Position = UDim2.new(0.35, 0, 0.7, 0)
getKeyButton.Text = "Get Key"
getKeyButton.Font = Enum.Font.GothamBold
getKeyButton.TextSize = 30
getKeyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
getKeyButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
getKeyButton.Parent = lockFrame
getKeyButton.MouseButton1Click:Connect(function()
setclipboard("https://discord.gg/fVYxKgez")
getKeyButton.Text = "Copied Discord"
wait(2)
getKeyButton.Text = "Get Key"
end)
--------------------------------------------------
-- SUCCESS: Fade-out, Blur, and "savanscheat" Text with Sound
--------------------------------------------------
local function onKeySubmit()
local correctKey = "savanownsyou"
if keyBox.Text == correctKey then
print("Key accepted!")
-- Fade out key GUI elements
local fadeOut = tweenService:Create(lockFrame, TweenInfo.new(1.5), {BackgroundTransparency = 1})
local fadeLabel = tweenService:Create(keyLabel, TweenInfo.new(1.5), {TextTransparency = 1})
local fadeBox = tweenService:Create(keyBox, TweenInfo.new(1.5), {BackgroundTransparency = 1})
local fadeSubmit = tweenService:Create(submitButton, TweenInfo.new(1.5), {BackgroundTransparency = 1})
local fadeGet = tweenService:Create(getKeyButton, TweenInfo.new(1.5), {BackgroundTransparency = 1})
fadeOut:Play()
fadeLabel:Play()
fadeBox:Play()
fadeSubmit:Play()
fadeGet:Play()
wait(1.5)
keyGui:Destroy()
-- Create new GUI for intro fade (black background with "savanscheat" text)
local introGui = Instance.new("ScreenGui")
introGui.Parent = player:WaitForChild("PlayerGui")
introGui.IgnoreGuiInset = true
local introBackground = Instance.new("Frame")
introBackground.Size = UDim2.new(1, 0, 1, 0)
introBackground.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
introBackground.BackgroundTransparency = 0.5
introBackground.Parent = introGui
local cheatText = Instance.new("TextLabel")
cheatText.Size = UDim2.new(0.6, 0, 0.2, 0)
cheatText.Position = UDim2.new(0.2, 0, 0.4, 0)
cheatText.BackgroundTransparency = 1
cheatText.Text = "savanscheat"
cheatText.Font = Enum.Font.Arcade
cheatText.TextSize = 60
cheatText.TextColor3 = Color3.fromRGB(255, 0, 0)
cheatText.TextStrokeTransparency = 0.2
cheatText.TextScaled = true
cheatText.Parent = introGui
wait(3)
-- Play sound effect
local successSound = Instance.new("Sound")
successSound.SoundId = "rbxassetid://405593386"
successSound.Volume = 2
successSound.Parent = soundService
successSound:Play()
-- Create a blur effect and then fade it out with the text
local blurEffect = Instance.new("BlurEffect")
blurEffect.Size = 10
blurEffect.Parent = lighting
local fadeTextTween = tweenService:Create(cheatText, TweenInfo.new(1.5), {TextTransparency = 1, TextStrokeTransparency = 1})
local fadeBlurTween = tweenService:Create(blurEffect, TweenInfo.new(1.5), {Size = 0})
fadeTextTween:Play()
fadeBlurTween:Play()
wait(1.5)
introGui:Destroy()
blurEffect:Destroy()
successSound:Destroy()
-- Now that everything has faded out, show the lock button
showLockButton()
else
keyBox.Text = ""
keyBox.PlaceholderText = "Incorrect key, try again"
keyBox.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
end
end
submitButton.MouseButton1Click:Connect(onKeySubmit)
--------------------------------------------------
-- LOCK-ON FEATURE
--------------------------------------------------
-- This function creates and shows the lock button and implements the lock-on functionality.
function showLockButton()
local lockGui = Instance.new("ScreenGui")
lockGui.Parent = player:WaitForChild("PlayerGui")
lockGui.IgnoreGuiInset = true
local lockButton = Instance.new("TextButton")
lockButton.Size = UDim2.new(0.3, 0, 0.1, 0)
lockButton.Position = UDim2.new(0.7, 0, 0.85, 0) -- Bottom right
lockButton.Text = "Lock On"
lockButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
lockButton.TextColor3 = Color3.fromRGB(255, 255, 255)
lockButton.Font = Enum.Font.GothamBold
lockButton.TextScaled = true
lockButton.Parent = lockGui
local lockActive = false
local lockedTarget = nil
local connection
local function getClosestPlayer()
local closestPlayer = nil
local shortestDistance = math.huge
for _, target in ipairs(players:GetPlayers()) do
if target ~= player and target.Character and target.Character:FindFirstChild("Head") then
local distance = (camera.CFrame.Position - target.Character.Head.Position).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = target
end
end
end
return closestPlayer
end
lockButton.MouseButton1Click:Connect(function()
lockActive = not lockActive
if lockActive then
lockedTarget = getClosestPlayer()
if lockedTarget then
lockButton.Text = "Unlock"
connection = runService.Heartbeat:Connect(function()
if lockedTarget and lockedTarget.Character and lockedTarget.Character:FindFirstChild("Head") then
camera.CFrame = CFrame.new(camera.CFrame.Position, lockedTarget.Character.Head.Position)
else
lockActive = false
lockButton.Text = "Lock On"
if connection then connection:Disconnect() end
end
end)
else
lockButton.Text = "No Target"
end
else
lockButton.Text = "Lock On"
if connection then connection:Disconnect() end
lockedTarget = nil
end
end)
end
-- End of Script
Comments
the key link has expired