Всем привет, это Картошка, и теперь любой сможет блокировать все сообщения от нежелательных игроков.
Инструкция:
1. Устанавливаем расширение Tampermonkey
2. Закрепляем расширение в меню
3. Создаём новый скрипт
Откроется следующее окно:
4. Удаляем то что есть и прописываем
// ==UserScript==
// @name BlackList
// @version 0.1
// @author Potato (feat BezKlan)
// @match https://www.mafiaonline.ru/games/chat/chat.php
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
const nick_enemy = ['Ник1', 'Ник2']; // Ники авторов нежелательных сообщений (через запятую и в одинарных кавычках)
const yellow = 'YELLOW SPAM'; // Каким текстом будут заменены жёлтые сообщения
const green = 'GREEN SPAM'; // Сообщения в приват
const blue = 'BLUE SPAM'; // Сообщения на телефон
const white = 'WHITE SPAM'; // Сообщения, адресованные не вам
const target = document.getElementById('chat');
const config = { characterData: false, attributes: false, childList: true, subtree: false };
$(document).ready(function(){
var observer = new MutationObserver(mutate);
observer.observe(target, config);
let td = document.getElementById("msgform");
let next_on = td.nextElementSibling;
let span_on = document.createElement('span');
let span_off = document.createElement('span');
span_on.className = "on_black_list";
span_on.style = "vertical-align:top;font-size:16pt;cursor:pointer;margin-right:3pt";
span_off.className = "off_black_list";
span_off.style = "vertical-align:top;font-size:16pt;cursor:pointer";
next_on.appendChild(span_on);
next_on.appendChild(span_off);
span_on.appendChild(document.createTextNode("on"));
span_off.appendChild(document.createTextNode("off"));
$("span.on_black_list").click(function(){
observer.observe(target, config);
});
$("span.off_black_list").click(function(){
observer.disconnect();
});
});
function mutate(mutations, observer) {
nick_enemy.forEach(nick => {
const regex_yellow = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'to\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="to".*?<br>');
const regex_green = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'private\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="private".*?<br>');
const regex_blue = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'phone\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="phone".*?<br>');
const regex_white = new RegExp('\\[<a href="javascript:Chat.addMention\\(\'to\',\'' + nick + '\'\\)" style="text-decoration:none;color:#ffffff;">' + nick + '</a>\\] <span class="chat_text".*?(<br>){1}');
mutations.forEach(function(mutation) {
if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'to\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="to"')) {
document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_yellow, " " + yellow + "<br>");
observer.disconnect();
}
else if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'private\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="private"')) {
document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_green, " " + green + "<br>");
observer.disconnect();
}
else if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'phone\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="phone"')) {
document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_blue, " " + blue + "<br>");
observer.disconnect();
}
else if (document.querySelector('#chat').innerHTML.includes('[<a href="javascript:Chat.addMention(\'to\',\'' + nick + '\')" style="text-decoration:none;color:#ffffff;">' + nick + '</a>] <span class="chat_text"')) {
document.querySelector('#chat').innerHTML = document.querySelector('#chat').innerHTML.replace(regex_white, " " + white + "<br>");
observer.disconnect();
}
});
observer.observe(target, config);
});
};
5. Сохраняем
6. Заходим в игру (или обновляем страницу) и убеждаемся, что скрипт работает
Нет.
Обзор возможностей:
Можно прописать ники нежелательных чатописцев.
Можно прописать, на что будет заменены нежелательные сообщения в зависимости от из цвета. Между одинарными кавычками даже можно оставить лишь один пробел.
Работу скрипта можно приостановить, нажав на "off", и возобновить, нажав на "on". Это может пригодиться в совместных партиях. После нажатия на "on" весь чат от нежелательного игрока тут же затрётся.
Кроме того, все сообщения не белого цвета можно будет увидеть в первоначальном виде без выключения скрипта, открыв личный чат:
При желании можно оставить белые или любые другие сообщения, просто удалив часть кода, отвечающую за блокировку в зависимости от цвета. Например, для белых сообщений полностью удалить строки 59-62.
Нет.
Хароший скрипт, на тройке можно спокойно вбивать ники двух других игроков
Мафами отблагодарил)
За блокировку Интернета, конечно, лайк, но как быть, если он оказался комиссаром? Я не увижу его проверку и полечу в СИЭ? Хотелось бы лучше в Дубай.
(Я поняла, что скрипт можно включить и выключить, но я не знаю, в какую минуту Интернет даст проверку, а в какую - просто зафлудит мне чат).
Рады видеть на форуме, apaapaapa! Чай? Кофе? Шампанское?
но я не знаю, в какую минуту Интернет даст проверку
очевидно же— отключай на время перехода
не свисти
но я не знаю, в какую минуту Интернет даст проверку
очевидно же— отключай на время перехода
Нет же! Что очевидно, так то, что блок игрока Зе Интернет - провокация. Игрок Зе Интернет всегда комиссар и даёт проверки в случайные моменты времени (включая первый день).
Я бы не велась и не стала блокировать игрока Зе Интернет. И вам не советую.
Меня волнует один вопрос: это все легально? То есть любой человек может написать скрипт, сделать изменения в мафии онлайн, подпортить партии и это все спокойно воспринимают, практикуют и даже мафы ему кидают. Может это какой-то стеб и я ничего не понял?
Основоположник английского юмора в Мафии Онлайн и общения на Сумеречном переулке.
🌟 ГОЛОС МАФИИ: 10 ЛЕТ - БЕНЕФИСЫ 🌟
Я думала картошка и зе интернет один и тот же человек
Иду я как-то по берегу, а в реке человек, у которого закончились все аргументы в споре, тонет. "Цепляйся к орфографии!", — кричу ему. Еле спас.
благодарю.
Насколько высоко ты находишься, зависит исключительно от того, что ты считаешь дном. Эшли Бриллиант
То есть любой человек может написать скрипт, сделать изменения в мафии онлайн
Конечно нет. Только тот, кто переведёт Картошке 200 маф.
На форуме тоже работает
BLACK SPAM
Αν δεν μπορείς να έχεις έναν πιστό φίλο, να είσαι ο ίδιος φίλος του εαυτού σου
А нет случаем ни у кого желания сделать расширения, которые бы меняли картинки на старые добрые?..
– Хотите, я скажу вам правду?
– Спасибо, у меня своя
По слухам этот скрипт будет доступен в Премиум функционале.