Update Map
当前为
// ==UserScript==
// @name Map Updator
// @namespace http://api.micetigri.fr/
// @version 0.4
// @description Update Map
// @author Billysmille
// @match http://api.micetigri.fr/maps/
// @require https://xmlhttp.googleapis.com/xmlhttp/libs/jquery/3.1.0/jquery.min.js
// @grant none
// ==/UserScript==
(function (){
function updateMap() {
var array = [];
var pattern = /@\d+/g;
var match;
while ((match = pattern.exec($('#lsmap').val()))) {
array.push(match[0]);
}
if (array.length) {
var i = 0;
var wait = window.setInterval(function () {
if (i < array.length) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
var session = this.responseText.match(/session="(\w+)"/i)[1];
var socket = io.connect('http://node.micetigri.fr:443/');
socket.emit('map', {
map: array[i],
id: session
});
}
};
xmlhttp.open('GET', 'http://api.micetigri.fr/maps/' + array[i], true);
xmlhttp.send();
i++;
}
else {
$('#lsmap').val('');
$('#lsmap').attr('readonly', false);
$('.change-log').append('<p>Finished</p>');
window.clearInterval(wait);
}
}, 10000);
$('#lsmap').val('Updating...');
$('#lsmap').attr('readonly', true);
$('.change-log').append('<p>' + array.length + ' maps will be updated. Time left: ' + Math.ceil(array.length / 6) + ' minutes</p>');
}
else {
$('#lsmap').val('');
$('.change-log').append('<p>Error</p>');
}
}
$(document).ready(function (){
$('.row:has(#MapViewer)').remove();
$('.panel-body:has(#mapUpdator)').html('<input type="text" class="form-control" id="lsmap" placeholder="Enter code to update">');
$('.panel-body:has(#copy_this_text)').html('<article class="change-log"></article>');
$('.change-log').css({
'height': '190px',
'overflow': 'auto'
});
$('#lsmap').change(updateMap);
});
})();