Advertisement
MayWeEnjoy

Hideout Baseplate

Nov 16th, 2024 (edited)
3,011
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.01 KB | None | 0 0
  1. -- Credits to pyst but you can modify and make this more perfect :)
  2.  
  3. -- Configuration
  4. local hidingPlaceName = "Hiding place"
  5. local baseplateHeight = 1000 -- Height for the baseplate in the sky
  6. local baseplateSize = Vector3.new(1500, 1, 1500) -- Expanded size of the baseplate
  7. local player = game.Players.LocalPlayer
  8. local character = player.Character or player.CharacterAdded:Wait()
  9. local startPosition = character:WaitForChild("HumanoidRootPart").Position
  10. local lastBaseplatePosition = Vector3.new(0, baseplateHeight + 5, 0) -- Default spawn on baseplate
  11.  
  12. -- Function to create the "Hiding place" baseplate
  13. local function createHidingPlace()
  14. -- Check if baseplate already exists
  15. if workspace:FindFirstChild(hidingPlaceName) then
  16. return workspace:FindFirstChild(hidingPlaceName)
  17. end
  18.  
  19. -- Create the baseplate
  20. local baseplate = Instance.new("Part")
  21. baseplate.Name = hidingPlaceName
  22. baseplate.Size = baseplateSize
  23. baseplate.Position = Vector3.new(0, baseplateHeight, 0)
  24. baseplate.Anchored = true
  25. baseplate.CanCollide = true
  26. baseplate.Material = Enum.Material.Grass
  27. baseplate.Parent = workspace
  28.  
  29. -- Houses with doors, windows, and furniture
  30. local houseSpacing = 60
  31. for i = 1, 5 do
  32. local house = Instance.new("Part")
  33. house.Size = Vector3.new(20, 20, 20)
  34. house.Position = baseplate.Position + Vector3.new(-250 + i * houseSpacing, 10, -250)
  35. house.Anchored = true
  36. house.BrickColor = BrickColor.new("Light orange")
  37. house.Material = Enum.Material.Brick
  38. house.Parent = baseplate
  39.  
  40. -- Add windows to house
  41. for j = -1, 1, 2 do
  42. local window = Instance.new("Part")
  43. window.Size = Vector3.new(4, 6, 0.5)
  44. window.Position = house.Position + Vector3.new(j * 7, 5, -1)
  45. window.Anchored = true
  46. window.BrickColor = BrickColor.new("Institutional white")
  47. window.Material = Enum.Material.Glass
  48. window.Transparency = 0.5
  49. window.Parent = baseplate
  50. end
  51.  
  52. -- Add a door
  53. local door = Instance.new("Part")
  54. door.Size = Vector3.new(4, 10, 0.5)
  55. door.Position = house.Position + Vector3.new(0, 5, -1)
  56. door.Anchored = true
  57. door.BrickColor = BrickColor.new("Brown")
  58. door.Material = Enum.Material.Wood
  59. door.Parent = baseplate
  60.  
  61. -- Add furniture inside the house
  62. local bed = Instance.new("Part")
  63. bed.Size = Vector3.new(8, 2, 4)
  64. bed.Position = house.Position + Vector3.new(0, 1, -1)
  65. bed.Anchored = true
  66. bed.BrickColor = BrickColor.new("Really red")
  67. bed.Parent = baseplate
  68.  
  69. local table = Instance.new("Part")
  70. table.Size = Vector3.new(4, 1, 4)
  71. table.Position = house.Position + Vector3.new(0, 1, 5)
  72. table.Anchored = true
  73. table.BrickColor = BrickColor.new("Brown")
  74. table.Parent = baseplate
  75.  
  76. local chair = Instance.new("Part")
  77. chair.Size = Vector3.new(2, 2, 2)
  78. chair.Position = house.Position + Vector3.new(3, 1, 5)
  79. chair.Anchored = true
  80. chair.BrickColor = BrickColor.new("Reddish brown")
  81. chair.Parent = baseplate
  82. end
  83.  
  84. -- Towers with windows
  85. local towerSpacing = 100
  86. for i = 1, 3 do
  87. local tower = Instance.new("Part")
  88. tower.Size = Vector3.new(20, 100, 20)
  89. tower.Position = baseplate.Position + Vector3.new(-250 + i * towerSpacing, 50, 200)
  90. tower.Anchored = true
  91. tower.BrickColor = BrickColor.new("Institutional white")
  92. tower.Material = Enum.Material.Concrete
  93. tower.Parent = baseplate
  94.  
  95. -- Add windows to the tower at intervals
  96. for y = 10, 90, 20 do
  97. local window = Instance.new("Part")
  98. window.Size = Vector3.new(8, 8, 0.5)
  99. window.Position = tower.Position + Vector3.new(0, y, -10)
  100. window.Anchored = true
  101. window.BrickColor = BrickColor.new("Institutional white")
  102. window.Material = Enum.Material.Glass
  103. window.Transparency = 0.5
  104. window.Parent = baseplate
  105. end
  106. end
  107.  
  108. -- Roads connecting houses and towers
  109. local road = Instance.new("Part")
  110. road.Size = Vector3.new(10, 1, 300)
  111. road.Position = baseplate.Position + Vector3.new(0, 0.5, -250)
  112. road.Anchored = true
  113. road.BrickColor = BrickColor.new("Really black")
  114. road.Material = Enum.Material.Asphalt
  115. road.Parent = baseplate
  116.  
  117. -- Trees with green tops
  118. for i = 1, 15 do
  119. local trunk = Instance.new("Part")
  120. trunk.Size = Vector3.new(5, 20, 5)
  121. trunk.Position = baseplate.Position + Vector3.new(math.random(-400, 400), 10, math.random(-400, 400))
  122. trunk.Anchored = true
  123. trunk.BrickColor = BrickColor.new("Reddish brown")
  124. trunk.Material = Enum.Material.Wood
  125. trunk.Parent = baseplate
  126.  
  127. local leaves = Instance.new("Part")
  128. leaves.Size = Vector3.new(12, 10, 12)
  129. leaves.Position = trunk.Position + Vector3.new(0, 15, 0)
  130. leaves.Anchored = true
  131. leaves.BrickColor = BrickColor.new("Bright green")
  132. leaves.Material = Enum.Material.Grass
  133. leaves.Parent = baseplate
  134. end
  135.  
  136. -- Add grass patches
  137. for i = 1, 20 do
  138. local grassPatch = Instance.new("Part")
  139. grassPatch.Size = Vector3.new(math.random(10, 20), 1, math.random(10, 20))
  140. grassPatch.Position = baseplate.Position + Vector3.new(math.random(-700, 700), 0.5, math.random(-700, 700))
  141. grassPatch.Anchored = true
  142. grassPatch.BrickColor = BrickColor.new("Bright green")
  143. grassPatch.Material = Enum.Material.Grass
  144. grassPatch.Parent = baseplate
  145. end
  146.  
  147. -- Rain effect (small falling parts above baseplate)
  148. for i = 1, 100 do
  149. local raindrop = Instance.new("Part")
  150. raindrop.Size = Vector3.new(0.2, 1, 0.2)
  151. raindrop.Position = baseplate.Position + Vector3.new(math.random(-700, 700), math.random(20, 100), math.random(-700, 700))
  152. raindrop.Anchored = false
  153. raindrop.CanCollide = false
  154. raindrop.BrickColor = BrickColor.new("Really blue")
  155. raindrop.Material = Enum.Material.SmoothPlastic
  156. raindrop.Velocity = Vector3.new(0, -50, 0)
  157. raindrop.Parent = baseplate
  158. end
  159.  
  160. -- Add benches and street lights for ambiance
  161. for i = 1, 5 do
  162. local bench = Instance.new("Part")
  163. bench.Size = Vector3.new(5, 1, 2)
  164. bench.Position = baseplate.Position + Vector3.new(math.random(-700, 700), 1, math.random(-700, 700))
  165. bench.Anchored = true
  166. bench.BrickColor = BrickColor.new("Reddish brown")
  167. bench.Material = Enum.Material.Wood
  168. bench.Parent = baseplate
  169.  
  170. local lightPole = Instance.new("Part")
  171. lightPole.Size = Vector3.new(1, 15, 1)
  172. lightPole.Position = bench.Position + Vector3.new(2, 7.5, 0)
  173. lightPole.Anchored = true
  174. lightPole.BrickColor = BrickColor.new("Dark stone grey")
  175. lightPole.Material = Enum.Material.Metal
  176. lightPole.Parent = baseplate
  177.  
  178. -- Add a light source at the top of the light pole
  179. local light = Instance.new("PointLight")
  180. light.Color = Color3.fromRGB(255, 255, 224) -- Warm yellow light
  181. light.Brightness = 2
  182. light.Range = 20
  183. light.Parent = lightPole
  184. end
  185.  
  186. return baseplate
  187. end
  188.  
  189. -- Create sit-enabled outdoor benches for the outside area
  190. local function createSittingOutdoorBench(position)
  191. local outdoorBench = Instance.new("Part")
  192. outdoorBench.Size = Vector3.new(5, 1, 2)
  193. outdoorBench.Position = position
  194. outdoorBench.Anchored = true
  195. outdoorBench.BrickColor = BrickColor.new("Reddish brown")
  196. outdoorBench.Material = Enum.Material.Wood
  197. outdoorBench.Name = "OutdoorBench"
  198. outdoorBench.Parent = baseplate
  199.  
  200. -- Add a Seat part for sitting functionality
  201. local seat = Instance.new("Seat")
  202. seat.Size = Vector3.new(4, 1, 2)
  203. seat.Position = position + Vector3.new(0, 0.5, 0) -- Adjust position to sit on top of the bench
  204. seat.Anchored = true
  205. seat.BrickColor = BrickColor.new("Reddish brown")
  206. seat.Transparency = 1 -- Make the seat part invisible for a natural look
  207. seat.Parent = outdoorBench
  208. end
  209.  
  210. -- Create several outdoor benches in various positions
  211. createSittingOutdoorBench(Vector3.new(50, baseplateHeight + 1, 50))
  212. createSittingOutdoorBench(Vector3.new(100, baseplateHeight + 1, 75))
  213. createSittingOutdoorBench(Vector3.new(-50, baseplateHeight + 1, -100))
  214. createSittingOutdoorBench(Vector3.new(-100, baseplateHeight + 1, 100))
  215.  
  216. -- Create sit-enabled outdoor benches with trash cans and a picnic table
  217. local function createSittingOutdoorBenchWithExtras(position)
  218. -- Create the bench part
  219. local outdoorBench = Instance.new("Part")
  220. outdoorBench.Size = Vector3.new(5, 1, 2)
  221. outdoorBench.Position = position
  222. outdoorBench.Anchored = true
  223. outdoorBench.BrickColor = BrickColor.new("Reddish brown")
  224. outdoorBench.Material = Enum.Material.Wood
  225. outdoorBench.Name = "OutdoorBench"
  226. outdoorBench.Parent = baseplate
  227.  
  228. -- Add a Seat part for sitting functionality
  229. local seat = Instance.new("Seat")
  230. seat.Size = Vector3.new(4, 1, 2)
  231. seat.Position = position + Vector3.new(0, 0.5, 0) -- Adjust position to sit on top of the bench
  232. seat.Anchored = true
  233. seat.BrickColor = BrickColor.new("Reddish brown")
  234. seat.Transparency = 1 -- Make the seat part invisible for a natural look
  235. seat.Parent = outdoorBench
  236.  
  237. -- Create a trash can next to the bench
  238. local trashCan = Instance.new("Part")
  239. trashCan.Size = Vector3.new(1, 3, 1) -- Size of the trash can
  240. trashCan.Position = position + Vector3.new(3, 1.5, 0) -- Position it slightly to the side of the bench
  241. trashCan.Anchored = true
  242. trashCan.BrickColor = BrickColor.new("Dark stone grey")
  243. trashCan.Material = Enum.Material.Metal
  244. trashCan.Shape = Enum.PartType.Cylinder
  245. trashCan.Name = "TrashCan"
  246. trashCan.Parent = baseplate
  247.  
  248. -- Create a lid for the trash can
  249. local trashCanLid = Instance.new("Part")
  250. trashCanLid.Size = Vector3.new(1, 0.2, 1)
  251. trashCanLid.Position = trashCan.Position + Vector3.new(0, 1.6, 0)
  252. trashCanLid.Anchored = true
  253. trashCanLid.BrickColor = BrickColor.new("Dark stone grey")
  254. trashCanLid.Material = Enum.Material.Metal
  255. trashCanLid.Shape = Enum.PartType.Cylinder
  256. trashCanLid.Name = "TrashCanLid"
  257. trashCanLid.Parent = trashCan
  258.  
  259. -- Create a picnic table next to the bench
  260. local picnicTable = Instance.new("Part")
  261. picnicTable.Size = Vector3.new(6, 1, 3) -- Table size
  262. picnicTable.Position = position + Vector3.new(-5, 1, 0) -- Positioned to the side of the bench
  263. picnicTable.Anchored = true
  264. picnicTable.BrickColor = BrickColor.new("Brown")
  265. picnicTable.Material = Enum.Material.Wood
  266. picnicTable.Name = "PicnicTable"
  267. picnicTable.Parent = baseplate
  268.  
  269. -- Create two benches as seats for the picnic table
  270. for i = -1, 1, 2 do -- Adds one bench on each side of the table
  271. local tableBench = Instance.new("Part")
  272. tableBench.Size = Vector3.new(5, 0.5, 1)
  273. tableBench.Position = picnicTable.Position + Vector3.new(0, -0.75, i * 1.75) -- Adjusted for seating on either side
  274. tableBench.Anchored = true
  275. tableBench.BrickColor = BrickColor.new("Brown")
  276. tableBench.Material = Enum.Material.Wood
  277. tableBench.Name = "TableBench"
  278. tableBench.Parent = picnicTable
  279.  
  280. -- Add Seat part to make each table bench sittable
  281. local tableSeat = Instance.new("Seat")
  282. tableSeat.Size = Vector3.new(4, 0.5, 1)
  283. tableSeat.Position = tableBench.Position
  284. tableSeat.Anchored = true
  285. tableSeat.Transparency = 1 -- Make the seat invisible for a natural look
  286. tableSeat.Parent = tableBench
  287. end
  288. end
  289.  
  290. -- Create several outdoor setups with benches, trash cans, and picnic tables in various positions
  291. createSittingOutdoorBenchWithExtras(Vector3.new(50, baseplateHeight + 1, 50))
  292. createSittingOutdoorBenchWithExtras(Vector3.new(100, baseplateHeight + 1, 75))
  293. createSittingOutdoorBenchWithExtras(Vector3.new(-50, baseplateHeight + 1, -100))
  294. createSittingOutdoorBenchWithExtras(Vector3.new(-100, baseplateHeight + 1, 100))
  295.  
  296. -- Function to create a fountain at a given position
  297. local function createFountain(position)
  298. -- Create the fountain base
  299. local fountainBase = Instance.new("Part")
  300. fountainBase.Size = Vector3.new(10, 1, 10)
  301. fountainBase.Position = position
  302. fountainBase.Anchored = true
  303. fountainBase.BrickColor = BrickColor.new("Medium stone grey")
  304. fountainBase.Material = Enum.Material.SmoothPlastic
  305. fountainBase.Shape = Enum.PartType.Cylinder
  306. fountainBase.Name = "FountainBase"
  307. fountainBase.Parent = baseplate
  308.  
  309. -- Create the fountain pool (a slightly smaller cylinder on top of the base)
  310. local fountainPool = Instance.new("Part")
  311. fountainPool.Size = Vector3.new(9, 1, 9)
  312. fountainPool.Position = position + Vector3.new(0, 1, 0)
  313. fountainPool.Anchored = true
  314. fountainPool.BrickColor = BrickColor.new("Light blue")
  315. fountainPool.Material = Enum.Material.Glass
  316. fountainPool.Transparency = 0.5 -- Slightly transparent to mimic water
  317. fountainPool.Shape = Enum.PartType.Cylinder
  318. fountainPool.Name = "FountainPool"
  319. fountainPool.Parent = fountainBase
  320.  
  321. -- Add water effect using a ParticleEmitter
  322. local waterSpray = Instance.new("ParticleEmitter")
  323. waterSpray.Texture = "rbxassetid://252907470" -- Water drop texture (adjust as needed)
  324. waterSpray.Rate = 100 -- Rate of particles
  325. waterSpray.Lifetime = NumberRange.new(1, 2)
  326. waterSpray.Speed = NumberRange.new(5, 10)
  327. waterSpray.VelocitySpread = 180 -- Spread of particles
  328. waterSpray.Rotation = NumberRange.new(0, 360)
  329. waterSpray.Size = NumberSequence.new(0.2, 0.4)
  330. waterSpray.Parent = fountainPool
  331.  
  332. -- Create a small decorative statue in the center of the fountain pool
  333. local fountainStatue = Instance.new("Part")
  334. fountainStatue.Size = Vector3.new(1, 5, 1)
  335. fountainStatue.Position = position + Vector3.new(0, 2.5, 0)
  336. fountainStatue.Anchored = true
  337. fountainStatue.BrickColor = BrickColor.new("Dark stone grey")
  338. fountainStatue.Material = Enum.Material.SmoothPlastic
  339. fountainStatue.Name = "FountainStatue"
  340. fountainStatue.Parent = fountainBase
  341. end
  342.  
  343. -- Place the fountain in the "Hiding place" baseplate at a specific position
  344. createFountain(Vector3.new(0, baseplateHeight + 1, -20))
  345.  
  346. -- Generate the "Hiding place" with all details
  347. local hidingPlace = createHidingPlace()
  348.  
  349. -- GUI Setup (as previously provided)
  350. local ScreenGui = Instance.new("ScreenGui")
  351. ScreenGui.Parent = player:WaitForChild("PlayerGui")
  352.  
  353. local Frame = Instance.new("Frame")
  354. Frame.Size = UDim2.new(0, 200, 0, 100)
  355. Frame.Position = UDim2.new(0.5, -100, 0.1, 0)
  356. Frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  357. Frame.BorderSizePixel = 0
  358. Frame.Draggable = true
  359. Frame.Parent = ScreenGui
  360.  
  361. local Title = Instance.new("TextLabel")
  362. Title.Text = "Hideout"
  363. Title.Font = Enum.Font.SourceSans
  364. Title.TextSize = 18
  365. Title.TextColor3 = Color3.fromRGB(255, 255, 255)
  366. Title.Position = UDim2.new(0, 18, 0, 5)
  367. Title.BackgroundTransparency = 1
  368. Title.Parent = Frame
  369.  
  370. local CreatorLabel = Instance.new("TextLabel")
  371. CreatorLabel.Text = "by pyst"
  372. CreatorLabel.Font = Enum.Font.SourceSans
  373. CreatorLabel.TextSize = 10
  374. CreatorLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
  375. CreatorLabel.Position = UDim2.new(0, 18, 1, -10)
  376. CreatorLabel.BackgroundTransparency = 1
  377. CreatorLabel.Parent = Frame
  378.  
  379. local MinimizeButton = Instance.new("TextButton")
  380. MinimizeButton.Size = UDim2.new(0, 20, 0, 20)
  381. MinimizeButton.Position = UDim2.new(1, -45, 0, 5)
  382. MinimizeButton.Text = "-"
  383. MinimizeButton.TextSize = 16
  384. MinimizeButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  385. MinimizeButton.Parent = Frame
  386.  
  387. local CloseButton = Instance.new("TextButton")
  388. CloseButton.Size = UDim2.new(0, 20, 0, 20)
  389. CloseButton.Position = UDim2.new(1, -25, 0, 5)
  390. CloseButton.Text = "X"
  391. CloseButton.TextSize = 16
  392. CloseButton.BackgroundColor3 = Color3.fromRGB(100, 0, 0)
  393. CloseButton.Parent = Frame
  394.  
  395. local TeleportButton = Instance.new("TextButton")
  396. TeleportButton.Size = UDim2.new(0, 180, 0, 30)
  397. TeleportButton.Position = UDim2.new(0, 10, 0, 35)
  398. TeleportButton.Text = "Go to Hiding place"
  399. TeleportButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  400. TeleportButton.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
  401. TeleportButton.Font = Enum.Font.SourceSans
  402. TeleportButton.TextSize = 16
  403. TeleportButton.TextScaled = true
  404. TeleportButton.Parent = Frame
  405.  
  406. -- Minimize functionality for the GUI
  407. local isMinimized = false
  408. MinimizeButton.MouseButton1Click:Connect(function()
  409. isMinimized = not isMinimized
  410. if isMinimized then
  411. Frame.Size = UDim2.new(0, 200, 0, 30)
  412. TeleportButton.Visible = false
  413. CreatorLabel.Visible = false
  414. else
  415. Frame.Size = UDim2.new(0, 200, 0, 100)
  416. TeleportButton.Visible = true
  417. CreatorLabel.Visible = true
  418. end
  419. end)
  420.  
  421. -- Close button functionality
  422. CloseButton.MouseButton1Click:Connect(function()
  423. ScreenGui:Destroy()
  424. end)
  425.  
  426. -- Teleportation functionality with position saving
  427. local atHidingPlace = false
  428. TeleportButton.MouseButton1Click:Connect(function()
  429. if atHidingPlace then
  430. -- Teleport back to saved position on baseplate
  431. character.HumanoidRootPart.CFrame = CFrame.new(lastBaseplatePosition)
  432. TeleportButton.Text = "Go to Hiding place"
  433. else
  434. -- Save current position as lastBaseplatePosition, then teleport to hiding place
  435. lastBaseplatePosition = character.HumanoidRootPart.Position
  436. character.HumanoidRootPart.CFrame = hidingPlace.CFrame + Vector3.new(0, 5, 0)
  437. TeleportButton.Text = "Go back"
  438. end
  439. atHidingPlace = not atHidingPlace
  440. end)
  441.  
  442. -- Final confirmation in output
  443. print("INVITE PLAYERS TO USE THIS SCRIPT FOR MORE PEOPLE TO HIDE IN THE BASEPLATE :), by pyst.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement