So I made my own zipline from scratch which would be used within the game. The zipline works using a Motor6d, welds and TeenService. The issue here is that my round system doesn’t seem to teleport the player while the player is ziplining. Is there a way to fix this? I was thinking of different methods but none have yet to pop into my brain.
Video:
Sorry for the lag spikes. That’s all my pc can give me at the moment. If someone could help I would really appreciate it.
I believe the problem is that tweenservice is rapidly incrementing your position further down the zipline, so if you teleport successfuly to the game, you instantly go back to the zipline. Try stopping the tween whenever a game starts. Hope this helps!
Adding onto what the others said, it’s most likely because of the zip line moving your position as well as trying to teleport. You could try making a special addition to your teleportation script that makes any players on the zip line eject from it then teleport them. Maybe assign a value to a players character thats currently on a zip line and check for that before teleporting?
Are you firing any sort of event when the round has started? If not you could and then anyone on the zip line when the event is fired would be ejected then teleported.
Well I was thinking more of a bindable event for when your round is starting. I’m assuming your round handler is using a server sided script? You can use a for loop to find any players who are on the zip line and eject them, maybe try making them jump? If you don’t want to do it in your handler script you could try making a bindable event and making a separate script.
For example:
When someone gets on the zip line you add a value to their player, or character, letting us know they’re currently in the zip line and the value would get removed when they exit the zip line. Then when your round starts use a for loop to find all the players who might be on a zip line by checking for the value assigned to them. Then just eject all the players who are on the zip line, maybe by making their characters jump.
Could you share your round handler/teleportation script?
Ok I think my other reply solved it pretty much.
It is kind of hard to tell what is going on because it looks like you are using a module, but I can try and direct you towards where to put the lines of code I showed above.
The round starts after this line:
gameModule.Countdown(30, 0, -1, status, "A new round is starting in: ")
so that is about where you should set roundInProgress to true.
I can’t tell if you have finished the whole round system and when it should end, but I think you should set roundInProgress to false about where it where it says