Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2024
2,476
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. -- Smooth Lock-On Script with GUI Implementation
  2. local Players = game:GetService("Players")
  3. local UserInputService = game:GetService("UserInputService")
  4. local Camera = game:GetService("Workspace").CurrentCamera
  5. local ToggleKey = Enum.KeyCode.F -- Change to any desired toggle key
  6. local LockedOn = false
  7. local Target
  8.  
  9. -- GUI
  10. local ScreenGui = Instance.new("ScreenGui")
  11. ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
  12.  
  13. local ToggleButton = Instance.new("TextButton")
  14. ToggleButton.Text = "Toggle Lock-On"
  15. ToggleButton.Size = UDim2.new(0, 150, 0, 50)
  16. ToggleButton.Position = UDim2.new(0.5, -75, 0.5, -25)
  17. ToggleButton.Parent = ScreenGui
  18.  
  19. function LockOn(target)
  20. Target = target
  21. LockedOn = true
  22. end
  23.  
  24. function Unlock()
  25. Target = nil
  26. LockedOn = false
  27. end
  28.  
  29. function UpdateCamlock()
  30. if LockedOn and Target then
  31. local Char = Target.Character
  32. if Char then
  33. Camera.CFrame = CFrame.new(Camera.CFrame.Position, Char.HumanoidRootPart.Position)
  34. end
  35. end
  36. end
  37.  
  38. function UpdateAim()
  39. if LockedOn and Target then
  40. local Char = Target.Character
  41. if Char then
  42. local Prediction = Char.HumanoidRootPart.Velocity * 0.1 -- Adjust the multiplier for prediction accuracy
  43. local TargetPos = Char.HumanoidRootPart.Position + Prediction
  44. Camera.CFrame = CFrame.new(Camera.CFrame.Position, TargetPos)
  45. end
  46. end
  47. end
  48.  
  49. UserInputService.InputBegan:Connect(function(input)
  50. if input.KeyCode == ToggleKey then
  51. LockedOn = not LockedOn
  52. if LockedOn then
  53. local Player = Players:GetPlayerFromCharacter(Camera.Focus)
  54. if Player then
  55. LockOn(Player)
  56. end
  57. else
  58. Unlock()
  59. end
  60. end
  61. end)
  62.  
  63. ToggleButton.MouseButton1Click:Connect(function()
  64. LockedOn = not LockedOn
  65. if LockedOn then
  66. local Player = Players:GetPlayerFromCharacter(Camera.Focus)
  67. if Player then
  68. LockOn(Player)
  69. ToggleButton.Text = "Unlock"
  70. end
  71. else
  72. Unlock()
  73. ToggleButton.Text = "Toggle Lock-On"
  74. end
  75. end)
  76.  
  77. game:GetService("RunService").RenderStepped:Connect(function()
  78. UpdateCamlock()
  79. UpdateAim()
  80. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement