NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name SaveMePls // @namespace http://tampermonkey.net/ // @version 1.0 // @description You'll be a little bit happier. Or not. Who knows? // @author Zlat // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @include /https:\/\/\w?\.?catwar\.su\/.*/ // @license MIT // @copyright 2021-2023 (c) Злат // @updateURL https://openuserjs.org/meta/Anastasia_Soboleva/SaveMePls.meta.js // ==/UserScript== //ЧТО ЭТА ШТУКА УМЕЕТ // 1. Сузит окно просмотра нанимателя на 40%, теперь вы не заработаете косоглазие (но это не точно) // 2. Покажет возраст игрока в профиле по дате регистрации // 3. Добавит немного полезных сведений и ссылок перед сообщением игрока // 4. Даст быстрые шаблоны для отправки. Никаких больше неудачных копипаст! // 5. Считает баллы отдельно (function (window, document, $) { 'use strict'; if (typeof $ === 'undefined') return; // do not run in frames if (window.self != window.top){ return; } if (/https:\/\/(.\.)?catwar\.su/.test(window.location.href)){ if (window.location.href.indexOf("https://catwar.su/settings") != -1) { $("#branch").append("<br><b>Настройки для Нанимателя</b><br><form id=\"setts\" name=\"setts\"><label><input type=\"checkbox\" id=\"zhmykh\" name=\"zhmykh\">Наниматель теперь на 40% стройнее</label><br/><label><input type=\"checkbox\" id=\"get_age\" name=\"get_age\">Показать возраст (грешит на +/- 1 день)</label><br><label><input type=\"checkbox\" id=\"send_pattern\" name=\"send_pattern\">Добавить кнопки с шаблонами, ID игрока и ссылкой на ИСКАТЬ</label><br></form>"); } if (JSON.parse(localStorage.getItem("zhmykh"))){ if (window.location.href.indexOf("https://catwar.su/employer") != -1) { $("#branch").css({"width" : "50%"}); $("#site_table").css({"margin-left" : "20%"}); $("#zhmykh").prop("checked", true); } } if (JSON.parse(localStorage.getItem("get_age"))) { $("#get_age").prop("checked", true); } if (JSON.parse(localStorage.getItem("send_pattern"))) { $("#send_pattern").prop("checked", false); } $('#zhmykh').on('change', function () { if ($(this).is(':checked')) { let t = true; localStorage.setItem("zhmykh", JSON.stringify(t)); } else { let f = false; localStorage.setItem("zhmykh", JSON.stringify(f)); } }); $('#get_age').on('change', function () { if ($(this).is(':checked')) { let t = true; localStorage.setItem("get_age", JSON.stringify(t)); } else { let f = false; localStorage.setItem("get_age", JSON.stringify(f)); } }); $('#send_pattern').on('change', function () { if ($(this).is(':checked')) { let t = true; localStorage.setItem("send_pattern", JSON.stringify(t)); } else { let f = false; localStorage.setItem("send_pattern", JSON.stringify(f)); } }); if (window.location.href.indexOf("https://catwar.su/employer") != -1) { let s = $("div.messages:first"); while($(s).text()){ let b = $(s).prev().html(); let x = b.match(/\d{1,7}/); if (!!JSON.parse(localStorage.getItem("send_pattern"))) { if(x) { $(s).prepend("<div class='inf' id='i" + x[0] +"'><span class=\"id\"><b>ID: </b>" + x[0] + "</span> | <span class=\"mult\"><a href=\"https://catwar.su/top?search=" + x[0] + "\" target=\"_blank\" >ИСКАТЬ</a></span></div><br>"); } $("#i"+ x[0]).after("<div class='patterns'>Шаблоны: <span class='refuse'>отказ</span>, <span class='success'>вы приняты</span></div> "); $(".refuse").click(function () { $(this).parent().next().next().children().eq(2).val("Здравствуйте,\nОчень жаль, но ваша кандидатура нам не подходит. Не расстраивайтесь, вы сможете поучаствовать в грядущих наборах!\nС уважением, Наниматель"); }); $(".success").click (function () { $(this).parent().next().next().children().eq(2).val("Здравствуйте,\nВы прошли первый этап, поздравляем! В конце общего приёма резюме ожидайте ссылки на экзамен.\nС уважением, Наниматель"); }); } s = $(s).parent().next().children().eq(1); } } if (window.location.href.indexOf("https://catwar.su/cat") != -1) { function date_transform (dd) { let date = Date.parse(dd); let now = Date.now(); let dif = new Date(now-date); let data = dif.getDate()-2; let months = dif.getMonth(); let years = dif.getFullYear() - 1970; let str = years.toString() + " г. " + months.toString() + " мес. " + data.toString() + " д. "; return str; } if (!!JSON.parse(localStorage.getItem("get_age"))) { let posAge = $("table#moder_info").children().eq(0).children().eq(1).children().eq(1); let age = $(posAge).text(); age = age.replace(/(\d{4}-\d{2}-\d{2}).+/ui, "$1"); age = new Date (age); let dif = date_transform(age); $(posAge).prepend("Возраст: " + dif + "<br>"); } } if (window.location.href.indexOf("https://catwar.su/logs/exam?n=") != -1) { /*var answers = [ [[[0]],[[0]]], [ [[0,0,1],[1,0,0],[1,0,0,0],[0,1,0,0],[0,1,0]], [[0,1,0,0],[0,1,0,0],[1,0,0,0]], [[0,0,0,1],[0,0,0,1],[0,0,1,0],[0,1,0,0]], [[0,0,0,1],[0,1,0],[0,0,0,1,0],[0,1,0,0,0]], [[0,0,0,1],[1,0,0],[0,1,0,0],[0,0,1],[1,0,0],[0,0,1]], [[0,0,0,1],[1,0,0],[0,0,0,1],[0,1,0],[1,0,0]], [[0,1,0],[0,1,0],[0,1,0],[0,1,0],[0,1,0,0]], [[1,0,0],[1,0,0],[0,1,0],[1,0,0]], [[1,0,0],[0,1,0],[0,1,0],[0,1,0]], [[0,1,0],[1,0,0],[1,0,0]] ], [[[0]]], [ [[1,0,0],[0,1,0,0],[0,1,0,0]], [[1,0,0,0],[0,0,1],[1,0,0]], [[1,0,0],[0,1,0]], [[1,0,0],[1,0,0]], [[1,0,0],[0,0,1,0,0],[0,0,1,0]], [[0,0,1],[0,1,0],[0,0,1]], [[0,1],[0,1,0],[0,1,0]], [[0,1,0],[0,1,0],[0,0,1]], [[0,1,0],[0,1]], [[0,1,0],[0,1,0]] ], [[[0]]] ];*/ $('img').attr('width', '30%'); $('body').css({"width" : "50%"}); $("body").css({"margin-left" : "25%"}); $('body').append('<a name="down"> </a><br><hr><a href=\"#up\">Наверх</a><hr><br><div id=\"res\"></div>'); $('div').eq(0).after('<a name="up"> </a><br><hr><a href=\"#down\">Вниз</a><hr><br>'); /*let body = document.body.innerHTML; body = body.replace(/(№\d\|)\s/uig, '$1X '); let matches = body.match(/\(№0\|0 №0\|0 №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №\d\|(\d|X) №0\|0 №0\|(0|)/uig); let l = matches.length; let idMatch = body.match(/\(<a href="\/cat(\d{1,7})">.{1,35}<\/a>,.{1,8} лун\) набрал в части A/uig); for (let currentMatch = 0; currentMatch < l; currentMatch++) { let id = idMatch[currentMatch].replace(/\(<a href="\/cat(\d{1,7})">.+<\/a>,.+ лун\) набрал в части A/uig, '$1'); let moderAnswers = matches[currentMatch].match(/№\d\|(\d|X)/uig); let len = 23; let sumModer = 0; let sumTsenzor = 0; for (let moderAnswer = 2; moderAnswer < len; moderAnswer++) { let qNumber0 = moderAnswers[moderAnswer].replace(/№(\d)\|\d/uig, '$1'); let qNumber = Number(qNumber0); let qAnswer0 = moderAnswers[moderAnswer].replace(/№\d\|(\d|X)/uig, '$1'); let qAnswer = Number(qAnswer0); if(qAnswer0 != 'X' ) { if (moderAnswer <12) { if (answers[1][moderAnswer-2][qNumber][qAnswer]) { sumModer++; } } } if (!isNaN(qAnswer) && moderAnswer > 12) { if (answers[3][moderAnswer-13][qNumber][qAnswer]) { sumTsenzor++; } } } $('#res').append('Модероэкз игрока с ID ' + id + '<br>'); $('#res').append('Цензорочасть: ' + sumTsenzor + '<br>'); $('#res').append('Модерочасть: ' + sumModer + '<br>'); $('#res').append('Всего за часть А: ' + (sumTsenzor + sumModer) + '<br><br>'); } */ } } })(window, document, jQuery);