-- In ServerScriptService, add to GameController: local buyItemRemote = Instance.new("RemoteEvent") buyItemRemote.Name = "BuyItem" buyItemRemote.Parent = ReplicatedStorage buyItemRemote.OnServerEvent:Connect(function(player, itemName) local data = playerData[player.UserId] if not data then return end local prices = { ["Speed Boost"] = 500, ["Shield"] = 1000, ["Magnet"] = 750, ["Double Money"] = 2000, } local price = prices[itemName] if price and data.money >= price then data.money = data.money - price -- Apply power-up if itemName == "Speed Boost" then local character = player.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = humanoid.WalkSpeed * 1.2 task.wait(30) humanoid.WalkSpeed = humanoid.WalkSpeed / 1.2 end end elseif itemName == "Double Money" then -- Double money generation for 60 seconds for _, brainrot in ipairs(data.brainrots) do brainrot.moneyPerSec = brainrot.moneyPerSec * 2 end task.wait(60) for _, brainrot in ipairs(data.brainrots) do brainrot.moneyPerSec = brainrot.moneyPerSec / 2 end end -- Notify success local remote = ReplicatedStorage:FindFirstChild("ItemPurchased") if remote then remote:FireClient(player, itemName, true) end else -- Not enough money local remote = ReplicatedStorage:FindFirstChild("ItemPurchased") if remote then remote:FireClient(player, itemName, false) end end end)