Скрипт для мониторинга карт 1337 ʞǝʞ

Тема в разделе 'ALLODS2.EU: Общий', создана пользователем Cthulchu, 22 мар 2020.

  1. Cthulchu Знатный флудер

    Форумные баллы:
    5000

    Мне тут заняться нечем было. И меня задолбало постоянно ходить смотреть когда будет карта которую я жду. Написал скрипт, что делает это за меня.

    Проверяет список карт, которые вы задаете на софте или песке, как зададите. Каждые 20 секунд. Если найдет активную карту из списка, начнет издавать звук каждые 20 секунд пока карта не закончится. Или пока страница не перезагрузится.

    Как юзать: идете сюдыть: http://allods2.eu/en/maplist/ и копируете там список карт, которые хотите мониторить. Можно без версий, там главное чтобы хоть часть названия совпала.

    После этого идете сюда: http://allods2.eu/en/status Дальше идете открываете консольку: Ctrl+Shift+I и в нее вставляем вот это:

    Код:
    (function timeout(i = 0) {
        const delay = 20000;
        console.log("The map monitoring function has been running for " + i*delay/1000 + " seconds");
        setTimeout(function () {
            const mapsToMonitor = [
                'Daughter Necromancer',
                'Evil Islands',
                'Fear Plains'
            ];
            const serverType = 'softcore'//softcore or sandbox
            const mapsToWorkOn = []
            const allOnlineMaps = Array.prototype.slice.call(document.querySelectorAll(".b-status-table-child"));
            allOnlineMaps.forEach((mapItem)=>{
                if (mapItem.querySelector('[class^="'+serverType+'"]') !== null){
                    mapsToWorkOn.push(mapItem.querySelectorAll('td')[3].innerText);
                }
            });
            let results = [];
            mapsToWorkOn.forEach((currentMap) => {
                const match = mapsToMonitor.filter((toMonitorMap) => {
                    return (currentMap.indexOf(toMonitorMap)>-1);
                });
                if (match.length > 0){
                    results = results.concat(match);
                }
            });
            if(results.length > 0){
                console.log("FOUND!");
                console.log(results);
                o=(A=new AudioContext()).createOscillator();o.connect(A.destination);o.start(0);setTimeout('o.stop(0)',300);
            }
            timeout(++i);
        }, delay);
    })();
    
    В этом коде, скрипт проверяет Дочку некроманта, ФП и Эвил айлендс. На софте

    Все. Будет моиторить. Позовет вас (издаст звук) когда карта появится. Можете спокойно сконцентрироваться на работе и не отвлекаться на список карт.

    Если хотите послушать как звук звучит, вот это вставьте в консоль:


    Код:
    o=(A=new AudioContext()).createOscillator();o.connect(A.destination);o.start(0);setTimeout('o.stop(0)',300);
    Можете сделать его длиннее, увеличив таймаут, типа вот так:

    Код:
    o=(A=new AudioContext()).createOscillator();o.connect(A.destination);o.start(0);setTimeout('o.stop(0)',1000);
    Я сначала взял звук с клиента (mcomplet.wav), но его либо нужно на сайт загрузить, либо в бейс64, а бейс64 выглядит в этом коде слишком уродливо, так что я пожертвовал красотой звука :(. Сорян.

    Хорошо бы чтобы Анотомикс запилил эту опцию нативно там, но у него пока руки дойдут, я лучше свое напишу :)
    ilove нравится это.
  2. Cthulchu Знатный флудер

    Форумные баллы:
    5000

    ребят, я, конечно, понимаю, что вам жутко интересно друг на друга поссать, но давайте держать личные конфликты в тематичных топиках.
    ilove нравится это.
  3. Общак Balance maker / Балансёр (PvP)

    Форумные баллы:
    300

    убрал эти кавелики.
    [IMG]
  4. ilove Фанат А2

    :molja:Ты крут,я уже несколько дней плагин искал какой-нибудь с этим функционалом.
  5. ilove Фанат А2

    Не,ну постоянный звук мне не нравится,но спасибо,если будет надо мониторить одну карту,я воспользуюсь.

Поделиться этой страницей