Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Pre Deffing Pack (PDP): Intelligent Tagger (IT) and Find Enemy Offence (FEO)
- // @version 2.3
- // @author Warre
- // @homepageURL https://swtools.programmingtuts.nl/
- // @description IT: Fastest and most advanced tagger on tribalwars.nl !
- // @description FEO: Find enemy offence and use it in your advantage !
- // @include https://*.tribalwars.nl/*
- // @exclude https://*.tribalwars.nl/guest.php*
- // @grant none
- // ==/UserScript==
- /** Changelog
- * 1.0: - Initiele versie
- - Eerste keuring door support
- * 1.1: - Verbeteren en logischer ordenen van de code
- - Illegaal verklaarde functies herwerkt
- - Tweede keuring door support
- * 1.2: - Bugfixes
- - Verbeteringen van functionaliteit
- - Stam acces controle voor FEO verbeterd
- - Eerste stamrelease
- * 1.3: - Massaal inladen van berichten mogelijk gemaakt
- - Bugfixes voor andere werelden
- * 2.0: - AF release
- - Aanpassingen voor SWtools (login system/database)
- - Bugfixes
- * 2.1: - Bugfixes http -> https
- - Bugfix notitie icoontjes die verdwenen
- - Bugfix OSaanvragen tijden
- * 2.2: - Verandering van server (twmerge -> sanderscripts)
- * 2.3: - Varandering van server (sanderscript -> programmingtuts)
- - bugfix bij het exporteren van incommings ging er iets mis met de dorpslink (de tijd kwam er bij te staan)
- - bugfix wanneer de vijand in zijn dorpen coords gebruikte, waardoor je meerdere coords kreeg in de notatie, werkte er niks meer juist (tagger niet, dubbelen niet, database niet)
- **/
- function PDPScriptCode() {
- /********************************
- ** GENERALS **
- ********************************/
- // SWtools keycode //
- var keycode = 'uRlDr7dsvvXcLdvNQyiyCTRq';
- // game_data //
- var world = game_data.world;
- var allyid = game_data.player.ally;
- var playerid = game_data.player.id;
- // Standard Settings //
- // Thx to Tuam for this function
- function get_WSettings(){
- var units_available = [], unit_speed = [], unit_population = [];
- $.ajax({
- url: 'https://'+location.host+'/interface.php?func=get_unit_info',
- success: function (xml) {
- $(xml).find('config').children().each(function(k,v){
- units_available.push($(this).prop('nodeName'));
- unit_speed.push($(this).find('speed').text());
- unit_population.push($(this).find('pop').text());
- });
- $.ajax({
- url: 'https://'+location.host+'/interface.php?func=get_building_info',
- success: function (xml2) {
- var church = ($(xml2).find('church').length>0?true:false);
- var militia = ($(xml).find('militia').length>0?true:false);
- var archer = (units_available.indexOf('archer')!=-1?true:false);
- $.ajax({
- url: 'https://'+location.host+'/interface.php?func=get_config',
- success: function (xml3) {
- var speed = parseInt($(xml3).find('speed').text())*parseInt($(xml3).find('unit_speed').text());
- var start_night = 0, end_night = 0;
- if ($(xml3).find('night active').text() == '1') {
- start_night = $(xml3).find('start_hour').text();
- end_night = $(xml3).find('end_hour').text();
- }
- var edelmax = $(xml3).find('max_dist').text();
- world_settings = {
- 'units' : units_available,
- 'unit_spd' : unit_speed,
- 'unit_pop' : unit_population,
- 'church' : church,
- 'militia' : militia,
- 'archer' : archer,
- 'speed' : speed,
- 'n_start' : start_night,
- 'n_end' : end_night,
- 'edelmax' : edelmax,
- 'version' : '1.0'
- };
- localStorage.setItem('WWorldSettings_'+world, JSON.stringify(world_settings));
- }
- });
- }
- });
- }
- });
- }
- if (!localStorage.getItem('WWorldSettings_'+world)) get_WSettings();
- else WS = JSON.parse(localStorage.getItem('WWorldSettings_'+world));
- if (WS.version != '1.0') get_WSettings();
- // IT //
- var units = ['Scouts', 'Lc', 'Zc', 'Bijl', 'Zwaard', 'Ram/Kata', '**EDEL**'];
- var unitsimgs = ['spy', 'light', 'heavy', 'axe', 'sword', 'ram', 'snob'];
- var edelmax = parseInt(WS.edelmax);
- var unitspeed = [];
- for (i=0;i<unitsimgs.length;i++) {
- for (j=0;j<WS.units.length;j++) {
- if (unitsimgs[i] == WS.units[j]) {
- unitspeed.push(WS.unit_spd[j]);
- }
- }
- }
- // caching //
- var $incommings_tableTR = $('#incomings_table').find('tr');
- var $div_filters = $('div.overview_filters');
- var $div_filtersINPUT = $div_filters.find('input[type="text"]');
- var $div_filtersTDL = $div_filters.find('td:last');
- var $overview_filters = $('div.overview_filters');
- var $footer_link = $('#linkContainer').find('a:last');
- /********************************
- ** SETTINGS **
- ********************************/
- if (localStorage.getItem('PDP_Settings_'+world) == null) {
- PDP_DefaultSettings = {
- fake_pop: 9000,
- clear_build_time: 14,
- deffs_needed : [0,2,3,4,5,6,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12]
- };
- localStorage.setItem('PDP_Settings_'+world, JSON.stringify(PDP_DefaultSettings));
- }
- var PDP_Settings = JSON.parse(localStorage.getItem('PDP_Settings_'+world));
- if (localStorage.getItem('FEO_reports_'+world+'_'+playerid) == null) {
- FEO_DefaultRaps = {
- ids: [],
- timestamps: []
- };
- localStorage.setItem('FEO_reports_'+world+'_'+playerid, JSON.stringify(FEO_DefaultRaps));
- }
- var FEO_Reports = JSON.parse(localStorage.getItem('FEO_reports_'+world+'_'+playerid));
- // holiday mode //
- var h_mode = '';
- if (game_data.player.sitter != '0') h_mode = '&t='+game_data.player.id;
- /********************************
- ** USERSCRIPT **
- ********************************/
- /** ==Functions== **/
- // General functions //
- function IT_FadeOutMessage(message, length, clickclose, stayVisible, close, width) {
- if (!clickclose) {$('.IT_message').on('click', function(){$('.IT_message').fadeOut(100, function(){$('.IT_message').attr('style', 'display:none;')})});}
- if (!stayVisible) {setInterval(function(){$('.IT_message').fadeOut(1000, function(){$('.IT_message').attr('style', 'display:none;')})}, length);}
- if (close) {close = '<br><br><br><a href="javascript: $(\'.IT_message\').remove();void(0);" style="float:right;">» Sluiten «</a>';} else {close = '';}
- var style = 'position:fixed;overflow:auto;top:100px;max-height:'+(window.outerHeight-300)+'px;width:'+width+'px;left:'+(window.outerWidth/2-(width/2))+'px;background-color:#e8d4a9;border:2px solid #804000;padding:10px;text-align:center;font-size:12px;z-index:15000;box-shadow:0 0 50px 0px #000000;';
- $('body').append('<div class="IT_message" style="'+style+'">'+ message + close + '</div>');
- }
- // IT functions //
- function SaveTimestamp() {
- var curTimestampSave = new Date().getTime();
- localStorage.setItem('IT_savedTimestamp_'+world+'_'+playerid, curTimestampSave);
- }
- function getMin(str) {
- var p = str.split(':'),
- s = 0, m = 1;
- while (p.length > 0) {
- s += m * parseInt(p.pop(), 10);
- m *= 60;
- }
- return s/60;
- }
- function getDis (targetC, originC) {
- targetC = targetC.split('|');
- originC = originC.split('|');
- return Math.sqrt(((originC[0]-targetC[0])*(originC[0]-targetC[0])+(originC[1]-targetC[1])*(originC[1]-targetC[1])));
- }
- function zeropad(n) {
- n = Math.floor(n);
- return n > 9 ? n : '0' + n;
- }
- function formatDuration(m) {
- return zeropad(m/60)+':'+zeropad(m%60)+':'+zeropad(Math.round(m%1 * 60));
- }
- function OpenFirst(id) {
- IT_FadeOutMessage("Eerste bevel wordt automatisch geopent.", 2000, false, false, false);
- location.href = '/game.php?village='+game_data.village.id+'&id='+id+'&type=other&screen=info_command'+h_mode;
- }
- function ColorBackGround(id) {
- $('span.quickedit[data-id="'+id+'"]').closest('tr').children().css('background-color', '#e0f289');
- }
- function sendAjax(id, val) {
- var IT_post_url = game_data.link_base_pure + 'info_command&ajaxaction=edit_other_comment&id='+id+'&h='+game_data.csrf;
- $.ajax({
- url: IT_post_url,
- type: 'POST',
- data: {text: val},
- success: function(){
- $('span.quickedit[data-id="'+id+'"]').find('span.quickedit-label').text(val);
- ColorBackGround(id);
- }
- });
- }
- function CheckTribeInfo(id, player) {
- var tribeinfo = JSON.parse(localStorage.getItem('IT_tribeinfo_'+world+'_'+allyid));
- if (tribeinfo != null) {
- var playerss = tribeinfo.players;
- for (var g=0;g<playerss.length;g++) { // for loop voor tribe players
- if (player == playerss[g]) { // controle of het een aanval van een speler van de stam is of niet
- if (player == game_data.player.name) { // controle of het aanval van jezelf is
- return 'own';
- } else {
- return 'tribe';
- }
- }
- }
- }
- }
- function rename(id, yn, pl, unit, coord, dis, front) {
- if (yn != 'multiid') {
- var val = '';
- var TribeInfo = CheckTribeInfo(id, pl);
- if (TribeInfo == 'own') {
- val = 'MARKEREN EIGEN';
- } else if (TribeInfo == 'tribe') {
- val = 'MARKEREN STAM ('+pl+')';
- } else if (yn == 'other') {
- val = 'MARKEREN '+unit+' ('+coord+') '+pl+' F'+Math.round(dis);
- } else if (yn == 'rename') {
- val = front+' '+unit+' ('+coord+') '+pl+' F'+Math.round(dis);
- }
- if (val != '') {
- sendAjax(id, val);
- }
- } else {
- for (var i=0;i<id.length;i++) {
- if (i == id.length-1) var val = 'IT_0';
- else var val = 'IT_'+id[i+1];
- sendAjax(id[i], val);
- }
- OpenFirst(id[0]);
- }
- }
- function uniek(input) {
- var output = [];
- input.sort(); var prev;
- for (var i=0;i<input.length;i++) {
- if (input[i] !== prev) {
- output.push(input[i]);
- }
- prev = input[i];
- }
- return output;
- }
- // FEO functions //
- function getServertimeTimestamp(small) {
- var timestr = ($('#serverDate').text()+' '+$('#serverTime').text()).split(' ');
- // date
- var d = timestr[0].split('/');
- var D = d[1]+' '+d[0]+', '+d[2];
- // time
- var T = timestr[1];
- // result
- if (small) var timestamp = (Date.parse(D+' '+T))/1000;
- else var timestamp = Date.parse(D+' '+T);
- return timestamp;
- }
- function formatTimeFromTimestamp(unixTimestamp) {
- function pad(number) {
- var str = '' + number;
- while (str.length < 2) {
- str = '0' + str;
- }
- return str;
- }
- var dt = new Date(unixTimestamp * 1);
- var day = dt.getDate();
- var month = dt.getMonth() + 1;
- var year = String(dt.getFullYear()).slice(2);
- var hours = dt.getHours();
- var minutes = dt.getMinutes();
- var seconds = dt.getSeconds();
- return pad(day) + '.' + pad(month) + '.' + pad(year) + ' ' + pad(hours) + ":" + pad(minutes) + ":" + pad(seconds);
- }
- function twTimeToTimestamp(timestr) {
- // 02.12.13 21:26:22:500
- if (timestr.match(/\:/g).length == 3) {
- timestr = timestr.split(/:(?!.*:)/)[0]; // remove milliseconds
- }
- timestr = timestr.split(' ');
- // date
- var d = timestr[0].split('.');
- var D = d[1]+' '+d[0]+', 20'+d[2];
- // time
- var T = timestr[1];
- // result
- var timestamp = Date.parse(D+' '+T);
- return timestamp;
- }
- function addFEOtoRow() {
- $('#report_list').find('tr').not(':contains("Onderwerp")').not(':contains("alles selecteren")').not(':contains("Filter")').each(function() {
- if ($(this).find('#FEO_span').length == 0) {
- var raps_id = $(this).find('span.quickedit').eq(0).attr('data-id');
- if (FEO_Reports.ids.indexOf(raps_id) == -1) {
- // add td ( V = ✔ - X = ✘)
- $(this).find('td:eq(2)').after('<td FEO_remove="remove" style="font-size:14px;text-align:center;"><span id="FEO_span" class="FEO_span" style="color:red;">✘</span></td>');
- // change tr
- $(this).attr('FEO_class', 'not_done');
- } else {
- // add td ( V = ✔ - X = ✘)
- $(this).find('td:eq(2)').after('<td FEO_remove="remove" style="font-size:14px;text-align:center;"><span id="FEO_span" class="FEO_span" style="color:green;">✔</span></td>');
- // change tr
- $(this).attr('FEO_class', 'done');
- }
- }
- });
- }
- function changeDone(element) {
- // changing table
- element.attr('FEO_class', 'done')
- element.find('span#FEO_span').css('color', 'green');
- element.find('span#FEO_span').html('✔');
- ColorBackGround(element.find('span.quickedit').attr('data-id'));
- // changing localstorage
- FEO_Reports.ids.push(element.find('span.quickedit').attr('data-id'));
- FEO_Reports.timestamps.push(getServertimeTimestamp(true));
- localStorage.setItem('FEO_reports_'+world+'_'+playerid, JSON.stringify(FEO_Reports));
- // check for last
- if ($('#report_list').find('tr[FEO_class="not_done"]').length == 0) {
- IT_FadeOutMessage("<b>Berichten inlezen voltooid !</b>", 5000, true, false, false, 400);
- }
- }
- function SendInfo(ajax, html, element) {
- // get info
- var $FEO_past_result = $('#FEO_past_result');
- if (ajax) {
- var $info_attTR = $(html).find('#attack_info_att').find('tr');
- var Time = twTimeToTimestamp($.trim($(html).find('td:contains("Gevechtstijd")').next('td').text()));
- var att_troops = $(html).find('#attack_info_att_units tr:eq(1) td.unit-item');
- var att_troops_left = $(html).find('#attack_info_att_units tr:eq(2) td.unit-item');
- } else {
- var $info_attTR = $('#attack_info_att').find('tr');
- var Time = twTimeToTimestamp($.trim($('td:contains("Gevechtstijd")').next('td').text()));
- var att_troops = $('#attack_info_att_units tr:eq(1) td.unit-item');
- var att_troops_left = $('#attack_info_att_units tr:eq(2) td.unit-item');
- }
- var VillageID = $info_attTR.eq(1).find('td').eq(1).find('a').attr('href').match(/&id=\d+/).toString().match(/\d+/);
- var Coords = $info_attTR.eq(1).find('td').eq(1).find('a').text().match(/\d+\|\d+/);
- var Attacker_ID = $info_attTR.eq(0).find('th').eq(1).find('a').attr('href').match(/&id=\d+/).toString().match(/\d+/);
- var Attacker = $.trim($info_attTR.eq(0).find('th').eq(1).find('a').eq(0).text());
- var Tribe = $info_attTR.eq(0).find('th').eq(1).find('a').attr('title');
- var Troops = [];
- var Troops_Left = [];
- for (var i=0;i<att_troops.length;i++) {
- Troops.push(att_troops.eq(i).text());
- Troops_Left.push(att_troops.eq(i).text()-att_troops_left.eq(i).text());
- }
- // ajax
- var url = 'https://swtools.programmingtuts.nl/PDP/SendInfo.php?game_data='+encodeURIComponent(JSON.stringify(game_data))+'&VillageID='+VillageID+'&Coords='+Coords+'&Attacker='+Attacker+'&Attacker_ID='+Attacker_ID+'&Tribe='+Tribe+'&Time='+Time+'&Troops='+Troops+'&Troops_Left='+Troops_Left+'&keycode='+keycode;
- //alert(url);
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- if (ajax) {
- if (data['return']) {
- changeDone(element);
- } else {
- alert('FEO: error code 1');
- }
- } else {
- // changing localstorage
- FEO_Reports.ids.push($('span.quickedit').eq(0).attr('data-id'));
- FEO_Reports.timestamps.push(getServertimeTimestamp(true));
- localStorage.setItem('FEO_reports_'+world+'_'+playerid, JSON.stringify(FEO_Reports));
- $FEO_past_result.append(data.msg);
- }
- },
- error: function (xhr, status, err) {
- if (ajax) {
- alert('FEO: error code 2');
- } else {
- $FEO_past_result.append('FEO: error');
- }
- }
- })
- }
- function DeleteInfo(Coords) {
- var conf = confirm("FEO: zeker verwijderen ?");
- if (conf == true) {
- // ajax
- var url = 'https://swtools.programmingtuts.nl/PDP/DeleteInfo.php?game_data='+encodeURIComponent(JSON.stringify(game_data))+'&Coords='+Coords+'&keycode='+keycode;
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- alert('FEO: '+data.msg);
- },
- error: function (xhr, status, err) {
- alert('FEO: error');
- }
- })
- } else {
- alert('FEO: verwijderen geannuleerd');
- }
- }
- function FEO_rename(id, kind, digit) {
- var PrevVal = $.trim($('span.quickedit[data-id="'+id+'"]').find('span.quickedit-label').text());
- if (kind == '%') {
- if (!PrevVal.match(/\[\d+%\]/)) {
- var NewVal = PrevVal+' ['+digit+'%]';
- } else {
- var NewVal = PrevVal.replace(/\[\d+%\]/, '['+digit+'%]');
- }
- } else if (kind == 'x') {
- if (!PrevVal.match(/\[\d+x\]/)) {
- var NewVal = PrevVal+' ['+digit+'x]';
- } else {
- var NewVal = PrevVal.replace(/\[\d+x\]/, '['+digit+'x]');
- }
- }
- sendAjax(id, NewVal);
- }
- // OSaanvragen functions //
- function makeTimestamp(timestr) {
- // vandaag om 16:49:08 uur
- // op 21.08. om 05:04:11 uur
- var pos = timestr.indexOf(':');
- var T = timestr.substr(pos - 2, 8); //+','+MS;
- var Serverdate = $('#serverDate').text().split('/');
- Serverdate = Serverdate[1] + ' ' + Serverdate[0] + ', ' + Serverdate[2];
- var Serverdate = new Date(Date.parse(Serverdate + ' ' + T));
- if (timestr.match('vandaag')) {
- var D = Serverdate;
- } else if (timestr.match('morgen')) {
- var D = Serverdate;
- D.setDate(D.getDate() + 1);
- } else {
- var pos = timestr.indexOf('.');
- var d = timestr.substr(pos - 2, 5).split('.');
- d = d[1] + '/' + d[0] + '/' + Serverdate.getFullYear() + ' ' + T;
- var D = new Date(Date.parse(d));
- }
- return D.getTime()/1000;
- }
- function makeTime(OneCommand, timestr) {
- // vandaag om 16:49:08 uur
- // op 21.08. om 05:04:11 uur
- var T = timestr.match(/\d+\:\d+\:\d+/);
- var ServerDate = $('#serverDate').text().split('/');
- var daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
- if (timestr.match('vandaag')) {
- var D = ServerDate[0]+'.'+ServerDate[1]+'.';
- } else if (timestr.match('morgen')) {
- var tomorrow = parseInt(ServerDate[0], 10) + 1;
- if (tomorrow > daysInMonth[ServerDate[1]]) {
- tomorrow = 1;
- var m = parseInt(ServerDate[1], 10) + 1;
- } else {
- var m = ServerDate[1];
- }
- var D = tomorrow+'.'+m+'.';
- } else {
- var D = timestr.match(/\d+\.\d+\./);
- }
- if (OneCommand) {
- T = T.toString().split(':');
- return D+ServerDate[2]+' '+T[0]+':'+T[1];
- } else {
- return 'VOOR '+D+' om '+T;
- }
- }
- function getInfoFromVillage(id, WS_UP, callback) {
- $.ajax({
- url: 'https://'+location.host+'/game.php?village='+id+'&screen=overview',
- datatype: 'html',
- async: false,
- success: function(html) {
- // inc atts
- var Inc_Atts = $(html).find('#show_incoming_units').find('img[src*="command/attack.png"]').length;
- //wall
- var Wall = html.split('"wall":"')[1].split('"')[0];
- // own_deffs
- var pop = 0;
- $(html).find('#show_units').find('.unit_link').each(function () {
- var unit = $(this).find('img').attr('src').split('unit_')[1].split('.png')[0];
- var unit_index = WS.units.indexOf(unit);
- var number = $(this).next('strong').text();
- var addPOP = number * WS_UP[unit_index];
- pop = pop + addPOP;
- });
- var Own_Deffs = Math.round(pop / 20400 * 100) / 100;
- // inc deffs
- var Inc_Deffs = $(html).find('#show_incoming_units').find('img[src*="command/support.png"]').length;
- // church
- var Wchurch, church;
- if (WS.church) {
- Wchurch = true;
- church = ($(html).find('#show_effects div.widget_content td.effect_tooltip').text().match(/Niet gelovig/)) ? false : true;
- } else {
- Wchurch = false;
- }
- //callback
- callback([Inc_Atts, Wall, Own_Deffs, Inc_Deffs, Wchurch, church]);
- },
- error: function () {
- callback(['error', 'error', 'error', 'error', 'error', 'error']);
- }
- });
- }
- /** ==Pages== **/
- // On all pages //
- if ($('img[title="Binnenkomende aanvallen"]')) {
- var linkandimg = '<a style="vertical-align: middle" href="/game.php?village='+game_data.village.id+'&subtype=attacks&mode=incomings&group=0&page=-1&screen=overview_villages'+h_mode+'">';
- linkandimg += '<img src="https://swtools.programmingtuts.nl/PDP/images/att_red.png" FEO_remove="remove" title="Binnenkomende aanvallen voor taggen" style="vertical-align: -2px" alt="" class=""/>';
- $('img[title="Binnenkomende aanvallen"]').parent('a').before(linkandimg);
- }
- var tribeinfo = JSON.parse(localStorage.getItem('IT_tribeinfo_'+world+'_'+allyid));
- var huidigetimestamp = new Date().getTime();
- if (tribeinfo == null || parseInt(tribeinfo.timestamp+604800000) < huidigetimestamp) {
- var tribe = {timestamp: 0, tribename: '', players: []};
- var url = 'https://'+world+'.tribalwars.nl/game.php?mode=members&screen=ally'+h_mode;
- $.ajax({
- url: url,
- dataType: 'html',
- async: false,
- success: function (html) {
- tribe.timestamp = new Date().getTime();
- tribe.tribename = $.trim($(html).find('#content_value').find('h2').eq(0).text());
- var players = $(html).find('#ally_content').find('a[href$="&screen=info_player"]');
- for (i=0;i<players.length;i++) {
- tribe.players.push(players.eq(i).text());
- }
- localStorage.setItem('IT_tribeinfo_'+world+'_'+allyid, JSON.stringify(tribe));
- },
- error: function (xhr, status, err) {
- alert('Fout in Intelligent_Tagger.\nEr is mogelijk iets mis gegaan bij de controle voor incomings van stamgenoten of jezelf.\nEr zal gewoon getagd worden zonder hier rekening mee te houden.');
- }
- })
- }
- // Incomings Overview page //
- if (game_data.screen == 'overview_villages' && $('th:contains("Filter binnenkomende bevelen")').length != 0) {
- // Add next page (Thx to .Arrogant)
- $(".paged-nav-item").last().after('<a id="LoadNextPage" href="#">[FEO: Volgende pagina laden]</a>');
- var currentPageNumber = location.href.match(/page=\d+/);
- var newPageNumber = location.href.match(/page=\d+/) > 0 ? 0 : 1;
- $("#LoadNextPage").on('click', function(){
- if (newPageNumber == currentPageNumber) {
- newPageNumber++
- }
- var nextpage = location.href.replace(/page=\d+/, "page="+newPageNumber);
- $.ajax({
- url: nextpage,
- success: function (result) {
- $(".overview_table .nowrap").last().after($("#incomings_table .nowrap", result));
- var headerColumn = $('.overview_table').find('th:contains("Bevel")');
- var newCount = $('.overview_table').find('tr.nowrap').length;
- headerColumn.text(headerColumn.text().replace(parseInt($.trim(headerColumn.text()).match(/\d+/)), newCount))
- },
- error: function() {
- alert('De volgende pagina kon niet geladen worden');
- }
- })
- $("#paged_view_content .vis tr:first-child a:contains('"+(newPageNumber + 1)+"')").length > 0 ? $("#paged_view_content .vis tr:first-child a:contains('"+(newPageNumber + 1)+"')").replaceWith('<strong>'+$("#paged_view_content .vis tr:first-child a:contains('"+(newPageNumber + 1)+"')").html()+'</strong>') : '';
- if(parseInt($("#paged_view_content .vis tr:first-child select option:last").text()) - 1 == newPageNumber || $('a.paged-nav-item').length == 1) {
- $("#paged_view_content .vis tr:first-child a.paged-nav-item").replaceWith('<strong>'+$("#paged_view_content .vis tr:first-child a.paged-nav-item").html()+'</strong>')
- $("#LoadNextPage").remove();
- }
- newPageNumber++;
- });
- // place icons
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- $incommings_tableTR.eq(i).find('td').eq(0).find('img').not(':first').remove(); // remove other images
- var incName = $incommings_tableTR.eq(i).find('.quickedit-label:first').text();
- for (j=0;j<units.length;j++) {
- if (units[j].match('EDEL')) var match = /\*\*EDEL\*\*/;
- else var match = units[j];
- if (incName.match(match)) {
- $incommings_tableTR.eq(i).find('td').eq(0).find('img:first').attr('src', 'https://cdn.tribalwars.net/graphic/unit/tiny/'+unitsimgs[j]+'.png');
- }
- }
- }
- // Expand Filters //
- // drop down info
- var doel = {name:[], coord:[], c:[]};
- var herkomst = {name:[], coord: [], c:[]};
- var speler = [];
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- var doel_text = $.trim($incommings_tableTR.eq(i).find('td').eq(1).text());
- var doel_split = doel_text.split(/\(\d+\|\d+\)/);
- doel.name.push(doel_split[0]);
- doel.coord.push(doel_text.match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString());
- doel.c.push(doel_split[1]);
- var herkomst_text = $.trim($incommings_tableTR.eq(i).find('td').eq(2).text());
- var herkomst_split = herkomst_text.split(/\(\d+\|\d+\)/);
- herkomst.name.push(herkomst_split[0]);
- herkomst.coord.push(herkomst_text.match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString());
- herkomst.c.push(herkomst_split[1]);
- var speler_text = $.trim($incommings_tableTR.eq(i).find('td').eq(3).text());
- speler.push(speler_text);
- }
- // making uniek
- doel.name = uniek(doel.name);
- doel.coord = uniek(doel.coord);
- doel.c = uniek(doel.c);
- herkomst.name = uniek(herkomst.name);
- herkomst.coord = uniek(herkomst.coord);
- herkomst.c = uniek(herkomst.c);
- speler = uniek(speler);
- // prepare drop downs
- var label_opties = ['aanval', 'markeren', 'ok', 'dodge ', 'dodged', 'bijstacken', 'gevraagd', 'dubbel', 'fake', 'dodge eigen os'];
- var label_dropdown = ' <select id="label_dropdown" style="width:130px;"><option></option>';
- for (var i=0;i<label_opties.length;i++){label_dropdown += '<option value="'+label_opties[i]+'">'+label_opties[i]+'</option>';}
- label_dropdown += '</select>';
- var doel_dropdown = ' <select id="doel_dropdown" style="width:130px;"><option></option>';
- doel_dropdown += '<optgroup label="Dorpsnaam">';
- for (var i=0;i<doel.name.length;i++){doel_dropdown += '<option value="'+doel.name[i]+'">'+doel.name[i]+'</option>';}
- doel_dropdown += '<optgroup label="Coords">';
- for (var i=0;i<doel.coord.length;i++){doel_dropdown += '<option value="'+doel.coord[i]+'">'+doel.coord[i]+'</option>';}
- doel_dropdown += '<optgroup label="Continent">';
- for (var i=0;i<doel.c.length;i++){doel_dropdown += '<option value="'+doel.c[i]+'">'+doel.c[i]+'</option>';}
- doel_dropdown += '</select>';
- var herkomst_dropdown = ' <select id="herkomst_dropdown" style="width:130px;"><option></option>';
- herkomst_dropdown += '<optgroup label="Dorpsnaam">';
- for (var i=0;i<herkomst.name.length;i++){herkomst_dropdown += '<option value="'+herkomst.name[i]+'">'+herkomst.name[i]+'</option>';}
- herkomst_dropdown += '<optgroup label="Coords">';
- for (var i=0;i<herkomst.coord.length;i++){herkomst_dropdown += '<option value="'+herkomst.coord[i]+'">'+herkomst.coord[i]+'</option>';}
- herkomst_dropdown += '<optgroup label="Continent">';
- for (var i=0;i<herkomst.c.length;i++){herkomst_dropdown += '<option value="'+herkomst.c[i]+'">'+herkomst.c[i]+'</option>';}
- herkomst_dropdown += '</select>';
- var speler_dropdown = ' <select id="herkomst_dropdown" style="width:130px;"><option></option>';
- for (var i=0;i<speler.length;i++){speler_dropdown += '<option value="'+speler[i]+'">'+speler[i]+'</option>';}
- speler_dropdown += '</select>';
- // add drop downs
- $div_filtersINPUT.eq(0).after(label_dropdown);
- $div_filtersINPUT.eq(1).after(doel_dropdown);
- $div_filtersINPUT.eq(2).after(herkomst_dropdown);
- $div_filtersINPUT.eq(3).after(speler_dropdown);
- // remove filters
- $div_filtersTDL.removeAttr('class');
- $div_filtersTDL.find('input').attr('id', 'saveandreload');
- $div_filtersTDL.append('<input type="submit" id="removefilters" value="Verwijder filters" class="btn" style="float:right;"/>');
- $('#removefilters').on('click', function(){
- $('.overview_filters_delete').click();
- });
- // dorp down actions
- $div_filters.find('option').on('click', function() {
- var $this = $(this);
- $this.closest('select').prev('input').val($this.val());
- $('#saveandreload').click();
- });
- // adding menu //
- $('.overview_filters_manage').html('» Filters en PDP tonen of verbergen');
- $overview_filters.attr('style', 'margin-bottom: 160px');
- $overview_filters.find('table:eq(0)').attr('align', 'left');
- var PDP_table = '<table class="vis center" align="left" style="margin-left:20px;"><tr><th title="Pre Deffing Pack" colspan="4"><center>Pre Deffing Pack</center></th></tr>';
- PDP_table += '<tr>';
- PDP_table += '<th title="Intelligent Tagger"><center>IT</center></th><th title="Find Enemy Offence"><center>FEO</center></th><th title="Ondersteuning aanvragen"><center>OSaanvragen</center></th><th title="Instellingen"><center>Settings</center></th>';
- PDP_table += '</tr><tr>';
- PDP_table += '<td><input type="button" class="IT_button btn" id="IT_taggen" title="Gewoon taggen" value="Taggen"></td>';
- PDP_table += '<td><input type="button" class="btn" id="FEO_database" title="Check de database voor info.\nVorige info wordt niet geupdate!" value="Check database"></td>';
- PDP_table += '<td><input type="button" class="btn" id="PDP_select_all" title="Selecteer alle incommings op deze pagina" value="Alles selecteren"></td>';
- PDP_table += '<td><input type="button" class="btn" id="PDP_Settings" title="Open instellingen menu" value="Instellingen"></td>';
- PDP_table += '</tr><tr>';
- PDP_table += '<td><input type="button" class="IT_button btn" id="IT_hmtaggen" title="Handmatig taggen" value="Handmatig"></td>';
- PDP_table += '<td><input type="button" class="btn" id="FEO_dubbel" title="Check voor meerdere incommings uit zelfde dorp.\nVorige info wordt geupdate!" value="Check dubbel"></td>';
- PDP_table += '<td><input type="button" class="PDP_Export btn" id="PDP_Export" title="Exporteer de geselecteerde incommings" value="Incommings exporteren"></td>';
- PDP_table += '<td></td></tr><tr><td><input type="button" class="IT_button btn" id="IT_rename" title="Herbenoem bevelen" value="Rename"></td>';
- PDP_table += '<td><input type="button" class="btn" id="FEO_request" title="Haal coords van OFF dorpen op per speler." value="Ophalen coords"></td>';
- PDP_table += '<td></td><td></td></tr><tr></center></table>';
- $overview_filters.append(PDP_table);
- // Settings
- $('#PDP_Settings').on('click', function(){
- var settings_prompt = '<span class="PDPS_content"><h2>Pre Deffing Pack: Instellingen</h2><table class="vis" style="width:100%;border-collapse:separate;border-spacing:2px;text-align:left;">';
- settings_prompt += '<tr><th colspan="2" style="padding:3px;text-align:center;">Find Enemy Offence [FEO]</th></tr>';
- settings_prompt += '<tr><td style="padding:3px;" title="Wordt gebruikt om te bepalen of het een fake of een clear is."><b>Fake populatie:</b></td><td style="padding:3px;"><input type="text" id="FEO_fake_pop" value="'+PDP_Settings.fake_pop+'" style="width:98%"></td></tr>';
- settings_prompt += '<tr><td style="padding:3px;" title="Wordt gebruikt om procenten uit te rekenen."><b>Clear bouwtijd (in dagen):</b></td><td style="padding:3px;"><input type="text" id="FEO_clear_build_time" value="'+PDP_Settings.clear_build_time+'" style="width:98%"></td></tr>';
- settings_prompt += '<tr><td colspan="2" style="height:15px;"></td></tr>';
- settings_prompt += '<tr><th colspan="2" style="padding:3px;text-align:center;">OS aanvragen</th></tr>';
- settings_prompt += '<tr><th style="text-align:center;">Incommings</th><th style="text-align:center;">Deffs nodig</th></tr>';
- for (var key in PDP_Settings.deffs_needed) {
- settings_prompt += '<tr class="OSA_row"><td style="text-align:center;">'+key+'</td><td style="text-align:center;"><input type="text" size="4" class="DN_nr" style="text-align:center;" onclick="this.select();" value="'+PDP_Settings.deffs_needed[key]+'"></td></tr>';
- }
- settings_prompt += '<tr><td colspan="2" style="padding:3px;text-align:center;"><a href="#" class="add_OS_row"><img src="https://nl34.tribalwars.nl/graphic/plus.png"></a></td></tr>';
- settings_prompt += '</table><br><input type="button" id="PDP_save" value="Opslaan"> | <input type="button" id="PDP_close" value="Annuleren">';
- settings_prompt += '<br><br><input type="button" id="PDP_standard" value="Standaard herstellen" title="Herstel de instellingen naar de standaard."> | <input type="button" id="PDPS_import" value="Importeren"> | <input type="button" id="PDPS_export" value="Exporteren"><br><br></span>';
- IT_FadeOutMessage(settings_prompt, 0, false, true, false, 400);
- $('.add_OS_row').on('click', function() {
- $(this).closest('tr').before('<tr class="OSA_row"><td style="text-align:center;">'+$('.OSA_row').length+'</td><td style="text-align:center;"><input type="text" size="4" class="DN_nr" style="text-align:center;" onclick="this.select();" value=""></td></tr>');
- });
- $('#PDP_close').on('click', function(){$('.IT_message').remove();});
- $('#PDP_save').on('click', function(){
- DN_arr = [];
- $('.DN_nr').each(function() {
- DN_arr.push($(this).val());
- });
- PDP_Settings = {
- fake_pop: $('#FEO_fake_pop').val(),
- clear_build_time: $('#FEO_clear_build_time').val(),
- deffs_needed: DN_arr
- };
- localStorage.setItem('PDP_Settings_'+world, JSON.stringify(PDP_Settings));
- $('.IT_message').remove();
- location.reload();
- });
- $('#PDP_standard').on('click', function(){
- var conf = confirm('Ben je zeker dat je de standaard instellingen terug wilt zetten ?');
- if (conf) {
- PDP_Settings = {
- fake_pop: 9000,
- clear_build_time: 14,
- deffs_needed : [0,2,3,4,5,6,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12]
- };
- localStorage.setItem('PDP_Settings_'+world, JSON.stringify(PDP_Settings));
- $('.IT_message').remove();
- location.reload();
- }
- });
- $('#PDPS_import').on('click', function() {
- $('.PDPS_content').html('<h2>Instellingen importeren</h2><textarea cols="40" rows="20" id="PDPS_area" onclick="this.select();"></textarea><br><br><input type="button" id="do_PDPS_import" value="Importeren"> | <input type="button" id="go_back" value="Ga terug">');
- $('#do_PDPS_import').on('click', function() {
- PDP_Settings = JSON.parse($('#PDPS_area').val());
- localStorage.setItem('PDP_Settings_'+world, JSON.stringify(PDP_Settings));
- $('.IT_message').remove();
- location.reload();
- });
- $('#go_back').on('click', function() {
- $('.IT_message').remove();
- $('#PDP_Settings').click();
- });
- });
- $('#PDPS_export').on('click', function() {
- $('.PDPS_content').html('<h2>Instellingen exporteren</h2><textarea cols="40" rows="20" onclick="this.select();">'+JSON.stringify(JSON.parse(localStorage.getItem('PDP_Settings_'+world)))+'</textarea><br><br><input type="button" id="go_back" value="Ga terug">');
- $('#go_back').on('click', function() {
- $('.IT_message').remove();
- $('#PDP_Settings').click();
- });
- });
- });
- // IT //
- $incommings_tableTR.last().prev('tr').attr('IT-class','lastattack'); // marklastattack
- $incommings_tableTR.last().prev('tr:contains("Aanval")').attr('IT-classA','lastattackAanval'); // marklastattack Aanval
- $incommings_tableTR.last().prev('tr:contains("aanval")').attr('IT-classA','lastattackAanval'); // marklastattack aanval
- $('.IT_button').on('click', function(){Pre_Tagging($(this).attr('id'));});
- function Pre_Tagging(action) {
- if (action == 'IT_taggen' || action == 'IT_hmtaggen') {
- if($('input[name="filters[target_comment]"]').val() == 'Aanval' || $('input[name="filters[target_comment]"]').val() == 'aanval') {
- if (location.href.match(/screen=overview_villages/) && location.href.match(/mode=incomings/) && location.href.match(/subtype=attacks/) && location.href.match(/group=0/) && location.href.match(/page=-1/)) {
- if ($('#incomings_table').length > 0) {
- IT_FadeOutMessage("Je zit op de juiste pagina en de filter is juist ingesteld.<br>Het taggen kan beginnen !", 5000, false, false, false, 400);
- Tagging(action);
- } else {
- IT_FadeOutMessage("Er zijn geen incommings te vinden op deze pagina.", 2000, false, false, false, 400);
- }
- } else {
- IT_FadeOutMessage("Je zit niet op de juiste pagina.<br>Je wordt automatisch doorgestuurd.", 1500, false, false, false, 400);
- location.href = '/game.php?village='+game_data.village.id+'&subtype=attacks&mode=incomings&group=0&page=-1&screen=overview_villages'+h_mode;
- }
- } else {
- IT_FadeOutMessage("De filter is niet ingesteld op 'Aanval'.<br>De filter zal worden ingesteld op 'Aanval'.", 1500, false, false, false, 400);
- $('input[name="filters[target_comment]"]').val('Aanval');
- $('input[name="filters[target_name]"]').val('');
- $('input[name="filters[origin_name]"]').val('');
- $('input[name="filters[origin_player]"]').val('');
- $('#saveandreload').click();
- }
- } else if (action == 'IT_rename') {
- Tagging(action);
- }
- }
- function Tagging(action) {
- if (action == 'IT_taggen') {
- var curTimestamp = new Date().getTime();
- var savedTimestamp = localStorage.getItem('IT_savedTimestamp_'+world+'_'+playerid);
- var calc = Math.ceil((curTimestamp - savedTimestamp)/60000);
- var mingeledengestuurd = prompt("Hoe veel minuten maximaal geleden zijn de aanvallen gestuurd ?", calc+2);
- if (mingeledengestuurd.match(/[A-z]/)) { alert('Opgave mag alleen nummers bevatten !'); }
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- var newattack = $incommings_tableTR.eq(i).find('td').eq(0).find('a').eq(0).text();
- if (newattack.match(/Aanval/)) {
- var id = $incommings_tableTR.eq(i).find('.quickedit:first').attr('data-id');
- var player = $.trim($incommings_tableTR.eq(i).find('td').eq(3).text());
- var targettd = $incommings_tableTR.eq(i).find('td').eq(1);
- var targeta = targettd.find('a').eq(0).text();
- var targetC = targeta.match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- var origintd = $incommings_tableTR.eq(i).find('td').eq(2);
- var origina = origintd.find('a').eq(0).text();
- var originC = origina.match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- var distance = getDis(targetC, originC);
- var aankomstin = $incommings_tableTR.eq(i).find('td:contains(" om ")').next().text();
- var possible = [];
- for (var j=0;j<units.length;j++) {
- var runtime = distance*unitspeed[j];
- var ondergrens = getMin(aankomstin);
- var bovengrens = parseInt(ondergrens)+parseInt(mingeledengestuurd);
- var edelmaxtime = parseInt(edelmax)*parseInt(unitspeed[unitspeed.length-1]);
- if (j != units.length-1) { if (runtime>ondergrens && runtime<bovengrens) {possible.push(units[j]);}}
- else { if (runtime>ondergrens && runtime<bovengrens && runtime<edelmaxtime) {possible.push(units[j]);}}
- }
- if (possible.length == 1) {
- rename(id, 'other', player, possible[0], originC, distance);
- } else {
- rename(id, 'onlyTribeCheck', player);
- }
- }
- if (i == $incommings_tableTR.length-2) {
- IT_FadeOutMessage("<b>Bevelen benoemen klaar !</b>", 5000, true, false, false, 400);
- }
- } // end for loop
- SaveTimestamp();
- } else if (action == 'IT_hmtaggen') {
- var ids = [];
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- var newattack = $incommings_tableTR.eq(i).find('td').eq(0).find('a').eq(0).text();
- if (newattack.match(/Aanval/)) {
- var attackid = $incommings_tableTR.eq(i).find('.quickedit:first').attr('data-id');
- ids.push(attackid);
- }
- if (i == $incommings_tableTR.length-2) {
- IT_FadeOutMessage("<b>Bevelen benoemen klaar !</b>", 3000, false, false, false, 400);
- }
- }
- rename(ids, 'multiid');
- } else if (action == 'IT_rename') {
- var own_prompt = '<h2>Rename</h2><table class="vis" style="width:100%;border-collapse: separate;border-spacing: 2px;text-align:left;">';
- own_prompt += '<tr><td style="padding:3px;"><b>Vervang:</b></td><td style="padding:3px;"><input type="text" id="replace" value="Aanval" style="width:98%"></td></tr>';
- own_prompt += '<tr><td style="padding:3px;"><b>Voorvoegsel:</b></td><td style="padding:3px;"><input type="text" id="front" value="MARKEREN" style="width:98%"></td></tr>';
- own_prompt += '<tr><td style="padding:3px;"><b>Tag:</b></td><td style="padding:3px;"><input type="text" id="tag" value="Ram/Kata" style="width:98%"></td></tr>';
- own_prompt += '</table><br><input type="button" id="go" value="OK" style="float:left;"><input type="button" id="cancel" value="Annuleren" style="float:right;">';
- IT_FadeOutMessage(own_prompt, 5000, false, true, false, 400);
- $('#cancel').on('click', function(){$('.IT_message').remove();});
- $('#go').on('click', function(){
- var replace = $('#replace').val(), front = $('#front').val(), tag= $('#tag').val();
- $('.IT_message').remove();
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- var newattack = $incommings_tableTR.eq(i).find('td').eq(0).find('a').eq(0).text();
- if (newattack.match(replace)) {
- var id = $incommings_tableTR.eq(i).find('.quickedit:first').attr('data-id');
- var player = $.trim($incommings_tableTR.eq(i).find('td').eq(3).text());
- var targettd = $incommings_tableTR.eq(i).find('td').eq(1);
- var targeta = targettd.find('a').eq(0).text();
- var targetC = targeta.match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- var origintd = $incommings_tableTR.eq(i).find('td').eq(2);
- var origina = origintd.find('a').eq(0).text();
- var originC = origina.match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- var distance = getDis(targetC, originC);
- rename(id, 'rename', player, tag, originC, distance, front);
- }
- if (i == $incommings_tableTR.length-2) {
- IT_FadeOutMessage("<b>Bevelen benoemen klaar !</b>", 3000, false, false, false, 400);
- }
- } // end for loop
- });
- }
- } // einde tagging
- // FEO //
- // Check database
- $('#FEO_database').on('click', function() {
- //info for ajax
- var total_build_time = PDP_Settings.clear_build_time*24*60*60*1000;
- // ajax
- var url = 'https://swtools.programmingtuts.nl/PDP/GetInfo.php?info=allCoordsFull&game_data='+encodeURIComponent(JSON.stringify(game_data))+'&total_build_time='+total_build_time+'&servertime='+getServertimeTimestamp()+'&keycode='+keycode;
- //alert(url);
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- if (typeof data.Coords != "undefined") {
- // get data
- var DB_Coords = data.Coords;
- var DB_Procent = data.Procent;
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- // get id
- var id = $incommings_tableTR.eq(i).find('.quickedit:first').attr('data-id');
- // proces renaming
- var Herkomst_Td = $incommings_tableTR.eq(i).find('td').eq(2);
- var Herkomst_Coords = Herkomst_Td.text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0];
- for (var j=0;j<DB_Coords.length;j++) {
- if (Herkomst_Coords == DB_Coords[j]) {
- // rename with info
- FEO_rename(id, '%', DB_Procent[j]);
- }
- }
- if (i == $incommings_tableTR.length-2) {
- IT_FadeOutMessage("<b>Bevelen benoemen klaar !</b>", 3000, false, false, false, 400);
- }
- }
- }
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: '+data.msg+'</span>');
- },
- error: function (xhr, status, err) {
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: error</span>');
- }
- })
- });
- // Check dubbel
- $('#FEO_dubbel').on('click', function() {
- // get attack villages
- var att_villages = [];
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- var att_vil = $incommings_tableTR.eq(i).find('td').eq(2).text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- att_villages.push(att_vil);
- }
- // sort and count
- var FEO = {coord: [],count: []}; var prev;
- att_villages.sort();
- for (var i = 0; i < att_villages.length; i++) {
- if (att_villages[i] !== prev) {
- FEO.coord.push(att_villages[i]);
- FEO.count.push(1);
- } else {
- FEO.count[FEO.count.length-1]++;
- }
- prev = att_villages[i];
- }
- // only dubbel
- var FEO2 = {coord: [],count: []};
- for (var i=0;i<FEO.coord.length;i++) {
- if(FEO.count[i] != 1) {
- FEO2.coord.push(FEO.coord[i]);
- FEO2.count.push(FEO.count[i]);
- }
- }
- for (var i=1;i<$incommings_tableTR.length-1;i++) {
- var id = $incommings_tableTR.eq(i).find('.quickedit:first').attr('data-id');
- for (var j=0;j<FEO2.coord.length;j++) {
- var Herkomst_Td = $incommings_tableTR.eq(i).find('td').eq(2);
- var Herkomst_Coords = Herkomst_Td.text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0];
- if (Herkomst_Coords == FEO2.coord[j]) {
- // rename with info
- FEO_rename(id, 'x', FEO2.count[j]);
- }
- }
- if (i == $incommings_tableTR.length-2) {
- IT_FadeOutMessage("<b>Bevelen benoemen klaar !</b>", 3000, false, false, false, 400);
- }
- }
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: dubbele controleren</span>');
- });
- // request
- $('#FEO_request').on('click', function(){
- // ajax
- var url = 'https://swtools.programmingtuts.nl/PDP/GetInfo.php?info=Players&game_data='+encodeURIComponent(JSON.stringify(game_data))+'&keycode='+keycode;
- //alert(url);
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- if (typeof data.Players != "undefined") {
- // get data
- var DB_Players = data.Players;
- var DB_Num = data.Num;
- // prepare data
- DB_Players.sort();
- for(var i=1;i<DB_Players.length;){
- if(DB_Players[i-1] == DB_Players[i]){
- DB_Players.splice(i, 1);
- } else {
- i++;
- }
- }
- // output data
- var request_prompt = '<h2>FEO: Ophalen Coords</h2>Totaal in database: '+DB_Num+'<br><br>';
- request_prompt += 'Door hieronder een speler te kiezen en op ophalen te klikken kan je een lijst met coords ophalen van alle off dorpen van deze speler in de database.<br><br>';
- request_prompt += '<b>Kies speler: </b><select id="FEO_requestCoords">';
- for (var i=0;i<DB_Players.length;i++) request_prompt += '<option value="'+DB_Players[i]+'">'+DB_Players[i]+'</option>';
- request_prompt += '</select>';
- request_prompt += '<br><br><input type="button" id="FEO_get" value="Ophalen" style="float:left;"><input type="button" id="FEO_close" value="Annuleren" style="float:right;">';
- IT_FadeOutMessage(request_prompt, 0, false, true, false, 400);
- // click functions
- $('#FEO_close').on('click', function(){$('.IT_message').remove();});
- $('#FEO_get').on('click', function(){
- // ajax
- var name = $('#FEO_requestCoords').val();
- var url = 'https://swtools.programmingtuts.nl/PDP/GetInfo.php?info=PlayerCoords&game_data='+encodeURIComponent(JSON.stringify(game_data))+'&name='+name+'&keycode='+keycode;
- //alert(url);
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- // get data
- var DB_Coords = data.Coords;
- var DB_Num_Player = data.Num_Player;
- // output data
- var add = '<br><br><b>'+name+':</b> '+DB_Num_Player+' dorpen<br><textarea id="FEO_requestCoords_output" onclick="this.select();" rows="25">';
- for (var i=0;i<DB_Coords.length;i++) if(i==DB_Coords.length-1) {add += DB_Coords[i]} else{ add += DB_Coords[i]+'\n'};
- add += '</textarea>';
- $('#FEO_requestCoords').after(add);
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: '+data.msg+'</span>');
- },
- error: function (xhr, status, err) {
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: error</span>');
- }
- })
- });
- }
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: '+data.msg+'</span>');
- },
- error: function (xhr, status, err) {
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: error</span>');
- }
- })
- });
- var WS_UP = WS.unit_pop; // fix for getting access to WS - ontherwise cannot convert error
- $('#PDP_select_all').on('click', function(){$('.selectAll').click();});
- $('.PDP_Export').on('click', function() {
- $('.IT_message').remove();
- IT_FadeOutMessage('<span id="PDP_content"><h3>Export instellingen</h3><img src="https://swtools.programmingtuts.nl/PDP/images/load-icon.GIF" height="50"></span>', 0, false, true, true, 700);
- var info = {coords: [], ids: [], atts: [], timestamps: []};
- $('#incomings_table').find('tr').not(':contains("Bevel")').not(':contains("selecteren")').each(function() {
- if ($(this).find('input[type="checkbox"]').prop('checked') && $(this).find('img[src*="attack.png"]').length != 0) {
- var $a = $(this).find('a[href$="&screen=overview"]');
- var target = $a.text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0]; // returns array, no idea why
- var targetID = $a.attr('href').match(/\d+/);
- var arrival = $(this).find('td:contains(" uur")').text(); // makeTimestamp(
- var index = info.coords.indexOf(target);
- if (index == -1) {
- info.coords.push(target);
- info.ids.push(targetID);
- info.atts.push(1);
- info.timestamps.push(arrival);
- } else {
- info.atts[index]++;
- }
- }
- });
- var control = '<span id="export_control_span"><h3>Export instellingen</h3><table id="export_control" class="vis" style="margin:auto;"><thead>';
- control += '<tr><th></th><th colspan="3">Dorpsinfo</th><th colspan="2">Aanvallen</th><th colspan="2">Verdediging</th><th></th><th></th></tr>';
- control += '<tr><th>Nr.</th><th>Dorp <img id="openVillages" src="/graphic/arrow_down_padd.png" style="cursor:pointer;" title="Open alle dorpslinks"></th><th>Muur</th><th><img src="http://dsnl.innogamescdn.com/8.28/22567/graphic/buildings/church.png" alt="Gelovig" title="Gelovig"></th><th>Geselecteerd</th><th>totaal</th><th>in dorp</th><th>binnenkomend</th><th>Aanvragen</th><th></th></thead><tbody>';
- var totalSelectedAtts = 0, totalAtts = 0, totalInVillage = 0, totalIncDeffs =0, totalDeffs = 0;
- if (info.coords.length == 0) {
- control += '<tr class="PDP_row" style="height:40px;"><td colspan="10">Geen geselecteerde aanvallen gevonden</td></tr>';
- } else {
- for (var key in info.coords) {
- getInfoFromVillage(info.ids[key], WS_UP, function(VillageInfo) {
- // create rows
- var need = (info.atts[key] < PDP_Settings.deffs_needed.length) ? ((Math.ceil(PDP_Settings.deffs_needed[info.atts[key]]-VillageInfo[2]) < 0) ? 0 : Math.ceil(PDP_Settings.deffs_needed[info.atts[key]]-VillageInfo[2])) : 'x';
- var drag = '<div style="width: 11px; height:11px; background-image: url(http://dsnl.innogamescdn.com/8.24/21113/graphic/sorthandle.png?8838f); cursor:pointer" class="PDP_handle" title="Hier kun je de ordening van de lijst wijzigen door ze aan te klikken met de muis en dan te slepen."></div>';
- control += '<tr class="PDP_row"><td>'+(parseInt(key)+1)+'</td><td><a href="/game.php?village='+info.ids[key]+'&screen=overview&PDPnr='+(parseInt(key)+1)+'" target="_blank" class="PDP_overviewLink" data-attid="'+info.timestamps[key]+'">'+info.coords[key]+'</a></td><td>'+VillageInfo[1]+'</td><td>';
- if (VillageInfo[4]) {
- if (VillageInfo[5]) {
- control += '<span style="color:green;">✔</span>';
- } else {
- control += '<span style="color:red;">✘</span>';
- }
- } else {
- control += 'nvt';
- }
- control += '</td><td>'+info.atts[key]+'</td><td>'+VillageInfo[0]+'</td><td>'+VillageInfo[2]+'</td><td>'+VillageInfo[3]+'</td><td><input type="text" class="deffs_input" size="4" value="'+need+'" onclick="this.select();" style="margin-left:5px;margin-right:5px;text-align:center;"></td><td>'+drag+'</td></tr>';
- // counters
- totalSelectedAtts = totalSelectedAtts + info.atts[key];
- totalAtts = totalAtts + VillageInfo[0];
- totalInVillage = totalInVillage + VillageInfo[2];
- totalIncDeffs = totalIncDeffs + VillageInfo[3];
- if (need != 'x') {totalDeffs = totalDeffs + need}
- });
- }
- }
- control += '</tbody><tr><th colspan="4">'+info.coords.length+' dorpen</th><th>'+totalSelectedAtts+'</th><th>'+totalAtts+'</th><th>'+Math.round(totalInVillage*100)/100+'</th><th>'+totalIncDeffs+'</th><th id="totalDeffs">'+totalDeffs+'</th><th></th></tr>';
- control += '</table><br><input type="button" id="PDP_export2" class="btn" value="Exporteren"></span>';
- $('#PDP_content').html(control);
- $('#export_control').find('th,td').attr('style', 'text-align:center;padding-left:5px;padding-right:5px;'); // CSS
- // dragging
- // Return a helper with preserved width of cells
- var fixHelper = function(e, ui) {
- ui.children().each(function() {
- $(this).width($(this).width());
- });
- return ui;
- };
- $('#export_control tbody').sortable({
- handle: '.PDP_handle',
- axis: 'y',
- helper: fixHelper
- })
- $('#openVillages').on('click', function() {
- $('.PDP_overviewLink').each(function() {
- window.open($(this).attr('href'), '_blank');
- });
- });
- $('.deffs_input').on('keyup', function() {
- var counter = 0;
- $('.deffs_input').each(function() {
- counter = counter + parseInt($(this).val());
- });
- $('#totalDeffs').text(counter);
- });
- $('#PDP_export2').on('click', function() {
- var data = {coords: [], deffs: [], timestamps: []};
- var totalDeffs2 = 0;
- $('.PDP_row').each(function() {
- data.coords.push($(this).find('.PDP_overviewLink').text());
- data.deffs.push($(this).find('.deffs_input').val());
- data.timestamps.push($(this).find('.PDP_overviewLink').attr('data-attid'));
- totalDeffs2 = totalDeffs2 + parseInt($(this).find('.deffs_input').val());
- });
- var total_table = '<table id="export" class="vis" style="margin:auto;"><th colspan="2">Totalen</th><tr><td>Aantal dorpen:</td><td>'+info.coords.length+'</td></tr>';
- total_table += '<tr><td>Geselecteerde aanvallen:</td><td>'+totalSelectedAtts+'</td></tr><tr><td>Alle aanvallen:</td><td>'+totalAtts+'</td></tr>';
- total_table += '<tr><td>Def dorpen in het dorp:</td><td>'+Math.round(totalInVillage*100)/100+'</td></tr><tr><td>Binnenkomden def dorpen</td><td>'+totalIncDeffs+'</td></tr><tr><td>Benodigd aantal def dorpen:</td><td>'+totalDeffs2+'</td></tr></table>';
- var EOS = '', E1C = '', count = 1;
- for (var key in data.coords) {
- if (data.deffs[key] != 0) {
- EOS += '#'+count+' '+data.coords[key]+' [b]-> '+data.deffs[key]+' def dorp(en) nodig[/b] -> '+makeTime(false, data.timestamps[key])+'\n';
- E1C += data.coords[key]+' '+data.deffs[key]+' '+makeTime(true, data.timestamps[key])+'\n';
- count++;
- }
- }
- $('#PDP_content').find('span#export_control_span').attr('style', 'display: none;');
- $('#PDP_content').append('<span id="export_span"><h3>Export info</h3>'+total_table+'<br><input type="button" class="go_back btn" value="Terug"><br><br><h4>Export OS aanvraag</h4><textarea cols="70" rows="15" onclick="this.select();">'+EOS+'</textarea><br><br><h4>Export voor <a href="http://tuam.nl/scripts/1Command.php">1Command</a></h4><textarea cols="70" rows="15" onclick="this.select();">'+E1C+'</textarea></span>');
- $('#export').find('th').attr('style', 'text-align:center;padding-left:5px;padding-right:5px;'); // CSS
- $('#export').find('td').attr('style', 'text-align:left;padding-left:5px;padding-right:5px;'); // CSS
- $('.go_back').on('click', function() {
- $('#PDP_content').find('span#export_span').remove();
- $('#PDP_content').find('span#export_control_span').removeAttr('style');
- });
- });
- });
- }
- // Info command page //
- if (game_data.screen == 'info_command' && !location.href.match(/type=own/)) {
- //styling
- $('#content_value table:first').attr('style', 'width:600px;');
- // nodige info
- var player = $('td:contains("Speler:")').next('td').find('a').eq(0).text();
- var originC = $('td:contains("Dorp:")').next('td').find('span').eq(0).find('a').eq(0).text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- var targetC = $('td:contains("Dorp:"):last').next('td').find('span').eq(0).find('a').eq(0).text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0].toString();
- var distance = getDis(targetC, originC);
- if (player != game_data.player.name) {
- // afstand tonen
- $('td:contains("Dorp:"):last').parent().after('<tr><td colspan="2">Loopafstand:</td><td>'+(Math.round(distance*100)/100)+' velden</td></tr>');
- var aankomstin = $('td:contains("Aankomst in:")').next('td').text();
- var possible = {tag: [], runtime:[]};
- for (var i=0;i<units.length;i++) {
- var runtime = distance * unitspeed[i];
- var ondergrens = getMin(aankomstin);
- var edelmaxtime = parseInt(edelmax)*parseInt(unitspeed[6]);
- if (i != 6) { if (runtime > ondergrens) {possible.tag.push(units[i]);possible.runtime.push(runtime);}}
- else { if (runtime > ondergrens && runtime<edelmaxtime) {possible.tag.push(units[i]);possible.runtime.push(runtime);}}
- }
- var tagtable = '<table id="IT_tagtable" class="vis" style="margin-top: 10px;width:600px;"><tr><th>Eenheid</th><th>Looptijd</th><th>Verschil</th><th>Benoemen</th></tr>';
- for (var i=0;i<possible.tag.length;i++) {
- var tag = 'MARKEREN '+possible.tag[i]+' ('+originC+') '+player+' F'+Math.round(distance);
- var verschil = (possible.runtime[i])-(getMin(aankomstin));
- tagtable += '<tr>';
- tagtable += '<td>'+possible.tag[i]+'</td>';
- tagtable += '<td>'+formatDuration(possible.runtime[i])+'</td>';
- tagtable += '<td>'+formatDuration(verschil)+'</td>';
- tagtable += '<td><input type="text" value="'+tag+'" style="width: 300px;"/><input type="button" class="okbutton" title="'+possible.tag[i]+'" value="OK"/></td></tr>';
- }
- tagtable += '</table>';
- $('table.vis:contains("Herkomst")').after(tagtable);
- $('input.okbutton').on('click', function(){
- var id = location.href.match(/id=\d+/).toString().match(/\d+/);
- var val = $(this).prev('input').val();
- sendAjax(id, val);
- $(':focus').blur(); // else opera shortcuts wont work
- });
- // next untagged incomming
- var $rename_icon = $('.rename-icon');
- var nextid = $.trim($('span.quickedit:first').find('span.quickedit-label').text()).split('IT_')[1];
- if (nextid) {
- if (nextid == '0') {
- var nextattack_url = 'https://'+game_data.world+'.tribalwars.nl/game.php?village='+game_data.village.id+'&mode=incomings&subtype=attacks&group=0&page=-1&screen=overview_villages'+h_mode;
- $rename_icon.after('<span style="float:right;"><a id="goto"href="'+nextattack_url+'">Naar overzicht</a></span>');
- } else {
- var nextattack_url = 'https://'+game_data.world+'.tribalwars.nl/game.php?village='+game_data.village.id+'&id='+nextid+'&type=other&screen=info_command'+h_mode;
- $rename_icon.after('<span style="float:right;"><a id="goto" href="'+nextattack_url+'">Volgend bevel</a></span>');
- }
- $('input.okbutton').on('click', function(){location.href = nextattack_url;});
- }
- }
- }
- // Map page //
- if (game_data.screen == 'map') {
- $('a:contains("Wereldkaart tonen")').after('<br><a href="#" id="FEO_ShowOnMap">» FEO off dorpen tonen</a>');
- var FEO_click = 0;
- $('#FEO_ShowOnMap').on('click', function(){
- if (FEO_click%2 == 0){
- FEO_ShowOnMap();
- FEO_click++;
- } else {
- FEO_DontShowOnMap();
- FEO_click++;
- }
- });
- function FEO_DontShowOnMap() {
- var FEO_Map = TWMap;
- FEO_Map.mapHandler.spawnSector = FEO_Map.mapHandler.FEOspawnSector;
- spawnSectorReplacer = FEO_Map.mapHandler.spawnSector;
- FEO_Map.reload();
- }
- function FEO_ShowOnMap() {
- // Getting off coords
- var total_build_time = PDP_Settings.clear_build_time*24*60*60*1000;
- var url = 'https://swtools.programmingtuts.nl/PDP/GetInfo.php?info=allCoordsFull&game_data='+encodeURIComponent(JSON.stringify(game_data))+'&total_build_time='+total_build_time+'&servertime='+getServertimeTimestamp()+'&keycode='+keycode;
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- if (typeof data.Coords != "undefined") {
- var DB_Coords = data.Coords;
- var DB_Procent = data.Procent;
- if (DB_Coords.length > 0) {
- var FEO_Map = TWMap;
- function spawnSectorReplacer(data, sector) {
- FEO_Map.mapHandler.FEOspawnSector(data, sector);
- var beginX = sector.x - data.x;
- var endX = beginX + FEO_Map.mapSubSectorSize;
- var beginY = sector.y - data.y;
- var endY = beginY + FEO_Map.mapSubSectorSize;
- for (var x in data.tiles) {
- var x = parseInt(x, 10);
- if (x < beginX || x >= endX) {
- continue;
- }
- for (var y in data.tiles[x]) {
- var y = parseInt(y, 10);
- if (y < beginY || y >= endY) {
- continue;
- }
- var xCoord = data.x + x;
- var yCoord = data.y + y;
- var v = FEO_Map.villages[(xCoord) * 1000 + yCoord];
- if (v) {
- for(var i=0;i<DB_Coords.length;i++) {
- if (DB_Coords[i] == (xCoord + "|" + yCoord)) {
- var img = document.createElement('div');
- img.style.position = 'absolute';
- img.style.zIndex = '50';
- img.style.width = (FEO_Map.map.scale[0]-1).toString() + 'px';
- img.style.height = (FEO_Map.map.scale[1]-1).toString() + 'px';
- img.style.backgroundPosition = 'center bottom';
- img.id = 'FEO_img_' + ((xCoord)*1000+yCoord).toString();
- img.innerHTML = '<span style="color:white;background-color:black;position:absolute;bottom:0;left:12px;font-size:10px;">'+DB_Procent[i]+'%</span>';
- sector.appendElement(img, x - beginX, y - beginY);
- }
- }
- }
- }
- }
- }
- FEO_Map.mapHandler.FEOspawnSector = FEO_Map.mapHandler.spawnSector;
- FEO_Map.mapHandler.spawnSector = spawnSectorReplacer;
- FEO_Map.reload();
- }
- }
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: '+data.msg+'</span>');
- },
- error: function (xhr, status, err) {
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: error</span>');
- }
- })
- }
- }
- // Villageinfo page //
- if (game_data.screen == 'info_village') {
- //info for ajax
- var total_build_time = PDP_Settings.clear_build_time*24*60*60*1000;
- var Coords = $('table.vis:contains("rdinaten")').find('td:contains("rdinaten")').next('td').text();
- // ajax
- var url = 'https://swtools.programmingtuts.nl/PDP/GetInfo.php?info=oneCoord&game_data='+encodeURIComponent(JSON.stringify(game_data))+'&total_build_time='+total_build_time+'&servertime='+getServertimeTimestamp()+'&Coords='+Coords+'&keycode='+keycode;
- $.ajax({
- url: url,
- dataType: 'jsonp',
- success: function (data) {
- if (typeof data.DB_Troops != "undefined") {
- // Troops table
- var Troops = '<table>';
- var Troops_Lost = '<table>';
- var Troops_Left = '<table>';
- var DB_Troops = data.DB_Troops.split(',');
- var DB_Troops_Left = data.DB_Troops_Left.split(',');
- for (var i=0;i<DB_Troops.length;i++) {
- if (DB_Troops[i] != 0) {
- Troops += ' <td style="width:34px;text-align:center;">'+DB_Troops[i]+'</td>';
- } else {
- Troops += ' <td style="width:34px;text-align:center;color:#B19661;">'+DB_Troops[i]+'</td>';
- }
- if (parseInt(DB_Troops[i]-DB_Troops_Left[i]) != 0) {
- Troops_Lost += ' <td style="width:34px;text-align:center;">'+parseInt(DB_Troops[i]-DB_Troops_Left[i])+'</td>';
- } else {
- Troops_Lost += ' <td style="width:34px;text-align:center;color:#B19661;">'+parseInt(DB_Troops[i]-DB_Troops_Left[i])+'</td>';
- }
- if (DB_Troops_Left[i] != 0) {
- Troops_Left += ' <td style="width:34px;text-align:center;">'+DB_Troops_Left[i]+'</td>';
- } else {
- Troops_Left += ' <td style="width:34px;text-align:center;color:#B19661;">'+DB_Troops_Left[i]+'</td>';
- }
- }
- Troops += '</table>';
- Troops_Lost += '</table>';
- Troops_Left += '</table>';
- var curTime = getServertimeTimestamp();
- var Time_dif = parseInt((curTime-data.DB_Time)/1000/60/60/24); // in dagen
- // building table
- var imgs = 'spear sword axe archer spy light marcher heavy ram catapult knight snob'.split(' ');
- var table = '<table id="FEO_table" class="vis" style="margin-top:15px;"><tr><th colspan="2">Find Enemy Offence [FEO]</th></tr>';
- table += '<tr><td>Laatste aanval:</td><td>'+formatTimeFromTimestamp(data.DB_Time)+' ('+Time_dif+' dagen geleden)</td></tr>';
- table += '<tr><td></td><td><table>';
- for (var a in imgs) table += '<td style="width:34px;"><img id="'+imgs[a]+'" src="http://cdn.tribalwars.net/graphic/unit/unit_'+imgs[a]+'.png" style="display: block;margin-left: auto;margin-right: auto;"></td>';
- table += '</table></td></tr>';
- table += '<tr><td>Troepen aantal:</td><td>'+Troops+'</td></tr>';
- table += '<tr><td>Troepen verloren:</td><td>'+Troops_Lost+'</td></tr>';
- table += '<tr><td>Troepen over:</td><td>'+Troops_Left+'</td></tr>';
- table += '<tr><td>Procent vol:</td><td>'+data.Procent_Start+'% + '+data.Procent_Add+'% = <b>'+data.Procent_End+'%</b></td></tr>';
- table += '<tr><td>Delete info:</td><td><a href="#" id="FEO_delete" title="Verwijder aanvalsdorp uit database"><span style="color:red;font-size:16px;">✗</span> info verwijderen</a></td></tr>';
- $('table.vis:contains("Notities:")').after(table);
- $('#FEO_delete').on('click', function() {
- var Coords = $('table.vis:contains("rdinaten") td:contains("rdinaten")').next('td').text();
- DeleteInfo(Coords);
- });
- }
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: '+data.msg+'</span>');
- },
- error: function (xhr, status, err) {
- $footer_link.after('<span style="float:right;padding-right:20px;">FEO: error</span>');
- }
- })
- }
- // Report page //
- if (game_data.screen == 'report') {
- if (!location.href.match(/view=/) && game_data.mode == 'defense') {
- // load next page
- $('.paged-nav-item').last().after('<a id="LoadNextPage" href="#" FEO_remove="remove">[FEO: Volgende pagina laden]</a>');
- var x = $('input[name="page_size"]').val();
- var count = x;
- if (location.href.match(/from=/)) {
- var current = location.href.match(/from=\d+/).toString().match(/\d+/);
- } else {
- var current = 0;
- }
- $('#LoadNextPage').on('click', function(){
- var next = parseInt(current) + parseInt(x);
- var nextPage = game_data.link_base_pure + 'report&mode=defense&from=' + next;
- $.ajax({
- url: nextPage,
- async: false,
- success: function (result) {
- // add rows
- var rows = $(result).find('#report_list').find('tr').not(':contains("Onderwerp")').not(':contains("alles selecteren")');
- $('#report_list').find('tr').not(':contains("alles selecteren")').last().after(rows);
- // current
- current = parseInt(current) + parseInt(x);
- // change to strong
- $('a.paged-nav-item[href*="&from='+ next + '&"]').replaceWith('<strong>'+$('a.paged-nav-item[href*="from='+ next + '"]').html()+'</strong>');
- // show amount
- count = parseInt(count) + parseInt(x);
- $('.amountReports').html(count);
- // reload FEO
- addFEOtoRow();
- },
- error: function() {
- alert('De volgende pagina kon niet worden geladen');
- }
- })
- });
- // add link
- $('a:contains("ยป Filter")').after('<span FEO_remove="remove" style="float:right;"><b>Pagina bevat <span class="amountReports">'+ count +'</span> berichten |</b> <a href="#" class="read_reports">« FEO berichten inlezen »</a></span>');
- // expand table
- // add th
- $('#report_list').find('tr').not(':contains("Filter")').find('th:contains("Ontvangen")').after('<th FEO_remove="remove" style="font-size:10px;">FEO</th>');
- addFEOtoRow();
- $('.read_reports').on('click', function() {
- IT_FadeOutMessage("<b>Berichten inlezen gestart !</b><br>Dit kan even duren...", 5000, true, false, false, 400);
- $('#report_list').find('tr[FEO_class="not_done"]').each(function(index) {
- $this = $(this);
- var raps_id = $this.find('span.quickedit').eq(0).attr('data-id');
- $.ajax({
- url: game_data.link_base_pure + 'report&mode=defense&view=' + raps_id,
- type: 'html',
- async: false,
- success: function(html){
- // generating result
- var player_td = $(html).find('#attack_info_att').find('tr').eq(0).find('th').eq(1);
- var Attacker = $.trim(player_td.find('a').eq(0).text());
- var Tribe = player_td.find('a').attr('title');
- if ($(html).find('#content_value').text().match(/heeft gewonnen/) && Attacker != game_data.player.name && Tribe != tribeinfo.tribename) {
- var unit_bev = [1,1,1,1,2,4,5,6,5,8,10,100];
- var att_pop_count = 0;
- var att_troops = $(html).find('#attack_info_att_units tr:eq(1)').find('td.unit-item');
- for (var i=0;i<att_troops.length;i++) {
- att_pop_count = att_pop_count+(parseInt(att_troops.eq(i).text())*unit_bev[i]);
- }
- if (att_pop_count > PDP_Settings.fake_pop) {
- SendInfo(true, html, $this);
- } else {
- changeDone($this);
- }
- } else {
- changeDone($this);
- }
- }
- });
- });
- });
- } else if (location.href.match(/view=/)) {
- // create result
- $('h2:contains("Berichten")').append('<span id="FEO_result" style="padding-left:60px;font-size:7pt;font-weight:normal;">FEO: <span id="FEO_past_result"></span> [<a href="#" id="FEO_delete"><span title="Verwijder aanvalsdorp uit database" style="color:red;font-size:12px;">✗</span></a>]</span>');
- var $FEO_past_result = $('#FEO_past_result');
- // generating result
- var player_td = $('#attack_info_att').find('tr').eq(0).find('th').eq(1);
- var Attacker = $.trim(player_td.find('a').eq(0).text());
- var Tribe = player_td.find('a').attr('title');
- if ($('#content_value').text().match(/heeft gewonnen/) && Attacker != game_data.player.name && Tribe != tribeinfo.tribename) {
- var unit_bev = [1,1,1,1,2,4,5,6,5,8,10,100];
- var att_pop_count = 0;
- var att_troops = $('#attack_info_att_units tr:eq(1)').find('td.unit-item');
- for (var i=0;i<att_troops.length;i++) {
- att_pop_count = att_pop_count+(parseInt(att_troops.eq(i).text())*unit_bev[i]);
- }
- if (att_pop_count > PDP_Settings.fake_pop) {
- SendInfo(false);
- } else {
- $FEO_past_result.append('geen clear, niet opgeslagen');
- }
- } else {
- $FEO_past_result.append('eigen/stam/geen aanval');
- }
- $('#FEO_delete').on('click', function() {
- var Coords = $('.village_anchor').eq(0).find('a').eq(0).text().match(/\d{1,3}\|\d{1,3}/g).slice(-1)[0];
- DeleteInfo(Coords);
- });
- }
- }
- // Village Overview page //
- if (game_data.screen == 'overview') {
- if (location.href.match('PDPnr=')) {
- var nr = location.href.split('PDPnr=')[1];
- document.title = 'PDP: ' + nr;
- }
- }
- }
- // Inject script in the page
- (function () {
- var script = document.createElement("script");
- script.textContent = "(" + PDPScriptCode + ")()";
- document.body.appendChild(script);
- })();// ==UserScript==
- // @name New Userscript
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description try to take over the world!
- // @author You
- // @match http://pastebin.com/fVAdwMTs
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // Your code here...
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement