Advertisement
kill21_2

скрипт для телепорта по кейсам

May 8th, 2025
1,947
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.59 KB | None | 0 0
  1. local Players = game:GetService("Players")
  2. local UserInputService = game:GetService("UserInputService")
  3. local player = Players.LocalPlayer
  4. local character = player.Character or player.CharacterAdded:Wait()
  5. local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
  6.  
  7. local folders = {
  8. "SmallChest",
  9. "SmallSafe",
  10. "LargeChest",
  11. "LargeSafe",
  12. "MediumSafe"
  13. }
  14.  
  15. local function createGUI()
  16. local screenGui = Instance.new("ScreenGui")
  17. screenGui.Name = "ModelTeleporterGUI"
  18. screenGui.Parent = player.PlayerGui
  19.  
  20. -- Основное окно (теперь перемещаемое)
  21. local mainFrame = Instance.new("Frame")
  22. mainFrame.Size = UDim2.new(0, 350, 0, 450)
  23. mainFrame.Position = UDim2.new(0.5, -175, 0.5, -225)
  24. mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  25. mainFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  26. mainFrame.BorderSizePixel = 0
  27. mainFrame.Parent = screenGui
  28. mainFrame.Active = true
  29. mainFrame.Draggable = true -- Включаем возможность перемещения
  30.  
  31. -- Заголовок (будет использоваться для перемещения)
  32. local title = Instance.new("TextLabel")
  33. title.Text = "Model Teleporter (drag here to move)"
  34. title.Size = UDim2.new(1, 0, 0, 30)
  35. title.Position = UDim2.new(0, 0, 0, 0)
  36. title.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  37. title.TextColor3 = Color3.fromRGB(255, 255, 255)
  38. title.Font = Enum.Font.SourceSansBold
  39. title.TextSize = 18
  40. title.Parent = mainFrame
  41. title.Active = true -- Позволяет взаимодействовать с заголовком
  42.  
  43. local folderSelector = Instance.new("TextButton")
  44. folderSelector.Text = "Select Folder"
  45. folderSelector.Size = UDim2.new(0.9, 0, 0, 30)
  46. folderSelector.Position = UDim2.new(0.05, 0, 0, 40)
  47. folderSelector.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
  48. folderSelector.TextColor3 = Color3.fromRGB(255, 255, 255)
  49. folderSelector.Parent = mainFrame
  50.  
  51. local modelList = Instance.new("ScrollingFrame")
  52. modelList.Size = UDim2.new(0.9, 0, 0.7, -80)
  53. modelList.Position = UDim2.new(0.05, 0, 0, 80)
  54. modelList.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  55. modelList.BorderSizePixel = 0
  56. modelList.CanvasSize = UDim2.new(0, 0, 0, 0)
  57. modelList.AutomaticCanvasSize = Enum.AutomaticSize.Y
  58. modelList.ScrollBarThickness = 8
  59. modelList.Parent = mainFrame
  60.  
  61. local uiListLayout = Instance.new("UIListLayout")
  62. uiListLayout.Padding = UDim.new(0, 5)
  63. uiListLayout.Parent = modelList
  64.  
  65. local teleportButton = Instance.new("TextButton")
  66. teleportButton.Text = "Teleport to Selected"
  67. teleportButton.Size = UDim2.new(0.9, 0, 0, 30)
  68. teleportButton.Position = UDim2.new(0.05, 0, 0.9, -30)
  69. teleportButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
  70. teleportButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  71. teleportButton.Parent = mainFrame
  72.  
  73. local selectedFolder = nil
  74. local selectedModel = nil
  75.  
  76. -- Функция для создания кнопки модели
  77. local function createModelButton(model)
  78. local buttonFrame = Instance.new("Frame")
  79. buttonFrame.Size = UDim2.new(1, 0, 0, 30)
  80. buttonFrame.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  81. buttonFrame.BorderSizePixel = 0
  82. buttonFrame.Parent = modelList
  83.  
  84. local button = Instance.new("TextButton")
  85. button.Text = model.Name .. " (" .. math.floor(model:GetPivot().Position.X) .. ", " ..
  86. math.floor(model:GetPivot().Position.Y) .. ", " ..
  87. math.floor(model:GetPivot().Position.Z) .. ")"
  88. button.Size = UDim2.new(1, -10, 1, 0)
  89. button.Position = UDim2.new(0, 5, 0, 0)
  90. button.BackgroundTransparency = 1
  91. button.TextColor3 = Color3.fromRGB(255, 255, 255)
  92. button.TextXAlignment = Enum.TextXAlignment.Left
  93. button.TextWrapped = true
  94. button.Parent = buttonFrame
  95.  
  96. button.MouseButton1Click:Connect(function()
  97. -- Сброс выделения для всех кнопок
  98. for _, child in ipairs(modelList:GetChildren()) do
  99. if child:IsA("Frame") then
  100. child.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  101. end
  102. end
  103.  
  104. -- Выделение выбранной кнопки
  105. buttonFrame.BackgroundColor3 = Color3.fromRGB(90, 90, 90)
  106. selectedModel = model
  107. end)
  108.  
  109. return buttonFrame
  110. end
  111.  
  112. -- Улучшенная функция для обновления списка моделей
  113. local function updateModelList(folderName)
  114. modelList:ClearAllChildren()
  115. selectedModel = nil
  116.  
  117. local entities = game:GetService("Workspace").Game.Entities
  118. if not entities:FindFirstChild(folderName) then
  119. local noFolderLabel = Instance.new("TextLabel")
  120. noFolderLabel.Text = "Folder '"..folderName.."' not found!"
  121. noFolderLabel.Size = UDim2.new(1, 0, 0, 30)
  122. noFolderLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
  123. noFolderLabel.Parent = modelList
  124. warn("Folder not found:", folderName)
  125. return
  126. end
  127.  
  128. local folder = entities[folderName]
  129. local models = folder:GetChildren()
  130.  
  131. if #models == 0 then
  132. local noModelsLabel = Instance.new("TextLabel")
  133. noModelsLabel.Text = "No models found in '"..folderName.."'"
  134. noModelsLabel.Size = UDim2.new(1, 0, 0, 30)
  135. noModelsLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  136. noModelsLabel.Parent = modelList
  137. return
  138. end
  139.  
  140. for _, model in ipairs(models) do
  141. if model:IsA("Model") then
  142. createModelButton(model)
  143. end
  144. end
  145. end
  146.  
  147. -- Создаем отдельное окно для выбора папки (также перемещаемое)
  148. local folderSelectionFrame = Instance.new("Frame")
  149. folderSelectionFrame.Size = UDim2.new(0, 250, 0, #folders * 35 + 70)
  150. folderSelectionFrame.Position = UDim2.new(0.5, -125, 0.5, -100)
  151. folderSelectionFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  152. folderSelectionFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
  153. folderSelectionFrame.BorderSizePixel = 0
  154. folderSelectionFrame.Visible = false
  155. folderSelectionFrame.Parent = screenGui
  156. folderSelectionFrame.Active = true
  157. folderSelectionFrame.Draggable = true
  158.  
  159. local folderSelectionTitle = Instance.new("TextLabel")
  160. folderSelectionTitle.Text = "Select Folder (drag to move)"
  161. folderSelectionTitle.Size = UDim2.new(1, 0, 0, 30)
  162. folderSelectionTitle.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
  163. folderSelectionTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  164. folderSelectionTitle.Font = Enum.Font.SourceSansBold
  165. folderSelectionTitle.Parent = folderSelectionFrame
  166. folderSelectionTitle.Active = true
  167.  
  168. local folderSelectionLayout = Instance.new("UIListLayout")
  169. folderSelectionLayout.Padding = UDim.new(0, 5)
  170. folderSelectionLayout.Parent = folderSelectionFrame
  171.  
  172. local folderSelectionPadding = Instance.new("UIPadding")
  173. folderSelectionPadding.PaddingTop = UDim.new(0, 35)
  174. folderSelectionPadding.PaddingLeft = UDim.new(0, 10)
  175. folderSelectionPadding.PaddingRight = UDim.new(0, 10)
  176. folderSelectionPadding.Parent = folderSelectionFrame
  177.  
  178. -- Создаем кнопки для всех папок
  179. for _, folderName in ipairs(folders) do
  180. local button = Instance.new("TextButton")
  181. button.Text = folderName
  182. button.Size = UDim2.new(1, 0, 0, 30)
  183. button.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
  184. button.TextColor3 = Color3.fromRGB(255, 255, 255)
  185. button.Parent = folderSelectionFrame
  186.  
  187. button.MouseButton1Click:Connect(function()
  188. selectedFolder = folderName
  189. folderSelector.Text = "Folder: " .. folderName
  190. updateModelList(folderName)
  191. folderSelectionFrame.Visible = false
  192. mainFrame.Visible = true
  193. end)
  194. end
  195.  
  196. -- Кнопка закрытия меню выбора папки
  197. local closeFolderSelectionButton = Instance.new("TextButton")
  198. closeFolderSelectionButton.Text = "Close"
  199. closeFolderSelectionButton.Size = UDim2.new(1, 0, 0, 25)
  200. closeFolderSelectionButton.Position = UDim2.new(0, 0, 1, -30)
  201. closeFolderSelectionButton.BackgroundColor3 = Color3.fromRGB(100, 30, 30)
  202. closeFolderSelectionButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  203. closeFolderSelectionButton.Parent = folderSelectionFrame
  204.  
  205. closeFolderSelectionButton.MouseButton1Click:Connect(function()
  206. folderSelectionFrame.Visible = false
  207. mainFrame.Visible = true
  208. end)
  209.  
  210. -- Обработчик кнопки выбора папки
  211. folderSelector.MouseButton1Click:Connect(function()
  212. mainFrame.Visible = false
  213. folderSelectionFrame.Visible = true
  214. end)
  215.  
  216. -- Обработчик телепортации
  217. teleportButton.MouseButton1Click:Connect(function()
  218. if selectedModel and humanoidRootPart then
  219. local cframe = selectedModel:GetPivot()
  220. humanoidRootPart.CFrame = cframe * CFrame.new(0, 3, -2) -- Телепорт перед моделью
  221. end
  222. end)
  223.  
  224. -- Инициализация с первой папкой
  225. if #folders > 0 then
  226. selectedFolder = folders[1]
  227. folderSelector.Text = "Folder: " .. selectedFolder
  228. updateModelList(selectedFolder)
  229. end
  230. end
  231.  
  232. -- Ожидание загрузки персонажа и создание GUI
  233. player.CharacterAdded:Connect(function(newCharacter)
  234. character = newCharacter
  235. humanoidRootPart = character:WaitForChild("HumanoidRootPart")
  236. end)
  237.  
  238. -- Проверяем существование папок перед созданием GUI
  239. local function initialize()
  240. local existingFolders = {}
  241. local entities = game:GetService("Workspace").Game.Entities
  242.  
  243. for _, folderName in ipairs(folders) do
  244. if entities:FindFirstChild(folderName) then
  245. table.insert(existingFolders, folderName)
  246. else
  247. warn("Folder not found in game:", folderName)
  248. end
  249. end
  250.  
  251. if #existingFolders == 0 then
  252. warn("No valid folders found! Check your folder names.")
  253. return
  254. end
  255.  
  256. folders = existingFolders
  257. createGUI()
  258. end
  259.  
  260. initialize()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement