Перейти к содержимому
Zone of Games Forum
0wn3df1x

Скрипты Оунедфикса

Рекомендованные сообщения

Ultimate Steam Enhancer || Tamper Monkey

Описание и ссылки перенесены в блог, посвящённый скрипту.

 

 

Изменено пользователем 0wn3df1x
  • Лайк (+1) 1
  • Спасибо (+1) 2
  • +1 1

Поделиться сообщением


Ссылка на сообщение

SteamDB - Sales; Ultimate Enhancer || Tamper Monkey

Описание и ссылки перенесены в блог, посвящённый скрипту.

 

Изменено пользователем 0wn3df1x
  • Лайк (+1) 1

Поделиться сообщением


Ссылка на сообщение

Важная информация для пользователей Google Chrome (версии 138 и новее)

Если вы столкнулись с тем, что скрипты перестали работать (особенно после переустановки/обновления браузера или расширения Tampermonkey), пожалуйста, ознакомьтесь с информацией ниже.

Подробное разъяснение проблемы

Начиная с версии 138, Google внедрила новый, более строгий механизм безопасности для браузера Chrome. Ранее для работы пользовательских скриптов достаточно было включить общий "Режим разработчика" в настройках расширений.

Теперь эта логика изменена. Google считает глобальный переключатель небезопасным и заменила его на индивидуальное разрешение для каждого расширения. Для всех новых установок расширений, способных выполнять скрипты (как Tampermonkey), это разрешение по умолчанию выключено.

Именно поэтому после чистой установки или переустановки Tampermonkey скрипты могут не работать — браузер просто не дает расширению права на выполнение кода.

Пошаговая инструкция по исправлению

Как включить разрешение:

  1. Откройте страницу расширений (три вертикальные точки в правом верхнем углу экрана) > Расширения > Управления расширениями. Самый простой способ — вставить в адресную строку chrome://extensions и нажать Enter.
  2. Найдите в списке установленных расширений Tampermonkey и нажмите на кнопку "Сведения".
  3. На открывшейся странице вы увидите список всех настроек и разрешений для Tampermonkey. Прокрутите вниз и найдите переключатель с названием "Разрешить пользовательские скрипты" (Allow User Scripts).
  4. Активируйте этот переключатель.

Поделиться сообщением


Ссылка на сообщение

В связи со сменой дизайна Plati.market (быв. Plati.ru), вчера был переработан скрипт PlatiMarket - Search; Сборщик-сортировщик. Он превратился в Plati.Market MegaSearch. Сегодня я продолжил улучшать Plati.Market MegaSearch и начал перенос другого скрипта PlatiMarket - Каталогизатор на новые рельсы.

В результате переноса новых скриптов на новый дизайн сайта, они были объединены в единый скрипт:
Plati.Market; Ultimate Enhancer || Tamper Monkey

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

Скрытый текст

MegaSearch

1ORX26U.png

MegaCatalog
snmPFpM.png

Скрытый текст

Часть 1: MegaSearch - Поиск по всему маркетплейсу
Эта часть скрипта активируется на любой странице Plati.Market, кроме каталога.

  • Кнопка "MegaSearch": На главной странице и в других разделах сайта рядом с логотипом Plati.Market появляется кнопка "MegaSearch".
    uJTbBre.png
  • Модальное окно поиска: Щелчок по кнопке "MegaSearch" открывает полноэкранное модальное окно в темных тонах. Вся работа с поиском происходит здесь.
  • Умный поиск с подсказками: Вверху окна расположена строка поиска. Начните вводить название товара, и скрипт, используя API подсказок Plati.Market, предложит вам релевантные варианты автодополнения. Щелчок по подсказке немедленно запускает поиск по выбранному запросу.
  • Загрузка всех результатов: После ввода запроса и нажатия "Найти" (или щелчка по подсказке), скрипт обращается к API Plati.Market и загружает информацию сразу обо всех товарах, соответствующих запросу, без необходимости листать страницы.
  • Отображение в виде карточек: Все найденные товары представляются в виде информативных карточек, расположенных сеткой.
  • Расширенная информация на карточках:
    • Изображение товара.
    • Цена.
    • Полное название товара.
    • Рейтинг продавца.
    • Количество положительных и отрицательных отзывов.
    • Количество возвратов.
    • Количество продаж.
    • Дата добавления товара.
    • Кликабельное имя продавца, ведущее на его страницу.
    • Кнопка "Перейти" на страницу товара.
    • Значок "New" для недавно добавленных товаров.
  • Мгновенная сортировка: Над результатами поиска расположены кнопки для быстрой сортировки найденных товаров:
    • Цена: По возрастанию или убыванию.
    • Продажи: По убыванию или возрастанию.
    • Доп. сорт. (выпадающее меню):
      • По Названию (А-Я / Я-А).
      • По Дате добавления (Новые / Старые).
      • По % в скид. системе (Большая / Маленькая).
      • По Рейтингу продавца (Высокий / Низкий).
      • По Соотношению отзывов (Лучшее / Худшее).
      • По Кол-ву хороших отзывов (Больше / Меньше).
      • По Кол-ву плохих отзывов (Меньше / Больше).
      • По Кол-ву возвратов (Меньше / Больше).
    • Кнопка сброса для возврата к сортировке по релевантности (как выдал API).
    • Первый щелчок по любой сортировке применяет ее в наиболее логичном направлении (например, цена - по возрастанию, продажи - по убыванию). Повторный щелчок меняет направление. Выбранная сортировка сохраняется.
  • Выбор валюты: Выпадающий список позволяет выбрать валюту (RUR, USD, EUR, UAH), в которой будут отображаться цены на карточках и работать ценовые фильтры. Выбор сохраняется.
  • Фильтры (левая панель): Слева расположена фиксированная панель с фильтрами, применяемыми "на лету":
    • Диапазон Цен (от/до).
    • Диапазон Продаж (от/до).
    • Диапазон Рейтинга продавца (от/до).
    • Опции: "Скрыть с плохими отзывами", "Скрыть с возвратами", "Система скидок".
    • Фильтр по Дате добавления (предустановленные периоды: за сутки, неделю, месяц и т.д., или "За все время").
    • В полях "от" и "до" отображаются минимальные и максимальные значения из загруженных результатов в качестве подсказки.
    • Есть кнопки для сброса каждого отдельного фильтра и кнопка для сброса всех фильтров сразу.
    • Все настройки фильтров сохраняются между сессиями.
  • Исключения (правая панель): Справа находится фиксированная панель для управления исключениями:
    • Поле для ввода слова (или части имени продавца), которое нужно исключить.
    • Кнопка "+" для добавления слова в список исключений.
    • Добавленные слова отображаются под полем ввода в виде "облачков".
    • Товары, в названии или имени продавца которых встречается любое из слов-исключений, мгновенно скрываются из результатов.
    • Щелчок по облачку удаляет слово из списка исключений.
    • Список слов-исключений сохраняется между сессиями.

Часть 2: MegaCatalog - Каталог Продавца
Эта часть скрипта активируется на страницах профилей продавцов (https://plati.market/seller/.../.../) и на специальных страницах каталогов (https://plati.market/asp/block_goods_s2.asp?...).

  • Кнопка "MegaCatalog": На странице профиля продавца, справа от кнопки "Задать вопрос" добавляется кнопка "MegaCatalog".
    HmAvCSu.png
  • Переход к каталогу: Щелчок по кнопке "MegaCatalog" перенаправляет вас на специальную страницу (block_goods_s2.asp), содержащую товары этого продавца.
  • Улучшенная страница каталога (block_goods_s2.asp):
    • Редизайн: Стандартный вид страницы полностью заменяется на интерфейс в стиле MegaSearch с темным фоном и карточками товаров.
    • Панель управления: Над списком товаров появляется панель с элементами управления:
      • Кнопка "Собрать каталог": Запускает процесс фоновой загрузки всех товаров данного продавца.
      • Кнопки сортировки: "По умолчанию" (порядок загрузки), "Название" (А-Я/Я-А), "Цена" (Дешевле/Дороже), “Продажи" (Больше/Меньше), “Новизна” (Новее/Старее; когда добавил продавец). Щелчки меняют направление.
      • Индикатор статуса/прогресса: Отображает текущее состояние (загрузка, обработка, количество товаров, ошибки) и показывает прогресс-бар во время сбора каталога.
    • Фильтры каталога (левая панель): Как и в MegaSearch, слева появляется фиксированная панель с фильтрами, но специфичная для каталога:
      • Диапазон Цен (от/до).
      • Диапазон Продаж (от/до).
      • Плейсхолдеры с мин/макс значениями.
      • Кнопки сброса для каждого фильтра и всех фильтров.
      • Настройки сохраняются отдельно от фильтров MegaSearch.
    • Исключения каталога (правая панель): Справа добавляется фиксированная панель для исключений, аналогичная MegaSearch, но со своим списком слов:
      • Поле ввода и кнопка "+" для добавления исключений.
      • Облачка тегов с исключенными словами под полем ввода.
      • Щелчок по облачку удаляет его.
      • Список сохраняется отдельно от исключений MegaSearch.
    • Сбор полного каталога:
      • При щелчке по "Собрать каталог" скрипт сначала определяет общее количество товаров продавца.
      • Затем в фоне (без перезагрузки страницы) загружает все необходимые страницы каталога.
      • Во время загрузки отображается прогресс.
      • После завершения все товары продавца отображаются на странице в виде карточек. Кнопка сбора скрывается.
    • Отображение карточек: Товары отображаются в виде карточек, аналогичных MegaSearch. На карточке: изображение, цена, название, количество продаж.
    • Применение фильтров/исключений: Фильтры по цене/продажам и слова-исключения применяются к отображаемому списку товаров (либо к первой странице, либо ко всему собранному каталогу) "на лету".

При работе с каталогами продавцов, у которых тысячи товаров, применение фильтров и направлений сортировки может происходить с небольшой задержкой.

Код скрипта на GreasyFork

Скрытый текст

 

 

 

 

 

Скрытый текст

Версия 1.1

  • MegaCatalog:
    • Новая функция: Добавлена опция сортировки "Новизна". Товары теперь можно сортировать по их идентификатору (data-id), что позволяет отображать самые новые товары первыми (сортировка по убыванию ID).
    • Улучшение: Реализовано автоматическое удаление дубликатов товаров при полном сборе каталога продавца. Если один и тот же товар (с одинаковым ID) встречается на нескольких страницах, в итоговом списке он будет представлен только один раз.
    • Обновлены соответствующие элементы интерфейса и логика для поддержки новой сортировки и корректного отображения кнопок.

snmPFpM.png

 

 

 

 

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

Steam Widget Region Fix || Tamper Monkey

Скрипт для разблокировки регионально недоступных виджетов Steam на любом сайте. 

m8QwygH.png

Описание и код скрипта

Как это работает?

Скрипт предназначен для решения одной конкретной задачи - разблокировки информационных виджетов Steam на сторонних сайтах (например, SteamDB), которые показывают ошибку из-за региональных ограничений.

  1. Он автоматически находит на любой странице виджеты от Steam.
  2. Скрипт сперва проверяет, действительно ли виджет заблокирован (ищет текст ошибки).
  3. Если блокировка подтверждена, он последовательно пытается разблокировать его, перебирая разные регионы (us, ch, kz, jp) и устанавливая русский язык (l=russian), пока не найдет рабочий вариант. || Можно добавить свой регион, делается так:
    
    const REGIONS_TO_TRY = ['us', 'ch', 'kz', 'jp'];
    меняется на
    
    const REGIONS_TO_TRY = ['az', 'us', 'ch', 'kz', 'jp'];

     
  4. Если ни один из регионов не помог, виджет заменяется на информативное сообщение об ошибке.
  5. Скрипт обрабатывает как стандартный атрибут src, так и data-src, который используется для "ленивой загрузки" виджетов.
  6. Благодаря использованию MutationObserver, скрипт также отслеживает и исправляет виджеты, которые подгружаются на страницу динамически.

Установка

  1. Убедитесь, что у вас установлено браузерное расширение Tampermonkey (или его аналог).
  2. Нажмите на значок расширения и выберите “Создать новый скрипт”
  3. Замените содержимое на открывшейся странице на скрипт ниже.
  4. Нажмите файл > сохранить.

Код скрипта (Версия 1.0)


// ==UserScript==
// @name         Steam Widget Region Fix
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Находит заблокированные виджеты Steam, проверяет их содержимое и последовательно подбирает регион для разблокировки.
// @author       0wn3df1x
// @match        *://*/*
// @grant        GM_xmlhttpRequest
// @connect      store.steampowered.com
// @connect      steamcommunity.com
// @run-at       document-idle
// ==/UserScript==

(function() {
    'use strict';

    const REGIONS_TO_TRY = ['us', 'ch', 'kz', 'jp'];
    const LANGUAGE = 'russian';
    const ERROR_TEXT_MARKER = 'Невозможно загрузить информацию об этом предмете';
    const FINAL_ERROR_MESSAGE = 'Не удаётся разблокировать виджет, все регионы проверены.';
    const TARGET_URL_PART = 'store.steampowered.com/widget/';

    const isUrlBlocked = (urlString) => {
        return new Promise((resolve) => {
            GM_xmlhttpRequest({
                method: "GET",
                url: urlString,
                onload: function(response) {
                    if (response.responseText && response.responseText.includes(ERROR_TEXT_MARKER)) {
                        resolve(true);
                    } else {
                        resolve(false);
                    }
                },
                onerror: function() {
                    resolve(true);
                }
            });
        });
    };

    const createFallbackElement = () => {
        const fallback = document.createElement('div');
        fallback.textContent = FINAL_ERROR_MESSAGE;
        fallback.style.cssText = `
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 100px;
            background-color: #1b2838;
            color: #ff6b6b;
            font-family: 'Motiva Sans', sans-serif;
            font-size: 14px;
            text-align: center;
            border: 1px dashed #ff6b6b;
            padding: 10px;
            box-sizing: border-box;
        `;
        return fallback;
    };

    const processIframe = async (iframe) => {
        if (iframe.dataset.steamWidgetProcessed) {
            return;
        }
        iframe.dataset.steamWidgetProcessed = 'true';

        const originalUrl = iframe.src || iframe.dataset.src;
        if (!originalUrl || !originalUrl.includes(TARGET_URL_PART)) {
            return;
        }

        console.log(`[Steam Widget Fix] Проверяю виджет:`, iframe);

        const isInitiallyBlocked = await isUrlBlocked(originalUrl);
        if (!isInitiallyBlocked) {
            console.log(`[Steam Widget Fix] Виджет не заблокирован, пропускаю.`);
            return;
        }

        console.log(`[Steam Widget Fix] Виджет заблокирован. Начинаю подбор региона...`);

        for (const region of REGIONS_TO_TRY) {
            const url = new URL(originalUrl);
            url.searchParams.set('cc', region);
            url.searchParams.set('l', LANGUAGE);
            const newUrlString = url.toString();

            console.log(`[Steam Widget Fix] -> Пробую регион: ${region} (${newUrlString})`);

            const isStillBlocked = await isUrlBlocked(newUrlString);
            if (!isStillBlocked) {
                console.log(`[Steam Widget Fix] УСПЕХ! Регион '${region}' работает. Обновляю iframe.`);
                if (iframe.src) iframe.src = newUrlString;
                if (iframe.dataset.src) iframe.dataset.src = newUrlString;
                return;
            }
        }

        console.error(`[Steam Widget Fix] НЕУДАЧА. Ни один из регионов не помог. Заменяю виджет.`);
        const fallbackElement = createFallbackElement();
        if (iframe.parentNode) {
            iframe.parentNode.replaceChild(fallbackElement, iframe);
        }
    };

    const observeAndProcess = () => {
        const selector = `iframe[src*="${TARGET_URL_PART}"], iframe[data-src*="${TARGET_URL_PART}"]`;

        document.querySelectorAll(selector).forEach(processIframe);

        const observer = new MutationObserver((mutations) => {
            for (const mutation of mutations) {
                for (const node of mutation.addedNodes) {
                    if (node.nodeType === Node.ELEMENT_NODE) {
                        if (node.matches(selector)) {
                            processIframe(node);
                        } else {
                            node.querySelectorAll(selector).forEach(processIframe);
                        }
                    }
                }
            }
        });

        observer.observe(document.documentElement, {
            childList: true,
            subtree: true
        });
    };

    observeAndProcess();

})();

 

Поделиться сообщением


Ссылка на сообщение

Ultimate Game Finder || Tamper Monkey

Описание и ссылки перенесены в блог, посвящённый скрипту.

Поделиться сообщением


Ссылка на сообщение
В 06.03.2025 в 18:29, 0wn3df1x сказал:

Сперва жмём кнопку “Собрать список скрытых игр”

 

В 06.03.2025 в 18:29, 0wn3df1x сказал:

Затем жмём кнопку “Узнать недоступные игры” и ждём

Выдаёт ошибку: “Ошибка при проверке доступности”. В чём проблема? Подскажите, пожалуста.

Поделиться сообщением


Ссылка на сообщение
В 10.08.2026 в 02:35, Alex Po Quest сказал:

 

Выдаёт ошибку: “Ошибка при проверке доступности”. В чём проблема? Подскажите, пожалуста.

Это старый скрипт. Надо будет проверить его на работоспособность. Более современный функционал встроен в Ultimate Steam Enhancer.

Поделиться сообщением


Ссылка на сообщение
1 час назад, 0wn3df1x сказал:

Это старый скрипт. Надо будет проверить его на работоспособность. Более современный функционал встроен в Ultimate Steam Enhancer.

Ок. Спасибо за ответ. Попробуем.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • я проходил с русиком от allodernat, весьма достойно. Сюжет — ничего нового. Страшного тоже, но игра неплохая. По крайне мере я не пожалел, что прошел до конца. И голову можно поломать в некоторых местах.
    • Продолжаю неспешно проходить атомик по паре коротких забегов от сейва до сейва примерно пару раз в неделю в среднем. Вчера вот выбрался из комплекса Вавилов. Удивился, что по итогу не было эпичного боя с Борщевиком-переростком (а я-то уж было огненных картриджей наделал, эх) — только короткая сценка и коридор с боями с обычными врагами после.   Думаю, такими темпами засловраню игру приблизительно за год.
    • Релиз русификатора Vampire: The Masquerade — Out for Blood! Приветствую, Сородичи! Отличные новости! Работа над очередным переводом полностью завершена. На этот раз я готов представить вам полный русификатор для Vampire: The Masquerade — Out for Blood! Картинки не понял как вставить, но их можно тут посмотреть: https://boosty.to/evd282/posts/7120579d-377a-4b67-86a8-cb7d4455c83d?share=post_link Скачать для Windows (файл app.asar):
      Яндекс-Диск https://disk.yandex.ru/d/NlcpeVRSLCO4SA Google-Диск https://drive.google.com/file/d/1MouuNDhZwxqLgwfeIeTqbSP8PYONqWxr/view Скачать для Mac (zip-архив):
      Яндекс-Диск https://drive.google.com/file/d/1MouuNDhZwxqLgwfeIeTqbSP8PYONqWxr/view Google-Диск https://drive.google.com/file/d/1WAFJHCNNkTbvzsE73JuxFXbCVeMAKVXh/view (Для Steam Deck используйте файлы для Windows). Исходники и открытый код (GitHub):
      Если вы хотите заглянуть «под капот» перевода, собрать файлы самостоятельно или сообщить о найденном баге — все исходники моих проектов выложены в открытый доступ: Out for Blood: https://github.com/HaT1e/vampire-out-for-blood-ru (Если вы хотите помочь с поиском опечаток в новом переводе, пишите комментарии или создавайте Issues на GitHub). Правовая информация и лицензия:
      Оригинальные игры принадлежат Choice of Games и их авторам. Мои русификаторы являются неофициальной модификацией и не содержат самих игр.
      Все файлы перевода созданы мной, Evil Dream (HaT1e), и распространяются по лицензии CC BY-NC-SA 4.0. Вы можете свободно играть и изменять файлы для себя, но продавать перевод или использовать его в коммерческих целях строго запрещено. Указание моего авторства при использовании файлов обязательно. Copyright © 2026 Evil Dream (HaT1e). Если мои переводы помогают вам скрашивать вечера, вы всегда можете поддержать автора добрым словом или донатом. Любая поддержка помогает переводить игры быстрее и вдохновляет на новые проекты. Спасибо, что вы со мной! Приятной игры в мире Тьмы!
    • v1.2 от 26.10.26:
      - доработка взаимодействия с квестовыми NPC на русском языке (английские ключевые фразы тоже сработают!)
      - несколько исправлений ошибок
      - доперевод нескольких проблемных мест (названия навыков в меню навыков, состояние залежей, левел ап, названия улучшенной экипировки)
    • Есть новости по озвучке? Скоро уже как год анонсировали 
    • Версия перевода 0.25
      (с лаунчером+ для самообновления через git)    
    • голос диктора накладывается не перевод и получается полная мешанина, местами перевода вовсе нет… печально, ждём дальше )
    • @Dagnarus1 чел сам виноват)) не пинганул тебя. Тут большинство таких   И даже если бы ты ему ответил, не факт, чтобы он ещё что-то написал после. А если бы ему было нужно, он бы сам тебе написал, всё-таки, чтобы посмотреть кто автор несложно.
  • Изменения статусов

    • edifiei

      «Как говорил мой дед — делай добро и пихай его в гнома»
      · 0 ответов
    • goosemose  »  Orionus

      Здраствуйте
      Хотел спросить за руссификатор для Dragon Quest 3, есть ли бесплатный для пк? Или только платный недавно купил ее в стиме, думал что на пк есть руссификатор, уже некоторое время ищу и нахожу либу пустые файлы либо платные, хотя по коментариям вроде видно что был на пк бесплатный перевод.
      Подскажите пожалуйста.
       
      · 0 ответов
    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 1 ответ
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
  • Лучшие авторы


×