NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name getCDM // @namespace https://www.carto-nacridan.dynamic-dns.net/ // @description recuperation des cdm via la page evenement et des lvl, etat via la vue // @copyright 2015, Tass // @license MIT // @include http://www.nacridan.com/* // @include http://nacridan.raistlin.fr/* // @include http://nacridan.com/* // @exclude http://www.nacridan.com/conquest/profile.php?id=* // @exclude http://http://www.nacridan.com/test/nacridan2* // @exclude http://http://nacridan.com/test/* // @exclude http://nacridan.raistlin.fr/conquest/profile.php?id=* // @exclude http://http://nacridan.raistlin.fr/test/nacridan2* // @require https://code.jquery.com/jquery-2.1.4.min.js // @version 1.6.6 // @grant GM_xmlhttpRequest // @oujs:author zogre // @downloadURL https://openuserjs.org/install/zogre/getCDM.user.js // ==/UserScript== /* 1.6.6 Update all url domain 1.6.5 Mise à jour script pour prendre en compte nouvelle methode GM/Jquery et dns 1.6.3 chgmt resolv dns youdontcare pour planisphere 1.6.2 nom de domaine nacridan.com 1.6.1 serveur de raistlin 1.6 : recuperation auto (clic tuile) et post auto (clic anywhere) des cdms 1.5.8.1 petit message de prise en compte cdm 1.5.8 : refonte post etat, nom et niveau 1.5.7 : mise à jour pour V0 refonte Gestion CDM post and Get 1.5.6.1 : correction de la recuperation des cdm sur page evenement 1.5.6 : modification pour gestion du getCDM depuis un batiment(a faire evoluer encore) 1.5.5 : ajout du menu getCDM : Gestion CDM et MAX 1.5.4 : ajout du menu, liens planisphere, postcdm d'une cdm fraiche 1.5.3 : positionnement de la meta: @exclude ...profile.php?id=* 1.5.2 : exclusion des feu follets, kradjeck, dorane, etc */ var $; var Globals; var docClick; var save = ''; var lieu = ''; // Add jQuery (function(){ if (typeof unsafeWindow.jQuery == 'undefined') { var GM_Head = document.getElementsByTagName('head')[0] || document.documentElement, GM_JQ = document.createElement('script'); GM_JQ.src = 'https://code.jquery.com/jquery-2.1.4.min.js'; GM_JQ.type = 'text/javascript'; GM_JQ.async = true; GM_Head.insertBefore(GM_JQ, GM_Head.firstChild); } GM_wait(); })(); // Check if jQuery's loaded function GM_wait() { if (typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait, 100); } else { $ = unsafeWindow.jQuery.noConflict(true); letsJQuery(); } } // All your GM code must be inside this function function letsJQuery() { //alert($); // check if the dollar (jquery) function works // alert($().jquery); // check jQuery version Globals = { init: function () { var menu = $('.menuright'); var dt = $('<dt>Nmap</dt>'); menu.append(dt); var dd = $('<dd id=\'vuemenu\'/>'); menu.append(dd); dd.hide(); var ul = $('<ul/>'); dd.append(ul); var li = $('<li/>'); ul.append(li); var sp = $('<a/>'); li.append(sp); sp.append('Planisphere'); sp.attr('href', 'https://www.carto-nacridan.dynamic-dns.net/'); sp.attr('target', '_blank'); li = $('<li/>'); ul.append(li); sp = $('<a/>'); li.append(sp); sp.append('Post CDM'); sp.click(function () { postCDM(); }); li = $('<li/>'); ul.append(li); sp = $('<a/>'); li.append(sp); sp.append('Get CDM'); sp.click(function () { getCDM(); }); dt.click(function () { $('#vuemenu').show(); }); //console.log(this.cds); } } if(document.getElementsByClassName('centerareaview')[0]){ save = document.getElementsByClassName('centerareaview')[0].innerHTML; lieu = 'OUT'; // 1.5.6.1 zogre }else if(document.getElementsByClassName('insidebuildingleft')[0]){ save = document.getElementsByClassName('insidebuildingleft')[0].innerHTML; lieu = 'IN'; } function getCDM() { // alert('Not Implemented yet'); var pid = window.prompt('Quel id ?:', ''); //alert('lu->' + pid); getCDMServer(pid); } function getCDMServer(pluid) { //alert('coucou=>'+pluid); GM_xmlhttpRequest({ method: 'POST', //url: 'http://nasblabla.youdontcare.com/nacridan/getCDM.php', url: 'https://www.carto-nacridan.dynamic-dns.net/getCDM.php', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, //data: JSON.stringify(data), data: "pid=" + pluid, //data: "username=johndoe&password=xyz123", onload: function (response) { console.error(response.responseText); //var save = document.getElementsByClassName('centerareaview')[0].innerHTML; //alert(save); if (lieu == 'OUT'){ document.getElementsByClassName('centerareaview')[0].innerHTML = +' ' + response.responseText + ' ' + save; }else if (lieu == 'IN'){ document.getElementsByClassName('insidebuildingleft')[0].innerHTML = +' ' + response.responseText + ' ' + save; } }, onerror: function (e) { console.error ('=> error ', e); }, onabort: function (e) { console.error ('=> abort ', e); }, ontimeout: function (e) { console.error ('=> timeout ', e); } }); } // fin function call getCDMServer function postCDMServer(pid,pname,pvie,ptcar1,pvcar1,ptcar2,pvcar2) { //alert("id="+pid+"&name="+pname+"&vie="+pvie+"&tcar1="+ptcar1+"&tcar2="+ptcar2+"&vcar1="+pvcar1+"&vcar2="+pvcar2); GM_xmlhttpRequest({ method: 'POST', //url: 'http://nasblabla.youdontcare.com/nacridan/postCDM.php', url: 'https://www.carto-nacridan.dynamic-dns.net/postCDM.php', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, //data: JSON.stringify(data), data: "id="+pid+"&name="+pname+"&vie="+pvie+"&tcar1="+ptcar1+"&vcar1="+pvcar1+"&vcar2="+pvcar2+"&tcar2="+ptcar2, //data: "username=johndoe&password=xyz123", onload: function (response) { //window.alert(response.responseText); // document.getElementById('msgCdm').value = 'Merci pour les infos'; // msgcdm.value = 'Merci pour les infos !'; }, onerror: function (error) { // document.getElementById('msgCdm').value = 'Oups ! On a un problème.'; //console.log(error); //alert(error); } }); } // fin function call getCDMServer function postLvlServer(pid,pname,petat,plvl) { //alert("id="+pid+"&name="+pname+"&vie="+pvie+"&tcar1="+ptcar1+"&tcar2="+ptcar2+"&vcar1="+pvcar1+"&vcar2="+pvcar2); GM_xmlhttpRequest({ method: 'POST', url: 'https://www.carto-nacridan.dynamic-dns.net/postLvl.php', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, //data: JSON.stringify(data), data: "id="+pid+"&name="+pname+"&etat="+petat+"&lvl="+plvl, //data: "username=johndoe&password=xyz123", onload: function (response) { //window.alert(response.responseText); }, onerror: function (error) { //console.log(error); //alert(error); } }); } function postCDM() { //alert('postcdm'); var myDiv = document.getElementsByClassName('mainmsg centerareawidthmsg'); //alert(myDiv[0]); var valeur; var chaineRetour; //var adresse = 'https://docs.google.com/forms/d/1DG_9Yl4G0fFRw_Lgi8UPDiL_RC93rH9UyyJYAyLd1lw/formResponse?'; //var champ = 'entry.398840644='; if (myDiv[0] != null) { var texte = myDiv[0].innerHTML; var tab1 = texte.split('<br>'); var posdebut = 0; var chaine; var nomPerso; var idPerso; var carac; var vie; var carac1Type; var carac2Type; var carac1Value; var carac2Value; for (var m = 1; m < tab1.length; m++) { chaine = tab1[m]; //alert(chaine); if (chaine.indexOf('Vous estimez') > - 1) { // on récupère l'id du perso et son nom //Vous estimez les caractéristiques de Nain (9374): 33 /* nomPerso = chaine.substring(41, chaine.indexOf('(')); idPerso = chaine.substring(chaine.indexOf('(') + 1, chaine.indexOf(')')); chaineRetour = idPerso + ':' + nomPerso + '|'; m++; while (chaine != '') { chaine = tab1[m]; carac = chaine.substring(0, chaine.indexOf(':') - 1); valeur = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); chaineRetour = chaineRetour + carac + ':' + valeur + '|'; m++; } chaineRetour = adresse + champ + chaineRetour; //alert(chaineRetour); $.get(chaineRetour);*/ nomPerso = chaine.substring(37, chaine.indexOf('(')); idPerso = chaine.substring(chaine.indexOf('(') + 1, chaine.indexOf(')')); //chaineRetour = idPerso + ':' + nomPerso + '|'; // DEBUT MODI chaine = tab1[m+1]; // vie = chaine.substring(0, chaine.indexOf(':') - 1); vie = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); chaine = tab1[m+2]; carac1Type = chaine.substring(0, chaine.indexOf(':') - 1); carac1Value = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); chaine = tab1[m+3]; carac2Type = chaine.substring(0, chaine.indexOf(':') - 1); carac2Value = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); //alert(idPerso+';'+nomPerso+';'+ vie+';'+ carac1Type +'='+carac1Value+ ';'+carac2Type +'='+carac2Value); postCDMServer(idPerso,nomPerso,vie,carac1Type,carac1Value,carac2Type,carac2Value); myDiv[0].innerHTML=texte+"<br><font color=red>Merci pour les infos</font><br>"; } } } } // fin fonction postCDM // code toujours actif pour CDM sur PAGE EVENEMENT SAVOIR FAIRE var myDiv = document.getElementsByClassName('histomsg'); //alert('OUT'+myDiv[0].innerHTML); var valeur; var chaineRetour; //var adresse = 'https://docs.google.com/forms/d/1DG_9Yl4G0fFRw_Lgi8UPDiL_RC93rH9UyyJYAyLd1lw/formResponse?'; //var champ = 'entry.398840644='; if (myDiv[0] != null) { //alert('IN'+myDiv[0].innerHTML); var texte = myDiv[0].innerHTML; var tab1 = texte.split('<br>'); var posdebut = 0; var chaine; var nomPerso; var idPerso; var carac; var vie; var carac1Type; var carac2Type; var carac1Value; var carac2Value; for (var m = 1; m < tab1.length; m++) { chaine = tab1[m]; if (chaine.indexOf('Vous avez estimé') > - 1) { // on récupère l'id du perso et son nom //Vous estimez les caractéristiques de Nain (9374): 33 nomPerso = chaine.substring(41, chaine.indexOf('(')); idPerso = chaine.substring(chaine.indexOf('(') + 1, chaine.indexOf(')')); //chaineRetour = idPerso + ':' + nomPerso + '|'; // DEBUT MODI chaine = tab1[m+1]; // vie = chaine.substring(0, chaine.indexOf(':') - 1); vie = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); chaine = tab1[m+2]; carac1Type = chaine.substring(0, chaine.indexOf(':') - 1); carac1Value = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); chaine = tab1[m+3]; carac2Type = chaine.substring(0, chaine.indexOf(':') - 1); carac2Value = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); //alert(idPerso+';'+nomPerso+';'+ vie+';'+ carac1Type +'='+carac1Value+ ';'+carac2Type +'='+carac2Value); postCDMServer(idPerso,nomPerso,vie,carac1Type,carac1Value,carac2Type,carac2Value); myDiv[0].innerHTML=texte+"<br><font color=red>Merci pour les infos</font><br>"; // FIN MODIF /* m++; while (chaine != '') { chaine = tab1[m]; carac = chaine.substring(0, chaine.indexOf(':') - 1); valeur = chaine.substring(chaine.lastIndexOf(':') + 2, chaine.length); chaineRetour = chaineRetour + carac + ':' + valeur + '|'; m++; } chaineRetour = adresse + champ + chaineRetour; // alert(chaineRetour); $.get(chaineRetour);*/ } } } // code toujours actif pour NIVEAU DES MONSTRES DANS LA VUE myDiv = document.getElementsByClassName('eventbtnext'); if (myDiv[0] == null) { var node = document.querySelectorAll('.stylenpc'); //alert(node[0].parentNode.textContent); var nodeParent; var niveau; var etat; for (var i = 0; i < node.length; i++) { chaineRetour = ''; nodeParent = node[i].parentNode; chaine = nodeParent.textContent; nomPerso = chaine.substring(1, chaine.indexOf('(') - 1); //alert(nomPerso); if (nomPerso == 'Kradjeck ferreux' || nomPerso == 'Tortue Géante' || nomPerso == 'Feu Fol' || nomPerso == 'Nain' || nomPerso == 'Dorane' || nomPerso == 'Humain') { continue; } idPerso = chaine.substring(chaine.indexOf('(') + 6, chaine.indexOf(')')); // ALERT //alert(idPerso + nomPerso); // ALERT nodeParent = nodeParent.parentNode; niveau = nodeParent.getElementsByTagName('td') [0].textContent; niveau = niveau.substring(niveau.indexOf('.') + 2, niveau.length); etat = chaine.substring(chaine.indexOf(')') + 1, chaine.length); //chaineRetour = idPerso + ':' + nomPerso + '|niveau:' + niveau + '|'; // if (etat.length > 5) //{ // chaineRetour = chaineRetour + 'etat:' + etat //} //chaineRetour = adresse + champ + chaineRetour; //alert(chaineRetour); postLvlServer(idPerso,nomPerso,etat,niveau); //$.get(chaineRetour); } } function multilineStr(dummyFunc) { var str = dummyFunc.toString(); str = str.replace(/^[^\/]+\/\*!?/, '') // Strip function () { /*! .replace(/\s*\*\/\s*\}\s*$/, '') // Strip */ } .replace(/\/\/.+$/gm, '') // Double-slash comments wreck CSS. Strip them. ; return str; } docClick=function() { //do something //alert(current_tile); var i; var j; var tmp; var tmp2; //var tmp3; //var children = document.getElementsByClassName('centerareaview') [0].childNodes; //var children = document.getElementsByClassName('bottomarea') [0].childNodes; var children = document.getElementsByClassName('bottomarea') [0]; var toto = children.innerHTML; //if(toto.indexOf('display')>-1){ // alert('display inside'); // alert(toto); //} //var cNodes = children.childNodes; var cNodes = children.getElementsByTagName('div'); var lAttr; for (i = 0; i < cNodes.length; i++) { tmp2 = tmp2 + '+++' + cNodes[i].textContent; // ok //alert(tmp2); if(cNodes[i].hasAttributes()){ // alert('ici'); if(cNodes[i].attributes.length > 2){ for(j = 0; j < cNodes[i].attributes.length; j++){ if(cNodes[i].attributes[j].value.indexOf('block') > -1){ //alert(cNodes[i].textContent); var d = cNodes[i].textContent.indexOf('id : '); // les PJ ne contiennent pas le : apres le id donc on filtre rapide comme ça... // on vire les portails aussi if(d>-1 && cNodes[i].textContent.indexOf('Portail')==-1){ var f = cNodes[i].textContent.indexOf(')'); var sid = cNodes[i].textContent.substring(d+5,f); //alert('$'+sid+'$'); getCDMServer(sid); } } //alert('attr diff 1 pour :' + i + '=>' + cNodes[i].attributes.length); // ok //alert('name :'+ cNodes[i].attributes[2].name); // ok //alert('value :'+ cNodes[i].attributes[2].value); // ok } } } } // alert(tmp2); // fin partie getcdm auto //debut partie postcdm auto postCDM(); // fin partie postcdm auto } } Globals.init(); $(document).click(docClick);