-- 2007 Precise Physics + Click-to-Move + Classic Tool Handling local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local hrp = character:WaitForChild("HumanoidRootPart") local activeMovementLoop = nil local bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.MaxForce = Vector3.new(0, 0, 0) bodyVelocity.Parent = hrp -- Clean up any old UI leftovers from previous runs local oldSuite = player:WaitForChild("PlayerGui"):FindFirstChild("Classic2007Suite") if oldSuite then oldSuite:Destroy() end -- Restores default health and playerlist so they handle normally now pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, true) StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true) end) -- ScreenGui Container for remaining custom elements local mainGui = Instance.new("ScreenGui") mainGui.Name = "Classic2007Suite" mainGui.ResetOnSpawn = false mainGui.Parent = player:WaitForChild("PlayerGui") -- ------------------------------------------------------------- -- 1. RETRO PHYSICS CONTROLLER (2007) -- ------------------------------------------------------------- local function applyRetroPhysics() if activeMovementLoop then activeMovementLoop:Disconnect() end humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 humanoid.AutoRotate = false workspace.Gravity = 196.2 activeMovementLoop = RunService.Heartbeat:Connect(function() if not character or not humanoid or not hrp then return end local moveDirection = humanoid.MoveDirection if moveDirection.Magnitude > 0 then local targetAngle = math.atan2(-moveDirection.X, -moveDirection.Z) hrp.CFrame = CFrame.new(hrp.Position) * CFrame.Angles(0, targetAngle, 0) bodyVelocity.MaxForce = Vector3.new(100000, 0, 100000) bodyVelocity.Velocity = moveDirection * humanoid.WalkSpeed else bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.MaxForce = Vector3.new(100000, 0, 100000) end end) end -- ------------------------------------------------------------- -- 2. RETRO GREEN CLICK-TO-MOVE EFFECT -- ------------------------------------------------------------- local function enableClickToMove() UserInputService.InputBegan:Connect(function(input, processed) if processed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then local camera = workspace.CurrentCamera local ray = camera:ScreenPointToRay(input.Position.X, input.Position.Y) local raycastParams = RaycastParams.new() raycastParams.FilterPlayersInstances = {character} raycastParams.FilterType = Enum.RaycastFilterType.Exclude local result = workspace:Raycast(ray.Origin, ray.Direction * 500, raycastParams) if result then local targetPos = result.Position humanoid:MoveTo(targetPos) -- Create 2007 Solid Green Disc Indicator local disk = Instance.new("Part") disk.Shape = Enum.PartType.Cylinder disk.Size = Vector3.new(0.2, 3, 3) disk.Color = Color3.fromRGB(0, 255, 0) disk.Material = Enum.Material.SmoothPlastic disk.Anchored = true disk.CanCollide = false disk.CFrame = CFrame.new(targetPos + Vector3.new(0, 0.1, 0)) * CFrame.Angles(0, 0, math.rad(90)) disk.Parent = workspace task.delay(0.4, function() disk:Destroy() end) end end end) end -- ------------------------------------------------------------- -- NEW: CLASSIC 2007 TOOL-STIFFNESS FIX -- ------------------------------------------------------------- -- In 2007, equipping a tool (like a sword) locked your arm completely -- straight out horizontally without any modern bouncy arm swaying. local function applyRetroToolHandling() character.ChildAdded:Connect(function(child) if child:IsA("Tool") then task.wait() -- Allow tool to weld local rightArm = character:FindFirstChild("Right Arm") or character:FindFirstChild("RightHand") local rightShoulder = character:FindFirstChild("Torso") and character.Torso:FindFirstChild("Right Shoulder") -- If classic R6 avatar, force arm straight out if rightShoulder and rightArm then rightShoulder.CurrentAngle = math.rad(90) rightShoulder.DesiredAngle = math.rad(90) end end end) end -- ------------------------------------------------------------- -- 4. RESPAWN AUTOMATION BINDINGS -- ------------------------------------------------------------- player.CharacterAdded:Connect(function(newCharacter) character = newCharacter humanoid = character:WaitForChild("Humanoid") hrp = character:WaitForChild("HumanoidRootPart") bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.MaxForce = Vector3.new(0, 0, 0) bodyVelocity.Parent = hrp applyRetroPhysics() applyRetroToolHandling() end) -- Initialize Systems applyRetroPhysics() enableClickToMove() applyRetroToolHandling()