Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do I make custom building tools?

Asked by 7 years ago

So I'm thinking of creating a game where players can build stuff, problem is, I don't want to use the normal building tools (or known as btools) that roblox has let players use to build in games over the couple of years. It's getting a bit old now and I wanted to create my own build tools with maybe an animation and extra special effects, but still keeping how the build tools work, is there any way I could make something for example, a move tool? As I've recently tried to build one but it's possible for players to place a part inside another part, therefore, exploiting the game. Is there a simple method or script that exists?

0
For a resize tool you should use http://wiki.roblox.com/index.php?title=API:Class/BasePart/Resize with raycasting for the collisions. BTools are quite hard to make, i can tell you that. #math RubenKan 3615 — 7y

1 answer

Log in to vote
0
Answered by 4 years ago

if you can find out how to not make a local script in a tool it would be easier and be global where all players see the building but this is for local script { local player = game.Players.LocalPlayer local mouse = player:GetMouse()

function mouseMove() wait(0.01) local X = 0 local Y = 0 local Z = 0 if mouse.Target.Position.X + 1.5 == mouse.Hit.X then X = math.ceil(mouse.Hit.X) -(math.ceil(mouse.Hit.X) % 3) + 3 else X = math.ceil(mouse.Hit.X) -(math.ceil(mouse.Hit.X) % 3) end if ((mouse.Hit.Y%0.5) == 0) then if mouse.Target.Position.Y + 1.5 == mouse.Hit.Y then Y = math.ceil(mouse.Hit.Y) - (math.ceil(mouse.Hit.Y) % 3) + 3 else Y = math.ceil(mouse.Hit.Y) - (math.ceil(mouse.Hit.Y) % 3) end else Y = math.ceil(mouse.Hit.Y) - (math.ceil(mouse.Hit.Y) % 3) end if mouse.Target.Position.Z + 1.5 == mouse.Hit.Z then Z = math.ceil(mouse.Hit.Z) -(math.ceil(mouse.Hit.Z) % 3) + 3 else Z = math.ceil(mouse.Hit.Z) -(math.ceil(mouse.Hit.Z) % 3) end

                game..Highlight.Position = Vector3.new(X,Y,Z)   

end

    mouse.Button1Down:connect(function(block)
        local block = game.Workspace.Block:Clone()
        block.Position = game.Workspace.DoNotMove.Select.Highlight.Position
        block.Parent = game.Workspace
        wait(0.1)
    end)

mouse.Move:connect(mouseMove) }

you will need to make a "Block" in workspace 333 and a highlight block Named highlight 333. now this will not work for all players to see it is a local script

0
ok so i did all that... any way to rotate these parts? jakeke12345 1 — 4y
Ad

Answer this question