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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • пфф… какие унылые человеки , еще повод ищут. Нужно быть проще : ЕА — говно !
      ЕА — итарасы !
      ЕА — политизированное болото ! - фсё, мне стало легче)
       
    • И в чем проблема? Типо в том, что может оказаться биос урезанным и там не будет такой функции? Тогда это справедливый гнев. Но если это гнев потому что, человек не хочет или не умеет включать эту опцию, то это бредовый гнев. Тогда нужно жаловаться, что игра требует установки стим, да и вообще винды. Если человек винду не умеет устанавливать, надо пойти пожаловаться, что нужна винда для игры. 
    • Нет. Вы не поняли. В проге у вас прямо написано почему не открывается. Решение кроется там же в программе либо в топике темы. Но вы не читали нечего
    • Я говорю о решении проблемы с файлом, а ты — о том, что я якобы не умею читать.
      Я прекрасно читаю и понимаю, о чём ты говоришь.
      Проблема простая: файл нельзя редактировать напрямую в «Блокноте».
      Если попытаться изменить в нём любой текст, игра сломается
    • Похоже весь английский шрифт заменён на русский.
    • В какой-то мере довольно красноречиво показывает то, как же много людей ставило вин11 на железо, которое не поддерживает Secure Boot, используя довольно-таки простой обход этой проверки установщиком винды. А ещё более красноречиво показывает то, насколько больше людей пользуются вин10 (где не было требования на Secure Boot, а следовательно, простые юзеры дефолтные настройки биоса и не трогали, даже если у них вообще и была такая опция), игнорируя 11-ю винду из тех, кто является их явными покупателями. Ко всему прочему, в мире огромное число людей, которые довольствуются логикой: поставил комп (зачастую даже готовый или собранный кем-либо другим под заказ), включил, работает. “Работает — не трогай”: могут даже обои не всегда дефолтные разбираться как менять, а тут от них хотят аж в биос залезать. То есть и это данные оценки также весьма красноречиво показывают.
    • текстуры на 99%: (без названия игры и некоторой непереводимой служебной информации) переведены. пример  в 1.0.5 изменились 2 ID по текстурам, остальное вроде на месте
    • И без того грустный онлайн игры, станет ещё грустнее. Давайте, жгите сильнее ЕА, чё уж тут, добить труп перед выпуском новой части. 
    • Белое — не чёрное, а потому за 100-150 часов можно достичь сингулярности. У тебя логика примерно такая вот. Ложные выводы, сделанные на основании заведомо некорректного примера, не имеющего никакого отношения к исходной теме. Сразу видно, что в текстовые квесты/адвенчуры и прочие подобные игры ты ни разу не играл. Визуальные новелы, являющиеся по сути интерактивными графическими книгами, похоже, что ты тоже играми перестал считать, забавно. Не важно, что считаешь ты сам, важно, что это вне зависимости от твоего желания считается играми. Собственно, сводя  игровой процесс шахматной игры банальным преставлению фигур ты сам и называешь руки — частью геймплея, а всё прочее — это так, для галочки по-твоему выходит. Ты ж фигуры чем переставляешь — руками или хвостом? Ну, исторически, игры в широком смысле появились задолго до письменности, не удивлюсь, если первые игры были уже во времена самых первых людей, а то и раньше, даже животные играют так или иначе. Это один из основных методов проведения досуга для получения развлечений. При этом были они куда примитивнее нынешнего великого разнообразия и ничего, люди годами могли играть даже банально в слова, а крестики-нолики вообще были чем-то крышесносным на момент их появления. Чего уж тут говорить про современное великое разнообразие игра как вне компов и игровых приставок, до игр классических в самом разнообразном их проявлении (при этом оцифрованные версии и таких игр тоже обычно бывают). То есть можно было бы так-то ещё один момент указать. Что не только книгами люди тысячелетиями не насытились ,но и играми увлекаются вообще десятками тысяч лет и ничего — не надоедают. А потому и игры современные, которые де факто имеют исторические наработки огромного числа лет в той или иной мере, но будут пользоваться спросом.  Но не стал об этом говорить Даскеру — всё равно не поверит, он же из другого мира. Человече, у нас тут даже самолётом возможно управлять с джойтика. Казалось бы систему с огромным числом рычагов и переключателей упростили до банального ввода через управляемую ручку с парой кнопок. А в симулятор человека, где каждой конечностью надо управлять отдельно никогда не играл? А вот ведь смогли же ж, хотя казалось бы, куда ж ещё сложнее. Но нет ,есть ещё и классические рогалики, где управление на клаве подобно игре на пианино, но всё-таки оно же возможно. Если тебе не хватает на что-то фантазии, то не надо обобщать и заявлять о невозможности чего-либо в принципе. Итого, технически ограничения есть только у тебя в голове, а на практике что угодно реализуемо, любой даже самый невероятный процесс можно свести к вполне реализуемому на практике методу ввода для управления чем-либо. А в случае популярных нетривиальных задач появляются и специализированные контроллеры типа авиационных джойстиков, рулей и аэромышей (в т.ч. нинтендовские виимоты как пример реализации данного подхода на практике).
    • Снова нытье на пустом месте. Забавно, что по традиции читы уже готовы и тестируются.
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×