hello im amaro and im trying to make this movement from the game, called,
ultrakill:
and i replicated but something is make it very difficult to achive is that, while doing this movement, the character can rotate and here is a video and is very explanatory:
so i try to search any post from the forum to lock the orientation or something of the humanoidrootpart, even try to use alignorientation for the first time, but couldnt do nothing basicly. and here is the script, tbh i dont know why the alignt orientation is not working, but i could try other method to make the orientation or something from the humanoidrootpart, lock it.:
local uis = game.UserInputService
local player = game.Players.LocalPlayer or game.Players.PlayerAdded:Wait()
local char = player.Character
local debounce = script.Parent.Debounce
local jump = script.Parent.Jump
local hum = char.Humanoid
local hrp = char.HumanoidRootPart
local anim = Instance.new("Animation", hrp)
anim.AnimationId = "rbxassetid://15921106935"
local animations = {
roll = hum:LoadAnimation(anim)
}
uis.InputBegan:Connect(function(key, proces)
if proces == true then return end
if debounce.Value == true then return end
if key.KeyCode == Enum.KeyCode.LeftShift then
local lookvector = hrp.CFrame.LookVector
local orientation = hrp.CFrame.Rotation
animations.roll:Play()
debounce.Value = true
hum.AutoRotate = false
local partreference = Instance.new("Part", hrp)
partreference.Anchored = false
partreference.CanTouch = false
partreference.CanCollide = false
partreference.Size = Vector3.new(1,1,1)
partreference.Name = "CULO"
local weld = Instance.new("Motor6D", hrp)
weld.Part0 = partreference
weld.Part1 = hrp
weld.Name = "motor"
weld.C0 = CFrame.new(0,0,0) * CFrame.Angles(0,0,0)
local attachmente1 = Instance.new("Attachment", hrp)
attachmente1.Name = "first"
local attachmente2 = Instance.new("Attachment", partreference)
attachmente2.Name = "second"
local alignorientation = Instance.new("AlignOrientation", hrp)
alignorientation.Attachment0 = attachmente2
alignorientation.Attachment1 = attachmente1
alignorientation.Enabled = true
local velocity = Instance.new("BodyVelocity", hrp)
velocity.MaxForce = Vector3.new(math.huge, 0, math.huge)
velocity.Name = "dick"
velocity.P = 10000
velocity.Velocity = lookvector * 100
elseif key.KeyCode == Enum.KeyCode.Space then
jump.Value = true
end
end)
uis.InputEnded:Connect(function(key, proces)
if proces == true then return end
if key.KeyCode == Enum.KeyCode.LeftShift then
animations.roll:Stop()
debounce.Value = false
char.Humanoid.AutoRotate = true
local humnaoid = char.HumanoidRootPart
local array = humnaoid:GetChildren()
local Part1 = humnaoid.dick
local Part2 = humnaoid.CULO
local Part3 = humnaoid.motor
local Part4 = humnaoid.first
local Part5 = Part2.second
if table.find(array, Part1) or table.find(array, Part2) or table.find(array, Part3) or table.find(array, Part4) or table.find(array, Part5) then
game.Debris:AddItem(Part1, 0)
game.Debris:AddItem(Part2, 0)
game.Debris:AddItem(Part3, 0)
game.Debris:AddItem(Part4, 0)
game.Debris:AddItem(Part5, 0)
end
elseif key.KeyCode == Enum.KeyCode.Space then
jump.Value = false
end
end)
(client side script btw)