im not sure how to do this, and im not sure where to add it. help?
local dss = game:GetService("DataStoreService") local ds = dss:GetDataStore("DATA STORES") local taggerh = game.ReplicatedStorage.BombTagReplicatedStorage.Highlights.TaggerH function saveData(plr) if not plr:FindFirstChild("FAILED TO LOAD DATA") then local cash = plr.leaderstats.Cash.Value local success, err = nil, nil while not success do success, err = pcall(function() return ds:SetAsync(plr.UserId, cash) end) warn(err) task.wait(0.1) end end end game.Players.PlayerRemoving:Connect(saveData) game:BindToClose(function() for i, plr in pairs(game.Players:GetPlayers()) do saveData(plr) end end) game.Players.PlayerAdded:Connect(function(plr) local ls = Instance.new("Folder") ls.Name = "leaderstats" ls.Parent = plr local cashValue = Instance.new("IntValue") cashValue.Name = "Cash" cashValue.Parent = ls local success, data = pcall(function() return ds:GetAsync(plr.UserId) end) if success then cashValue.Value = data or 0 else local failedValue = Instance.new("StringValue") failedValue.Name = "FAILED TO LOAD DATA" task.wait(1) failedValue.Parent = plr end end) local rs = game.ReplicatedStorage:WaitForChild("BombTagReplicatedStorage") local config = require(rs:WaitForChild("CONFIGURATION")) local maps = rs:WaitForChild("Maps") local status = Instance.new("StringValue") status.Name = "STATUS" status.Parent = rs local currentTagged = Instance.new("ObjectValue") currentTagged.Name = "CURRENT TAGGED PLAYER" currentTagged.Parent = rs local explodeTimer = Instance.new("IntValue") explodeTimer.Name = "EXPLODE TIMER" explodeTimer.Parent = rs function getPlayers(playerList) local playerList = playerList or game.Players:GetPlayers() local playersInGame = {} for i, plr in pairs(playerList) do local char = plr.Parent == game.Players and plr.Character or plr if char and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then table.insert(playersInGame, char) end end return playersInGame end while true do local playersInGame = {} while #playersInGame < config.MinimumPlayersNeeded do playersInGame = getPlayers() if #playersInGame < config.MinimumPlayersNeeded then local neededPlayers = config.MinimumPlayersNeeded - #playersInGame status.Value = "Waiting for " .. neededPlayers .. " more player" .. (neededPlayers ~= 1 and "s" or "") task.wait(1) end end for i = config.IntermissionTime, 0, -1 do status.Value = "Choosing map in " .. i .. " seconds" task.wait(1) end local chosenMap = maps:GetChildren()[Random.new():NextInteger(1, #maps:GetChildren())]:Clone() chosenMap.Parent = workspace status.Value = "Now entering " .. chosenMap.Name task.wait(config.MapWaitTime) playersInGame = getPlayers() if #playersInGame < config.MinimumPlayersNeeded then break else local tagDebounce = false for i, char in pairs(playersInGame) do char.Humanoid.WalkSpeed = config.SurvivorSpeed char.HumanoidRootPart.CFrame = chosenMap.SPAWN.CFrame char.Humanoid.Touched:Connect(function(hit) if not tagDebounce and currentTagged.Value then local hitChar = hit.Parent if game.Players:GetPlayerFromCharacter(hitChar) then if char == currentTagged.Value then tagDebounce = true char.Humanoid.WalkSpeed = config.SurvivorSpeed hitChar.Humanoid.WalkSpeed = config.TaggedSpeed currentTagged.Value = hitChar task.wait(config.TagCooldown) tagDebounce = false elseif hitChar == currentTagged.Value then tagDebounce = true hitChar.Humanoid.WalkSpeed = config.SurvivorSpeed char.Humanoid.WalkSpeed = config.TaggedSpeed currentTagged.Value = char task.wait(config.TagCooldown) tagDebounce = false end end end end) end local iterations = 0 while true do iterations += 1 playersInGame = getPlayers(playersInGame) if #playersInGame > 1 then local randomChar = playersInGame[Random.new():NextInteger(1, #playersInGame)] randomChar.Humanoid.WalkSpeed = config.TaggedSpeed if iterations == 1 then randomChar.HumanoidRootPart.Anchored = true for i = config.PreparationTime, 0, -1 do status.Value = randomChar.Name .. " is tagged. You have " .. i .. "s to run." task.wait(1) end currentTagged.Value = randomChar status.Value = randomChar.Name .. " is tagged" randomChar.HumanoidRootPart.Anchored = false else currentTagged.Value = randomChar status.Value = randomChar.Name .. " is tagged" end local explodesIn = config.BombExplodeTimes[#playersInGame] explodeTimer.Value = explodesIn local bombTimerStarted = tick() while tick() - bombTimerStarted < explodesIn do game:GetService("RunService").Heartbeat:Wait() explodeTimer.Value = explodesIn - math.round(tick() - bombTimerStarted) if not currentTagged.Value or #getPlayers(playersInGame) < 2 then break end end if currentTagged.Value and #getPlayers(playersInGame) >= 2 then local explosion = Instance.new("Explosion") explosion.DestroyJointRadiusPercent = 0 explosion.Position = currentTagged.Value.HumanoidRootPart.Position explosion.Parent = workspace currentTagged.Value.Humanoid.Health = 0 currentTagged.Value = nil end else break end end local winner = game.Players:GetPlayerFromCharacter(playersInGame[1]) if winner then winner.leaderstats.Cash.Value += config.SurviveReward status.Value = winner.Name .. " wins!" end chosenMap:Destroy() for i, plr in pairs(game.Players:GetPlayers()) do plr:LoadCharacter() end task.wait(config.RoundEndTime) end end