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