Ski lift conveyor not working

So I am trying to make a ski lift for my game, and I was making a control board. This has happened on some of my other lifts I tried to make. Basically when I press stop, of course the conveyors stop and all the chairs stop. But then, when I try to start them back up, they start, and work normally, but the chairs don’t move. But if I drop a part on them or walk into them with my character, then the go and act normally. I have tried many methods like parts moving to make them go, but it hasn’t worked. It might be roblox physics, but if there is an answer please tell me. Also if you need any code segments or screenshots, just ask and I’ll see if I can send them

2 Likes

You could try setting the network ownership to nil

SkiLift:SetNetworkOwnership(nil)

Not sure if it will work but it could

3 Likes

Hi, how would I implement this? I’m only a low intermediate scripter, so where would I put this?

Are you using the Touched() event to move parts on the lift? If so, you are probably running into the issue where the touch events don’t fire again, so the chairs do not move.

here is the stop script… I don’t think I’m using touched events

--haltscript (makes lift stop)

wait(5)
currentspeed = workspace.PublicLiftValues.CurrentSpeed

script.Parent.MouseClick:Connect(function()
	print("clicked stop")
	if currentspeed.Value == 15 then
		currentspeed.Value = 14
		wait(1)
		currentspeed.Value = 12
		wait(0.8)
		currentspeed.Value = 9
		wait(0.6)
		currentspeed.Value = 6
		wait(0.6)
		currentspeed.Value = 2.5
		wait(0.6)
		currentspeed.Value = 1
		wait(0.3)
		currentspeed.Value = 0
		print("stopped lift")
	else
	
	end

end)

and heres the start script

--startscript (makes lift go)
wait(5)
currentspeed = workspace.PublicLiftValues.CurrentSpeed
print("current speed found")
print(currentspeed.Value)
script.Parent.MouseClick:Connect(function()
	print("clicked")
	if currentspeed.Value == 0 then
		print("clicked, starting up")
		currentspeed.Value = 1
		wait(1)
		currentspeed.Value = 3
		wait(0.8)
		currentspeed.Value = 5
		wait(0.6)
		currentspeed.Value = 8
		wait(0.6)
		currentspeed.Value = 11
		wait(0.6)
		currentspeed.Value = 15
		print(currentspeed.Value.. " is the new speed")
	else
		print("stop ittttt")
	end
	
end)
2 Likes

I think Scripting Support suits your issue more

I did building because this might be related to roblox physics, and maybe someone there could help

You could try putting a script inside the model itself with this code :

Script.Parent:SetNetworkOwnership(nil)

Tell me if it works and if not ill keep trying to help

The model of the ropes? Because theres maybe 100 parts of the ropes and I could put that script inside…

Ohh ok. Can you send a screenshot of the ski lift in the explorer?



The top picture is the explorer, and the bottom one is showing the script for the conveyor

1 Like

If there is a MoveScript in every single rope part you might want to have just one script to change everything. You can put a single script in the ropes folder with this code :

local function Update()
	for i, Rope in pairs(script.Parent:GetChildren()) do
		if Rope:IsA("Part") then
			Rope:SetNetworkOwner(nil)
			Rope.AssemblyLinearVelocity = Rope.CFrame.XVector * workspace.PublicLiftValues.CurrentSpeed.Value
		end
	end
end

while true do
	Update()
	wait(0.1)
end

Im still trying to understand what the problem is, so if you could send a video that would be helpful

1 Like

I will send a video in a little bit, but basically the problem is when I tell the conveyors to go, they move but the things on the conveyor (the chairs) don’t move. But when a part or something hits/touches it, it goes again. To me, it sounds like a roblox physics issue, but I couldn’t find any other posts about it so I feel like I might be doing something wrong. I will try your script, hopefully it works! Thanks

Im glad to help and hope we can get it to work!

Okay so I tried your scripts, but it was the same as before, so when I’d stop it, and start it again they wouldn’t move
https://gyazo.com/25f67c4134c1f3108482725a57b668ce
That first clip is me stopping the lift (sorry it is kind of hard to see)
https://gyazo.com/33004af9f982ddb2b331453713b4ebb3
That second one is showing how when I start it, they don’t move until I touch it

1 Like

Try putting a BoolValue into the PublicLiftValues folder and name it “ChangingSpeed”
Then change the stop script code to :

wait(5)

local CurrentSpeed = workspace.PublicLiftValues.CurrentSpeed
local CurrentlyEasing = workspace.PublicLiftValues.ChangingSpeed

script.Parent.MouseClick:Connect(function()
	print("Stop Lift")
	if not CurrentlyEasing.Value then
		CurrentlyEasing.Value = true
		local Tween = game:GetService("TweenService"):Create(CurrentSpeed, TweenInfo.new(4, Enum.EasingStyle.Quad), {Value = 0})
		Tween:Play()
		Tween.Completed:Wait()
		CurrentlyEasing.Value = false
	end
end)

And the start script code to :

wait(5)

local CurrentSpeed = workspace.PublicLiftValues.CurrentSpeed
local CurrentlyEasing = workspace.PublicLiftValues.ChangingSpeed

script.Parent.MouseClick:Connect(function()
	print("Start Lift")
	if not CurrentlyEasing.Value then
		CurrentlyEasing.Value = true
		local Tween = game:GetService("TweenService"):Create(CurrentSpeed, TweenInfo.new(4, Enum.EasingStyle.Quad), {Value = 15})
		Tween:Play()
		Tween.Completed:Wait()
		CurrentlyEasing.Value = false
	end
end)

It might help fix the problem.

1 Like

I really like those scripts because they ease them with tweening (which I don’t know how to do), but it still doesn’t work. It starts the conveyors normally, but still, no luck. I made a testing game with a conveyor, a part, and two parts, one which makes the speed +1 and the other -1. After it being at 0, and then starting back up, if I went on the conveyor, I would move but the part wouldn’t. But when I touch the part, it would then go. It is annoying because I don’t know anyone else with this problem, so it might just be me. How about I share the place with you using team create and then you can see if you have the same problem?

Sure! You could try so i can really see where everything is. Still hoping we can figure this out!

Put a script inside any part inside the sky zip and make it say

script.Parent:SetNetworkOwnership(nil)

After that see if it works

What is the Sky Zip? Is it a folder or model?