Ultimate Steam Enhancer
Ultimate Steam Enhancer — это мощный пользовательский скрипт для платформы Steam, который добавляет множество полезных функций для улучшения взаимодействия с магазином и сообществом. Скрипт объединяет в себе функционал нескольких популярных инструментов, предоставляя пользователю расширенные возможности для работы с играми, новостями, торговой площадкой и списком желаемого.
Функционал скрипта
1. Индикаторы перевода и дополнительные обзоры на странице игры
- Отображаются значки с информацией о наличии русского интерфейса, озвучки и субтитров.
- Добавляются дополнительные данные об обзорах:
- Тотальные обзоры.
- Тотальные обзоры без китайских.
- Только русские обзоры.
- Возможность просмотра актуальных русскоязычных обзоров в модальном окне при щелчке на "русские".


2. Информация о времени прохождения с HLTB (How Long To Beat)
- На странице игры отображается блок с информацией о времени прохождения, полученной с сайта How Long To Beat.
- Включает данные о времени прохождения для:
- Только сюжета.
- Сюжета + дополнений.
- 100% прохождения.
- Всех стилей игры.
- Время прохождения отображается в часах (если менее часа — в минутах), а также указывается количество человек, на основе прохождения которых рассчитаны данные.
- Поиск времени происходит по имени, с возможностью выбора нужной игры из вариантов.

3. Информация о наличии переводов с ZOG (ZoneOfGames)
- На странице игры отображается блок с информацией о наличии русификаторов (и не только) на ZoneOfGames.
- Включает:
- Название игры (со ссылкой на неё в базе ZOG).
- Информацию о наличии перевода (язык, тип, размер) или его отсутствии (со ссылками на перевод в базе ZOG).
Важно!
- Скрипт использует базу, собранную 05.02.2025. Если база будет обновлена, скрипт автоматически подтянет новую версию.
- Поиск информации осуществляется двумя способами:
- По App ID игры.
- По названию игры (с возможностью выбора нужного варианта).

4. Дополнительная информация и фильтрация по русскому языку в каталоге поиска
- При наведении на игру в каталоге поиска появляется всплывающая подсказка с детальной информацией:
- Издатели.
- Разработчики.
- Серия игр.
- Отзывы.
- Информация о раннем доступе.
- Поддержка русского и английского языков.
- Метки.
- Краткое описание.
- В каталоге поиска справа добавлено меню "Русский перевод":
- Только текст: оставляет игры с русским интерфейсом/субтитрами без озвучки.
- Озвучка: оставляет игры с русской озвучкой.
- Без перевода: оставляет игры без русского языка.

5. Система скрытия игр в каталоге поиска
- В левом углу страницы отображается количество показанных игр.
- У каждой игры появляется чекбокс для отметки игр для последующего скрытия.
- Кнопка "Скрыть выбранное" удаляет отмеченные игры из результатов поиска и добавляет их в официальный список скрытых игр Steam.
- В отличие от встроенной системы, скрипт полностью удаляет элементы, повышая производительность при долгом скроллинге.

6. Система скрытия новостей в новостном центре
- Для каждой новости добавляется чекбокс для последующего скрытия.
- Кнопка "Скрыть" удаляет отмеченные новости.
- Скрытые новости сохраняются в локальном хранилище и не показываются при повторном посещении страницы.
Примечание: Очистка файлов cookie приведёт к удалению информации о скрытых новостях.

7. Информация об исторических продажах на торговой площадке Steam
- На странице предмета добавляется блок с информацией о продажах.
- Данные представлены в формате таблицы, где каждая строка соответствует отдельному году:
- Сумма продаж за год (в рублях).
- Сумма, полученная разработчиком (66.67% от комиссии Steam).
- Сумма, полученная Valve (33.33% от комиссии Steam).

8. Дополнительная информация в ленте активности Steam
- При наведении на игру в ленте активности появляется всплывающая подсказка с детальной информацией:
- Название.
- Изображение.
- Дата выхода.
- Издатели.
- Разработчики.
- Серия игр.
- Отзывы.
- Информация о раннем доступе.
- Поддержка русского и английского языков.
- Метки.
- Краткое описание.

9. Отслеживание изменений дат релиза в списке желаемого и календарь
- В правом верхнем углу страниц Steam появляется кнопка "Отслеживание вишлиста" с:
- Счётчиком непрочитанных уведомлений.
- Индикатором статуса актуальности данных:
- ОК (до 24 ч.).
- ОК? (до 48 ч.).
- ! (до 72 ч.).
- !! (до 96 ч.).
- !!! (более 96 ч.).
- ??? (критическое устаревание или ошибка).
- При нажатии на кнопку открывается панель с:
- Кнопкой "Обновить" для запроса актуальных данных через Steam API.
- Уведомлениями об изменении дат релиза:
- Изображение и название игры (кликабельная ссылка на страницу).
- Старая и новая даты релиза.
- Время обнаружения изменения.
- Кнопки для отметки прочтения и удаления уведомлений.
- Кнопкой "Календарь" для просмотра календаря выхода игр из вашего списка желаемого.
- Игры, дата выхода которых не является точной, при наведении выдают подсказку о квартале, месяце или годе выхода
- Поддерживаются все форматы дат: точные (например, "15.04.2025") и относительные (Coming Soon, TBA, кварталы, месяцы, годы).
Важно!
- Скрипт работает с userdata, поэтому требует авторизации в аккаунте Steam.
- Обработка больших списков желаемого может занять время (10000 игр = 50 запросов).
- Лимит уведомлений: 5000.

10. Информация о времени друзей и статистике достижений
- На странице игры отображается блок с информацией о времени, которое в ней провели друзья, а также о статистике глобальных достижений.
- Время друзей включает:
- Максимальное время прохождения (И ник друга со ссылкой).
- Среднее время прохождения (и указание количества друзей, по которым высчитывалось среднее).
- Минимальное время прохождения.
- Глобальные достижения включают:
- Процент платины.
- Средний прогресс.

11. Агрегатор цен
- На странице игры отображается кнопка "Цены (VGT)" (находится в блоке с "в желаемое", "подписаться" и "скрыть") для отображения цен из магазинов.
- При нажатии кнопки открывается модальное окно с:
- Группировкой предложений по магазинам
- Сортировкой магазинов по минимальной цене
- Возможностью загрузить последующие результаты (пагинация по 40 позиций)
- Реализована система распознавания игр через:
- Прямое совпадение Steam AppID
- Нормализацию названий и алгоритм нечёткого поиска
- Ручной выбор из списка возможных совпадений
- Система использует актуальную базу данных VGTimes на 11.02.2024 (поэтому игры, вышедшие, после этой даты могут не находиться)
Изначально игры выводятся по релятивности, т.е. сочетание цены и соответствия запросу, т.к. иногда в агрегаторе в цены игры могут попадать цены на DLC и другие избыточные вещи (сейчас они обычно оказываются на последующих страницах.
Важно!
- Если скрипт не может найти игру в базе VGT по Steam AppId, то он начинает искать по имени в довольно обширной базе.
- Если идеальное совпадение имени обнаружено, то поиск займёт пару секунд.
- Если идеальное совпадение не обнаружится, то скрипт соберёт все игры, названия которых как-то совпадают, это уже дольше.
- Если скрипт затрудняется найти что-то похожее - поиск займёт ещё дольше. В таком случае страница может подвиснуть на 5-10 секунд).

12. Индикатор раннего доступа
- На странице игры отображается блок с динамическим расчетом продолжительности раннего доступа.
- Для активного раннего доступа: время с момента запуска до текущей даты
- Для вышедших из раннего доступа игр: период от раннего доступа до официального выхода

Инструкция по использованию
Настройка скрипта
Настройте параметры работы скрипта через переменную scriptsConfig
:
const scriptsConfig = {
// Основные скрипты
gamePage: true, // Скрипт для страницы игры (индикаторы о наличии русского перевода; получение дополнительных обзоров) | https://store.steampowered.com/app/*
hltbData: true, // Скрипт для страницы игры (HLTB; получение сведений о времени прохождения) | https://store.steampowered.com/app/*
friendsPlaytime: true, // Скрипт для страницы игры (Время друзей & Достижения) | https://store.steampowered.com/app/*
earlyaccdata: true, // Скрипт для страницы игры (Ранний доступ) | https://store.steampowered.com/app/*
zogInfo: true, // Скрипт для страницы игры (ZOG; получение сведение о наличии русификаторов) | https://store.steampowered.com/app/*
vgtSales: true, // Скрипт для страницы игры (VGT; отображения цен из агрегатора VGTimes) | https://store.steampowered.com/app/*
catalogInfo: true, // Скрипт для получения дополнительной информации об игре при наведении на неё на странице поиска по каталогу | https://store.steampowered.com/search/
catalogHider: false, // Скрипт скрытия игр на странице поиска по каталогу | https://store.steampowered.com/search/
newsFilter: true, // Скрипт для скрытия новостей в новостном центре: | https://store.steampowered.com/news/
Kaznachei: true, // Скрипт для показа годовых и исторических продаж предмета на торговой площадке Steam | https://steamcommunity.com/market/listings/*
homeInfo: false, // Скрипт для получения дополнительной информации об игре при наведении на неё на странице вашей активности Steam | https://steamcommunity.com/my/
wishlistTracker: true, // Скрипт для получения уведомлений об изменении дат выхода игр из вашего списка желаемого Steam | https://steamcommunity.com/my/wishlist/
// Дополнительные настройки
autoExpandHltb: false, // Автоматически раскрывать спойлер HLTB
autoLoadReviews: false, // Автоматически загружать дополнительные обзоры
toggleEnglishLangInfo: false // Отображает данные об английском языке в дополнительной информации при поиске по каталогу и в активности (функция для переводчиков)
};
Использование функций
На странице игры:
- Справа от изображения автоматически появятся индикаторы перевода.
- Под коротким описанием появится кнопка загрузки дополнительных обзоров.
- Справа от короткого описания и под индикаторами перевода появится спойлер с информацией о времени прохождения (HLTB).
- Справа от короткого описания и под блоком HLTB появится спойлер с информацией о наличии переводов с ZOG. Если игра не была найдена по App ID, скрипт попытается найти её по имени, после чего вы сможете выбрать наиболее подходящий вариант.
- Справа от короткого описания и правее индикаторов перевода появится спойлер с информацией о времени прохождения друзей и достижениями.
- Справа от короткого описания и выше индикаторов перевода появится информация о времени нахождения игры в раннем доступе.
- В блоке с "в желаемое", "подписаться" и "скрыть" появится кнопка "Цены (VGT)", при её нажатии откроется агрегатор. Его можно листать, можно нажимать на интересующие вас цены. Если пролистать вниз - будет кнопка "Загрузить ещё". Она заменит текущие цены на оставшиеся, если они есть.
В каталоге поиска:
- При наведении на игру будет показываться дополнительная информация.
- Справа находится меню "Русский перевод":
- Только текст: оставляет игры с русским интерфейсом/субтитрами без озвучки.
- Озвучка: оставляет игры, где обязательно есть русская озвучка.
- Без перевода: оставляет игры, где нет русского.
- Для скрытия игр используйте чекбоксы и кнопку "Скрыть выбранное".
В новостном центре:
- Для каждой новости добавлен чекбокс для последующего скрытия.
- Используйте кнопку "Скрыть" для удаления отмеченных новостей.
На торговой площадке Steam:
- На странице предмета раскройте спойлер "Информация о продажах" для просмотра истории продаж.
В ленте активности Steam:
- При наведении на игру будет показываться дополнительная информация.
Отслеживание вишлиста и календарь:
- На любой странице в правом углу будет кнопка "Отслеживание вишлиста".
- При первом запуске щёлкните по ней, нажмите "Обновить" и дождитесь завершения.
- Следите за индикатором устаревания информации.
- Когда вам кажется, что можно запросить новые данные — снова нажмите "Обновить".
- Используйте кнопку конверта для отметки прочтения уведомления или крестик для удаления.
- Используйте кнопку "Очистить" для удаления всех уведомлений.
- Используйте кнопку "Календарь" для просмотра дат выхода из вашего списка желаемого.
Рекомендации
- Отключайте
catalogHider
, если у вас нет задачи массового перебора игр.
- Для работы скрипта требуется авторизация в аккаунте Steam.