Advertisement
Hasli4

RBLX. ControlShip

May 15th, 2025
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.17 KB | None | 0 0
  1. local ContextActionService = game:GetService("ContextActionService")
  2. local Players = game:GetService("Players")
  3. local player = Players.LocalPlayer
  4. local camera = workspace.CurrentCamera
  5. local button = script.Parent
  6. local Stick = script.Parent
  7. local PLAYER_SPEED = 70000
  8. local forwardForceVector = Vector3.new(0,0,-PLAYER_SPEED)
  9.  
  10. local UserInputService = game:GetService("UserInputService")
  11.  
  12. local function printMovement(input)
  13. end
  14.  
  15. Stick.Position = UDim2.new(0.2,0,0.6,0)
  16. local Stick_X = Stick.AbsolutePosition.X + Stick.AbsoluteSize.X/2
  17. local Stick_Y = Stick.AbsolutePosition.Y + Stick.AbsoluteSize.Y/2
  18. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  19.     if input.UserInputType == Enum.UserInputType.Touch then
  20.         if player.Character then
  21.             if (input.Position.X < Stick_X*3 and
  22.                 input.Position.Y > Stick_Y*0.5) then
  23.                 Stick.Position = UDim2.
  24. new(0, input.Position.X-Stick.AbsoluteSize.X/2,
  25. 0,input.Position.Y-Stick.AbsoluteSize.Y/2)
  26.             end        
  27.         end
  28.     end
  29. end))
  30.  
  31. UserInputService.InputChanged:Connect(function(input, gameProcessed)
  32.     if input.UserInputType == Enum.UserInputType.Touch then
  33.         if player.Character then
  34.             if (input.Position.X < Stick.Parent.AbsoluteSize.X*0.4 and
  35.                 input.Position.Y > Stick.Parent.AbsoluteSize.Y*0.5) then
  36.                 local Stick_X_new =
  37. Stick.AbsolutePosition.X+Stick.AbsoluteSize.X/2
  38.                 local Stick_Y_new =
  39. Stick.AbsolutePosition.Y+Stick.AbsoluteSize.Y/2
  40.                 local X_change = input.Position.X - Stick_X_new
  41.                 local Y_change = input.Position.Y - Stick_Y_new
  42.                 local rootPart =
  43. player.Character:FindFirstChild("HumanoidRootPart")
  44.                 local newLocation =
  45. Vector3.new(X_change, rootPart.Position.Y, Y_change))
  46.                
  47.  
  48.                 rootPart.CFrame = CFrame.new(rootPart.Position,
  49. rootPart.Position+newLocation)
  50.                 rootPart.CFrame *= CFrame.Angles(0, math.rad(90), 0)
  51.                 player.Character.HumanoidRootPart.VectorForce.Force =
  52. forwardForceVector
  53.             end
  54.         end
  55.     end
  56. end)
  57.  
  58. UserInputService.InputEnded:Connect(function(input, gameProcessed)
  59.     if input.UserInputType == Enum.UserInputType.Touch then
  60.         if player.Character then
  61.             player.Character.HumanoidRootPart.
  62. VectorForce.Force = Vector3.new(0,0,0)
  63.         end
  64.     end
  65. end)
  66.  
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement