How can i achieve this?

So, I’m currently trying to make a game inspired by this game.

I’ve tried welding the character to a part that is welded to my object, but that didn’t work—it made the characters unable to move at all. I also tried using hinge constraints, but they just made the characters and the object fly. Lastly, I experimented with ropes, but they caused a lot of lag.

If you have any ideas on how I can achieve something like this, please let me know!

1 Like

Not sure what exactly the game is but just after a brief skim, if the issue is that an object is preventing the character from moving it may be because the Anchored property is enabled. Make sure to disable this, otherwise your character will be Anchored too. Hope this helps :slightly_smiling_face:

Yes, the part was unanchored. The issue i found was that when i used welds, if one player jumped it made the other do it too. Should i use a hingeconstraint between the part the plaer gets welded to and the object they are holding? When i tried that method i feelt like it just made everything laggy and messy…

I would use a HingeConstraint that rotates up and down, and then try and debug it so that it actually works.

So, i messed around with the HingeConstraint but the issue still occured. What settings do you think i should use?

What problem are you specifically encountering?

When one player is jumping, so does the other. They are not independent in there movement.

If you didn’t end up figuring it out.
The HingeConstraint is making both jump, or is it the WeldConstraint?

I’m not trying to be rude here, I just want to help you with your post so we can help you out much more easily. :slight_smile:

Please use better descriptions.
Explain in the title what you are trying to achieve.
If every title in the forums read “how can I achieve this” or “my script doesn’t work” we can’t tell what the heck your post is about. (Imagine a book with the title “This is a book”)

Inside the post telling us exactly what you want to do rather than posting a long video with a whole bunch of random things about the game in it is very confusing. Typing something as simple as “I’m trying to join 2 players but now the players don’t move properly” would be more helpful than most of what you’ve said.

Remember that we can’t read your mind, so you have to explain things in very basic ways to start with, then if you have more details you can provide them lower in the post.

And finally, since you’re looking for help in the Scripting Support forum you should copy/paste your script here so we can see it. It’ll format properly for the post if you put 3 backticks (```) before and after which makes it much easier to read.

Anyways…
Part of your issue is that you’re trying to join 2 humanoids. If you try the Search tool up top with “welding 2 players together” or “joining 2 players with a rope” or whatever gets some Solved results you’ll find that a lot of other people have already asked this kind of question and have their problems solved in those posts.

1 Like

Im sorry if im not clear enough. Englsh is not my first language so its hard for me to describe the issue. I will think of what you wrote in the future.

The video i linked just described briefly on how he fixed the delay between the players, not how he got the players to be able to walk around with the log. The timestamp 1:05 you can see what im trying to achieve, two players holding an object(In my case a piece of glass) and being able to walk around with it.

So in my case i have a video, as you can see the player can only jump and turn around, not walk.

I use this code:

local WalkingModel = script:WaitForChild("WalkingModel")


function Weld(A0, A1)
	local i = Instance.new("WeldConstraint")
	i.Part0 = A0
	i.Part1 = A1
	i.Parent = A0
end

function setupGlass(playersTable) 
	local ClonedGlass = WalkingModel:Clone()
	ClonedGlass.Parent = workspace

	local Character1 = playersTable[1].Character
	local Character2 = playersTable[2].Character

	ClonedGlass.Glass:SetNetworkOwner(nil)

	ClonedGlass.Glass.CFrame = CFrame.new(0, 5, 0)

	--// PLAYER 1 \\--
	Character1.PrimaryPart.CFrame = ClonedGlass.Pos1.CFrame
	ClonedGlass.Pos1.AlignPosition.Attachment1 = Character1.HumanoidRootPart.RootAttachment
	
	--// PLAYER 2 \\--
	Character2.PrimaryPart.CFrame = ClonedGlass.Pos2.CFrame
	ClonedGlass.Pos2.AlignPosition.Attachment1 = Character2.HumanoidRootPart.RootAttachment
	
	Weld(Character1.PrimaryPart, ClonedGlass.Pos1)
	Weld(Character2.PrimaryPart, ClonedGlass.Pos1)
	
	task.delay(3, function()
		if ClonedGlass and ClonedGlass.Glass then
			ClonedGlass.Glass.Anchored = false
		end
	end)
end



local PairModule = {}

function PairModule.SendPairRequest(PlayerSending: Player)
	local Character = PlayerSending.Character or PlayerSending.CharacterAdded:Wait()
	local HumanoidRootPart: Part = Character:WaitForChild("HumanoidRootPart")

	local playersInGame = game:GetService("Players"):GetPlayers()

	repeat task.wait(2) until #playersInGame == 2

	setupGlass(playersInGame)
end

return PairModule

Im sorry if i have been confusing and not clear with my goal, hope this will give some clearity!

1 Like