Run it
Copy the script and paste it into your executor.
Players = :()
UIS = :()
RunService = :()
player = Players.LocalPlayer
mouse = player:()
.() player:()
GUI_WIDTH =
GUI_HEIGHT =
gui = .()
gui.Name =
gui.IgnoreGuiInset =
gui.ResetOnSpawn =
gui.Parent = player.PlayerGui
gui.ZIndexBehavior = .ZIndexBehavior.Sibling
frame = .()
frame.AnchorPoint = .(,)
frame.Position = .(,,,)
frame.Size = .(,GUI_WIDTH,,GUI_HEIGHT)
frame.BackgroundColor3 = .(,,)
frame.Active =
frame.Draggable =
.(, frame).CornerRadius = .(,)
frame.Parent = gui
title = .(, frame)
title.Text =
title.Size = .(,,,)
title.Position = .(,,,)
title.BackgroundColor3 = .(,,)
title.TextColor3 = .(,,)
title.Font = .Font.GothamBold
title.TextSize =
.(, title).CornerRadius = .(,)
scroll = .(, frame)
scroll.Position = .(,,,)
scroll.Size = .(,-,,-)
scroll.BackgroundTransparency =
scroll.ScrollBarThickness =
scroll.AutomaticCanvasSize = .AutomaticSize.Y
scroll.VerticalScrollBarInset = .ScrollBarInset.Always
layout = .(, scroll)
layout.Padding = .(,)
layout.SortOrder = .SortOrder.LayoutOrder
(parent,text,color,callback)
btn = .(, parent)
btn.Size = .(,,,)
btn.Text = text
btn.Font = .Font.GothamBold
btn.TextSize =
btn.TextColor3 = .(,,)
btn.BackgroundColor3 = color
.(, btn).CornerRadius = .(,)
btn.ZIndex =
btn.MouseButton1Click:(callback)
btn
mode =
dragMode =
brushSize =
undoStack = {}
brushShapes = {,,,,}
currentShapeIndex =
brushShape = brushShapes[currentShapeIndex]
infJump =
dragging =
currentMaterial =
ropeGuiOpen =
modeBtn = (scroll,,.(,,),()
mode==
mode=
modeBtn.Text=
mode=
modeBtn.Text=
)
dragBtn = (scroll,,.(,,),()
dragMode = dragMode
dragBtn.Text = dragMode
)
brushBtn = (scroll,..brushSize..,.(,,),()
brushSize +=
brushSize> brushSize=
brushBtn.Text=..brushSize..
)
brushShapeBtn = (scroll,..brushShape,.(,,),()
currentShapeIndex +=
currentShapeIndex>#brushShapes currentShapeIndex=
brushShape = brushShapes[currentShapeIndex]
brushShapeBtn.Text=..brushShape
)
infJumpBtn = (scroll,,.(,,),()
infJump = infJump
infJumpBtn.Text = infJump
)
(scroll,,.(,,),()
last = .(undoStack)
last last[]
region = last[]
.Terrain:(region.CFrame, region.Size, .Material.Air)
)
(scroll,,.(,,),()
confirmGui = .(, gui)
confirmGui.Size = .(,,,)
confirmGui.Position = .(,-,,-)
confirmGui.BackgroundColor3 = .(,,)
confirmGui.Active =
confirmGui.Draggable =
.(, confirmGui).CornerRadius = .(,)
msg = .(, confirmGui)
msg.Size = .(,-,,)
msg.Position = .(,,,)
msg.Text =
msg.TextColor3 = .(,,)
msg.TextWrapped =
msg.Font = .Font.GothamBold
msg.TextSize =
msg.BackgroundTransparency =
yesBtn = (confirmGui,,.(,,),()
.Terrain:()
undoStack = {}
confirmGui:()
)
yesBtn.Size = .(,,,)
yesBtn.Position = .(,,,-)
noBtn = (confirmGui,,.(,,),()
confirmGui:()
)
noBtn.Size = .(,,,)
noBtn.Position = .(,--yesBtn.Size.X.Offset,,-)
)
materials = {,,,,,,,,
,,,,,,
,,,,,,
,,,,,,}
matFrame = .(, scroll)
matFrame.Size = .(,,,)
matFrame.BackgroundTransparency =
matScroll = .(, matFrame)
matScroll.Size = .(,-,,)
matScroll.Position = .(,,,)
matScroll.BackgroundTransparency =
matScroll.ScrollBarThickness =
matScroll.AutomaticCanvasSize = .AutomaticSize.Y
matScroll.VerticalScrollBarInset = .ScrollBarInset.Always
matGrid = .(, matScroll)
matGrid.CellSize = .(,,,)
matGrid.CellPadding = .(,,,)
matGrid.SortOrder = .SortOrder.LayoutOrder
_,mat (materials)
b = .(, matScroll)
b.Text = mat
b.Font = .Font.Gotham
b.TextSize =
b.TextColor3 = .(,,)
b.BackgroundColor3 = .(,,)
.(, b).CornerRadius = .(,)
b.ZIndex =
b.MouseButton1Click:(()
currentMaterial = mat
_,child (matScroll:())
child:()
child.BackgroundColor3 = .(,,)
b.BackgroundColor3 = .(,,)
)
addRopeBtn = (scroll,,.(,,),()
ropeGuiOpen
ropeGuiOpen =
inputGui = .(, gui)
inputGui.Size = .(,,,)
inputGui.Position = .(,-,,-)
inputGui.BackgroundColor3 = .(,,)
inputGui.Active =
inputGui.Draggable =
.(, inputGui).CornerRadius = .(,)
closeBtn = .(, inputGui)
closeBtn.Size = .(,,,)
closeBtn.Position = .(,-,,)
closeBtn.Text =
closeBtn.Font = .Font.GothamBold
closeBtn.TextSize =
closeBtn.TextColor3 = .(,,)
closeBtn.BackgroundColor3 = .(,,)
.(, closeBtn).CornerRadius = .(,)
closeBtn.MouseButton1Click:(()
inputGui:()
ropeGuiOpen =
)
b1 = .(, inputGui)
b1.Size = .(,,,)
b1.Position = .(,,,)
b1.PlaceholderText =
b1.TextColor3 = .(,,)
b1.BackgroundColor3 = .(,,)
.(, b1).CornerRadius = .(,)
b2 = .(, inputGui)
b2.Size = .(,,,)
b2.Position = .(,,,)
b2.PlaceholderText =
b2.TextColor3 = .(,,)
b2.BackgroundColor3 = .(,,)
.(, b2).CornerRadius = .(,)
confirm = (inputGui,,.(,,),()
p1 = :(b1.Text)
p2 = :(b2.Text)
p1 p2
attach1 = .(,p1)
attach1.Position = .(,p1.Size.Y/,)
attach2 = .(,p2)
attach2.Position = .(,p2.Size.Y/,)
rope = .()
rope.Attachment0 = attach1
rope.Attachment1 = attach2
rope.Visible =
rope.Thickness =
rope.Parent =
inputGui:()
ropeGuiOpen =
()
)
confirm.Position = .(,,,)
)
UIS.JumpRequest:(()
infJump
char = player.Character
char char:()
char.Humanoid:(.HumanoidStateType.Jumping)
)
()
mouseHit = mouse.Hit
mouseHit
rayOrigin = mouseHit.Position + .(,,)
rayDirection = .(,-,)
raycastParams = RaycastParams.()
raycastParams.FilterType = .RaycastFilterType.Blacklist
raycastParams.FilterDescendantsInstances = {}
rayResult = :(rayOrigin, rayDirection, raycastParams)
rayResult
hitPos = rayResult.Position
size
brushShape== size = .(brushSize,brushSize,brushSize)
brushShape== size = .(brushSize,brushSize,brushSize)
brushShape== size = .(brushSize,brushSize/,brushSize)
brushShape== size = .(brushSize,,brushSize)
brushShape== size = .(brushSize,brushSize,brushSize)
matEnum = .Material[currentMaterial] .Material.Grass
mode==
brushShape== brushShape==
.Terrain:(.(hitPos + .(,size.Y/,)), size, matEnum)
.(undoStack,{.(hitPos + .(,size.Y/,)), size})
brushShape== brushShape==
.Terrain:(hitPos + .(,size.Y/,), size.X/, matEnum)
.(undoStack,{.(hitPos + .(,size.Y/,)), size})
brushShape==
.Terrain:(.(hitPos + .(,size.Y/,)), size, matEnum)
.(undoStack,{.(hitPos + .(,size.Y/,)), size})
mode==
.Terrain:(.(hitPos + .(,size.Y/,)), size, .Material.Air)
.(undoStack,{.(hitPos + .(,size.Y/,)), size})
mouse.Button1Down:(()
dragMode ()
)
UIS.InputBegan:((input)
(input.UserInputType==.UserInputType.MouseButton1 input.UserInputType==.UserInputType.Touch) dragMode
dragging =
)
UIS.InputEnded:((input)
input.UserInputType==.UserInputType.MouseButton1 input.UserInputType==.UserInputType.Touch
dragging =
)
RunService.RenderStepped:(()
dragMode dragging
()
)No
Tipis tower 2