как сделать монету со звуком,анимацией,сбором,респавном,и добавлением денег на баланс в роблокс!
скрипт на leaderstats: game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local cash = Instance.new("IntValue") cash.Name = "Cash" -- название вашей валюты cash.Value = 0 cash.Parent = leaderstats end) скрипт на респавн: local ReplicatedStorage = game:GetService("ReplicatedStorage") local Workspace = game:GetService("Workspace") local itemTemplate = ReplicatedStorage:WaitForChild("ItemTemplate") -- предмет-шаблон local spawnPoint = Workspace:WaitForChild("ItemSpawnPoint") -- Part или координата Vector3 local respawnTime = 5 -- время до респавна (в секундах) -- Функция респавна local function spawnItem() local itemClone = itemTemplate:Clone() itemClone.Parent = Workspace itemClone.Position = spawnPoint.Position -- Автоудаление и повторный респавн, если нужно itemClone.AncestryChanged:Connect(function(child, parent) if not parent then -- предмет был удалён wait(respawnTime) spawnItem() end end) end -- Первый запуск spawnItem() скрипт на монету: local coin = script.Parent local coinValue = 10 local debounce = {} local pickupSound = coin:FindFirstChild("PickupSound") local TweenService = game:GetService("TweenService") -- Настройка анимации исчезновения local tweenInfo = TweenInfo.new( 0.5, -- Время анимации (в секундах) Enum.EasingStyle.Quad, -- Стиль анимации (плавное замедление) Enum.EasingDirection.Out, -- Направление анимации (затухание) 0, -- Количество повторов (0 — только один раз) false, -- Инвертировать анимацию 0 -- Задержка перед повтором (не требуется) ) local goal = {Transparency = 1} -- Цель: сделать монету полностью прозрачной coin.Touched:Connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player and not debounce[player] then debounce[player] = true local stats = player:FindFirstChild("leaderstats") if stats and stats:FindFirstChild("Cash") then stats.Cash.Value = stats.Cash.Value + coinValue end -- Воспроизвести звук if pickupSound then pickupSound:Play() end -- Анимация исчезновения монеты local tween = TweenService:Create(coin, tweenInfo, goal) tween:Play() -- Подождать, пока анимация завершится, затем удалить монету tween.Completed:Connect(function() if coin then coin:Destroy() end end) end end)
скрипт на leaderstats: game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local cash = Instance.new("IntValue") cash.Name = "Cash" -- название вашей валюты cash.Value = 0 cash.Parent = leaderstats end) скрипт на респавн: local ReplicatedStorage = game:GetService("ReplicatedStorage") local Workspace = game:GetService("Workspace") local itemTemplate = ReplicatedStorage:WaitForChild("ItemTemplate") -- предмет-шаблон local spawnPoint = Workspace:WaitForChild("ItemSpawnPoint") -- Part или координата Vector3 local respawnTime = 5 -- время до респавна (в секундах) -- Функция респавна local function spawnItem() local itemClone = itemTemplate:Clone() itemClone.Parent = Workspace itemClone.Position = spawnPoint.Position -- Автоудаление и повторный респавн, если нужно itemClone.AncestryChanged:Connect(function(child, parent) if not parent then -- предмет был удалён wait(respawnTime) spawnItem() end end) end -- Первый запуск spawnItem() скрипт на монету: local coin = script.Parent local coinValue = 10 local debounce = {} local pickupSound = coin:FindFirstChild("PickupSound") local TweenService = game:GetService("TweenService") -- Настройка анимации исчезновения local tweenInfo = TweenInfo.new( 0.5, -- Время анимации (в секундах) Enum.EasingStyle.Quad, -- Стиль анимации (плавное замедление) Enum.EasingDirection.Out, -- Направление анимации (затухание) 0, -- Количество повторов (0 — только один раз) false, -- Инвертировать анимацию 0 -- Задержка перед повтором (не требуется) ) local goal = {Transparency = 1} -- Цель: сделать монету полностью прозрачной coin.Touched:Connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player and not debounce[player] then debounce[player] = true local stats = player:FindFirstChild("leaderstats") if stats and stats:FindFirstChild("Cash") then stats.Cash.Value = stats.Cash.Value + coinValue end -- Воспроизвести звук if pickupSound then pickupSound:Play() end -- Анимация исчезновения монеты local tween = TweenService:Create(coin, tweenInfo, goal) tween:Play() -- Подождать, пока анимация завершится, затем удалить монету tween.Completed:Connect(function() if coin then coin:Destroy() end end) end end)