Features that shouldn't be features

Why are features such as pressing “=” to drop your hats and backspace to drop your tool fundamental to the game when they only create problems in modern roblox development.

It feels like these features are remnants of Roblox’s initial design where the developers didn’t expect the game to become as complex as it is today. It would make sense considering the complexity of todays games that these features can be switched off completely or aren’t implemented at all. After all the point of roblox is that the players make the games and if you’re implementing game-play features that are standardized across all games it’s impacting our ability to create our own.

We shouldn’t have to code our own solutions to stopping players from using features like these in the case that they break something. Instead we should have to code our own solution to if we need a player TO BE ABLE to drop their hat or drop their tool.

Ok

So make a feature request

I think disabling hat dropping would best be done by making it part of the control script so that people can just disable that script. I think there’s already a system in place to prevent dropping tools, isn’t there a bool property of tools?

EDIT: Tool.CanBeDropped

EDIT 2: The thread is now a feature request

Yeah, but there’s no real method of disabling the dropping of hats without coding around it which is kind of annoying.

I can’t really speak for tool dropping, but there are more games that benefit from hat dropping than not. Dropping hats is a social element where you can trade hats with people in-game. Taking them off doesn’t present a problem in most games, so it’s only beneficial in those games thanks to the social element. I don’t see why those features should have to be hardcoded (even though they wouldn’t be for the most part) when they’re only a problem for a minority of games. Though, I agree with Ethan about them being put in the control script since that seems more appropriate.

Btw for anyone who doesn’t know how to prevent the dropping of hats, all you have to do is create another weld between the hat and head. Pulled straight from my Hat Manager (allows hat dropping to be disabled, negates weight of hats, scales and moves them into the head and then offsets the mesh back to their original position so they don’t affect character hitboxes, allows you to pick up up to three hats instead of one, auto-cleanup after drop after x seconds, and click to pick up instead of touch):

character.ChildAdded:connect(function(child)
      if child:IsA("Hat") then
		if not hatsDroppable then
			spawn(function() 
				child.Parent = head 
				local weld = Instance.new("Weld", head)
				weld.Part0 = head
				weld.Part1 = child:GetChildren()[1]
				weld.C1 = child.AttachmentPoint - Vector3.new(0,0.5,0) 
			end)
		end
	end
end)
4 Likes

That is pretty awesome! Very clever idea!

I just use a script to clean up spare hats in workspace

if someone wants to ditch their hat, that’s fine

but I don’t want them dirtying up my baseplate/lobby/whatever with a million copies of “Pal Hair”