Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

one way door script works in roblox studios but not roblox game engine, really bad for my game?

here is the script that I need help with:

door = script.Parent

function onTouch(hit) if hit.Parent == nil then return end local h = hit.Parent:FindFirstChild("Humanoid") if h ~= nil then hit.Parent.Torso.Velocity=door.CFrame.lookVector * 100 -- Push the Player back end end door.Touched:connect(onTouch)

this is a one way door and it only works in roblox studio but not roblox game engine when I test play it in roblox studios it works just fine but opon publishing it, it dose not work

3 comments

0

Is your game R15? You use "Torso", and sometimes Studio uses R6 unless you tell it otherwise. Use "LowerTorso" if your game's R15

0

thanks, my game is R15 and i will fix that

0

update: it worked! thanks so much!

1 answer

✓ Accepted answer

Your game might be r15 or player's choice so a fix that would allow for both would be

function onTouch(hit) 
if hit.Parent == nil then 
return end 
local h = hit.Parent:FindFirstChild("Humanoid") 
if h ~= nil then 
if hit.Parent:FindFirstChild("LowerTorso") then
hit.Parent.LowerTorso.Velocity=door.CFrame.lookVector * 100
else
hit.Parent.Torso.Velocity = door.CFrame.lookVector * 100
end
end 
end 
door.Touched:connect(onTouch)

or you could just push the humanoidrootpart which is in both r15 and r6 models

function onTouch(hit) 
if hit.Parent == nil then 
return end 
local h = hit.Parent:FindFirstChild("Humanoid") 
if h ~= nil then 
hit.Parent.HumanoidRootPart.Velocity = door.CFrame.lookVector * 100
end 
end 
door.Touched:connect(onTouch)

This discussion is preserved as it was. New answers, comments, and votes are closed.