
Key Required VerifiedUniversal

local V5_LINK = "https://raw.githubusercontent.com/gObl00x/Stuff/refs/heads/main/Animator6D.lua"
local AUDIO_URL = "https://files.catbox.moe/ksxhk8.mp3"
-- Audio Handler
local Sound = Instance.new("Sound", game:GetService("SoundService"))
Sound.SoundId = "rbxassetid://0" -- Placeholder
Sound.Volume = 2
Sound.Looped = true
-- Since it's an external link, we use the game engine to try and fetch/play it
-- Note: Directly playing external MP3s requires an executor that supports 'getcustomasset'
local success_audio, assetId = pcall(function()
if writefile and getcustomasset then
if not isfile("jason_theme.mp3") then
writefile("jason_theme.mp3", game:HttpGet(AUDIO_URL))
end
return getcustomasset("jason_theme.mp3")
end
end)
if success_audio and assetId then
Sound.SoundId = assetId
Sound:Play()
end
-- Stop music on reset
local Players = game:GetService('Players')
local player = Players.LocalPlayer
player.CharacterRemoving:Connect(function()
Sound:Stop()
end)
-- Load Animator6D
if not getgenv().Animator6DLoadedPro then
task.spawn(function() loadstring(game:HttpGet(V5_LINK))() end)
repeat task.wait() until getgenv().Animator6D
end
local RunService = game:GetService('RunService')
local Anims = {}
-- Load Model
local success, model = pcall(function() return game:GetObjects("rbxassetid://126832528231171")[1] end)
if success and model then
local function scan(obj)
if obj:IsA("KeyframeSequence") then Anims[obj.Name] = obj end
for _, c in ipairs(obj:GetChildren()) do scan(c) end
end
scan(model)
end
local function GetAnimLength(kfseq)
if not kfseq then return 0 end
local length = 0
for _, kf in ipairs(kfseq:GetKeyframes()) do if kf.Time > length then length = kf.Time end end
return length
end
-- State Management
local Character = player.Character or player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local currentAnim, activeAction, actionEndTime = nil, nil, 0
local States = { isSprinting = false, isRaging = false, isStunned = false }
local function Play(kfseq, looped, speed)
if not kfseq or (currentAnim == kfseq and looped) then return end
getgenv().Animator6DStop()
getgenv().Animator6D(kfseq, speed or 1, looped ~= false)
currentAnim = kfseq
end
local function PlayAction(name, durationOverride)
local kf = Anims[name]
if kf then
activeAction = kf
actionEndTime = tick() + (durationOverride or GetAnimLength(kf))
Play(kf, false)
end
end
-- GUI
local ScreenGui = Instance.new('ScreenGui', player:WaitForChild('PlayerGui'))
ScreenGui.Name = 'Jason_V2_UI'
ScreenGui.ResetOnSpawn = true
local function MakeBtn(pos, text, size, color)
local b = Instance.new('TextButton', ScreenGui)
b.Size = size or UDim2.new(0, 150, 0, 90)
b.Position = pos
b.BackgroundColor3 = color or Color3.fromRGB(140, 80, 255)
b.BackgroundTransparency = 0.5
b.Font = Enum.Font.SourceSansSemibold
b.Text = text
b.TextColor3 = Color3.fromRGB(255, 255, 255)
b.TextScaled = true
Instance.new('UICorner', b).CornerRadius = UDim.new(0, 8)
return b
end
-- Buttons
local SlashBtn = MakeBtn(UDim2.new(0.266, 0, 0.077, 0), "Slash")
local BeheadBtn = MakeBtn(UDim2.new(0.417, 0, 0.077, 0), "Behead")
local GashingBtn = MakeBtn(UDim2.new(0.559, 0, 0.077, 0), "GASHING Wound")
local RagingBtn = MakeBtn(UDim2.new(0.702, 0, 0.077, 0), "Raging Pace")
local SelfKillBtn= MakeBtn(UDim2.new(0.257, 0, 0.774, 0), "Self Kill (S)", UDim2.new(0, 180, 0, 90), Color3.fromRGB(10, 1, 140))
local KillBtn = MakeBtn(UDim2.new(0.120, 0, 0.774, 0), "Kill (G)", UDim2.new(0, 120, 0, 90), Color3.fromRGB(180, 20, 20))
local StunBtn = MakeBtn(UDim2.new(0.120, 0, 0.077, 0), "Stun", UDim2.new(0, 120, 0, 90))
local SprintBtn = MakeBtn(UDim2.new(0.639, 0, 0.697, 0), "Sprint")
-- Logic
SlashBtn.MouseButton1Click:Connect(function() PlayAction("Jason_Swing") end)
BeheadBtn.MouseButton1Click:Connect(function() PlayAction("Behead") end)
GashingBtn.MouseButton1Click:Connect(function() PlayAction("Gushwound") end)
RagingBtn.MouseButton1Click:Connect(function()
States.isRaging = not States.isRaging
if States.isRaging then PlayAction("Jason_RagingStart") end
end)
-- Exact animation roles requested
SelfKillBtn.MouseButton1Click:Connect(function() PlayAction("G+S killanim - S [cleaned up]") end)
KillBtn.MouseButton1Click:Connect(function() PlayAction("G+S killanim - G [cleaned up]") end)
StunBtn.MouseButton1Click:Connect(function()
if States.isStunned then return end
task.spawn(function()
States.isStunned = true
PlayAction("Jason_Stun")
task.wait(GetAnimLength(Anims["Jason_Stun"]))
Play(Anims["Jason_StunLoop"], true)
task.wait(3.5)
PlayAction("Jason_StunEnd")
task.wait(GetAnimLength(Anims["Jason_StunEnd"]))
States.isStunned = false
end)
end)
SprintBtn.MouseButton1Click:Connect(function()
States.isSprinting = not States.isSprinting
end)
-- Handler Loop
RunService.RenderStepped:Connect(function()
if not Character or not Humanoid.Parent then return end
if States.isStunned then
Humanoid.WalkSpeed = 0
Humanoid.JumpPower = 0
return
else
Humanoid.JumpPower = 50
end
if tick() < actionEndTime then return end
if activeAction then activeAction = nil; currentAnim = nil end
local isMoving = Humanoid.MoveDirection.Magnitude > 0
if isMoving then
if States.isRaging then
Humanoid.WalkSpeed = 22
Play(Anims["Jason_RagingWalk"], true)
elseif States.isSprinting then
Humanoid.WalkSpeed = 20
Play(Anims["Jason_Run"], true)
else
Humanoid.WalkSpeed = 16
Play(Anims["Jason_Walk"] or Anims["Jason_Run"], true, 0.8)
end
else
if States.isRaging then
Play(Anims["Jason_RagingIdle"], true)
else
Play(Anims["Jason_Idle"], true)
end
end
end)
--[[
]]
--[[
Shiftlock 版本一号 (Version 1 Properties) - 仅按钮版
包含属性:高清UI、鼠标Icon同步、Classic模式强制切换、偏移修复、锁定中心、无按键绑定
]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local UserGameSettings = UserSettings():GetService("UserGameSettings")
-- --- 1. GUI 系统 ---
local ShiftLockGui = Instance.new("ScreenGui")
ShiftLockGui.Name = "ShiftLock_V1_ButtonOnly"
ShiftLockGui.ResetOnSpawn = false
ShiftLockGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ShiftLockGui.Parent = PlayerGui
local LockButton = Instance.new("ImageButton")
LockButton.Name = "LockButton"
LockButton.Parent = ShiftLockGui
LockButton.AnchorPoint = Vector2.new(0.5, 0.5)
LockButton.Position = UDim2.new(0.83, 0, 0.83, 0)
LockButton.Size = UDim2.new(0.045, 0, 0.045, 0)
LockButton.BackgroundTransparency = 1
LockButton.BorderSizePixel = 0
LockButton.Image = "rbxasset://textures/ui/mouseLock_off@2x.png"
local UIAspect = Instance.new("UIAspectRatioConstraint")
UIAspect.AspectRatio = 1
UIAspect.AspectType = Enum.AspectType.ScaleWithParentSize
UIAspect.Parent = LockButton
-- 准星 (触控穿透)
local Crosshair = Instance.new("ImageLabel")
Crosshair.Name = "Crosshair"
Crosshair.Parent = ShiftLockGui
Crosshair.AnchorPoint = Vector2.new(0.5, 0.5)
Crosshair.Position = UDim2.new(0.5, 0, 0.5, -29)
Crosshair.Size = UDim2.new(0, 32, 0, 32)
Crosshair.BackgroundTransparency = 1
Crosshair.Image = "rbxasset://textures/MouseLockedCursor.png"
Crosshair.Visible = false
Crosshair.ZIndex = 10
Crosshair.Active = false
Crosshair.Selectable = false
-- --- 2. 核心变量 ---
local isShiftLockEnabled = false
local OFFSET_VAL = 1.75
-- --- 3. 获取相机 Zoom ---
local function getZoomTarget()
local success, ZoomController = pcall(function()
return require(LocalPlayer.PlayerScripts.PlayerModule.CameraModule.ZoomController)
end)
if success and ZoomController then
local upvalues = getupvalues(ZoomController.Update)
for i, v in pairs(upvalues) do
if type(v) == "number" then return v end
end
end
return 10
end
-- --- 4. 核心同步逻辑 (修复偏移生长 & 中心锁定) ---
local function enforceShiftLock()
if not isShiftLockEnabled then return end
local cam = workspace.CurrentCamera
if not cam then return end
-- 属性:强力中心锁定
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
-- 属性:强制相机旋转跟随
if UserGameSettings.RotationType ~= Enum.RotationType.CameraRelative then
pcall(function() UserGameSettings.RotationType = Enum.RotationType.CameraRelative end)
end
-- 第一人称检测
local physicalDist = (cam.Focus.Position - cam.CFrame.Position).Magnitude
local isFirstPerson = false
if physicalDist <= 0.78 then
local zoomTarget = getZoomTarget()
isFirstPerson = (zoomTarget < 0.78)
end
-- 属性:修复后的偏移逻辑 (单帧计算,非累加)
local currentOffset = (not isFirstPerson) and OFFSET_VAL or 0
if currentOffset ~= 0 then
local shiftedCFrame = cam.CFrame * CFrame.new(currentOffset, 0, 0)
cam.CFrame = shiftedCFrame
cam.Focus = shiftedCFrame * CFrame.new(0, 0, -physicalDist)
end
end
-- --- 5. Toggle 切换函数 ---
local function ToggleShiftLock()
isShiftLockEnabled = not isShiftLockEnabled
Crosshair.Visible = isShiftLockEnabled
local mouse = LocalPlayer:GetMouse()
RunService:UnbindFromRenderStep("ShiftLock_V1_Sync")
if isShiftLockEnabled then
-- 开启属性
LockButton.Image = "rbxasset://textures/ui/mouseLock_on@2x.png"
mouse.Icon = "rbxasset://textures/MouseLockedCursor.png"
-- 模式切换:Classic
pcall(function()
UserGameSettings.ComputerCameraMovementMode = Enum.ComputerCameraMovementMode.Classic
UserGameSettings.TouchCameraMovementMode = Enum.TouchCameraMovementMode.Classic
end)
RunService:BindToRenderStep("ShiftLock_V1_Sync", Enum.RenderPriority.Camera.Value + 1, enforceShiftLock)
else
-- 关闭属性
LockButton.Image = "rbxasset://textures/ui/mouseLock_off@2x.png"
mouse.Icon = ""
-- 模式切换:恢复默认
pcall(function()
UserGameSettings.ComputerCameraMovementMode = Enum.ComputerCameraMovementMode.Default
UserGameSettings.TouchCameraMovementMode = Enum.TouchCameraMovementMode.Default
UserGameSettings.RotationType = Enum.RotationType.MovementRelative
end)
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
end
end
-- --- 6. 事件绑定 (仅限按钮点击) ---
LockButton.MouseButton1Click:Connect(ToggleShiftLock)
-- 重生处理
LocalPlayer.CharacterAdded:Connect(function()
RunService:UnbindFromRenderStep("ShiftLock_V1_Sync")
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
if isShiftLockEnabled then
LocalPlayer:GetMouse().Icon = "rbxasset://textures/MouseLockedCursor.png"
RunService:BindToRenderStep("ShiftLock_V1_Sync", Enum.RenderPriority.Camera.Value + 1, enforceShiftLock)
end
end)



This is client sided