Pegar item do chão

Com esse código, você consegue coletar itens a partir de um clique do mouse esquerdo em cima dele.

Passo 1:

Adicione um ClickDetector na parte que será coletável. Adicione também um StrValue e o renomeie para Nome.

Pasted image 20250228120923.png|300

Passo 2:

Adicione um Script dentro do ClickDetector, e cole o seguinte código:

local Players = game:GetService("Players")
local clickDetector = script.Parent
local object = clickDetector.Parent
local name = object:FindFirstChild("Nome")

clickDetector.MouseClick:Connect(function(player)
	
	print("ClickDetector ativado por:", player.Name)
	local tool = Instance.new("Tool")
	tool.Name = name.Value
	tool.RequiresHandle = true
	tool.Parent = player.Backpack
	object.Name = "Handle"
	object.Parent = player.Backpack:FindFirstChild(name.Value)
	object.Anchored = false
	
end)



Como esse código funciona?

Primeiro é importante saber o que eu preciso fazer para clicar num objeto e depois fazer ele ir para o inventário do jogador:

  1. Conectar uma função ao ClickDetector;
  2. Quando clicar, descobrir quem clicou no objeto;
  3. Encontrar o inventário do jogador e mover a peça para lá.

local Players = game:GetService("Players")
local clickDetector = script.Parent
local object = clickDetector.Parent
local name = object:FindFirstChild("Nome")

Essa parte está apenas conectando as coisas que preciso pro meu código funcionar. Nele estou procurando a pasta Players, onde fica o inventário de cada jogador. também estou instanciando meu ClickDetector e a parte principal que meu script está conectado. Por fim, estou procurando o StrValue com nome de "Nome".

clickDetector.MouseClick:Connect(function(player)
...
end)

A função que vai iniciar o código quando alguém pressionar o botão. Tudo que está dentro dessa função é o que será executado.

local tool = Instance.new("Tool")
	tool.Name = name.Value
	tool.RequiresHandle = true
	tool.Parent = player.Backpack
	object.Name = "Handle"
	object.Parent = player.Backpack:FindFirstChild(name.Value)
	object.Anchored = false

para que o objeto apareça no inventário do jogador e possa ser segurado, precisamos criar uma parte chamada Tool dentro do inventário do player e mover a parte para dentro dela.
Nesse código estamos: