Advertisement
kill21_2

выбор игроков тп + обход тп

Apr 29th, 2025
5,508
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.99 KB | None | 0 0
  1. local Players = game:GetService("Players")
  2. local UserInputService = game:GetService("UserInputService")
  3. local TweenService = game:GetService("TweenService")
  4.  
  5. -- Современный UI с анимациями
  6. local ScreenGui = Instance.new("ScreenGui")
  7. local MainFrame = Instance.new("Frame")
  8. local UICorner = Instance.new("UICorner")
  9. local UIStroke = Instance.new("UIStroke")
  10. local TitleBar = Instance.new("Frame")
  11. local Title = Instance.new("TextLabel")
  12. local CloseButton = Instance.new("ImageButton")
  13. local PlayerList = Instance.new("ScrollingFrame")
  14. local PlayerButtonTemplate = Instance.new("TextButton")
  15. local SearchBox = Instance.new("TextBox")
  16. local TeleportButton = Instance.new("TextButton")
  17. local FlyToggle = Instance.new("TextButton")
  18. local LoadingIndicator = Instance.new("Frame")
  19.  
  20. -- Настройки GUI
  21. ScreenGui.Name = "TeleportUI"
  22. ScreenGui.ResetOnSpawn = false
  23. ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  24. ScreenGui.DisplayOrder = 999
  25. ScreenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
  26.  
  27. -- Главное окно
  28. MainFrame.Name = "MainFrame"
  29. MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
  30. MainFrame.BorderSizePixel = 0
  31. MainFrame.Position = UDim2.new(0.5, -175, 0.5, -200)
  32. MainFrame.Size = UDim2.new(0, 350, 0, 450)
  33. MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  34. MainFrame.Parent = ScreenGui
  35.  
  36. -- Скругленные углы
  37. UICorner.CornerRadius = UDim.new(0, 8)
  38. UICorner.Parent = MainFrame
  39.  
  40. -- Контур окна
  41. UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  42. UIStroke.Color = Color3.fromRGB(60, 60, 68)
  43. UIStroke.LineJoinMode = Enum.LineJoinMode.Round
  44. UIStroke.Thickness = 2
  45. UIStroke.Parent = MainFrame
  46.  
  47. -- Заголовок окна
  48. TitleBar.Name = "TitleBar"
  49. TitleBar.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
  50. TitleBar.BorderSizePixel = 0
  51. TitleBar.Size = UDim2.new(1, 0, 0, 40)
  52. TitleBar.Parent = MainFrame
  53.  
  54. Title.Name = "Title"
  55. Title.BackgroundTransparency = 1
  56. Title.Position = UDim2.new(0, 15, 0, 0)
  57. Title.Size = UDim2.new(1, -40, 1, 0)
  58. Title.Font = Enum.Font.GothamBold
  59. Title.Text = "ТЕЛЕПОРТ К ИГРОКУ"
  60. Title.TextColor3 = Color3.fromRGB(220, 220, 220)
  61. Title.TextSize = 14
  62. Title.TextXAlignment = Enum.TextXAlignment.Left
  63. Title.Parent = TitleBar
  64.  
  65. -- Кнопка закрытия
  66. CloseButton.Name = "CloseButton"
  67. CloseButton.BackgroundTransparency = 1
  68. CloseButton.Image = "rbxassetid://3926305904"
  69. CloseButton.ImageColor3 = Color3.fromRGB(150, 150, 150)
  70. CloseButton.ImageRectOffset = Vector2.new(284, 4)
  71. CloseButton.ImageRectSize = Vector2.new(24, 24)
  72. CloseButton.Position = UDim2.new(1, -32, 0.5, -12)
  73. CloseButton.Size = UDim2.new(0, 24, 0, 24)
  74. CloseButton.Parent = TitleBar
  75.  
  76. CloseButton.MouseEnter:Connect(function()
  77. CloseButton.ImageColor3 = Color3.fromRGB(220, 220, 220)
  78. end)
  79.  
  80. CloseButton.MouseLeave:Connect(function()
  81. CloseButton.ImageColor3 = Color3.fromRGB(150, 150, 150)
  82. end)
  83.  
  84. CloseButton.MouseButton1Click:Connect(function()
  85. ScreenGui:Destroy()
  86. end)
  87.  
  88. -- Поле поиска
  89. SearchBox.Name = "SearchBox"
  90. SearchBox.BackgroundColor3 = Color3.fromRGB(40, 40, 46)
  91. SearchBox.BorderSizePixel = 0
  92. SearchBox.Position = UDim2.new(0, 15, 0, 50)
  93. SearchBox.Size = UDim2.new(1, -30, 0, 35)
  94. SearchBox.Font = Enum.Font.Gotham
  95. SearchBox.PlaceholderColor3 = Color3.fromRGB(140, 140, 150)
  96. SearchBox.PlaceholderText = "Поиск игроков..."
  97. SearchBox.Text = ""
  98. SearchBox.TextColor3 = Color3.fromRGB(220, 220, 220)
  99. SearchBox.TextSize = 14
  100. SearchBox.TextXAlignment = Enum.TextXAlignment.Left
  101. SearchBox.Parent = MainFrame
  102.  
  103. local UICorner_2 = Instance.new("UICorner")
  104. UICorner_2.CornerRadius = UDim.new(0, 6)
  105. UICorner_2.Parent = SearchBox
  106.  
  107. local UIPadding = Instance.new("UIPadding")
  108. UIPadding.PaddingLeft = UDim.new(0, 10)
  109. UIPadding.Parent = SearchBox
  110.  
  111. -- Список игроков
  112. PlayerList.Name = "PlayerList"
  113. PlayerList.Active = true
  114. PlayerList.BackgroundTransparency = 1
  115. PlayerList.BorderSizePixel = 0
  116. PlayerList.Position = UDim2.new(0, 15, 0, 95)
  117. PlayerList.Size = UDim2.new(1, -30, 1, -160)
  118. PlayerList.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 110)
  119. PlayerList.ScrollBarThickness = 4
  120. PlayerList.CanvasSize = UDim2.new(0, 0, 0, 0)
  121. PlayerList.Parent = MainFrame
  122.  
  123. -- Шаблон кнопки игрока
  124. PlayerButtonTemplate.Name = "PlayerButtonTemplate"
  125. PlayerButtonTemplate.BackgroundColor3 = Color3.fromRGB(40, 40, 46)
  126. PlayerButtonTemplate.BorderSizePixel = 0
  127. PlayerButtonTemplate.Size = UDim2.new(1, 0, 0, 40)
  128. PlayerButtonTemplate.Visible = false
  129. PlayerButtonTemplate.Font = Enum.Font.Gotham
  130. PlayerButtonTemplate.Text = ""
  131. PlayerButtonTemplate.TextColor3 = Color3.fromRGB(220, 220, 220)
  132. PlayerButtonTemplate.TextSize = 14
  133. PlayerButtonTemplate.TextXAlignment = Enum.TextXAlignment.Left
  134. PlayerButtonTemplate.Parent = PlayerList
  135.  
  136. local UICorner_3 = Instance.new("UICorner")
  137. UICorner_3.CornerRadius = UDim.new(0, 6)
  138. UICorner_3.Parent = PlayerButtonTemplate
  139.  
  140. local UIPadding_2 = Instance.new("UIPadding")
  141. UIPadding_2.PaddingLeft = UDim.new(0, 12)
  142. UIPadding_2.Parent = PlayerButtonTemplate
  143.  
  144. -- Кнопка телепортации
  145. TeleportButton.Name = "TeleportButton"
  146. TeleportButton.BackgroundColor3 = Color3.fromRGB(0, 162, 255)
  147. TeleportButton.BorderSizePixel = 0
  148. TeleportButton.Position = UDim2.new(0.5, -100, 1, -100)
  149. TeleportButton.Size = UDim2.new(0, 200, 0, 40)
  150. TeleportButton.Font = Enum.Font.GothamBold
  151. TeleportButton.Text = "ТЕЛЕПОРТИРОВАТЬСЯ"
  152. TeleportButton.TextColor3 = Color3.new(1, 1, 1)
  153. TeleportButton.TextSize = 14
  154. TeleportButton.Parent = MainFrame
  155.  
  156. local UICorner_4 = Instance.new("UICorner")
  157. UICorner_4.CornerRadius = UDim.new(0, 6)
  158. UICorner_4.Parent = TeleportButton
  159.  
  160. -- Кнопка переключения режима телепортации/полета
  161. FlyToggle.Name = "FlyToggle"
  162. FlyToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 90)
  163. FlyToggle.BorderSizePixel = 0
  164. FlyToggle.Position = UDim2.new(0.5, -100, 1, -50)
  165. FlyToggle.Size = UDim2.new(0, 200, 0, 40)
  166. FlyToggle.Font = Enum.Font.GothamBold
  167. FlyToggle.Text = "РЕЖИМ: ТЕЛЕПОРТ"
  168. FlyToggle.TextColor3 = Color3.new(1, 1, 1)
  169. FlyToggle.TextSize = 14
  170. FlyToggle.Parent = MainFrame
  171.  
  172. local UICorner_5 = Instance.new("UICorner")
  173. UICorner_5.CornerRadius = UDim.new(0, 6)
  174. UICorner_5.Parent = FlyToggle
  175.  
  176. -- Индикатор загрузки
  177. LoadingIndicator.Name = "LoadingIndicator"
  178. LoadingIndicator.BackgroundColor3 = Color3.fromRGB(0, 162, 255)
  179. LoadingIndicator.BorderSizePixel = 0
  180. LoadingIndicator.Position = UDim2.new(0.5, -15, 1, -60)
  181. LoadingIndicator.Size = UDim2.new(0, 30, 0, 3)
  182. LoadingIndicator.Visible = false
  183. LoadingIndicator.Parent = MainFrame
  184.  
  185. -- Перетаскивание окна
  186. local dragging
  187. local dragInput
  188. local dragStart
  189. local startPos
  190.  
  191. local function updateInput(input)
  192. local delta = input.Position - dragStart
  193. MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  194. end
  195.  
  196. TitleBar.InputBegan:Connect(function(input)
  197. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  198. dragging = true
  199. dragStart = input.Position
  200. startPos = MainFrame.Position
  201.  
  202. input.Changed:Connect(function()
  203. if input.UserInputState == Enum.UserInputState.End then
  204. dragging = false
  205. end
  206. end)
  207. end
  208. end)
  209.  
  210. TitleBar.InputChanged:Connect(function(input)
  211. if input.UserInputType == Enum.UserInputType.MouseMovement then
  212. dragInput = input
  213. end
  214. end)
  215.  
  216. UserInputService.InputChanged:Connect(function(input)
  217. if input == dragInput and dragging then
  218. updateInput(input)
  219. end
  220. end)
  221.  
  222. -- Логика телепортации
  223. local selectedPlayer = nil
  224. local debounce = false
  225. local teleportMode = "teleport" -- "teleport" или "fly"
  226.  
  227. -- Функция полета к игроку
  228. local function flyToPlayer(targetCFrame)
  229. local character = Players.LocalPlayer.Character
  230. if not character then return end
  231.  
  232. local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
  233. if not humanoidRootPart then return end
  234.  
  235. local tweenInfo = TweenInfo.new(
  236. 2, -- Длительность
  237. Enum.EasingStyle.Quad, -- Стиль анимации
  238. Enum.EasingDirection.Out, -- Направление
  239. 0, -- Количество повторений
  240. false, -- Обратная анимация
  241. 0 -- Задержка
  242. )
  243.  
  244. local tween = TweenService:Create(humanoidRootPart, tweenInfo, {CFrame = targetCFrame})
  245. tween:Play()
  246.  
  247. return tween
  248. end
  249.  
  250. -- Функция создания кнопки игрока
  251. local function createPlayerButton(player)
  252. local button = PlayerButtonTemplate:Clone()
  253. button.Name = player.Name
  254. button.Text = player.DisplayName ~= "" and player.DisplayName or player.Name
  255. button.Visible = true
  256. button.Parent = PlayerList
  257.  
  258. local playerIcon = Instance.new("ImageLabel")
  259. playerIcon.Name = "PlayerIcon"
  260. playerIcon.BackgroundTransparency = 1
  261. playerIcon.Position = UDim2.new(1, -32, 0.5, -12)
  262. playerIcon.Size = UDim2.new(0, 24, 0, 24)
  263. playerIcon.Image = Players:GetUserThumbnailAsync(player.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size100x100)
  264. playerIcon.Parent = button
  265.  
  266. button.MouseButton1Click:Connect(function()
  267. -- Сбрасываем выделение у всех кнопок
  268. for _, child in ipairs(PlayerList:GetChildren()) do
  269. if child:IsA("TextButton") and child ~= PlayerButtonTemplate then
  270. child.BackgroundColor3 = Color3.fromRGB(40, 40, 46)
  271. end
  272. end
  273.  
  274. -- Выделяем выбранную кнопку
  275. button.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
  276. selectedPlayer = player
  277. end)
  278.  
  279. return button
  280. end
  281.  
  282. -- Функция обновления списка игроков
  283. local function updatePlayerList(searchTerm)
  284. -- Очищаем старый список
  285. for _, child in ipairs(PlayerList:GetChildren()) do
  286. if child:IsA("TextButton") and child ~= PlayerButtonTemplate then
  287. child:Destroy()
  288. end
  289. end
  290.  
  291. -- Добавляем игроков с учетом поиска
  292. local players = Players:GetPlayers()
  293. local yOffset = 0
  294. local localPlayer = Players.LocalPlayer
  295.  
  296. for _, player in ipairs(players) do
  297. if player ~= localPlayer then
  298. local playerName = player.Name:lower()
  299. local displayName = player.DisplayName:lower()
  300. local searchLower = searchTerm and searchTerm:lower() or ""
  301.  
  302. if searchTerm == "" or playerName:find(searchLower) or displayName:find(searchLower) then
  303. local button = createPlayerButton(player)
  304. button.Position = UDim2.new(0, 0, 0, yOffset)
  305. yOffset = yOffset + 45
  306. end
  307. end
  308. end
  309.  
  310. PlayerList.CanvasSize = UDim2.new(0, 0, 0, yOffset)
  311. end
  312.  
  313. -- Поиск игроков
  314. SearchBox:GetPropertyChangedSignal("Text"):Connect(function()
  315. updatePlayerList(SearchBox.Text)
  316. end)
  317.  
  318. -- Переключение режима телепортации/полета
  319. FlyToggle.MouseButton1Click:Connect(function()
  320. if teleportMode == "teleport" then
  321. teleportMode = "fly"
  322. FlyToggle.Text = "РЕЖИМ: ПОЛЕТ"
  323. FlyToggle.BackgroundColor3 = Color3.fromRGB(255, 162, 0)
  324. TeleportButton.Text = "ЛЕТЕТЬ К ИГРОКУ"
  325. else
  326. teleportMode = "teleport"
  327. FlyToggle.Text = "РЕЖИМ: ТЕЛЕПОРТ"
  328. FlyToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 90)
  329. TeleportButton.Text = "ТЕЛЕПОРТИРОВАТЬСЯ"
  330. end
  331. end)
  332.  
  333. -- Телепортация/полет
  334. TeleportButton.MouseButton1Click:Connect(function()
  335. if debounce then return end
  336.  
  337. if selectedPlayer then
  338. debounce = true
  339. TeleportButton.Text = teleportMode == "teleport" and "ТЕЛЕПОРТАЦИЯ..." or "ПОЛЕТ..."
  340. LoadingIndicator.Visible = true
  341.  
  342. local character = Players.LocalPlayer.Character
  343. local targetCharacter = selectedPlayer.Character
  344.  
  345. if character and targetCharacter and targetCharacter:FindFirstChild("HumanoidRootPart") then
  346. local humanoid = character:FindFirstChildOfClass("Humanoid")
  347. if humanoid then
  348. -- Анимация перед перемещением
  349. humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
  350. task.wait(0.2)
  351.  
  352. if teleportMode == "teleport" then
  353. -- Обычная телепортация
  354. character:PivotTo(targetCharacter.HumanoidRootPart.CFrame * CFrame.new(0, 0, -3))
  355. humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  356. else
  357. -- Режим полета
  358. local targetCFrame = targetCharacter.HumanoidRootPart.CFrame * CFrame.new(0, 0, -5)
  359. local tween = flyToPlayer(targetCFrame)
  360.  
  361. -- Ждем завершения твина или 3 секунды максимум
  362. local completed = false
  363. tween.Completed:Connect(function()
  364. completed = true
  365. end)
  366.  
  367. for _ = 1, 30 do -- 3 секунды (30 * 0.1)
  368. if completed then break end
  369. task.wait(0.1)
  370. end
  371.  
  372. humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
  373. end
  374. end
  375. else
  376. game.StarterGui:SetCore("SendNotification", {
  377. Title = "Ошибка",
  378. Text = "Персонаж игрока не найден",
  379. Duration = 3,
  380. Icon = "rbxassetid://3926305904",
  381. IconColor = Color3.fromRGB(255, 80, 80)
  382. })
  383. end
  384.  
  385. task.wait(0.5)
  386. TeleportButton.Text = teleportMode == "teleport" and "ТЕЛЕПОРТИРОВАТЬСЯ" or "ЛЕТЕТЬ К ИГРОКУ"
  387. LoadingIndicator.Visible = false
  388. debounce = false
  389. else
  390. game.StarterGui:SetCore("SendNotification", {
  391. Title = "Ошибка",
  392. Text = "Выберите игрока из списка",
  393. Duration = 3,
  394. Icon = "rbxassetid://3926305904",
  395. IconColor = Color3.fromRGB(255, 170, 0)
  396. })
  397. end
  398. end)
  399.  
  400. -- Обновление списка при изменении игроков
  401. Players.PlayerAdded:Connect(function(player)
  402. updatePlayerList(SearchBox.Text)
  403. end)
  404.  
  405. Players.PlayerRemoving:Connect(function(player)
  406. updatePlayerList(SearchBox.Text)
  407. end)
  408.  
  409. -- Первоначальное обновление списка
  410. updatePlayerList("")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement