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

edifiei

Продвинутые пользователи
  • Публикации

    9 516
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    61

Сообщения, опубликованные пользователем edifiei


  1. 47 минут назад, mrjohn сказал:

    С чего это вдруг? В том же СНГ хватает игроков. Может и побольше, чем в Мире танков будет.

    Оналйн  почти в 2-3 раза меньше

    https://wgstatus.com/wot

    1027.png

    • Лайк (+1) 2
    • +1 1

  2. Только что, DarkHunterRu сказал:

    @edifiei Зеленая миля, Побег из Шоушенка, Мэверик с Гибсоном и первый сезон Игры Престолов, для меня в них все прекрасно и лучше не надо :)

    Я про сериалы именно)

    10 минут назад, piton4 сказал:

    Во все тяжкие, Прослушка, Рэй Донован, Миллиарды, Сыны анархии, Острые козырьки, По волчьим законам, и топ этого года — Гангстерленд.

    Правда я не совсем понял, что именно ты спрашиваешь :D

    Про топ сериалы )


  3. 7 минут назад, \miroslav\ сказал:

    А я с фф тактикс полюбил такой жанр игр, серия игр Дисгайа тоже нравится. 

    https://store.steampowered.com/app/699170/Fell_Seal_Arbiters_Mark/

    Вот взял,очень советовали. Говорили “настоящее” продолжение  ФФТ на выходные поиграю

     

    • Лайк (+1) 1

  4. 2 минуты назад, lordik555 сказал:

    Ну я тоже про личное имел ввиду. На работе конечно приходится его ставить где надо, что на Астрах, что на Windows.

    Помню даже эксперимент себе ставил, искал запасной удобный браузер для личного пользования, но перепробовав с десяток браузера, убедился, что у меня ТОП1 это Firefox всё-таки. Opera в последнее время вообще скатилась в какую-то RGB-эпидерсию.

     Может Амиго?)

    • Хаха (+1) 1

  5. 1 минуту назад, DarkHunterRu сказал:

    Мне не хочется читать то, на что я захочу ответить, но в этом не будет смысла, а почему не будет смычла - это уже старый диалог, вот прямо сейчас вы занимаетесь, тем чем обычно - передергиванием отдельных фраз.

    я обернулся посмотреть не обернулась ли она чтоб посмотреть не обернулся ли я

    • Хаха (+1) 1

  6. 1 минуту назад, lordik555 сказал:

    Ляпнул не подумав. Верно подметил.

    Что ж, на новых местах получается выход только один — Yandex Browser. Я сам его не особо честно сказать долюбливаю, уж очень назойливо его ребята пытаются впихнуть. Да и не только за это.

    Что до полезных фичей ЯБ вижу только перевод видео, но у меня эта штука через Tampermonkey + скрипт и в Firefox живёт и работает.

    Через Firefox госсайты половина не открываются, так что печаль-беда(

    Да не норм,я как топ попробовал ,3 год уже сижу.

    Ну я так чисто для домашнего использования. 


  7. 5 минут назад, lordik555 сказал:

    Советую играть незамедлительно. Прошёл ещё в апреле, заняло 10 часов, но эта игра запала в самую душу: прекрасный пиксель-арт, приятная музыка, добрая история (интересно следить реально за событиями) и затягивающий лайтовый геймплей. Играй!

    Она у меня в вишлисте,я прошлый раз не купил ,русика не было.

    Теперь как скидка будет сразу возьму!


  8. 29 минут назад, LiliHammer сказал:

    А у вас какие то проблемы с этим ? 
    Вы той же национальности, вы тайный обожатель Малика, или вы просто один из фанбоев WOT, что вам из за этого стало так сильно обидно — вам то что за беда печаль как я его назвал ?
    А Малик да, типичный азербот с купленны гражданством, которых сегодня в России несколько миллионов, которым плевать на Россию, ибо в России они просто бабки зарабатывают, ибо сегодня в России так можно.

    Проблема что это разжигание межнациональное розни,у нас множество этических азербайджанцев  честно трудится и защищают страну.

    p.s

    Сразу объясню . что бы фанбоев тут не искали :D

    Моя претензия была не в общем в оценке человека(это ваше право,и в чем то я могу быть и согласен с вами ) а использование национально уничижительного определения .

     

    • Лайк (+1) 2
    • +1 1

  9. 3 минуты назад, Northern сказал:

    Нормальные люди с него и не уходили никогда))

    Хочу признаться..только тсс..по секрету.

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

    Уже 3 год на ЯБ,я знаю толк в …...

     

    • Лайк (+1) 1

  10. 6 минут назад, LiliHammer сказал:

    А еще суд признал его экстремистом финансирующим ВСУ ака мразью!
     

    Зачем при это его национальность упоминать? ещё и  в уничижительном виде?

    30 минут назад, LiliHammer сказал:

    азербота

     

    • +1 2

  11. 7 минут назад, Polus сказал:

    Такая идея сейчас витает у многих. WoT у себя там в заграниции загибается потихоньку, а вот Мир Танков цветет и пахнет, показывая год от года рекордные прибыли. Тут вполне мог быть целенаправленный слив информации, чтобы устранить конкурента и переманить к себе большинство разработчиков (а они пойдут за радость). В итоге лицензию отзовут, прикрываясь решением суда (типа Кислый не причем, его вынудили), а потом он намекнет, что все могут перейти в WoT клиент в стиме например и донатить через стим.

    *натянул шапочку поглубже*

    Хорошо я не один такой” параноик “:D а то может к доктору надо был идти. 

    Ну или егс там вообще мир карты принимает ,и вуаля...пивовары пошли строем.

    Ещё и приветственный пакет раздадут,или скажут типа вернем акки которые до разделения были ,если так будет точно они 

     


  12. Тут вышла большая статья 

    https://www.business-gazeta.ru/article/674204

    и как я из нее понял вот ут загвоздка.

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

    Сейчас основное юрлицо студии ООО «Леста» на 99% принадлежит ее основателю Хатажаеву, еще 1% владеет ООО «Леста Геймс Эдженси». Эта фирма и ООО «Леста Геймс Москва» находятся в полной собственности ООО «Леста». Хатажаев получил свою долю сначала напрямую от Wargaming летом 2022-го, в сентябре того же года переоформил ее на китайскую Lesta Hong Kong Limited, а в октябре 2024-го вернул себе. Смену бенефициара в студии объясняли тем, что рассматривают российское направление как приоритетное: «Для реализации долгосрочных планов и приоритетов компании».

    При этом сообщалось, что совладельцем гонконгской Lesta Hong Kong Limited уже после официального «разрыва» некоторое время был Владимир Кислый, предположительно, отец основателя Wargaming Виктора Кислого. Последний передал акцию Хатажаеву в ноябре 2023 года, однако чуть ранее, в октябре, Wargaming.net объявила о сборе средств для Украины. Разработчик начал предлагать специальные игровые наборы, деньги от продажи которых будут переданы Киеву. Утверждалось, что средства пойдут в том числе на покупку машин скорой помощи. Российская компания позже утверждала, что одна акция Кислого была нужна для управляемости процесса разделения компаний и что она была технической и не давала владельцу прав получать выплаты, не влияла на контроль.

    з.ы

    У меня прям теория заговора в голове образовалась,а не вг ли спецом делал все через один фонд ,с таким временным окном ,что бы иметь крючок,и когда конкурент вырос или начал что то делать что не нравится ..Хлоп.

    Слив данных,и опа. конкурент убран,они в  белом ,отзыв лицензий, часть комьюнити к себе и ща ещё разрабов переманивать начнут.

    Как думаете ,может я книжек  перечитал и шапочку надо из фольги новую? :D

    Или есть в этом что-то?

    .

     


  13. 11 минут назад, Дмитрий Соснов сказал:

    а мотивации, 

    Вот в мотивационной части будет видно за что,сейчас все наши догадки,это догадки

    11 минут назад, Дмитрий Соснов сказал:

    е никто не сможет открыть сервера Мира танков без лицензии у Варгейминга и использования его софта и наработок (но это не точно)

    Сможет только там куча проблем вылезет 

    Удаление из всех  “не наших “магазинов.

    Отзыв лицензий софта.

    Уход разрабов.

    Ну и ещё куча всего.


  14. 7 минут назад, Сильвер_79 сказал:

    Имею опасения, что он не станут доступными широким массам. Закрытое судебное заседание не предполагает публикацию решения суда. 

    После апелляции могут  и открыть. Ну хоть что то выползет в инфополе  


  15. 11 минут назад, Дмитрий Соснов сказал:

    Я правильно понимаю, что “ООО Леста” в России полностью пренадлежит какой то не названной офшорной гонконгской компании, владельцем которой ”тайно” является “Варгейминг” или даже лично Кислый?  Который с начала СВО встал на сторону ВСУ и начал открыто туда “донатить”, в том числе и прямо со счетов этой офшорной компании-хозяина “Лесты”? За что и зацепились в Прокуратуре России и решили по суду прикрыть этот канал финансирования ВСУ из России и из карманов россиян, которые этого не хотят...

    Надо ждать раскрытия мотивировочной части,пока все  догадки.

    Недельки чрез 2-3 

    .З.ы

    Интересно как Батько отреагирует,ведь производственные мощности  в Минске.

     

    • Лайк (+1) 1

  16. 8 минут назад, Дмитрий Соснов сказал:

    ну скорее это не “капитализм выиграл у феодализма”,а феодализм эволюционировал в капитализм, со временем и  по мере развития истории, религии, науки и техники, ну и государств! 

    Победа так  и происходит,вот сейчас капитализм в некоторых странах принимает некие черты социализма

    И с совершенствованием средств производства и доступности  ресурсов,государства вынуждено будет добавлять эти черты 

    Имхо ,в будущем, труд будет привилегией. .

    По историческим меркам  социализм( и его высшая ступень коммунизм) совсем ещё детки. 

     

     


  17. 8 минут назад, Flobrtr сказал:

    Совок — это оно и есть. Комбо из каши. ДВОЕМЫСЛИЕ. Когда борьбу с феодализмом возглавляет феодал.

    С феодализмом боролся капитализм,сотни лет и выиграл.

    • +1 1

  18. 2 минуты назад, 0wn3df1x сказал:
    1. Заходим на страницу: https://store.steampowered.com/account/notinterested/
    2. Устанавливаем Tamper Monkey (если ещё нет). 
    3. Ставим скрипт:
      Скрипт (Показать содержимое)
    
    
    // ==UserScript==
    // @name         SIGA
    // @namespace    http://tampermonkey.net/
    // @version      2.1
    // @description  Постепенное удаление всех игр из списка "Не интересно" в Steam с возможностью паузы и отслеживанием прогресса.
    // @author       0wn3df1x
    // @match        https://store.steampowered.com/account/notinterested*
    // @icon         https://store.steampowered.com/favicon.ico
    // @grant        GM_xmlhttpRequest
    // @grant        GM_addStyle
    // @require      https://code.jquery.com/jquery-3.6.0.min.js
    // @connect      store.steampowered.com
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        const $ = window.jQuery;
    
        let state = {
            allIgnoredApps: [],
            removedInSessionAppIds: [],
            currentIndex: 0,
            totalToRemove: 0,
            isPaused: false,
            isCleaning: false,
            sessionID: null,
            removeInterval: 3500,
            currentAppRetries: 0,
            uiContainer: null,
            mainActionButton: null,
            getRemovedButton: null,
            progressBarFill: null,
            progressTextElement: null,
            etaTextElement: null,
            statusMessageElement: null,
            copyFeedbackElement: null
        };
    
        const RATE_LIMIT_WAIT_MS = 3 * 60 * 1000;
        const MAX_APP_RETRIES = 3;
    
        let cssStyles = `
            #steamIgnoredCleanerUI {
                background: #151f2c;
                padding: 20px;
                margin: 25px 0;
                border-radius: 5px;
                color: #c6d4df;
                border: 1px solid #2a3f5a;
                box-shadow: 0 0 15px rgba(0,0,0,0.3);
                font-family: "Motiva Sans", Arial, Helvetica, sans-serif;
            }
            .cleaner-header h2 {
                color: #67c1f5;
                margin-top: 0;
                margin-bottom: 15px;
                font-weight: 500;
                border-bottom: 1px solid #2a3f5a;
                padding-bottom: 10px;
            }
            .cleaner-main-layout {
                display: flex;
                gap: 20px;
            }
            .cleaner-controls {
                flex-grow: 1;
            }
            .cleaner-side-panel {
                flex-basis: 200px;
                flex-shrink: 0;
            }
            .steam-cleaner-button {
                background: linear-gradient(to bottom, #799905 5%, #536904 95%);
                border: 1px solid #1b2838;
                padding: 8px 15px;
                color: #fff;
                cursor: pointer;
                border-radius: 3px;
                margin-bottom: 15px;
                font-size: 14px;
                transition: background 0.2s ease;
            }
            .steam-cleaner-button:hover {
                background: linear-gradient(to bottom, #8ab807 5%, #647d05 95%);
            }
            .steam-cleaner-button:disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }
            .steam-cleaner-button.secondary {
                background: linear-gradient(to bottom, #4b6077 5%, #3a4b5d 95%);
            }
            .steam-cleaner-button.secondary:hover {
                background: linear-gradient(to bottom, #5c738e 5%, #45586b 95%);
            }
            .progress-section {
                margin-top: 15px;
            }
            .progress-bar-container {
                width: 100%;
                background: #101822;
                height: 22px;
                border-radius: 3px;
                overflow: hidden;
                border: 1px solid #2a3f5a;
            }
            .progress-bar-fill {
                height: 100%;
                background: #67c1f5;
                width: 0%;
                transition: width 0.3s ease-out;
                text-align: center;
                line-height: 22px;
                color: #fff;
                font-size: 12px;
            }
            .progress-info, .status-output-message {
                color: #a8b2ba;
                margin: 8px 0;
                font-size: 13px;
            }
            .status-output-message.error {
                color: #ff6b6b;
                font-weight: bold;
            }
            .status-output-message.success {
                color: #799905;
                font-weight: bold;
            }
            .copy-feedback-message {
                display: block;
                font-size: 12px;
                color: #67c1f5;
                margin-top: 5px;
                min-height: 15px;
            }
            .initial-info {
                color: #a8b2ba;
                margin-bottom: 15px;
                font-size: 14px;
            }
        `;
        GM_addStyle(cssStyles.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, ''));
    
    
        function createUI() {
            const container = $(`
                <div id="steamIgnoredCleanerUI">
                    <div class="cleaner-header">
                        <h2>Steam Очиститель Списка "Не интересно"</h2>
                    </div>
                    <div class="cleaner-main-layout">
                        <div class="cleaner-controls">
                            <div class="initial-info">
                                Этот скрипт поможет вам удалить <b>ВСЕ</b> игры из вашего списка "Не интересно" в Steam.
                                Процесс происходит постепенно, чтобы избежать блокировок со стороны Steam.
                            </div>
                            <button id="cleanerMainActionButton" class="steam-cleaner-button">Начать очистку</button>
                            <div class="progress-section">
                                <div class="progress-bar-container">
                                    <div id="cleanerProgressBarFill" class="progress-bar-fill">0%</div>
                                </div>
                                <div id="cleanerProgressText" class="progress-info">Ожидание начала...</div>
                                <div id="cleanerEtaText" class="progress-info">ETA: N/A</div>
                            </div>
                            <div id="cleanerStatusMessage" class="status-output-message"></div>
                        </div>
                        <div class="cleaner-side-panel">
                            <button id="cleanerGetRemovedButton" class="steam-cleaner-button secondary" disabled>
                                Копировать список удаленных
                            </button>
                            <span id="cleanerCopyFeedback" class="copy-feedback-message"></span>
                        </div>
                    </div>
                </div>
            `).insertAfter('.pageheader');
    
            state.uiContainer = container;
            state.mainActionButton = $('#cleanerMainActionButton');
            state.getRemovedButton = $('#cleanerGetRemovedButton');
            state.progressBarFill = $('#cleanerProgressBarFill');
            state.progressTextElement = $('#cleanerProgressText');
            state.etaTextElement = $('#cleanerEtaText');
            state.statusMessageElement = $('#cleanerStatusMessage');
            state.copyFeedbackElement = $('#cleanerCopyFeedback');
    
            state.mainActionButton.click(handleMainAction);
            state.getRemovedButton.click(copyRemovedListToClipboard);
        }
    
        function updateStatus(message, type = 'info') {
            state.statusMessageElement.text(message)
                .removeClass('error success')
                .addClass(type === 'error' ? 'error' : (type === 'success' ? 'success' : ''));
            console.log((type === 'error' ? 'X ' : (type === 'success' ? 'V ' : 'i ')) + message);
        }
    
        function updateProgressDisplay() {
            if (state.totalToRemove === 0 && !state.isCleaning) {
                state.progressBarFill.css('width', '0%').text('0%');
                state.progressTextElement.text('Ожидание начала...');
                state.etaTextElement.text('ETA: N/A');
                return;
            }
             if (state.totalToRemove === 0 && state.isCleaning) {
                state.progressBarFill.css('width', '0%').text('0%');
                state.progressTextElement.text('Нет игр для удаления.');
                state.etaTextElement.text('ETA: N/A');
                return;
            }
    
    
            const processedCount = state.currentIndex;
            const percent = state.totalToRemove > 0 ? (processedCount / state.totalToRemove) * 100 : 0;
            state.progressBarFill.css('width', `${percent.toFixed(1)}%`).text(`${percent.toFixed(0)}%`);
    
            if (state.isCleaning && !state.isPaused && processedCount < state.totalToRemove) {
                state.progressTextElement.text(`Обработано: ${processedCount} из ${state.totalToRemove}`);
                const etaSeconds = (state.totalToRemove - processedCount) * (state.removeInterval / 1000);
                state.etaTextElement.text(`ETA: ${formatTime(etaSeconds)}`);
            } else if (processedCount === state.totalToRemove && state.totalToRemove > 0) {
                 state.progressTextElement.text(`Завершено: ${processedCount} из ${state.totalToRemove}`);
                 state.etaTextElement.text('Готово!');
            } else if (state.isPaused) {
                state.progressTextElement.text(`Пауза. Обработано: ${processedCount} из ${state.totalToRemove}`);
                 const etaSecondsPaused = (state.totalToRemove - processedCount) * (state.removeInterval / 1000);
                state.etaTextElement.text(`ETA (на паузе): ${formatTime(etaSecondsPaused)}`);
            }
        }
    
        function formatTime(totalSeconds) {
            if (isNaN(totalSeconds) || totalSeconds < 0) return 'N/A';
            const hours = Math.floor(totalSeconds / 3600);
            const minutes = Math.floor((totalSeconds % 3600) / 60);
            const seconds = Math.floor(totalSeconds % 60);
            let timeString = '';
            if (hours > 0) timeString += `${hours `;
            if (minutes > 0 || hours > 0) timeString += `${minutes `;
            timeString += `${seconds}с`;
            return timeString.trim() || '0с';
        }
    
        async function fetchIgnoredApps() {
            return new Promise((resolve, reject) => {
                GM_xmlhttpRequest({
                    method: 'GET',
                    url: 'https://store.steampowered.com/dynamicstore/userdata/',
                    onload: function(response) {
                        try {
                            const data = JSON.parse(response.responseText);
                            if (data.rgIgnoredApps) {
                                resolve(Object.keys(data.rgIgnoredApps).map(Number));
                            } else {
                                resolve([]);
                            }
                        } catch (e) {
                            console.error("X Ошибка парсинга userdata:", e);
                            reject("Не удалось разобрать данные пользователя.");
                        }
                    },
                    onerror: function(err) {
                        console.error("X Ошибка загрузки userdata:", err);
                        reject("Ошибка сети при получении списка игнорируемых игр.");
                    }
                });
            });
        }
    
        function removeNextApp() {
            if (state.isPaused || !state.isCleaning) {
                if (state.isPaused) updateStatus('Процесс на паузе.', 'info');
                return;
            }
    
            if (state.currentIndex >= state.totalToRemove) {
                updateStatus('* Очистка завершена! Все игры из списка обработаны.', 'success');
                state.mainActionButton.text('Начать очистку').prop('disabled', false);
                state.getRemovedButton.prop('disabled', state.removedInSessionAppIds.length === 0);
                state.isCleaning = false;
                updateProgressDisplay();
                return;
            }
    
            const appId = state.allIgnoredApps[state.currentIndex];
            updateStatus(`Удаление appID: ${appId} (${state.currentIndex + 1} из ${state.totalToRemove})...`);
            updateProgressDisplay();
    
            $J.post('https://store.steampowered.com/recommended/ignorerecommendation/', {
                sessionid: state.sessionID,
                appid: appId,
                snr: '1_account_notinterested_',
                remove: 1
            })
            .done(function(response) {
                state.removedInSessionAppIds.push(appId);
                state.getRemovedButton.prop('disabled', false);
    
                $J('#ignored_app_' + appId).fadeOut(function() { $(this).remove(); });
                if (typeof GDynamicStore !== 'undefined' && GDynamicStore.InvalidateCache) {
                    GDynamicStore.InvalidateCache();
                }
    
                state.currentIndex++;
                state.currentAppRetries = 0;
                setTimeout(removeNextApp, state.removeInterval);
            })
            .fail(function(jqXHR, textStatus, errorThrown) {
                if (jqXHR.status === 429) {
                    updateStatus(`! Ошибка 429 (Too Many Requests) для appID: ${appId}. Ожидание ${formatTime(RATE_LIMIT_WAIT_MS / 1000)}...`, 'error');
                    setTimeout(removeNextApp, RATE_LIMIT_WAIT_MS);
                } else {
                    state.currentAppRetries++;
                    if (state.currentAppRetries < MAX_APP_RETRIES) {
                        const retryDelay = state.removeInterval * (state.currentAppRetries + 1);
                        updateStatus(`X Ошибка удаления ${appId} (попытка ${state.currentAppRetries}/${MAX_APP_RETRIES}): ${jqXHR.statusText || errorThrown}. Повтор через ${formatTime(retryDelay/1000)}.`, 'error');
                        setTimeout(removeNextApp, retryDelay);
                    } else {
                        updateStatus(`X Пропуск appID: ${appId} после ${MAX_APP_RETRIES} неудачных попыток. Ошибка: ${jqXHR.statusText || errorThrown}`, 'error');
                        state.currentIndex++;
                        state.currentAppRetries = 0;
                        setTimeout(removeNextApp, state.removeInterval);
                    }
                }
            });
        }
    
        async function handleMainAction() {
            if (state.isCleaning && !state.isPaused) {
                state.isPaused = true;
                state.mainActionButton.text('Продолжить очистку');
                updateStatus('Очистка приостановлена.', 'info');
                updateProgressDisplay();
            } else if (state.isCleaning && state.isPaused) {
                state.isPaused = false;
                state.mainActionButton.text('Пауза');
                updateStatus('Возобновление очистки...', 'info');
                removeNextApp();
            } else {
                state.mainActionButton.prop('disabled', true).text('Загрузка списка...');
                updateStatus('Получение списка игнорируемых игр...', 'info');
                state.isCleaning = true;
                state.isPaused = false;
    
                try {
                    state.allIgnoredApps = await fetchIgnoredApps();
                    state.totalToRemove = state.allIgnoredApps.length;
                    state.currentIndex = 0;
                    state.removedInSessionAppIds = [];
                    state.currentAppRetries = 0;
    
                    if (state.totalToRemove === 0) {
                        updateStatus('V В вашем списке "Не интересно" нет игр для удаления.', 'success');
                        state.mainActionButton.prop('disabled', false).text('Начать очистку');
                        state.isCleaning = false;
                        updateProgressDisplay();
                        return;
                    }
    
                    updateStatus(`Найдено ${state.totalToRemove} игр. Начинаем очистку...`, 'info');
                    state.mainActionButton.prop('disabled', false).text('Пауза');
                    state.getRemovedButton.prop('disabled', true);
                    state.copyFeedbackElement.text('');
                    updateProgressDisplay();
                    removeNextApp();
    
                } catch (errorMsg) {
                    updateStatus(`X Ошибка: ${errorMsg}`, 'error');
                    state.mainActionButton.prop('disabled', false).text('Начать очистку');
                    state.isCleaning = false;
                }
            }
        }
    
        function copyRemovedListToClipboard() {
            if (state.removedInSessionAppIds.length === 0) {
                state.copyFeedbackElement.text('Список удаленных пуст.');
                setTimeout(() => state.copyFeedbackElement.text(''), 3000);
                return;
            }
    
            const listString = state.removedInSessionAppIds.join('\n');
            navigator.clipboard.writeText(listString).then(() => {
                state.copyFeedbackElement.text(`Скопировано ${state.removedInSessionAppIds.length} AppID!`);
                setTimeout(() => state.copyFeedbackElement.text(''), 3000);
            }).catch(err => {
                state.copyFeedbackElement.text('X Ошибка копирования.');
                console.error('X Ошибка копирования в буфер обмена:', err);
                setTimeout(() => state.copyFeedbackElement.text(''), 3000);
            });
        }
    
        $(function() {
            if (typeof g_sessionID === 'undefined' || g_sessionID === null) {
                const pageContent = $('#account_notinterested_area .pagecontent');
                if (pageContent.length) {
                     pageContent.first().prepend('<div style="color: red; font-weight: bold; padding: 10px; background: #330000; border: 1px solid red; margin-bottom:15px;">Steam Session ID не найден. Убедитесь, что вы авторизованы в Steam. Скрипт не будет работать.</div>');
                } else {
                    alert('Steam Session ID не найден. Убедитесь, что вы авторизованы в Steam. Скрипт не будет работать.');
                }
                console.error("X Steam Ignored Apps Cleaner: g_sessionID is not available.");
                return;
            }
            state.sessionID = g_sessionID;
    
            if (typeof $J === 'undefined') {
                 window.$J = $;
                 console.warn("i Steam Ignored Apps Cleaner: $J is not defined by Steam, using Tampermonkey's jQuery.");
            }
    
            createUI();
            updateStatus('Скрипт готов к работе. Нажмите "Начать очистку".', 'info');
            updateProgressDisplay();
        });
    
    })();

     


    Чем больше игр скрыто — тем дольше будет удалять. Как видно с моего скрина, для удаления моих 52916 скрытых понадобится ждать 51 час. Можно поставить на удаление и держать вкладку открытой пару часов. Затем продолжить в другой день. 

    hUKjDyg.png

    Спасибо,а то ручками очень долго)


  19. 2 минуты назад, Flobrtr сказал:

    Антифеодальное еретическое движение во главе с крупнейшим феодалом — классика!

    Вы меня извините НО

    Это просто комбо из каши

    • Спасибо (+1) 1
Zone of Games © 2003–2025 | Реклама на сайте.

×