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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • под 6гб  мощные у unity запросы  зы нашёл посхалу  это отсылка к Hedon 
    • Ну почти  вот в 1080р разрешении высоких настройках и со всеми эффектами.    
    • Я так понимаю никто еще не занимался переводом?
    • В наличии дубляж и закадр. @Zarudnev выпустил нейросетевую озвучку для ролевой игры Minecraft: Story Mode. В наличии дубляж и закадр.
    • плавность есть ) сам unity много кушает,а так потребление должно быть где-то так  @\miroslav\ напомни сколько там культик откусывает VRAM? тож где-то под 2гб
    • @vadik989 а там реально игра в 160 ФпС или только на мониторинге а по факту всё в 60 идёт? Я же знаю ты не различаешь где 60 в где 150 )
    • фпс залочил и отключил сглаживание.других граф. настроек нет.картинка прежняя, а аппетит не поубавился   
    • Ни хрена у тебя ГПУ на 70% загружен, а  игра то худенькая совсем. В демке был лок на 60фпс.
    •   Можно вспомнить ситуацию с Метро Эксудос, который продавался изначально в Стиме, но перед релизом резко стал эксклюзивом ЕГС. При чём разработчики не были в сложной ситуации с политической и экономической точки зрения. Бренд Метро уже был узнаваем, это не новый АЙпи. За разработчиками Метро стоял уже крупный издатель. Никакого политического давления. Им можно было не продаваться Эпикам, и вряд ли провалились в продажах, но они продались и стали на время эксклюзивом ЕГС. И, ничего страшного не произошло, как-то все это пережили, была изначально конечно критика, но со временем утихла, а после вообще никто об этом не вспоминал. Кому надо, дождались игру в Стиме, купили и прошли.  А то, что Mundfish продались, жадные разрабы взяли деньги ВК за эксклюзивность, люди не думая своей головой, и немного мозгами поразмыслить в какой контексте это произошло?! Где в отличии от тех разработчиков Метро, которые могли не продаваться и особо ни чем рисковали, ребят из Mundfish понять можно, у них ситуация совсем другая была.  Mundfish делали долгое время игру на свои деньги, разработка была затяжная и скорее всего, как любой крупным амбициозный проект, попал в производственный ад, где сроки релиза постоянно переносились. Вот ребята делают свой проект, новый АЙпи, никому не известный, не распиаренный, разработка движется к релизу, но начинается СВО, где прилетает куча разных санкции. Ребята, чтобы не попасть под обстрел и не поймать случайно санкции в свою сторону, которые могли похоронить глобальный выход игры на корню, а значит и сам проект. Пришлось резко релоцироваться в другую страну, что тоже болезненный процесс, с переносом офиса, ключевых разработчиков, занимает время и замораживает на какое-то время прогресс разработки. Ну вот после переезда, ребята встречают другую напасть, бегают по интернету хохлы, со своими прихвостями, отменяют всё русское и тем самым начинают давить на разработчиков Атомик Хард, чтобы те высказались против войны. Вот ты оказываешься в ситуации, когда много лет делал игру за свои деньги, без крупного издателя за спиной и его финансирования, новый не распиаренный АЙпи, сложный переезд, а ещё сектанты из хохлятской страны пытаются тебя отменить, если ты не встанешь на их сторону. И тут прилетает рука помощи от ВК, которая готова дать достаточно денег, чтобы покрыть расходы на разработку и риски за провальные продажи, на фоне политического скандала. И как Mundfish в такой ситуации могли не отказаться от денег ВК? Ну прям не патовая ситуация была. Надо было Mundfish отказаться и принять сторону хохлов, и продавать игру в Стиме. Тогда бы @LiliHammer пришёл и похвалил разработчиков, что не прогнулись под деньги ВК и взяли сторону хохлов, молодцы, продали ему игру в Стиме. Был счастлив и доволен.  Некоторые люди не способны на нормальное размышление, и начинают нести бред, подстраивая факты под свои хотелки. Вот если бы продали ему игру в Стиме, то разрабы красавчики, не жадные, плевать, что возможно могли провалится по продажам, не получить денег на новые ДЛС и новую часть, но это не важно, главное следовать принципам и не быть жадными. И уже наверно надо было под хохлов прогнуться, тогда тройной респект от @LiliHammer получили. Видимо его позиция работает именно так, прогибайся, проваливайся, но продай мне игру в Стиме. А может он даже игру и покупать не собирался?! И строит из себя недотрогу — смотрите, опрокинули его разрабы со Стимом. Ну и нести бред про то, что специально выпустили игру после взлома, это нонсес. Ну, да, сейчас куча халявщиков, забьют на халяву и пойдут потратят деньги, из-за выхода игры в Стиме. Ну и бред по отмывание денег, это тоже из разряда новостей — “анонимный источник сказал, что там были тёмные темки, но доказательств нет”, или источник новостей был уровня — “поверь мне брат”.
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
    • serfly  »  SamhainGhost

      Доброго времени. По локализации игры Wicked Seed. Шрифт размазан и в полях, другие можно попробовать? Например arialuni_sdf_2022? Я профан в этом, но интересно.
       
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
  • Лучшие авторы


×