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

Teleportation in small rooms?

Asked by 8 years ago
Edited 8 years ago

Hello! I have been experimenting with free models to try and get players to teleport inside of a small interior prop of a subway train when they approach the prop subway train. There seems to be an issue with teleportation scripts as I spawn on top of the interior and not inside.

SCRIPT(s) (Requested)

function onTouched(part)
    if part.Parent ~= nil then
    local h = part.Parent:findFirstChild("Humanoid")
        if h~=nil then
            local teleportfrom=script.Parent.Enabled.Value
            if teleportfrom~=0 then
                if h==humanoid then
                return
                end
                local teleportto=script.Parent.Parent:findFirstChild(modelname)
                if teleportto~=nil then
                    local torso = h.Parent.Torso
                    local location = {teleportto.Position}
                    local i = 1

                    local x = location[i].x
                    local y = location[i].y
                    local z = location[i].z

                    x = x + math.random(-1, 1)
                    z = z + math.random(-1, 1)
                    y = y + math.random(2, 3)

                    local cf = torso.CFrame
                    local lx = 0
                    local ly = y
                    local lz = 0

                    script.Parent.Enabled.Value=0
                    teleportto.Enabled.Value=0
                    torso.CFrame = CFrame.new(Vector3.new(x,y,z), Vector3.new(lx,ly,lz))
                    wait(3)
                    script.Parent.Enabled.Value=1
                    teleportto.Enabled.Value=1
                else
                    print("Could not find teleporter!")
                end
            end
        end
    end
end

script.Parent.Touched:connect(onTouched)

How can I get a player to spawn inside the prop interior instead of outside it?

-Wafflesandwich1

0
Post the code of the script. RubenKan 3615 — 8y
0
Please edit your post and include the script in question. Pyrondon 2089 — 8y
0
@RubenKan, @Pyrondon, These are not my scripts, I'm just trying to make a script where a player would spawn inside of a small room, I just seem to be spawning on top of the room. That's all. I added the script (not mine) anyway. WaffleSandwich1 6 — 8y
0
dont use this :| this is way too complicated for such and easy task. btw here is a tip, not saying u did anything wrong just saying: moveto() function puts players on top of an object and cframe puts the player inside Inpolite 44 — 8y

1 answer

Log in to vote
0
Answered by 8 years ago
Edited 7 years ago

Hmm. It seems you are over thinking this. So here's what you could do to make it easier. Here's what I would do. Place a brick inside the interior prop where you want people to spawn. And one where you want people to touch to teleport to that other interior brick.

local tpdoorbrick = game.Workspace.tpdoorbrick --locating door tp brick
local tpinteriorbrick = game.Workspace.tpinteriorbrick -- locating the brick u tp to
tpdoorbrick.Touched:connect(function(hit) --function that occurs when you touch the tp brick
    if hit.Parent and hit.Parent.Humanoid and hit.Parent.Humanoid.Health > 0 and hit.Parent.Character then -- these 2 lines are checking to see if the player is there/real
    hit.Parent.Torso.CFrame = tpinteriorbrick.CFrame.new + Vector3.new(0, 3, 0) --[[ teleporting the player to the interior. the plus vector3.new is to put the player above the brick so he doesn't spawn in the floor, but not on top of the prop. the reason i put him 3 studs above the ground, is because the torso is 3 studs above the ground--]]
end) --ending the function

This is just a way more simple way of doing it. I hope it works for you and keep scripting!

0
Theres an easier way than that. -=@ [Link Failed] @=- PlayableReviews 0 — 8y
0
Uh I just added those green things to help direct him so rlly it's not that big but all the other stuff is to just check for humanoids and etc. Inpolite 44 — 8y
Ad

Answer this question