UPDATE: Influenced by Kingdom Hearts I wanted to upgrade this system for a quest I’m working on. Presenting Box Lifting! It does not have to be a box. You can easily change it to any model.
To utilize this feature you simply give a boolean attribute to the box model saying Lift = true as demonstrated on the magenta box. The main hook of this behavior was this chunk of code where we distinguish between a pushing box and a lifting box and the lifting box gets a neat tweening animation using the Motor6D which results in the box lifted over your head.
Luckily I’m a wizard so I was able to imagine up this relationship.
if lift==true then
local anim2 = character.Humanoid:LoadAnimation(scri.Lift)
anim2:Play(.5)
local handtorso=math.abs(character.PrimaryPart.Position.Y-character.LeftHand.Position.Y)+(character.PrimaryPart.Size.Y*.5)--+(character.LeftHand.Size.X*.5)
local originframe=physicalConnection.C0
game.TweenService:Create(physicalConnection,TweenInfo.new(1),{C0=physicalConnection.C0:ToWorldSpace(CFrame.new(0,handtorso+(script.Parent.Block.Size.Y*.5),0))}):Play()
task.delay(2,function()
handtorso=math.abs(character.PrimaryPart.Position.Y-character.LeftHand.Position.Y)+(character.PrimaryPart.Size.Y*.5)--+(character.LeftHand.Size.X*.5)
game.TweenService:Create(physicalConnection,TweenInfo.new(1),{C0=originframe:ToWorldSpace(CFrame.new(0,handtorso+(script.Parent.Block.Size.Y*.5),-(script.Parent.Block.Size.Z*.5+(character.PrimaryPart.Size.Z*.5))))}):Play()
for _, v in ipairs(modelarray) do
pcall(function()
if v:IsA("BasePart") then
v.Anchored = false
v:SetNetworkOwner(player)
end
end)
end
--task.wait(1)
anim:Play()
task.wait(1)
anim2:Stop(.5)
anim2:Destroy()
end)
else
anim:Play(.5)
end
This is a post presenting some new tech I developed for the moving of boxes
The box is a physics based object where the union allows the box to rotate on slopes
I made this because I also want to make those puzzles where you have to place boxes on platforms to activate them for example this one interacts with an object of the same color as a basic example.
it turns green when completed.
I have also included an example of using the box as a primitive to create different types of moving boxes.
The Red union is to illustrate and is normally invisible.
The module required to run this is located in the ServerStorage.
That being said, you can try out the Tech and Download a copy at this link!
Box Mover Tech Demo - Roblox
Quick little update; I have saved a new copy with the animsave provided .
I have tested and optimized the collisions.
So thus this is super efficient.
Check out the touch connection.
function touch(v)
print("Touched Recalled")
v.Touched:Once(function(hit)
print("Touched")
if not moving then
local touched = onTouch(hit, v)
if not touched then
task.wait(0.1)
touch(v)
end
else
repeat
task.wait(3)
until not moving
touch(v)
end
end)
end
You can try out and download some of my other tech demos if you wish, here they are!
–Terrain Climber: Jump to climb sloped terrain .
–Realistic Water Effects Tech Demo








