Клонування Tools

Як зробити, щоб при дотику гравця до певного Part у нього в інвентарі (тобто в Backpack) з’являвся інструмент (Tool) із ReplicatedStorage.


🧩 Крок 1. Підготуй об’єкти в Roblox Studio

  1. У ReplicatedStorage створи Tool (наприклад, назви його MagicWand).

  2. У Workspace створи Part, який буде “збиральним предметом” — наприклад, TouchPart.

  3. У TouchPart додай Script (не LocalScript!).


⚙️ Крок 2. Код серверного скрипта

-- Workspace.TouchPart.Script local part = script.Parent local toolName = "MagicWand" -- назва Tool у ReplicatedStorage local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local tool = ReplicatedStorage:WaitForChild(toolName) part.Touched:Connect(function(hit) local character = hit.Parent local player = Players:GetPlayerFromCharacter(character) if player then -- Перевіримо, чи вже є цей Tool у гравця if not player.Backpack:FindFirstChild(tool.Name) and not character:FindFirstChild(tool.Name) then local clone = tool:Clone() clone.Parent = player.Backpack print(player.Name .. " отримав " .. tool.Name) end end end)

🧠 Пояснення

  • part.Touched — спрацьовує, коли щось торкається Part’а.

  • hit.Parent — шукаємо модель персонажа (Character), який торкнувся.

  • Players:GetPlayerFromCharacter — отримуємо об’єкт гравця.

  • tool:Clone() — копіюємо Tool із ReplicatedStorage.

  • clone.Parent = player.Backpack — додаємо Tool у рюкзак гравця.


⚠️ Додатково

✅ Якщо хочеш, щоб Part зник після підбору:

part:Destroy()

✅ Якщо хочеш, щоб Tool з’являвся лише один раз:

part.CanTouch = false

✅ Якщо хочеш, щоб Tool з’являвся тільки для певних гравців — можна перевірити player.Name або player.Team.