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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • Будут моменты невозможные без потери урона. Противники, порой после кат сцен скриптуются за спиной. Противники любят спамить ударами.  Боёвка — это один вид рукопашки из обычного и сильного удар с блоком, так же дробышь и под конец игры опциональный полуавтомат. Из дробыша трудно попасть, даже в упор по медленным и крупным целям, а там есть ещё летающие и быстрые. Патронов крайне мало, проходил на сложном. Вроде в игре всё есть, но в не обязательных местах в избытке проработано, как тот же дрон, а порой в нужных — в зачаточном качестве.
    • Больше куришь — меньше и хуже ешь. А так вместо сигареты-другой остаются свободные деньги на то, чтобы спустить их на какую-нибудь заведомо ненужную ерунду в стиме в то время как кто-то доедает ещё одну булочку с чаем, да закусывает творогом.
    • Дело в том, что самые хорошие игры делают на свои личные деньги или на деньги инвесторов, которые могут хорошо спросить, если качество игры не будет соответствующим. Когда люди вкладывают свои средства, они оценивают риски, понимая, что если они сделают говно, то могут провалится, не окупиться и закрыться. Это их мотивирует сделать хорошо. Когда деньги прилетают с воздуха, за которые не спрашивают, то и результат соответствующий. Появляются куча людей которые просто хотят эти деньги освоить, а не сделать, что-то годное. Это как с фильмами и сериалами. Вот если там какой-нибудь Кинопоиск вкладывает свои средства для производство сериалов, то видно, что там стараются, так как это свои деньги вкладывают, и хотят получить результат, поэтому выходит, что-то годное. А когда на какой-нибудь фильм государство выделяет бюджетные деньги, в 90% случаев получится говно, так как там никто не будет стараться, так как спроса за эти деньги около нулевой.  И проблема даже не в бюджетных деньгах, а то как следят за использованием этих денег, за контролем качества. Часто дают деньги, а как получится, всем плевать. Если снимая фильмы, горе режиссёр за большие бюджетные деньги снял полное говно, которое провалилось как по сбору, так среди оценок зрителей, сразу добавляли его в чёрный список и не давали больше никогда никаких денег, то может результат в последствии был другим. А у нас всё наоборот, человек снял говно, не отбился, дадим ему ещё денег. И также с играми за бюджетные деньги. Нет контроля качества за проектами, не понимая и осознавания масштабы работы. От чего выходит плоха и попил бабла. Я не говорю, что всё бюджетное выходит плохим, но чаще всего это именно происходит так. Поэтому нужно менять именно подход к проверке качества, нанимать для этого соответствующих специалистов, которые разбирались в теме и которые спрашивали за качество, а если оно не соответствовало особым критериям, наказывать и прекращать таких людей финансированием. Тогда бы всё изменилось и стараться стали лучше, а пока всем плевать, мы получаем то, что получаем. А хорошие проекты мы видим именно из частных рук, когда делаются на свои.  
    • Как там с боевой? Помню в демке с каким-то роботом бился, тот на тебя тупо пер хренача беспрерывно и пройти бой без урона было (почти или даже не почти) нереально. Его ни с боку обойти не получалось, ни сбить его постоянную атаку.
    • Я лично из жадности не курю. Дорогое удовольствие.  Ну и, говорят, курение вредно для здоровья.
    • Да, наверное, в этом и дело.
    • А где именно для Свича версия? Откуда качать
    • Будут обновления перевода?
    • Привет, стоит ли ждать патчей? Спасибо!
    • У него ж аватарка все сиги выкурить успевает раньше него.
  • Изменения статусов

    • АлинаQT

      Играю в СТИМовскую версию. Столкнулась с непроходимым багом: при входе в Клуб капитанов игра вылетает на Рабочий стол и закрывается. Собрала 6 ингредиентов из 7, нужен мел. Но не могу войти. Пробовала войти на английской версии без русификатора, все равно вылетает и закрывается. Есть решение для этой проблемы? Буду рада любой помощи.
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

       
      Добавлена ONLINE версия. Проверено в steam — достижения, поддержка по сети.
      · 0 ответов
    • fevralski  »  SerGEAnt

      привет, есть что по хмурому?
      · 0 ответов
    • Netulogina  »  SerGEAnt

      Здравствуйте.
      Назрел такой вопрос. Существует ли архив/резервная копия переводов которые хранятся на данном сайте?
      · 5 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Добавились версии для Linux и MAC OS
       
      · 0 ответов
  • Лучшие авторы


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

×