Bus stops when trying to weld a player to its floor

Can you give the file of your place? Or send the link of the BusModel with his scripts?

1 Like

@Eternalove_fan32
EEE.rbxl (671.4 KB)
This is the place file.
The main script is in
Prop_Cobus_2700S->A chasis tune-> A chasis Interface-> Prop -> Server Controller

The welding script starts from line #75

@Aqeix
I randomly took a free model from the toolbox so I have not scripted the bus.
And I dont find tweening anywhere except in UIs

I want the player to be freeze in a standing position with welds. When I just try to set the jump power and walk speed to 0, the player starts to move when you drive the player with full speed.

1 Like

Instead of using welds, use a seat instead

1 Like

Yes I am aware that I can use seats but, I want them standing not sitting.

I’ve never tried this, but, try setting the humanoid property, “platform stand” to true

1 Like

I have experimented with it.
But when I set it to true, the character kind of like sinks/slips down the baseplate.

Hmm, then, last option, set the walkspeed to 0

1 Like

I have tried setting the walkspeed and jump power both to 0.

Since the bus is moving I need to weld the player to the floor of the bus otherwise the player gets fling out of the bus.

I am now thinking of giving up on this lol

TweenService can be used to tween parts smoothly. I feel like this may be the only way.

Wait until I get home I’ll do some code for you.

4 Likes

I think it’s maybe you are trying to move clients, when they have their own force, it’s just a script, fighting because clients are trying to move and the bus want’s them to not move and be welded.

1 Like

Hmm yes, you are maybe correct.

Also, Why would you want to Weld, you can use :Sit Method, for example

for my script to work, you will need TagEditor plugin

local CollectionService = game:GetService("CollectionService")
local players = game:GetService("Players")
local plr = players.LocalPlayer
local Character = plr.Character or plr.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")

local Seats = CollectionService:GetTagged("BusSeat")

while (true) do
	for i,v in pairs(Seats) do
		local distance = plr:DistanceFromCharacter(v.Position)
	
		if (distance <= 6) then
			if (not v.Occupant) and not (Humanoid.Sit) then
			v:Sit(Humanoid)
			plr.Character.Humanoid.JumpPower = 0
			end
		
		end
		end
	wait(0.40)
end

This script will basically make this: Once you are near a seat named: “BusSeat” you will get sitted, and if there’s no occupant

Script should go in StarterPlayerScripts

300000000000charrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs

I give you te place.[quote=“FastAsFlash_Dev, post:23, topic:434112”]
Since the bus is moving I need to weld the player to the floor of the bus otherwise the player gets fling out of the bus.
[/quote]

Oh alrighty, but then it’s a client fighting for his own movement.

Still, if my script works, here you go :slight_smile: ForYou.rbxl (672.0 KB) Or you can use it sometime here it is :slight_smile:

Yeah, it turns out that you are right. I am now trying to use platform stand to solve this.

And thank you for the script :slight_smile:

1 Like

I’d recommend reviewing this post as it shows how jailbreak does it.


Just tween the bus normally and have that script in StarterCharacter.

2 Likes

As an alternative, if you wanted to you can check out the gravity controller EgoMoose recently released:


if i understand your problem correctly, it might be similar to what you are trying to do.

That’s actually not the best alternative, as Ego stated there are numerous bugs and the fact it applies to all instead of specific throws a problem. It’d be best to use the Jailbreak one since it’s specific, and has 0 known bugs to use.

If you open up the module you can see that you can set it for specific things. In the place i linked i used a raycast, but you could easily use it only when the player is on the bus and disable it when they get off.

1 Like