Fixing transport orb


Not sure if this attached but anyway I’ll describe it too
So I have this transport orb my friend made for me but it’s a bit outdated, as you can see there’s I die when it takes me and even leaves my body where it took me and then respawn at the destination but that’s not supposed to happen. Any idea how to fix it? I’ll screenshot the script too.

(btw technically the orb is supposed to open, half of it only and then close when it grabs the person but again it isn’t my script and I’m not a scripter so idk how to do that tbh so if y’all maybe had any ideas for that too…

Runner Script (first four lines under aren’t changing but anw-):
Scipio = script.Parent.Main
Standing = script.parent.StandHere
Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0, -10, 0)
pl = {}

    debussy = false

    function inlist(item, remove)
    	for k,v in pairs(pl) do
    		if v == item then
    			if remove then
    				table.remove(pl,k)
    			end
    			return true
    		end
    	end
    	return false
    end

    script.Parent.StandHere.Touched:connect(function(part)
    	local z = game.Players:GetPlayerFromCharacter(part.Parent)
    	if z and not inlist(z) then
    		table.insert(pl, z)
    	end
    end)

    script.Parent.StandHere.TouchEnded:connect(function(part)
    	inlist(game.Players:GetPlayerFromCharacter(part.Parent), true)
    end)


    script.Parent.Clicky.ClickDetector.MouseClick:connect(function()
    	if debussy then return end
    	Scipio.BodyPosition.D = 1250
    	debussy = true
    	Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0, 5, Standing.Size.X/(-2)-20)
    	wait(2)
    	Scipio.BodyPosition.D = 2000
    	local z = pl
    	pl = {}
    	for _,plr in pairs(z) do
    		Scipio['BodyPosition'].Position = plr.Character.HumanoidRootPart.Position
    		plr.Character.Humanoid.WalkSpeed = .01
    		wait(1.5)
    		script.Absorb:Clone().Parent = plr.PlayerGui
    		wait(.5)
    	end
    	Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0,15,0)
    	wait(2)
    	
    	Scipio.BodyPosition.Position = script.parent.End.Position
    	wait(5)
    	for _,plr in pairs(z) do
    		plr:LoadCharacter()
    		plr.Character.HumanoidRootPart.CFrame = Scipio.CFrame
    		wait(1.5)
    		Scipio.BodyPosition.Position=Scipio.BodyPosition.Position + Vector3.new(0, 0, 4)
    	end
    	Scipio.BodyPosition.Position = script.Parent.End.Position+Vector3.new(0, 30, 0)
    	wait(3)
    	Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0, -10, 0)
    	debussy = false
    	wait(2)
    	Scipio.BodyPosition.D = 5000
    end)

Absorb Script:

player = game.Players.LocalPlayer

Camera = game.Workspace.CurrentCamera

Scip = game.Workspace:findFirstChild('Scipio').Main

player.Character = nil

Camera.CameraSubject = Scip
1 Like

Can you make the video into .Mp4? for some reason, it cant attach an .wmv type, You can use this converter. And please make the code more cleaner ,its so hard to read that mess

how do i make it cleaner lol
also i’ll put the video in a few minutes

You should use

.CFrame

.Position – is bugged

1 Like

Ok so I tried that and this time the orb didn’t show up this time :frowning:

U should use .CFrame and
instead of Vector3 u use. * or + CFrame.new(1,1,1)

can you explain just insert it in this line

Scipio.BodyPosition.CFrame = Standing.CFrame+Vector3.new(0, -10, 0)

because I’m still a bit confused

also there’s more than 1 vector3, when i change them to cframe do have to change the coordinates to 1,1,1 for all of them? cuz there are others like 0,30,0 and 0,-10,0 etc

Do it like this:
Scipio.BodyPosition.CFrame = Standing.CFrame+CFrame.new(0, -10, 0)`

1 Like

i tried that but still nothing :frowning:

Does it print errors? > if yes pls send them here

No it’s not printing errors, though when I tried the original script again, the orb went out of control didn’t even stop at the destination… probs cuz it’s outdated

Heres the official fix:

    debussy = false

    function inlist(item, remove)
    	for k,v in pairs(pl) do
    		if v == item then
    			if remove then
    				table.remove(pl,k)
    			end
    			return true
    		end
    	end
    	return false
    end

    script.Parent.StandHere.Touched:connect(function(part)
    	local z = game.Players:GetPlayerFromCharacter(part.Parent)
    	if z and not inlist(z) then
    		table.insert(pl, z)
    	end
    end)

    script.Parent.StandHere.TouchEnded:connect(function(part)
    	inlist(game.Players:GetPlayerFromCharacter(part.Parent), true)
    end)


    script.Parent.Clicky.ClickDetector.MouseClick:connect(function()
    	if debussy then return end
    	Scipio.BodyPosition.D = 1250
    	debussy = true
    	Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0, 5, Standing.Size.X/(-2)-20)
    	wait(2)
    	Scipio.BodyPosition.D = 2000
    	local z = pl
    	pl = {}
    	for _,plr in pairs(z) do
    		Scipio['BodyPosition'].Position = plr.Character.HumanoidRootPart.Position
    		plr.Character.Humanoid.WalkSpeed = .01
    		wait(1.5)
    		script.Absorb:Clone().Parent = plr.PlayerGui
    		wait(.5)
    	end
    	Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0,15,0)
    	wait(2)
    	
    	Scipio.BodyPosition.Position = script.parent.End.Position
    	wait(5)
    	for _,plr in pairs(z) do
    		--plr:LoadCharacter()
    		plr.Character.HumanoidRootPart.CFrame = Scipio.CFrame
    		wait(1.5)
    		Scipio.BodyPosition.Position=Scipio.BodyPosition.Position + Vector3.new(0, 0, 4)
    	end
    	Scipio.BodyPosition.Position = script.Parent.End.Position+Vector3.new(0, 30, 0)
    	wait(3)
    	Scipio.BodyPosition.Position = Standing.Position+Vector3.new(0, -10, 0)
    	debussy = false
    	wait(2)
    	Scipio.BodyPosition.D = 5000
    end)

thank you so much i’ll try it out!

alright so it sort of worked, there’s one problem now and that’s that the camera got stuck with the transport orb and i can’t move :d

oh one more thing, the body is still where it was transported from. It doesn’t die, but it’s still there until the orb gets to the destination to drop me off

You could make it so the PLR avatar gets invisible etc.

oh sorry i just saw this, alright i’ll do that. What about the camera thing? It gets stuck on the transport orb now…

CAM.CameraType = Enum.CameraType.Custom

Camera.CameraSubject = HumanoidRootpart 
1 Like
player = game.Players.LocalPlayer

Camera = game.Workspace.CurrentCamera

Scip = game.Workspace:findFirstChild('Scipio').Main

player.Character = nil

Camera.CameraSubject = Scip

You made this script
so to fix this u have to do Camera.CameraSubject = plr.Character.Humanoid

1 Like