my Munzee clan script
// ==UserScript== // @name MyMunzeeClans // @namespace MyMunzeeClans // @include https://www.munzee.com/clans/* // @version 1.0.1 // @grant none // @description my Munzee clan script // ==/UserScript== jQuery(document).ready(function ($) { var colors = [ 'rgba(225, 225, 225, 0.9);', 'rgba(197, 100, 100, 0.8);', 'rgba(141, 197, 62, 0.9);', 'rgba(197, 140, 60, 0.9);', 'rgba(157, 157, 157, 0.9);', 'rgba(197, 197, 60, 0.9);', 'rgba(197, 197, 60, 0.9);' ]; var targetsDict = { 'lvl_1_target': 'Click pencil to change target.', 'lvl_1_reward': 'Click pencil to change reward.', 'lvl_1_mdep': 0, 'lvl_1_mcap': 0, 'lvl_1_mcon': 0, 'lvl_1_mtot': 0, 'lvl_1_cdep': 0, 'lvl_1_ccap': 0, 'lvl_1_ccon': 0, 'lvl_1_ctot': 0, 'lvl_2_target': 'Click pencil to change target.', 'lvl_2_reward': 'Click pencil to change reward.', 'lvl_2_mdep': 0, 'lvl_2_mcap': 0, 'lvl_2_mcon': 0, 'lvl_2_mtot': 0, 'lvl_2_cdep': 0, 'lvl_2_ccap': 0, 'lvl_2_ccon': 0, 'lvl_2_ctot': 0, 'lvl_3_target': 'Click pencil to change target.', 'lvl_3_reward': 'Click pencil to change reward.', 'lvl_3_mdep': 0, 'lvl_3_mcap': 0, 'lvl_3_mcon': 0, 'lvl_3_mtot': 0, 'lvl_3_cdep': 0, 'lvl_3_ccap': 0, 'lvl_3_ccon': 0, 'lvl_3_ctot': 0, 'lvl_4_target': 'Click pencil to change target.', 'lvl_4_reward': 'Click pencil to change reward.', 'lvl_4_mdep': 0, 'lvl_4_mcap': 0, 'lvl_4_mcon': 0, 'lvl_4_mtot': 0, 'lvl_4_cdep': 0, 'lvl_4_ccap': 0, 'lvl_4_ccon': 0, 'lvl_4_ctot': 0, 'lvl_5_target': 'Click pencil to change target.', 'lvl_5_reward': 'Click pencil to change reward.', 'lvl_5_mdep': 0, 'lvl_5_mcap': 0, 'lvl_5_mcon': 0, 'lvl_5_mtot': 0, 'lvl_5_cdep': 0, 'lvl_5_ccap': 0, 'lvl_5_ccon': 0, 'lvl_5_ctot': 0, } // Cookies function createCookie(name, value, days) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } else var expires = ""; document.cookie = name + "=" + value + expires + "; path=/clans/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } function readTargetsTable() { var value; $.each(targetsDict, function (key, data) { value = readCookie(key); if (value != null) { targetsDict[key] = value; } }); } function createTargetItem(name, size, maxlength) { return '<span class="canbechanged" id="' + name + 'D"></span><input class="inchange" type="text" size="' + size + '" maxlength="' + maxlength + '" id="' + name + 'I" style="display: none;">' } function createTargetsTable() { var spanStyle = 'cursor:pointer;'; var targets; var i = 1; targets = '<table class="table"><thead>' + '<tr><th>Clan levels</th>' + '<th></th>' + '<th class="hidden-xs"><span class="inchange" style="display: none;">deploy<br>points</span></th>' + '<th class="hidden-xs"><span class="inchange" style="display: none;">capture<br>points</span></th>' + '<th class="hidden-xs"><span class="inchange" style="display: none;">capture on<br>points</span></th>' + '<th><span class="inchange" style="display: none;">total<br>points</span></th></tr>' + '</thead><tbody>'; while (i <= 5) { targets += '<tr><td><div style="margin-left: 4px;"><div style="height: 32px; width: 32px; margin-bottom: 0px; border-radius: 16px;" class="progress progress-striped"><div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%; background-color: ' + colors[i] + ';"></div></div></div></td>' + '<td class="clan-member" colspan="6"><b>Level ' + i + '</b>' + '<div style="font-size: 10pt;">Targets: ' + createTargetItem('lvl_' + i + '_target', 120, 256) + '</div>' + '<div style="font-size: 10pt;">Rewards: ' + createTargetItem('lvl_' + i + '_reward', 120, 256) + '</div>' + '</td></tr>'; targets += '<tr class="inchange" style="display: none;"><td></td>' + '<td class="clan-member"><i class="fa fa-user fa-fw"></i> Each member:</td>' + '<td class="hidden-xs">' + createTargetItem('lvl_' + i + '_mdep', 6, 6) + '</td>' + '<td class="hidden-xs">' + createTargetItem('lvl_' + i + '_mcap', 6, 6) + '</td>' + '<td class="hidden-xs">' + createTargetItem('lvl_' + i + '_mcon', 6, 6) + '</span></td>' + '<td class="visible-sm visible-md visible-lg">' + createTargetItem('lvl_' + i + '_mtot', 6, 6) + '</td>' + '<td class="visible-xs"></td>' + '</tr>'; targets += '<tr class="inchange" style="display: none;"><td></td>' + '<td class="clan-member"><i class="fa fa-users fa-fw"></i> Clan total:</td>' + '<td class="hidden-xs">' + createTargetItem('lvl_' + i + '_cdep', 6, 6) + '</td>' + '<td class="hidden-xs">' + createTargetItem('lvl_' + i + '_ccap', 6, 6) + '</td>' + '<td class="hidden-xs">' + createTargetItem('lvl_' + i + '_ccon', 6, 6) + '</span></td>' + '<td class="visible-sm visible-md visible-lg">' + createTargetItem('lvl_' + i + '_ctot', 6, 6) + '</td>' + '<td class="visible-xs"></td>' + '</tr>'; i++; } targets += '</tbody>' + '<tr class="total-points"><td colspan="2"></td><td class="hidden-xs"></td> <td class="hidden-xs"></td> <td class="hidden-xs"></td><td style="text-align: right;">' + '<i id="setinchange" class="fa fa-pencil fa-2x canbechanged" style="cursor: pointer;"></i>' + '<i id="saveinchange" class="fa fa-save fa-2x inchange" style="cursor: pointer; display: none;"></i>' + '</td></tr></table>'; $('#munzee-holder').append(targets); } function populateTargetsTable() { $.each(targetsDict, function (key, data) { $(('#' + key + 'D')).text(data); $(('#' + key + 'I')).val(data); }); } function writeTargetsTable() { $.each(targetsDict, function (key, data) { createCookie(key, data, 31) }); } function setScore(obj, score, trans, lvl1, lvl2, lvl3, lvl4, lvl5) { var color; var percent = 0; var level = 0; var togo = 0; if (score < lvl1) { color = colors[1]; level = 0; togo = lvl1 - score; percent = Math.floor(100 * (score / lvl1)); } else if (score < lvl2) { color = colors[2]; level = 1; togo = lvl2 - score; percent = Math.floor(100 * (score / lvl2)); } else if (score < lvl3) { color = colors[3]; level = 2; togo = lvl3 - score; percent = Math.floor(100 * (score / lvl3)); } else if (score < lvl4) { color = colors[4]; level = 3; togo = lvl4 - score; percent = Math.floor(100 * (score / lvl4)); } else if (score < lvl5) { color = colors[5]; level = 4; togo = lvl5 - score; percent = Math.floor(100 * (score / lvl5)); } else if (lvl5 != 0) { color = colors[5]; level = 5; togo = 0; percent = 100; } else { color = colors[0]; level = '-'; togo = ''; percent = 100; } var bgcolor = ''; if (!trans) bgcolor = ' color: #000; background-color: #fff;'; var levelBuffer = '<div style="margin-top: 1px; padding: 2px;' + bgcolor + '">' + '<div style="height: 8px; margin-bottom: 0px; border-radius: 2px;" class="progress progress-striped">' + '<div class="progress-bar" role="progressbar" aria-valuenow="' + percent + '" aria-valuemin="0" aria-valuemax="100" style="width: ' + percent + '%; background-color: ' + color + '"></div></div>' + '<div style="font-size: 10px; float: left;">' + level + '</div>' + '<div style="font-size: 10px; float: right;">' + togo + '</div>' + '<div style="clear:both;height: 1px; overflow: hidden"></div>'; $(obj).append(levelBuffer); } if ($('h3#weapons').length) { readTargetsTable(); $('td.clan-member').each(function(i, obj) { obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), true, Number(targetsDict['lvl_1_mdep']), Number(targetsDict['lvl_2_mdep']), Number(targetsDict['lvl_3_mdep']), Number(targetsDict['lvl_4_mdep']), Number(targetsDict['lvl_5_mdep'])); obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), true, Number(targetsDict['lvl_1_mcap']), Number(targetsDict['lvl_2_mcap']), Number(targetsDict['lvl_3_mcap']), Number(targetsDict['lvl_4_mcap']), Number(targetsDict['lvl_5_mcap'])); obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), true, Number(targetsDict['lvl_1_mcon']), Number(targetsDict['lvl_2_mcon']), Number(targetsDict['lvl_3_mcon']), Number(targetsDict['lvl_4_mcon']), Number(targetsDict['lvl_5_mcon'])); obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), true, Number(targetsDict['lvl_1_mtot']), Number(targetsDict['lvl_2_mtot']), Number(targetsDict['lvl_3_mtot']), Number(targetsDict['lvl_4_mtot']), Number(targetsDict['lvl_5_mtot'])); }); var obj = $('tr.total-points td:first').next(); setScore($(obj), $(obj).text().replace(/,/g, ''), false, Number(targetsDict['lvl_1_cdep']), Number(targetsDict['lvl_2_cdep']), Number(targetsDict['lvl_3_cdep']), Number(targetsDict['lvl_4_cdep']), Number(targetsDict['lvl_5_cdep'])); obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), false, Number(targetsDict['lvl_1_ccap']), Number(targetsDict['lvl_2_ccap']), Number(targetsDict['lvl_3_ccap']), Number(targetsDict['lvl_4_ccap']), Number(targetsDict['lvl_5_ccap'])); obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), false, Number(targetsDict['lvl_1_ccon']), Number(targetsDict['lvl_2_ccon']), Number(targetsDict['lvl_3_ccon']), Number(targetsDict['lvl_4_ccon']), Number(targetsDict['lvl_5_ccon'])); obj = $(obj).next(); setScore($(obj), $(obj).text().replace(/,/g, ''), false, Number(targetsDict['lvl_1_ctot']), Number(targetsDict['lvl_2_ctot']), Number(targetsDict['lvl_3_ctot']), Number(targetsDict['lvl_4_ctot']), Number(targetsDict['lvl_5_ctot'])); createTargetsTable(); populateTargetsTable(); writeTargetsTable(); } // show input $(document).on('click', '#setinchange', function () { $('.canbechanged').hide(); $('.inchange').show(); }); // save input $(document).on('click', '#saveinchange', function () { $.each(targetsDict, function (key, data) { targetsDict[key] = $(('#' + key + 'I')).val(); }); writeTargetsTable(); document.location.reload(true); }); });