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);