Перейти к содержимому
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.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Сейчас популярно

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

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

    • Ну тогда надо эту хорошую новость до Тирниэля донести. Всё было нормально до сегодняшнего вечера, а вечером у Тирниэля началась его фирменная шиза. Сначала он спросил почему я не купил сисон пасс для Реанимал, а купил отдельное первое длс.Я ответил, что длс может не понравится мне и тогда я не буду покупать остальные два. Зачем мне сисон пасс в таком случае? И его вдруг переклинило, он начал докапываться, что ведь ни разу не было, чтобы я покупал длс и не докупал впоследствие остальные, дескать всё равно же куплю. Я ему говорю, с чего ты взял и вообще я не помню ничего не про купленные длс ни про сисон пассы, я наверное редко это делаю, а сисон пасс вроде вообще никогда не покупал, а брал только по отдельным длс. И тут у него начинается шиза, мне это очень напомнило такую же шизу у пермского резидента по поводу меня и даскера. Как будто у обоих какой-то дефект мозга. Значит Тирниэль откапал у меня в библиотеке, какую-то игру с купленом сисон пассом, и начал конкретно так давить, почему я соврал и всё в таком духе. Типа зачем я вру про сисон пассы. Я охрегел с этого честно сказать и написал чтото типа: да, вот я сижу и целыми днями обдумываю, как бы н******ть Тирниэля, сказать что я никогда не брал сисон пассы, а на самом то деле я брал, ух как я сейчас его наколю этой темой ахахаха....  Я пишу, ты совсем чтоли больной? Заканчивай. Думаешь я специально тебя здесь обманываю? (Ну очевидно же, что может я когда-то давно и брал пасс, просто этого не помню, потому что давно и потому что может это только один раз и было. А он: зачем ты врёшь, зачем тебе это надо и всё продолжает. Конкретная шиза. Нахрен мне такое выслушивать. Я послал его. И потом написал, что мне нравится с ним общаться, но если он ещё раз до******ся до меня с похожим дерьмом, то нашему общению конец, мне этот негатив ни с того ни с сего не нужен, одного шиза я уже послал, не будь следующим, так что заканчивай эту хрень, по крайней мере со мной. У него бывают подобные заскоки, но весь этот месяц, что мы общались всё было норм, и вот под конец чёто там переклинило. Ну а я эту хрень терпеть не собираюсь вот и всё.  Если выводов с того, что ему написал, он не сделает, то значит и общению конец, по крайней мере в таком виде, как оно было в течении этого месяца, больше не будет.
    • А через переходник будет полноценно работать?
    • На том китайце вроде через USB Type-C выход DP реализован. Нужно просто переходник докупить.
    • Все тогда норм,это нормально . Тут бы фото с Малышевой ,но мне лень искать Просто предваляйте что оно тут есть. 
    • Обновлена версия для пк build26070955 (ver1.3.0) Harvest Moon Echoes of Teradea
    • Да, DP это Display port. И как бы да, ты прав, на всех современных картах есть хотя бы 1 HDMI и 1 DP.   У меня вот 3 DP и 1 HDMI, а на прошлой карте было аж 2 HDMI и 3 DP. Но вот Тирниэль, такой у нас продвинутый, шарящий и уникальный человек, что умудрился все же найти 5060 без DP.  Хочется смеяться, но это на самом деле не смешно ни для меня, ни для него. У него ноутбучная 5060 В составе какого-то мини пк. Я в этом не особо шарю.
    • DP это дисплей порт?  если да, то как его не может быть на карте?!?!  Это же база, hdmi и DP 
    • @pekatvdmitriypekar живые, но уже переросли фанатские переводы и ушли в профессиональную лигу: https://tolma4team.com/ https://vk.ru/tolma4team
    • По поводу Тирниэля и моего бывшего монитора, это конечно анекдот. Взять новый комп с 5060 и так опростоволоситься с DP. По hdmi Ultimate G-SYNC разумеется не работает, как собственно и макс. всего 60 hz))  В общем половина функционала бездействует. Я бы может и сам не посчитал нужным проверить наличие DP на современной 5060, потому что он там должен быть, но у Тирниэля то непростая 5060, а в сборе чего-то там, здесь уж надо было озаботиться этим моментом. Короче обидно мне п****ц как, уж не знаю как ему, возможно даже пофиг, не помню уже, что он говорил про этот момент. Да, вот выпустили из бани наконец-то. Запарился я там )
    • @piton4 ба, какие люди. И да, шторки реально классно выглядят.)
  • Изменения статусов

    • 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 ответов
  • Лучшие авторы


×