SunDrop58

Moony's Tp

Jan 31st, 2026 (edited)
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.78 KB | None | 0 0
  1. -- Moony's TP GUI for Delta/Mobile with Server Desync + Infinite Jump Toggle
  2. local TweenService = game:GetService("TweenService")
  3. local UserInputService = game:GetService("UserInputService")
  4. local Players = game:GetService("Players")
  5. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  6.  
  7. local player = Players.LocalPlayer
  8.  
  9. -- Ensure RemoteEvent exists for server Desync
  10. local desyncEvent = ReplicatedStorage:FindFirstChild("DesyncEvent")
  11. if not desyncEvent then
  12. desyncEvent = Instance.new("RemoteEvent")
  13. desyncEvent.Name = "DesyncEvent"
  14. desyncEvent.Parent = ReplicatedStorage
  15. end
  16.  
  17. -- GUI
  18. local screenGui = Instance.new("ScreenGui")
  19. screenGui.Name = "MoonysTpGui"
  20. screenGui.ResetOnSpawn = false
  21. screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  22. screenGui.Parent = game:GetService("CoreGui")
  23.  
  24. -- Click sound
  25. local function playClick()
  26. local sound = Instance.new("Sound")
  27. sound.SoundId = "rbxassetid://6733314998"
  28. sound.Volume = 0.5
  29. sound.Parent = screenGui
  30. sound:Play()
  31. game:GetService("Debris"):AddItem(sound,1)
  32. end
  33.  
  34. -- Main frame
  35. local frame = Instance.new("Frame")
  36. frame.Size = UDim2.new(0,250,0,290)
  37. frame.Position = UDim2.new(0.5,-125,0.5,-145)
  38. frame.AnchorPoint = Vector2.new(0.5,0.5)
  39. frame.BackgroundColor3 = Color3.fromRGB(128,0,128)
  40. frame.BorderSizePixel = 0
  41. frame.Parent = screenGui
  42.  
  43. local frameCorner = Instance.new("UICorner")
  44. frameCorner.CornerRadius = UDim.new(0,15)
  45. frameCorner.Parent = frame
  46.  
  47. local frameOutline = Instance.new("UIStroke")
  48. frameOutline.Thickness = 3
  49. frameOutline.Color = Color3.fromRGB(0,0,0)
  50. frameOutline.Parent = frame
  51.  
  52. -- Title
  53. local title = Instance.new("TextLabel")
  54. title.Size = UDim2.new(1,0,0,40)
  55. title.Position = UDim2.new(0,0,0,0)
  56. title.BackgroundTransparency = 1
  57. title.Text = "Moony's Tp"
  58. title.TextColor3 = Color3.fromRGB(255,255,255)
  59. title.Font = Enum.Font.GothamBold
  60. title.TextSize = 24
  61. title.Parent = frame
  62.  
  63. -- Button storage
  64. local buttons = {}
  65. local savedPosition
  66.  
  67. -- Wait for character
  68. local function getCharacter()
  69. local char
  70. repeat
  71. char = player.Character
  72. wait(0.1)
  73. until char and char:FindFirstChild("HumanoidRootPart")
  74. return char
  75. end
  76.  
  77. -- Create standard button
  78. local function createButton(name,posY,text,callback)
  79. local btn = Instance.new("TextButton")
  80. btn.Name = name
  81. btn.Size = UDim2.new(0,200,0,40)
  82. btn.Position = UDim2.new(0.5,-100,0,posY)
  83. btn.BackgroundColor3 = Color3.fromRGB(0,255,255)
  84. btn.Text = text
  85. btn.Font = Enum.Font.GothamBold
  86. btn.TextSize = 18
  87. btn.TextColor3 = Color3.fromRGB(0,0,0)
  88. btn.Parent = frame
  89. btn.ZIndex = 2
  90.  
  91. local corner = Instance.new("UICorner")
  92. corner.CornerRadius = UDim.new(0,10)
  93. corner.Parent = btn
  94.  
  95. local outline = Instance.new("UIStroke")
  96. outline.Thickness = 2
  97. outline.Color = Color3.fromRGB(0,0,0)
  98. outline.Parent = btn
  99.  
  100. btn.Activated:Connect(function()
  101. playClick()
  102. TweenService:Create(btn,TweenInfo.new(0.1),{BackgroundTransparency=0.3}):Play()
  103. pcall(callback)
  104. end)
  105.  
  106. table.insert(buttons,btn)
  107. end
  108.  
  109. -- TP Forward
  110. createButton("TpForward",50,"TP Forward",function()
  111. local char = getCharacter()
  112. char.HumanoidRootPart.CFrame += char.HumanoidRootPart.CFrame.LookVector * 10
  113. end)
  114.  
  115. -- Save Base
  116. createButton("SaveBase",100,"Save Base",function()
  117. local char = getCharacter()
  118. savedPosition = char.HumanoidRootPart.CFrame
  119. print("Base saved")
  120. end)
  121.  
  122. -- TP to Base
  123. createButton("TpToBase",150,"TP to Base",function()
  124. local char = getCharacter()
  125. if savedPosition then
  126. char.HumanoidRootPart.CFrame = savedPosition
  127. end
  128. end)
  129.  
  130. -- Desync (Server visible)
  131. createButton("Desync",200,"Desync",function()
  132. desyncEvent:FireServer()
  133. print("Desync sent to server!")
  134. end)
  135.  
  136. -- Infinite Jump toggle button (circle indicator)
  137. local infiniteJumpBtn = Instance.new("Frame")
  138. infiniteJumpBtn.Size = UDim2.new(0,200,0,40)
  139. infiniteJumpBtn.Position = UDim2.new(0.5,-100,0,250)
  140. infiniteJumpBtn.BackgroundColor3 = Color3.fromRGB(0,255,255)
  141. infiniteJumpBtn.Parent = frame
  142. infiniteJumpBtn.ZIndex = 2
  143.  
  144. local corner = Instance.new("UICorner")
  145. corner.CornerRadius = UDim.new(0,10)
  146. corner.Parent = infiniteJumpBtn
  147.  
  148. local outline = Instance.new("UIStroke")
  149. outline.Thickness = 2
  150. outline.Color = Color3.fromRGB(0,0,0)
  151. outline.Parent = infiniteJumpBtn
  152.  
  153. -- Circle indicator
  154. local toggleCircle = Instance.new("Frame")
  155. toggleCircle.Size = UDim2.new(0,20,0,20)
  156. toggleCircle.Position = UDim2.new(0,5,0.5,-10)
  157. toggleCircle.BackgroundColor3 = Color3.fromRGB(0,255,255)
  158. toggleCircle.Parent = infiniteJumpBtn
  159. toggleCircle.ZIndex = 3
  160.  
  161. local circleCorner = Instance.new("UICorner")
  162. circleCorner.CornerRadius = UDim.new(1,0)
  163. circleCorner.Parent = toggleCircle
  164.  
  165. -- Button text
  166. local btnText = Instance.new("TextLabel")
  167. btnText.Size = UDim2.new(1,-30,1,0)
  168. btnText.Position = UDim2.new(0,30,0,0)
  169. btnText.BackgroundTransparency = 1
  170. btnText.Text = "Infinite Jump"
  171. btnText.TextColor3 = Color3.fromRGB(0,0,0)
  172. btnText.Font = Enum.Font.GothamBold
  173. btnText.TextSize = 18
  174. btnText.Parent = infiniteJumpBtn
  175.  
  176. -- Toggle state
  177. local infiniteJumpEnabled = false
  178. local function toggleInfiniteJump()
  179. infiniteJumpEnabled = not infiniteJumpEnabled
  180. if infiniteJumpEnabled then
  181. toggleCircle.BackgroundColor3 = Color3.fromRGB(0,255,0)
  182. else
  183. toggleCircle.BackgroundColor3 = Color3.fromRGB(0,255,255)
  184. end
  185. end
  186.  
  187. -- Activated toggle
  188. infiniteJumpBtn.InputBegan:Connect(function(input)
  189. if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
  190. playClick()
  191. toggleInfiniteJump()
  192. end
  193. end)
  194.  
  195. -- Infinite Jump logic
  196. UserInputService.JumpRequest:Connect(function()
  197. if infiniteJumpEnabled then
  198. local char = getCharacter()
  199. local humanoid = char:FindFirstChildOfClass("Humanoid")
  200. if humanoid then
  201. humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
  202. end
  203. end
  204. end)
  205.  
  206. -- Add Infinite Jump to buttons table for minimize/restore
  207. table.insert(buttons, infiniteJumpBtn)
  208.  
  209. -- Minimize / Restore
  210. local minimizeBtn = Instance.new("TextButton")
  211. minimizeBtn.Size = UDim2.new(0,30,0,30)
  212. minimizeBtn.Position = UDim2.new(1,-70,0,5)
  213. minimizeBtn.BackgroundColor3 = Color3.fromRGB(0,255,255)
  214. minimizeBtn.Text = "_"
  215. minimizeBtn.Font = Enum.Font.GothamBold
  216. minimizeBtn.TextSize = 18
  217. minimizeBtn.TextColor3 = Color3.fromRGB(0,0,0)
  218. minimizeBtn.Parent = frame
  219. minimizeBtn.ZIndex = 3
  220.  
  221. local minCorner = Instance.new("UICorner")
  222. minCorner.CornerRadius = UDim.new(0,8)
  223. minCorner.Parent = minimizeBtn
  224.  
  225. local minOutline = Instance.new("UIStroke")
  226. minOutline.Thickness = 2
  227. minOutline.Color = Color3.fromRGB(0,0,0)
  228. minOutline.Parent = minimizeBtn
  229.  
  230. local fullSize = frame.Size
  231. local minimizedSize = UDim2.new(0,250,0,40)
  232.  
  233. minimizeBtn.Activated:Connect(function()
  234. playClick()
  235. if frame.Size == fullSize then
  236. TweenService:Create(frame,TweenInfo.new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.Out), {Size=minimizedSize}):Play()
  237. -- Hide buttons
  238. for _, btn in pairs(buttons) do
  239. TweenService:Create(btn,TweenInfo.new(0.25), {Size=UDim2.new(0,0,0,0)}):Play()
  240. end
  241. TweenService:Create(title,TweenInfo.new(0.25), {TextTransparency=1}):Play()
  242. else
  243. TweenService:Create(frame,TweenInfo.new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.Out), {Size=fullSize}):Play()
  244. -- Restore buttons
  245. for _, btn in pairs(buttons) do
  246. local targetY = 50
  247. if btn.Name=="SaveBase" then targetY=100 end
  248. if btn.Name=="TpToBase" then targetY=150 end
  249. if btn.Name=="Desync" then targetY=200 end
  250. if btn.Name=="InfiniteJump" then targetY=250 end
  251. TweenService:Create(btn,TweenInfo.new(0.25), {Size=UDim2.new(0,200,0,40), Position=UDim2.new(0.5,-100,0,targetY)}):Play()
  252. end
  253. TweenService:Create(title,TweenInfo.new(0.25), {TextTransparency=0}):Play()
  254. end
  255. end)
  256.  
  257. -- Close
  258. local closeBtn = Instance.new("TextButton")
  259. closeBtn.Size = UDim2.new(0,30,0,30)
  260. closeBtn.Position = UDim2.new(1,-35,0,5)
  261. closeBtn.Text = "X"
  262. closeBtn.BackgroundColor3 = Color3.fromRGB(255,0,0)
  263. closeBtn.Font = Enum.Font.GothamBold
  264. closeBtn.TextSize = 18
  265. closeBtn.TextColor3 = Color3.fromRGB(255,255,255)
  266. closeBtn.Parent = frame
  267. closeBtn.ZIndex = 3
  268.  
  269. local closeCorner = Instance.new("UICorner")
  270. closeCorner.CornerRadius = UDim.new(0,8)
  271. closeCorner.Parent = closeBtn
  272.  
  273. local closeOutline = Instance.new("UIStroke")
  274. closeOutline.Thickness = 2
  275. closeOutline.Color = Color3.fromRGB(0,0,0)
  276. closeOutline.Parent = closeBtn
  277.  
  278. closeBtn.Activated:Connect(function()
  279. playClick()
  280. frame:Destroy()
  281. end)
  282.  
  283. -- Draggable
  284. local dragging, dragInput, dragStart, startPos = false, nil, nil, nil
  285. title.InputBegan:Connect(function(input)
  286. if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
  287. dragging = true
  288. dragStart = input.Position
  289. startPos = frame.Position
  290. input.Changed:Connect(function()
  291. if input.UserInputState == Enum.UserInputState.End then
  292. dragging = false
  293. end
  294. end)
  295. end
  296. end)
  297. title.InputChanged:Connect(function(input)
  298. if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement then
  299. dragInput = input
  300. end
  301. end)
  302. UserInputService.InputChanged:Connect(function(input)
  303. if dragging and input == dragInput then
  304. local delta = input.Position - dragStart
  305. frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
  306. startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  307. end
  308. end)
  309.  
Add Comment
Please, Sign In to add comment