The Best way to make a 3dmg(Three Dimensional Maneuver Gear)

Hi, I am working on a game based on an famous anime attack on titan, I am currently making the 3DMG(Three Dimensional Maneuver Gear) or the ODMG(Omni-Directional Mobility Gear )

aot-odm-gear

it is a device which gives you the ability to fly in the air. It is enabled by using a grappling device, allowing the user to move around the map quickly and it is important for slaying titans in this game.

How does it works?

  • The Gas emitter, blades and the grapple launchers are the main components of a 3DMG
    d6vx7kz-c3722fa7-7b94-43e0-a14f-f017b7230692.
  1. Gas Emitter:-
    Capture
    It is placed on the lower torso of the user, It spreads a special type of gas that creates a force behind the user and pushes his body towards an aimed position.

  2. Grapple Launchers :-
    images
    It releases a rope made of hard structures, the end of the rope contains a grapple which binds to the surface of the objects that’s aimed, it is placed on the both sides of the lower torso of the user, It is used to create a direction for the gas emitter to push the user toward.

  3. Blades :-


    The Blades are strong slicers used to slice a titan’s nape, It is the control for the gas emitter, when a cetain type of lever(which is located in the handle of a blade) is pressed it allows the gas to be spread.

What I’ve Tried so far :-
I’ve managed to create the grapple rope by using a beam and by using a texture for the effect.
Script :-

local Mouse = game.Players.LocalPlayer:GetMouse()

local Character = script.Parent.Parent

local HookAttachment = Instance.new("Attachment", Character.Hooks.LeftHook.leftgrapple)

game:GetService("UserInputService").InputBegan:Connect(function(Input)
      if Input.KeyCode == Enum.KeyCode.E then
            local HookPosition = Mouse.Hit.Position
            local MAX_DISTANCE = 10

            local Part = Instance.new("Part")
	        Part.Name = "HookPosition"
            Part.Size = Vector3.new(1, 1, 1)
            Part.Position = HookPosition
            Part.Anchored = true
		    Part.Parent = workspace
            Part.Transparency = 0
            local Attachment0 = Instance.new("Attachment", Part)

            local direction = (Part.Position - HookAttachment.Position).Unit

		    local newpostion = Vector3.new(HookAttachment.Position.X + MAX_DISTANCE, HookAttachment.Position.Y + MAX_DISTANCE, HookAttachment.Position.Z + MAX_DISTANCE) * direction

            local Rope = game.ReplicatedStorage.GrappleRope:Clone()
            Rope.Parent = workspace
		    Rope.Name = "Rope"
		    Rope.Beam.Attachment0 = HookAttachment
		    Rope.Beam.Attachment1 = Attachment0

		     if  direction.X > MAX_DISTANCE and direction.Y > MAX_DISTANCE and direction.Z > MAX_DISTANCE then
			      Part.Position = newpostion
		     end

		    wait(0.5)
		    Part:Destroy()
		    Rope:Destroy()
      end
end

What I need Help for? :-
I need help for the moving of the character of the user towards the aimed position.(I have searched in google and I watched some sites, they all refer in using body velocity but I don’t know about the physics stuff in roblox studio)

If anyone is having a Idea or suggestion, please share.`

2 Likes

Hi, I don’t know much about scripting. But I found this, maybe it could be of use to you.

https://www.roblox.com/games/1730531043/AoT-Open-Source

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.