您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Aide à la création de portail, version 1.7.1.3 du 14-01-2017 par Vapulabehemot (82169)
// ==UserScript== // @name MH - Feldspath - teleportation // @namespace MH // @description Aide à la création de portail, version 1.7.1.3 du 14-01-2017 par Vapulabehemot (82169) // @include */MH_Play/Actions/Sorts/Play_a_Sort13.php* // @include */MH_Play/Play_option.php* // @include */MH_Play/Play_vue.php* // @icon http://i.imgur.com/wnWRfSt.png/tout_MZ.png // @version 1.7.1.3 // @grant GM_getValue // @grant GM_setValue // @injectframes 1 // ==/UserScript== try { // ajout par Vapulabehemot (82169) le 11/07/2015 var ie = (window.attachEvent)? true:false; if ("function" != typeof addEvent) { if (ie) { function addEvent(obj, typ, fn, sens) { obj["e"+typ+fn] = fn; obj[typ+fn] = function() { obj["e"+typ+fn]( window.event ); } obj.attachEvent("on"+typ, obj[typ+fn] ); } } else { function addEvent(obj, typ, fn, sens) { obj.addEventListener(typ, fn, sens); } } } /* Utilisation de la gestion de l'enregistrement des données de GreaseMonkey, avec partage entre scripts via le localStorage, par Vapulabehemot (82169) */ // Nécessite la présence de @grant GM_getValue, @grant GM_deleteValue et @grant GM_setValue function MY_getValue(key) { if ((GM_getValue(key) == null) || (window.localStorage.getItem(key) != null && window.localStorage.getItem(key) != GM_getValue(key))){ try { GM_setValue(key, JSON.parse(window.localStorage.getItem(key))); } catch(e) { GM_setValue(key, window.localStorage.getItem(key)); } } return GM_getValue(key); } function MY_removeValue(key) { GM_deleteValue(key); window.localStorage.removeItem(key); } function MY_setValue(key, val) { GM_setValue(key, val); window.localStorage[key] = val; } if("function" != typeof MY_getValue) { if(typeof localStorage == "object") { function MY_getValue(nom) { return localStorage.getItem(nom); } function MY_setValue(nom,valeur) { localStorage.setItem(nom,valeur); } if(localStorage.getItem("favori_tp") === null && "function" == typeof GM_getValue && GM_getValue("favori_tp")) localStorage.setItem("favori_tp", GM_getValue("favori_tp")); } else if("function" == typeof GM_getValue) { function MY_getValue(nom) { return GM_getValue(nom); } function MY_setValue(nom,valeur) { GM_setValue(nom,valeur); } } else if("function" == typeof PRO_getValue) { function MY_getValue(nom) { return PRO_getValue(nom); } function MY_setValue(nom,valeur) { PRO_setValue(nom,valeur); } } else { function MY_getValue(nom) { var dc = document.cookie; var prefix = nom + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return ""; } else begin += 2; var end = document.cookie.indexOf(";", begin); if (end == -1) end = dc.length; return unescape(dc.substring(begin + prefix.length, end)); } function MY_setValue(nom,valeur) { var expdate = new Date (); expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 31)); var curCookie = nom + "=" + escape(valeur) + "; expires="+expdate.toGMTString(); document.cookie = curCookie; } } } var page_tp = null; if (window.self.location.toString().indexOf("/mountyhall/MH_Play/Actions/Sorts/Play_a_Sort13.php") !=-1) { // if (window.self.location.toString().indexOf("Play_a_Sort13.php") !=-1) { page_tp = "action"; } else if(window.self.location.toString().indexOf("/mountyhall/MH_Play/Play_option.php") !=-1) { // else if(window.self.location.toString().indexOf("Play_option.php") !=-1) { page_tp = "lieu"; } else if(window.self.location.toString().indexOf("/mountyhall/MH_Play/Play_vue.php") !=-1) { // else if(true) { function aj_fav_tp() { var pt, x2, y2, n2; pt = this.parentNode.parentNode.childNodes[3].innerHTML.split("_"); x2 = parseInt(pt[2]); y2 = parseInt(pt[3]); n2 = parseInt(pt[4]); var maintenant = new Date(); if(!MY_getValue("favori_tp")) { MY_setValue("favori_tp", "vue-"+maintenant.getDate()+"-"+(maintenant.getMonth()+1)+"-"+maintenant.getFullYear()+"/"+x2+"/"+y2+"/"+n2+"/"); } else { var texte = MY_getValue("favori_tp"); var param = texte.split("/"); var nb_fav = Math.floor(param.length/4); if (param.length > 3) { for (var i=0; i<nb_fav; i++) { if(parseInt(param[4*i+1]) == x2 && parseInt(param[4*i+2]) == y2 && parseInt(param[4*i+3]) == n2) return; } } MY_setValue("favori_tp", texte+"vue-"+maintenant.getDate()+"-"+(maintenant.getMonth()+1)+"-"+maintenant.getFullYear()+"/"+x2+"/"+y2+"/"+n2+"/"); } document.getElementById("action_lieu").style.display = "none"; } if(!document.getElementById("action_lieu")) { var tableau_tete = new Array(); //var tableau = document.getElementsByTagName("p")[0].childNodes; var tableau = document.getElementById("mhPlay").childNodes; // correction par Vapulabehemot (82169) le 11/07/2015 var nb1 = tableau.length, nb2=0, nb3=1; for(var i=0; i<nb1; i++) { if(tableau[i].nodeName == "TABLE") { if(tableau[i].className == "mh_tdborder") { nb2++; if(nb2 > nb3) { tableau_tete[nb3] = false; nb3++; } } else { tableau_tete[nb3] = tableau[i]; nb3++; } } } function prepare_click(num) { if(!tableau_tete[num]) return; if ( !tableau_tete[num].getElementsByTagName("tbody")[1] ) return; // ajout par Vapulabehemot (82169) le 11/07/2015 var tableau = tableau_tete[num].getElementsByTagName("tbody")[1].getElementsByTagName("tr"); var nb = tableau.length; //if(nb > 1) { if(nb > 0) { // correction par Vapulabehemot (82169) le 11/07/2015 //for (var i = 1; i < nb; i++) { for (var i = 0; i < nb; i++) { // correction par Vapulabehemot (82169) le 11/07/2015 addEvent(tableau[i].childNodes[0], "click", function(event) { affiche_action(this, event); }, true); tableau[i].childNodes[0].style.cursor = "pointer"; tableau[i].childNodes[0].id = num+"_"+i+"_"; } } } function affiche_action(cible, evt) { var ligne = cible.parentNode; var nb = ligne.childNodes.length; var ref = cible.id+ligne.childNodes[nb-3].innerHTML+"_"+ligne.childNodes[nb-2].innerHTML+"_"+ligne.childNodes[nb-1].innerHTML; var cadre = document.getElementById("action_lieu"); if (cadre.style.display == "none" || document.getElementById("action_coord").innerHTML != ref) { document.getElementById("action_coord").innerHTML = ref; cadre.style.display = "block"; cadre.style.left = evt.clientX; cadre.style.top = (evt.clientY + document.body.scrollTop-20); } else { cadre.style.display = "none"; } } var nvdiv = document.createElement("div"); nvdiv.id = "action_lieu"; nvdiv.className = "mh_tdtitre"; nvdiv.style.display = "none"; nvdiv.style.position = "absolute"; nvdiv.style.padding = "1px"; nvdiv.style.border = "1px solid"; nvdiv.appendChild(document.createElement("span")); nvdiv.appendChild(document.createElement("span")); nvdiv.appendChild(document.createElement("span")); var nvsp = document.createElement("span"); nvsp.id = "action_coord" nvsp.style.display = "none"; nvdiv.appendChild(nvsp); document.body.appendChild(nvdiv); for(var i=1; i<7; i++) { prepare_click(i); } } var imag = document.createElement("img"); imag.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANAgMAAAAPhQzvAAAAAXNSR0IArs4c6QAAAAlQTFRFQAkQAAAA9vW9SDK4iQAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH2wcTCQkfF7rvHgAAACxJREFUCNdjYAh1YGBgzQphYBBbtZSBQWrVSgaGqFUrHRiyVq0iRISGhjoAAG6fFUmWMrW0AAAAAElFTkSuQmCC"; imag.id = "avec_tp"; imag.style.cursor = "pointer"; imag.style.marginRight = "1px"; imag.title = "Ajouter une destination TP"; addEvent(imag, "click", aj_fav_tp, true); document.getElementById("action_lieu").childNodes[1].appendChild(imag); } if(page_tp) { function bloc(ref) { nvdiv = document.createElement("div"); nvdiv.id = ref; return nvdiv; } function enligne(ref) { nvspan = document.createElement("span"); nvspan.id = ref; return nvspan; } function creer_canvas(ref) { var dessin = document.createElement("canvas"); dessin.id = ref; return dessin; } function creer_icone(lx, ly, desc, clique) { var dessin = document.createElement("canvas"); dessin.width = lx; dessin.height = ly; dessin.className = "a_cliquer"; dessin.title = desc; addEvent(dessin, "click", clique, true); return dessin; } function dessine_svg(trace, chemin) { for(var i in chemin) { if(chemin[i][0] == 0) { trace.moveTo(chemin[i][1], chemin[i][2]); } else if(chemin[i][0] == 1) { trace.lineTo(chemin[i][1], chemin[i][2]); } else if(chemin[i][0] == 2) { trace.bezierCurveTo(chemin[i][1],chemin[i][2], chemin[i][3],chemin[i][4], chemin[i][5],chemin[i][6]); } else if(chemin[i][0] == 3) { trace.arc(chemin[i][1], chemin[i][2], chemin[i][3], 0, Math.PI*2, true); } } } function creer_glissiere(ref, val) { var div_gliss = bloc("choix_zoom_"+ref); div_gliss.appendChild(document.createTextNode("Zoom : ")); div_gliss.className = "choix_zoom"; dessin = creer_canvas("glissiere_"+ref); dessin.width = 104; dessin.height = 12; addEvent(dessin, "mousedown", ini_glisse, true); addEvent(dessin, "mousemove", sur_curseur, true); addEvent(dessin, "mouseout", function() { haut.getElementById("bulle_zoom").style.visibility="hidden" }, true); addEvent(dessin, "mouseover", function() { haut.getElementById("bulle_zoom").style.visibility="visible" }, true); div_gliss.appendChild(dessin); div_gliss.appendChild(enligne("val_zoom_"+ref)); div_gliss.lastChild.innerHTML = val+"%"; return div_gliss; } function dessine_glissiere(ref, val) { dessin = haut.getElementById("glissiere_"+ref); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.clearRect(0, 0,104, 12); ctx.fillStyle = "rgb(0,0,0)"; ctx.fillRect(0,0,2,12); ctx.fillRect(102,0,2,12); ctx.fillRect(0,5,104,2); ctx.fillStyle = "rgb(80,80,80)"; ctx.fillRect(val,0,5,12); ctx.fillStyle = "rgb(200,200,200)"; ctx.fillRect(val+1,1,3,10); } } function coord_x(val) { return decalh+coeff*(val+100); } function coord_y(val) { return decalv+coeff*(100-val); } function declare_css() { if(haut.getElementById("css_tp")) return; css = "#gestion_fav_tp { position:absolute; padding: 1px; border-width:1px; border-style:solid; min-width:300px; z-index:3000; }\n#titre_fav, .fav, .fav_dessus { min-height:15px; }\n.fav { margin:0; margin:0 0 -1px 0; padding: 1px 1px 1px 1px; border : 1px solid #a1927f; }\n.fav_dessus { margin:-1px; margin:-1px -1px -2px -1px; padding: 0px 1px 0px 1px; border : 2px solid #a1927f; }\n\n.a_cliquer { position: relative; float: right; cursor:pointer; margin-left: 2px; }\n\n#glissiere_niv, #desc_niv { position: absolute; }\n#cadre_tp { position: absolute; z-index:2500; boder-width:1px; border-style:solid; }\n#trou_tp, #sortie_tp { position: absolute; top: 0px; left: 0px; }\n#trou_fav, #trace_fav { position: absolute; top: 20px; left: 0px; }\n.choix_zoom { position: relative; margin-left:30px; margin-top:2px; }\n#glissiere_tp, #glissiere_fav { position: relative; }\n\n#bulle_tp {\n visibility:hidden;\n position:absolute; z-index:3500;\n width:400px;\n border-width:1px; border-style:solid; border-color:#a1927f;\n}\n.bulle_haut { font-weight:bold; text-align:left; padding:2px; }\n#bulle_desc_tp { font-size:11px; padding:2px; }\n#cadre_fav { position: relative; }\n#bulle_zoom { display:block !important; visibility: hidden; position: absolute; z-index: 3500; border : 1px solid #a1927f; }"; var node = document.createElement("style"); node.type = "text/css"; node.id = "css_tp"; node.appendChild(document.createTextNode(css)); haut.getElementsByTagName("head")[0].appendChild(node); } function trace_trou(ref) { dessin = haut.getElementById(ref); dessin.width = 200*coeff+2*decalh; dessin.height = 200*coeff+2*decalv; if (dessin.getContext){ var ctx = dessin.getContext('2d'); //repere ctx.beginPath(); ctx.moveTo(100*coeff+decalh, decalv); ctx.lineTo(100*coeff+decalh, 200*coeff+decalv); ctx.moveTo(decalh, 100*coeff+decalv); ctx.lineTo(200*coeff+decalh, 100*coeff+decalv); ctx.stroke(); ctx.strokeRect(decalh, decalv, coeff*200, coeff*200); //trous ctx.fillStyle = "rgb(200,0,0)"; for(var i in position_trous) { ctx.beginPath(); ctx.arc(coord_x(position_trous[i][0]), coord_y(position_trous[i][1]), coeff*position_trous[i][3], 0, Math.PI*2, true); ctx.fill(); } //depart if(ref == "trou_tp") { ctx.strokeStyle = "rgba(50,50,200,0.5)"; ctx.lineWidth = 2; ctx.beginPath(); ctx.arc(coord_x(posx), coord_y(posy), 8, 0, Math.PI*2, true); ctx.moveTo(coord_x(posx)-8, coord_y(posy)); ctx.lineTo(coord_x(posx)+8, coord_y(posy)); ctx.moveTo(coord_x(posx), coord_y(posy)-8); ctx.lineTo(coord_x(posx), coord_y(posy)+8); ctx.stroke(); //limites ctx.strokeStyle = "rgba(50,50,200,0.5)"; ctx.strokeRect(coord_x(posx-portee), coord_y(posy+portee), 2*portee*coeff, 2*portee*coeff) var nbz = Math.floor(portee/10.0)+1; ctx.strokeStyle = "rgba(50,50,200,0.1)"; for(var i=1; i<nbz; i++) { larg = 10*i ctx.strokeRect(coord_x(posx-larg), coord_y(posy+larg), 2*larg*coeff, 2*larg*coeff) } } } } function trace_pos() { dessin = haut.getElementById("sortie_tp"); dessin.width = 200*coeff+2*decalh; dessin.height = 200*coeff+2*decalv; dh = Math.max(Math.abs(posx-sortie[0]), Math.abs(posy-sortie[1])); dv = Math.abs(posn-sortie[2]); if (dessin.getContext){ var ctx = dessin.getContext('2d'); //favori if(choix_fav != -1) { ctx.strokeStyle = "rgba(50,150,50,0.5)"; ctx.fillStyle = "rgba(50,150,50,0.5)"; ctx.lineWidth = coeff; ctx.beginPath(); ctx.arc(coord_x(favori[choix_fav][1]), coord_y(favori[choix_fav][2]), coeff, 0, Math.PI*2, true); ctx.fill(); ctx.beginPath(); ctx.arc(coord_x(favori[choix_fav][1]), coord_y(favori[choix_fav][2]), 3*coeff, 0, Math.PI*2, true); ctx.stroke(); } ctx.lineWidth = 2; ctx.strokeStyle = "rgba(0,0,0,0.5)"; larg = 3*Math.max(1, Math.floor(dh/10.0))+0.5 ctx.strokeRect(coord_x(sortie[0]-larg), coord_y(sortie[1]+larg), 2*larg*coeff, 2*larg*coeff) larg += 2; ctx.strokeRect(coord_x(sortie[0]-larg), coord_y(sortie[1]+larg), 2*larg*coeff, 2*larg*coeff) ctx.beginPath(); ctx.moveTo(coord_x(sortie[0]-larg), coord_y(sortie[1])); ctx.lineTo(coord_x(sortie[0]-larg)+2*larg*coeff, coord_y(sortie[1])); ctx.moveTo(coord_x(sortie[0]), coord_y(sortie[1]+larg)); ctx.lineTo(coord_x(sortie[0]), coord_y(sortie[1]+larg)+2*larg*coeff); ctx.stroke(); } calc_disp(); } function trace_fav() { coeff = zoom_fav/50.0; place_fav(); coeff = zoom/50.0; retrace_fav = false; } function place_fav() { dessin = haut.getElementById("trace_fav"); dessin.width = 4*zoom_fav+2*decalh; dessin.height = 4*zoom_fav+2*decalv; if (nb_fav == 0) return; if (dessin.getContext){ var ctx = dessin.getContext('2d'); var mini = favori[0][3], maxi = favori[0][3], couleur; for (var i=1; i<nb_fav; i++) { if(mini > favori[i][3]) mini = favori[i][3]; if(maxi < favori[i][3]) maxi = favori[i][3]; } var delta = maxi-mini; if(!delta) delta = 1; for (var i=0; i<nb_fav; i++) { trace_point(ctx, coord_x(favori[i][1]), coord_y(favori[i][2]), "rgb(50,"+(150-Math.round(100.0*(maxi-favori[i][3])/delta))+","+(50+Math.round(100.0*(maxi-favori[i][3])/delta))+")") } if(nv_pt !== null) { trace_point(ctx, coord_x(nv_pt[0]), coord_y(nv_pt[1]), "rgba(0,0,0,0.5)") } } } function trace_point(trace, xx, yy, couleur) { trace.strokeStyle = couleur; trace.fillStyle = couleur; trace.lineWidth = coeff; trace.beginPath(); trace.arc(xx, yy, coeff, 0, Math.PI*2, true); trace.fill(); trace.beginPath(); trace.arc(xx, yy, 3*coeff, 0, Math.PI*2, true); trace.stroke(); } function trace_glissiere() { dessine_glissiere("tp", Math.min(99,Math.max(0,Math.round(zoom/2.0)-25))); } function trace_glissiere_fav() { dessine_glissiere("fav", Math.min(99,Math.max(0,Math.round(zoom_fav/2.0)-25))); } function trace_glissiere_niv() { dessin = haut.getElementById("glissiere_niv"); if (dessin.getContext){ var ecart = Math.floor(Math.abs(posn-sortie[2])/5.0); var curseur = Math.min(99,Math.max(0,Math.round(100*(nmax-sortie[2])/(nmax-nmin)))); var ctx = dessin.getContext('2d'); ctx.clearRect(0, 0,12, 104); ctx.fillStyle = "rgb(0,0,0)"; ctx.fillRect(0,0,12,2); ctx.fillRect(0,102,12,2); ctx.fillRect(5,0,2,104); ctx.fillStyle = "rgb(80,80,80)"; ctx.fillRect(0,curseur,12,5); ctx.fillStyle = "rgb(200,200,200)"; ctx.fillRect(1,curseur+1,10,3); } } function ini_glisse(evt) { if(this.id == "glissiere_tp") { xpage = (evt.offsetX)? evt.offsetX:evt.layerX; zoom = Math.min(250,Math.max(50,(xpage+23.0)*2.0)); MY_setValue("zoom_tp", zoom) trace_glissiere(); haut.getElementById("val_zoom_tp").innerHTML = zoom+"%"; coeff = zoom/50.0; echelle_tp(); glissable = true; this.style.cursor = "e-resize"; } if(this.id == "glissiere_fav") { xpage = (evt.offsetX)? evt.offsetX:evt.layerX; zoom_fav = Math.min(250,Math.max(50,(xpage+23.0)*2.0)); MY_setValue("zoom_fav", zoom_fav) trace_glissiere_fav(); haut.getElementById("val_zoom_fav").innerHTML = zoom_fav+"%"; echelle_fav(); } else if(this.id == "glissiere_niv") { ypage = (evt.offsetY)? evt.offsetY:evt.layerY; sortie[2] = Math.min(nmax,Math.max(nmin,nmax-Math.round(ypage*(nmax-nmin)/100.0))); trace_glissiere_niv(); calc_disp(); deplace_noeud(sortie[0], sortie[1], sortie[2]); curseur = Math.min(99,Math.max(0,Math.round((nmax-sortie[2])/(nmax-nmin)))); glisse_vert = true; this.style.cursor = (ypage <= (curseur+2) && ypage >= (curseur-2)) ? "n-resize":"pointer"; } } function sur_curseur(evt) { if (evt.offsetX) { xpage = evt.offsetX; ypage = evt.offsetY; xpos = evt.clientX; ypos = evt.clientY + document.body.scrollTop; } else { xpage = evt.layerX; ypage = evt.layerY; xpos = evt.pageX; ypos = evt.pageY; } if(this.id == "glissiere_tp") { curseur = Math.min(100,Math.max(0,Math.round(zoom/2.0)-25))+2; this.style.cursor = (xpage <= (curseur+2) && xpage >= (curseur-2)) ? "e-resize":"pointer"; val = Math.min(250,Math.max(50,(xpage+23.0)*2.0)); } else if(this.id == "glissiere_fav") { val = Math.min(250,Math.max(50,(xpage+23.0)*2.0))+"%"; } else if(this.id == "glissiere_niv") { curseur = Math.min(99,Math.max(0,Math.round(100*(nmax-sortie[2])/(nmax-nmin)))); this.style.cursor = (ypage <= (curseur+2) && ypage >= (curseur-2)) ? "n-resize":"pointer"; val = Math.min(nmax,Math.max(nmin,nmax-Math.round(ypage*(nmax-nmin)/100.0))); } var bulle_zoom = haut.getElementById("bulle_zoom") bulle_zoom.style.top = (ypos+3)+'px'; bulle_zoom.style.left = (xpos+16)+'px'; bulle_zoom.style.visibility = "visible"; bulle_zoom.innerHTML = val; } function glisse(evt) { if(glissable) { xpage = (evt.offsetX)? evt.offsetX:evt.layerX; zoom = Math.min(250,Math.max(50,(xpage+23.0)*2.0)); MY_setValue("zoom_tp", zoom) trace_glissiere(); haut.getElementById("val_zoom_tp").innerHTML = zoom+"%"; coeff = zoom/50.0; echelle_tp(); } else if(glisse_vert) { ypage = (evt.offsetY)? evt.offsetY:evt.layerY; sortie[2] = Math.min(nmax,Math.max(nmin,nmax-Math.round(ypage*(nmax-nmin)/100.0))); trace_glissiere_niv(); } } function afficher_tp(evt) { var xpage = 0, ypage = 0, xpos = 0, ypos = 0, xs, ys; if (evt.offsetX) { xpage = evt.offsetX; ypage = evt.offsetY; xpos = evt.clientX; ypos = evt.clientY + document.body.scrollTop; } else { xpage = evt.layerX; ypage = evt.layerY; xpos = evt.pageX; ypos = evt.pageY; } xcase = Math.round((xpage-decalh)/coeff-100.0); ycase = Math.round(100.0-(ypage-decalv)/coeff); bulle.style.top = (ypos+8)+'px'; bulle.style.left = (xpos+16)+'px'; bulle.style.visibility = "visible"; haut.getElementById("bulle_haut_tp").innerHTML = "x = "+Math.round(xcase)+", y = "+Math.round(ycase); desc = haut.getElementById("bulle_desc_tp"); desc.innerHTML = ""; for(var i in position_trous) { dist = (xcase-position_trous[i][0])*(xcase-position_trous[i][0])+(ycase-position_trous[i][1])*(ycase-position_trous[i][1])-position_trous[i][2] if(dist <= 0) { desc.appendChild(document.createTextNode(" Trous de M\u00e9t\u00e9orite : n=-1 -> n="+position_trous[i][4])); desc.appendChild(document.createElement("br")); break; } } haut.getElementById("sortie_tp").style.cursor = "move"; if(bougeable) { xs = xcase; if(xs < posx-portee) xs = posx-portee; else if(xs > posx+portee) xs = posx+portee; ys = ycase; if(ys < posy-portee) ys = posy-portee; else if(ys > posy+portee) ys = posy+portee; deplace_noeud(xs, ys, sortie[2]); trace_pos(); } else { sur_etape = false; if(xcase == posx && ycase == posy) { sur_etape = true; desc.appendChild(document.createTextNode(pile_depart())); desc.appendChild(document.createElement("br")); } if(xcase == sortie[0] && ycase == sortie[1]) { sur_etape = true; desc.appendChild(document.createTextNode(pile_sortie())); } if(!sur_etape) { haut.getElementById("sortie_tp").style.cursor = ""; } } } function afficher_fav(evt) { var xpage = 0, ypage = 0, xpos = 0, ypos = 0, xs, ys; if (evt.offsetX) { xpage = evt.offsetX; ypage = evt.offsetY; xpos = evt.clientX; ypos = evt.clientY + document.body.scrollTop; } else { xpage = evt.layerX; ypage = evt.layerY; xpos = evt.pageX; ypos = evt.pageY; } xcase = Math.round(50*(xpage-decalh)/zoom_fav-100.0); ycase = Math.round(100.0-50*(ypage-decalv)/zoom_fav); bulle.style.top = (ypos+3)+'px'; bulle.style.left = (xpos+16)+'px'; bulle.style.visibility = "visible"; haut.getElementById("bulle_haut_tp").innerHTML = "x = "+Math.round(xcase)+", y = "+Math.round(ycase); desc = haut.getElementById("bulle_desc_tp"); desc.innerHTML = ""; for(var i in position_trous) { dist = (xcase-position_trous[i][0])*(xcase-position_trous[i][0])+(ycase-position_trous[i][1])*(ycase-position_trous[i][1])-position_trous[i][2] if(dist <= 0) { desc.appendChild(document.createTextNode(" Trous de M\u00e9t\u00e9orite : n=-1 -> n="+position_trous[i][4])); desc.appendChild(document.createElement("br")); break; } } for(var i=0; i<nb_fav; i++) { if(xcase == favori[i][1] && ycase == favori[i][2]) { haut.getElementById("fav_tp_"+i).className = "fav_dessus"; desc.appendChild(document.createTextNode(protege_texte(favori[i][0]+" (n = "+favori[i][3]+")"))); desc.appendChild(document.createElement("br")); } else { haut.getElementById("fav_tp_"+i).className = "fav"; } } } function calc_disp() { dh = Math.max(Math.abs(posx-sortie[0]), Math.abs(posy-sortie[1])); dv = Math.abs(posn-sortie[2]); bm = Math.max(Math.floor(Math.max(dh, dv)/10.0),1); bmf = Math.max(Math.floor(Math.max(dh, dv)/5.0),1); haut.getElementById("detail").innerHTML = "Distance horizontale : "+dh+", dispertion : "+3*Math.max(1, Math.floor(dh/10.0))+"+2<br />Distance verticale : "+dv+", dispertion : "+Math.max(1, Math.floor(dv/5.0))+"+1<br />Desorientation : attaque -"+bm+"D6, esquive -"+bm+"D6, fatigue : +"+bmf ; } function deplace_noeud(xx, yy, nn) { sortie = [xx, yy, nn]; document.forms[0].elements[1].value = xx; document.forms[0].elements[2].value = yy; document.forms[0].elements[3].value = nn; } function pile_depart() { haut.getElementById("bulle_haut_tp").innerHTML += ", n = "+posn; texte = "Entree"; return texte; } function pile_sortie() { haut.getElementById("bulle_haut_tp").innerHTML += ", n = "+sortie[2]; texte = "sortie_tp"; return texte; } function start_t(evt){ bougeable = true; afficher_tp(evt); } function drop_t() { glissable = false; glisse_vert = false; bougeable = false; } function cacher_bulle(etat) { bulle.style.visibility = etat? "hidden":"visible"; } function ini_tp() { if(!cadrable) return; haut = window.parent.frames[0].document; if(haut.getElementById("cadre_tp")) { cadre = haut.getElementById("cadre_tp"); if(cadre.style.display != "none" && initialise) { cadre.style.display = "none"; return; } cadre.style.display = "block"; cadre.style.top = (haut.body.scrollTop+2)+"px"; cadre.style.left = (haut.body.scrollLeft+2)+"px"; echelle_tp(); trace_glissiere_niv(); return; } declare_css(); cadre = bloc("cadre_tp"); cadre.className = "mh_tdpage"; cadre.style.top = (haut.body.scrollTop+2)+"px"; cadre.style.left = (haut.body.scrollLeft+2)+"px"; cadre.style.display = "block"; var fermer = creer_icone(15, 15, "Fermer", function() { this.parentNode.style.display = "none" }); dessine_fermer(fermer); cadre.appendChild(fermer); cadre.appendChild(bloc("detail")); trajet = bloc("carte_tp"); trajet.style.position = "absolute"; trajet.appendChild(creer_canvas("trou_tp")); var dessin = creer_canvas("sortie_tp"); addEvent(dessin, "mousedown", start_t, true); addEvent(haut, "mouseup", drop_t, true); addEvent(haut, "mousemove", glisse, true); addEvent(dessin, "mousemove", afficher_tp, true); addEvent(dessin, "mouseout", function() { cacher_bulle(true) }, true); addEvent(dessin, "mouseover", function() { cacher_bulle(false) }, true); trajet.appendChild(dessin); trajet.appendChild(creer_glissiere("tp", zoom)); dessin = creer_canvas("glissiere_niv"); dessin.width = 12; dessin.height = 104; dessin.style.top = decalv+"px"; addEvent(dessin, "mousedown", ini_glisse, true); addEvent(dessin, "mousemove", sur_curseur, true); addEvent(dessin, "mouseout", function() { haut.getElementById("bulle_zoom").style.visibility="hidden" }, true); addEvent(dessin, "mouseover", function() { haut.getElementById("bulle_zoom").style.visibility="visible" }, true); trajet.appendChild(dessin); nvspan = enligne("desc_niv"); nvspan.appendChild(document.createTextNode("n")); nvspan.style.top = (decalv-17)+"px"; trajet.appendChild(nvspan); cadre.appendChild(trajet); haut.body.appendChild(cadre); trace_glissiere(); trace_glissiere_niv(); creer_bulle_tp(); creer_bulle_zoom(); echelle_tp(); } function dessine_fermer(dessin) { if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.lineCap = "round" ctx.strokeStyle = "rgb(80,80,80)"; ctx.lineWidth = "1.5"; dessine_svg(ctx, data_svg["fermer"]); ctx.stroke(); } } function creer_bulle_tp() { if(haut.getElementById("bulle_tp")) return; haut.body.appendChild(bloc("bulle_tp")); bulle = haut.getElementById("bulle_tp"); bulle.className = "mh_tdtitre"; nvdiv = bloc("mobile_bulleVue_tp"); nvdiv.className = "bulle_haut_tp"; nvdiv.appendChild(enligne("bulle_haut_tp")); bulle.appendChild(nvdiv); bulle.appendChild(bloc("bulle_desc_tp")); bulle.lastChild.className = "mh_tdpage"; } function creer_bulle_zoom() { if(haut.getElementById("bulle_zoom")) return; var bulle_fav = bloc("bulle_zoom"); bulle_fav.className = "mh_tdpage"; haut.body.appendChild(bulle_fav); } function echelle_tp() { haut.getElementById("cadre_tp").style.height = (200*coeff+2*decalv+70)+"px"; haut.getElementById("cadre_tp").style.minWidth = (200*coeff+2*decalh+35)+"px"; haut.getElementById("glissiere_niv").style.left = (200*coeff+2*decalh+10)+"px"; haut.getElementById("desc_niv").style.left = (200*coeff+2*decalh+10)+"px"; trace_trou("trou_tp"); trace_pos(); } function echelle_fav() { coeff = zoom_fav/50.0; haut.getElementById("liste_fav_tp").style.marginLeft = (4*zoom_fav+2*decalh+5)+"px"; haut.getElementById("cadre_fav").style.minHeight = (4*zoom_fav+2*decalv+40)+"px"; var gestion = haut.getElementById("gestion_fav_tp"); gestion.style.left = Math.max(1, haut.body.clientWidth+haut.body.scrollLeft-2-gestion.offsetWidth)+"px"; trace_trou("trou_fav"); place_fav(); coeff = zoom/50.0; } function modif_coord() { if(isNaN(this.value)) return; if(this.name == "ai_OrigineX") sortie[0] = parseInt(this.value); else if(this.name == "ai_OrigineY") sortie[1] = parseInt(this.value); else sortie[2] = parseInt(this.value); haut = window.parent.frames[0].document; if(haut.getElementById("cadre_tp") && haut.getElementById("cadre_tp").style.dsiplay != "none") { if(this.name == "ai_OrigineN") { trace_glissiere_niv(); calc_disp(); } else { trace_pos(); } } } //Gestion des favoris function ini_gestion() { haut = (page_tp == "action")? window.parent.frames[0].document:document; if(MY_getValue("zoom_fav")) { zoom_fav = parseFloat(MY_getValue("zoom_fav")) } if (!haut.getElementById("gestion_fav_tp")) { declare_css(); gestion = bloc("gestion_fav_tp"); gestion.className = "mh_tdpage"; var nvdiv = bloc("titre_fav"); nvdiv.className = "mh_tdtitre"; nvdiv.appendChild(document.createTextNode("Gestion des destinations favorites")); var fermer = creer_icone(15, 15, "Fermer", function() { this.parentNode.parentNode.style.visibility = "hidden" }); dessine_fermer(fermer); nvdiv.appendChild(fermer); gestion.appendChild(nvdiv); var carte_fav = bloc("cadre_fav"); carte_fav.appendChild(creer_canvas("trou_fav")); var dessin = creer_canvas("trace_fav"); addEvent(haut, "mouseup", drop_t, true); addEvent(haut, "mousemove", glisse, true); addEvent(dessin, "mousemove", afficher_fav, true); addEvent(dessin, "click", aj_pos, true); addEvent(dessin, "mouseout", function() { cacher_bulle(true) }, true); addEvent(dessin, "mouseover", function() { cacher_bulle(false) }, true); carte_fav.appendChild(dessin); carte_fav.appendChild(creer_glissiere("fav", zoom_fav)); carte_fav.appendChild(bloc("liste_fav_tp")); gestion.appendChild(carte_fav); haut.body.appendChild(gestion); trace_glissiere_fav(); creer_bulle_tp(); creer_bulle_zoom(); } else if(haut.getElementById("gestion_fav_tp").style.visibility == "visible") { haut.getElementById("gestion_fav_tp").style.visibility = "hidden"; return; } charger_fav(); gerer_fav(); echelle_fav(); poser_fav(); } function ini_edition() { haut = document; declare_css(); var image = document.createElement("img"); image.src = data_img["fav_tp"]; image.className = "a_cliquer"; image.id = "favoris_tp"; image.title = "Gerer les destinations favorites pour TP"; addEvent(image, "click", ini_gestion, true); document.getElementsByTagName("b")[0].parentNode.appendChild(image); } function gerer_fav() { var gestion = haut.getElementById("gestion_fav_tp"); gestion.style.visibility = "visible"; var liste_fav = haut.getElementById("liste_fav_tp"); liste_fav.innerHTML = ""; for(var i=0; i<nb_fav; i++) { liste_fav.appendChild(bloc("fav_tp_"+i)); aff_fav(i); } aj_edit(); } function poser_fav() { var gestion = haut.getElementById("gestion_fav_tp"); if(page_tp == "action") { gestion.style.top = Math.max(1, haut.body.clientHeight+haut.body.scrollTop-2-gestion.offsetHeight)+"px"; } else { var noeud = document.getElementById("favoris_tp"); var ecart = noeud.offsetHeight+1; while(noeud.offsetParent) { ecart += noeud.offsetTop; noeud = noeud.offsetParent; } gestion.style.top = ecart+"px"; } gestion.style.left = Math.max(1, haut.body.clientWidth+haut.body.scrollLeft-2-gestion.offsetWidth)+"px"; } function aff_fav(rg) { var fav = haut.getElementById("fav_tp_"+rg); fav.innerHTML = ""; fav.className = "fav"; var texte = protege_texte(favori[rg][0])+" ("+favori[rg][1]+", "+favori[rg][2]+", "+favori[rg][3]+")"; fav.appendChild(document.createTextNode(texte)); dessin = creer_icone(11, 12, "Supprimer "+texte,effacer_fav); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.strokeStyle = "rgb(200,100,100)"; ctx.lineCap = "round"; ctx.lineWidth = "2"; dessine_svg(ctx, data_svg["suppr"]); ctx.stroke(); } fav.appendChild(dessin); dessin = creer_icone(12, 12, "Editer "+texte, editer_fav); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.strokeStyle = "rgb(30,30,30)"; ctx.fillStyle = "rgb(180,180,180)"; var echelle = 12.0/21.0; ctx.scale(echelle, echelle); ctx.lineWidth = "1"; dessine_svg(ctx, data_svg["param"]); ctx.stroke(); ctx.fill(); } fav.appendChild(dessin); dessin = creer_icone(11, 12, "Descendre "+texte, descendre_fav); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.fillStyle = "rgb(100,170,100)"; dessine_svg(ctx, data_svg["descendre"]); ctx.fill(); } if(rg == nb_fav-1) dessin.style.visibility = "hidden"; fav.appendChild(dessin); dessin = creer_icone(11, 12, "Monter "+texte, monter_fav); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.fillStyle = "rgb(100,170,100)"; dessine_svg(ctx, data_svg["monter"]); ctx.fill(); } fav.appendChild(dessin); if(rg == 0) dessin.style.visibility = "hidden"; } function monter_fav() { var ref = parseInt(this.parentNode.id.split("_")[2]) var temp = favori[ref-1]; favori[ref-1] = favori[ref]; favori[ref] = temp; sauver_fav(); lister_fav(); gerer_fav(); } function descendre_fav() { var ref = parseInt(this.parentNode.id.split("_")[2]); var temp = favori[ref+1]; favori[ref+1] = favori[ref]; favori[ref] = temp; sauver_fav(); lister_fav(); gerer_fav(); } function effacer_fav() { favori.splice(parseInt(this.parentNode.id.split("_")[2]),1); nb_fav--; sauver_fav(); lister_fav(); gerer_fav(); trace_fav(); } function editer_fav() { var rg = parseInt(this.parentNode.id.split("_")[2]); var fav = haut.getElementById("fav_tp_"+rg); fav.innerHTML = ""; fav.appendChild(document.createTextNode("Description : ")); entree = document.createElement("input"); entree.maxLength = "40"; entree.size = "40"; entree.className = "TextareaboxV2"; fav.appendChild(entree); fav.appendChild(document.createElement("br")); fav.appendChild(document.createTextNode("X = ")); fav.appendChild(nvl_entree()); fav.appendChild(document.createTextNode(" Y = ")); fav.appendChild(nvl_entree()); fav.appendChild(document.createTextNode(" N = ")); fav.appendChild(nvl_entree()); for (var i=0; i<4; i++) { fav.getElementsByTagName("input")[i].value = favori[rg][i]; } dessin = creer_icone(20, 20, "Annuler", annuler_edit); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.strokeStyle = "rgb(120,50,50)"; ctx.lineCap = "round"; ctx.lineWidth = "3"; dessine_svg(ctx, data_svg["annuler"]); ctx.stroke(); } dessin.style.verticalAlign = "text-bottom"; fav.appendChild(dessin); dessin = creer_icone(21, 21, "Valider", valider_edit); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.strokeStyle = "rgb(50,120,50)"; ctx.lineWidth = "4"; ctx.arc(10, 10, 7.5, 0, Math.PI*2, true); ctx.stroke(); } dessin.style.verticalAlign = "text-bottom"; fav.appendChild(dessin); } function aj_edit() { var fav = bloc("fav_tp_"+nb_fav); fav.appendChild(document.createElement("br")); fav.appendChild(document.createElement("br")); fav.appendChild(document.createTextNode("Description : ")); entree = document.createElement("input"); entree.maxLength = "40"; entree.size = "40"; entree.className = "TextareaboxV2"; fav.appendChild(entree); fav.appendChild(document.createElement("br")); fav.appendChild(document.createTextNode("X = ")); fav.appendChild(nvl_entree()); fav.appendChild(document.createTextNode(" Y = ")); fav.appendChild(nvl_entree()); fav.appendChild(document.createTextNode(" N = ")); fav.appendChild(nvl_entree()); dessin = creer_icone(21, 21, "Ajouter", aj_fav); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.lineCap = "round" ctx.strokeStyle = "rgb(50,120,50)"; ctx.lineWidth = "2.5"; dessine_svg(ctx, data_svg["plus"]); ctx.stroke(); } dessin.style.verticalAlign = "text-bottom"; fav.appendChild(dessin); haut.getElementById("liste_fav_tp").appendChild(fav); } function aj_fav() { if(nb_fav > 0 && haut.getElementById("fav_tp_"+(nb_fav-1)).getElementsByTagName("canvas").length > 3) haut.getElementById("fav_tp_"+(nb_fav-1)).getElementsByTagName("canvas")[2].style.visibility = "visible"; var xx = entier(this.parentNode.getElementsByTagName("input")[1].value); var yy = entier(this.parentNode.getElementsByTagName("input")[2].value); var nn = entier(this.parentNode.getElementsByTagName("input")[3].value); favori[nb_fav] = [protege(this.parentNode.getElementsByTagName("input")[0].value), xx, yy, nn]; nb_fav++; nv_pt = null; sauver_fav(); lister_fav(); aff_fav(nb_fav-1); aj_edit(); trace_fav(); } function aj_pos(evt) { var xpage = 0, ypage = 0, xpos = 0, ypos = 0, xs, ys; if (evt.offsetX) { xpage = evt.offsetX; ypage = evt.offsetY; xpos = evt.clientX; ypos = evt.clientY + document.body.scrollTop; } else { xpage = evt.layerX; ypage = evt.layerY; xpos = evt.pageX; ypos = evt.pageY; } xcase = Math.round(50*(xpage-decalh)/zoom_fav-100.0); ycase = Math.round(100.0-50*(ypage-decalv)/zoom_fav); var ligne = haut.getElementById("fav_tp_"+nb_fav); ligne.getElementsByTagName("input")[1].value = xcase; ligne.getElementsByTagName("input")[2].value = ycase; nv_pt = [xcase, ycase]; trace_fav(); retrace_fav = true; } function nvl_entree() { var entree = document.createElement("input"); entree.maxLength = "4"; entree.size = "8"; entree.className = "TextareaboxV2"; addEvent(entree, "keyup", modif_edit, true); addEvent(entree, "change", modif_edit, true); return entree; } function valider_edit() { var ref = parseInt(this.parentNode.id.split("_")[2]); var xx = entier(this.parentNode.getElementsByTagName("input")[1].value); var yy = entier(this.parentNode.getElementsByTagName("input")[2].value); var nn = entier(this.parentNode.getElementsByTagName("input")[3].value); retrace_fav = (retrace_fav || favori[ref][1] != xx || favori[ref][2] != yy); favori[ref] = [protege(this.parentNode.getElementsByTagName("input")[0].value), xx, yy, nn]; nv_pt = null; sauver_fav(); lister_fav(); aff_fav(ref); if(retrace_fav) trace_fav(); } function modif_edit() { var xx = entier(this.parentNode.getElementsByTagName("input")[1].value); var yy = entier(this.parentNode.getElementsByTagName("input")[2].value); if(nv_pt === null || nv_pt[1] != xx || nv_pt[2] != yy) { nv_pt = [xx, yy]; trace_fav(); retrace_fav = true; } } function entier(num) { if(!num) return 0; else if(isNaN(num)) return 0; return parseInt(num); } function protege(texte) { if(texte == '') return ""; texte = texte.replace( /\//g, "/" ); return texte; } function protege_sel(texte) { if(texte == '') return ""; texte = texte.replace( /\</g, "<"); texte = texte.replace( /\>/g, ">" ); return texte; } function protege_texte(texte) { if(texte == '') return ""; texte = texte.replace( /\</g, "\u003c"); texte = texte.replace( /\>/g, "\u003e" ); texte = texte.replace( ///g, "/" ); return texte; } function annuler_edit() { nv_pt = null; aff_fav(parseInt(this.parentNode.id.split("_")[2])); if(retrace_fav) trace_fav(); } function lister_fav() { if(page_tp == "action") { choix = document.getElementById("sel_fav"); } else if(cadrable && window.parent.frames[1].document.getElementById("sel_fav")) { choix = window.parent.frames[1].document.getElementById("sel_fav"); } else { return; } choix.innerHTML = ""; choix_fav = -1; var opt = document.createElement("option"); opt.innerHTML = "Destinations favorites"; opt.value = -1; choix.appendChild(opt); for (var i=0; i<nb_fav; i++) { opt = document.createElement("option"); opt.innerHTML = protege_sel(favori[i][0])+" ("+favori[i][1]+", "+favori[i][2]+", "+favori[i][3]+")"; opt.value = i choix.appendChild(opt); } } function ini_fav() { var nvdiv = bloc("div_fav"); nvdiv.className = "mh_tdpage"; var choix = document.createElement("select"); choix.id = "sel_fav"; choix.style.verticalAlign = "top"; addEvent(choix, "keyup", changer_fav, true); addEvent(choix, "change", changer_fav, true); nvdiv.appendChild(choix); if(cadrable) { var dessin = creer_icone(21, 21, "Gerer les destinations favorites", ini_gestion); if (dessin.getContext){ var ctx = dessin.getContext('2d'); ctx.strokeStyle = "rgb(50,50,50)"; ctx.fillStyle = "rgb(220,220,220)"; ctx.lineWidth = "1"; dessine_svg(ctx, data_svg["param"]); ctx.stroke(); ctx.fill(); } dessin.style.cursor = "pointer"; dessin.style.cursor = "0 2px"; nvdiv.appendChild(dessin); var carte = document.createElement("img"); carte.src = data_img["carte"]; carte.id = "lance_carte"; addEvent(carte, "click", ini_tp, true); carte.title = "Ouvrir la carte"; carte.style.cursor = "pointer"; nvdiv.appendChild(carte); } nvdiv.style.position = "absolute"; nvdiv.style.top = "2px"; nvdiv.style.right = "2px"; nvdiv.style.padding = "1px"; document.body.appendChild(nvdiv); lister_fav(); } function changer_fav() { choix_fav = parseInt(this.value); if(choix_fav == -1) { if(cadrable) trace_pos(); return; } charger_fav(); var xx = favori[choix_fav][1]; if(xx < posx-portee) xx = posx-portee; else if(xx > posx+portee) xx = posx+portee; var yy = favori[choix_fav][2]; if(yy < posy-portee) yy = posy-portee; else if(yy > posy+portee) yy = posy+portee; var nn = favori[choix_fav][3]; if(nn < nmin) nn = nmin; else if(nn > nmax) nn = nmax; document.forms[0].elements[1].value = xx; document.forms[0].elements[2].value = yy; document.forms[0].elements[3].value = nn; if(cadrable) { sortie = [xx, yy, nn]; haut = window.parent.frames[0].document; if(haut.getElementById("cadre_tp") && haut.getElementById("cadre_tp").style.display != "none") { trace_glissiere_niv(); trace_pos(); } } } function compare_fav() { for(var i=0; i<nb_fav; i++) { if (sortie[0] == favori[i][1] && sortie[1] == favori[i][2] && sortie[2] == favori[i][3]) { document.getElementById("sel_fav").value = i; break; } } } function sauver_fav() { var texte = ""; for (var i=0; i<nb_fav; i++) { texte += favori[i][0]+"/"+favori[i][1]+"/"+favori[i][2]+"/"+favori[i][3]+"/"; } MY_setValue("favori_tp", texte); } function charger_fav() { if(!MY_getValue("favori_tp")) return; var param = MY_getValue("favori_tp").split("/"); nb_fav = Math.floor(param.length/4); if (param.length > 3) { for (var i=0; i<nb_fav; i++) { favori[i] = [param[4*i], parseInt(param[4*i+1]), parseInt(param[4*i+2]), parseInt(param[4*i+3])]; } } } //////////////////////////////////////////////////////////// var data_img = new Array(); var data_svg = new Array(); data_svg["fermer"] = [[3,7, 7, 6.5],[0,4.5, 4.5],[1,9.5, 9.5],[0,9.5, 4.5],[1,4.5, 9.5]]; data_svg["param"] = [[0, 2.69,15.81], [2, 4.037,14.58, 6.07,17.356, 5.21,18.24], [1, 3.35,20.11 ], [2, 5.53,22.31, 9.31,17.555 ,7.51,15.78 ], [1, 15.78,7.49 ], [2, 18,9.5, 22.05,5.02, 20.21,3.14], [1, 18.21,5.07 ], [2, 16.84,6.41, 14.72,4.1, 15.95,2.9 ], [1, 18.01,0.93 ], [2, 15.63,-1.34, 11.42,3.33, 13.46,5.26 ], [1, 5.17,13.48 ], [2, 2.88,11.66, -1.11,15.77, 0.82,17.65]]; data_svg["descendre"] = [[0,5,11],[1,10,6],[1,7,6],[1,7,0],[1,3,0],[1,3,6],[1,0,6]]; data_svg["monter"] = [[0,5,0],[1,10,5],[1,7,5],[1,7,11],[1,3,11],[1,3,5],[1,0,5],[1,5,0]]; data_svg["plus"] = [[3,10,10,9],[0,5,10],[1,15,10],[0,10,5],[1,10,15]]; data_svg["suppr"] = [[0,0,0],[1,10,11],[0,10,0],[1,0,11]]; data_svg["annuler"] = [[0, 1,1], [1, 18,18], [0, 19,1], [1, 1,18]]; var coeff=2, decalv=30, decalh=30; var position_trous = [[-70.5, -7.5, 2, 1.5, -69], [-66.5, -37.5, 2, 1.5, -69], [-63.5, 8.5, 2, 1.5, -69], [-59.5, -32.5, 2, 1.5, -69], [-52, 57, 0.25, 0.8, -59], [-50.5, -22.5, 2, 1.5, -69], [-35.5, -51.5, 2, 1.5, -69], [-34.5, 14.5, 2, 1.5, -69], [-34.5, 64.5, 2, 1.5, -69], [-11.5, 72.5, 2, 1.5, -69], [5.5, -49.5, 2, 1.5, -69], [5.5, 31.5, 2, 1.5, -69], [10.5, 63.5, 2, 1.5, -69], [12, -15, 0.25, 0.8, -59], [21.5, 35.5, 2, 1.5, -69], [30, -52, 0.25, 0.8, -59], [46.5, 51.5, 2, 1.5, -69], [48, -39, 0.25, 0.8, -59], //[55, 70, 0.25, 0.8, -69], [55, 70, 0.25, 0.8, -59], // modif Vapulabehemot (reprise de la modification du script trajet_canvas) [56.5, 23.5, 75, 8.7, -99], [64, 70, 0.25, 0.8, -59], [74.5, 31.5, 2, 1.5, -69]]; var bulle = null; var favori = new Array(), nb_fav=0, nv_pt = null, retrace_fav = false; var haut = null; var cadrable = window.parent && window.parent.frames.length > 1 && window.parent.frames[0].document; var zoom_fav = 100; if(page_tp == "action") { if(cadrable) { data_img["carte"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAAAXNSR0IArs4c6QAAACRQTFRFZBcScyYjTEU/dm1hk4J4pZSJyban3Me25dC/8dvL/uHS/OfWEvrSsAAAAAFiS0dEAIgFHUgAAAAJcEhZcwAADeUAAA3lAebqaa8AAAAHdElNRQfaCxMTKRANnM4vAAAAiUlEQVQY02NgFIQDAQbp3btWz1w5EwQ2MkhXdHSUA8HMmTMmMkh3794NRDt2796JxpHCwVmIrGwhgyTQNCBqB6KJDJLVMJntQD0gzs4yCAcss9kNygEboIrMMY0AchZCOdErIDLIRkvNhhm9YyODJDGchWgyUG8DTQOGwa7du3ev3g0CGxmQgwoAO1+fU9dLcv4AAAAASUVORK5CYII="; var sortie = new Array(); var bougeable = false, glissable = false, glisse_vert = false, initialise = false; var zoom=100; var choix_fav=-1; if(MY_getValue("zoom_tp")) { zoom = parseFloat(MY_getValue("zoom_tp")); coeff = zoom/50.0; } var ecart = document.forms[0].elements[1].parentNode.innerHTML.match(/Entre (-?\d+) et (-?\d+)/) var portee = (parseInt(ecart[2])-parseInt(ecart[1]))/2; var posx = (parseInt(ecart[2])+parseInt(ecart[1]))/2; ecart = document.forms[0].elements[2].parentNode.innerHTML.match(/Entre (-?\d+) et (-?\d+)/) var posy = (parseInt(ecart[2])+parseInt(ecart[1]))/2; ecart = document.forms[0].elements[3].parentNode.innerHTML.match(/Entre (-?\d+) et (-?\d+)/) var nmin = parseInt(ecart[1]), nmax = parseInt(ecart[2]); var posn = (nmax == 0 && window.parent.parent)? parseInt(window.parent.parent.frames[0].document.getElementsByTagName('div')[1].innerHTML.match(/X=-?\d+\|Y=-?\d+\|N=(-?\d+)/)[1]) : Math.ceil((nmin+nmax)/2); for(var i=0; i<3; i++) { addEvent(document.forms[0].elements[i+1], "change", modif_coord, true); addEvent(document.forms[0].elements[i+1], "keyup", modif_coord, true); } sortie = [posx, posy, posn]; ini_tp(); } charger_fav(); ini_fav(); initialise = true; } else if(page_tp == "lieu") { data_img["fav_tp"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWBAMAAAAoU0G7AAAAAXNSR0IArs4c6QAAADBQTFRF7wkBdCYjj1BLllhSgnFoqI0IxLGjxcYC181S3s6J49Gf6NLB4eI98Nyk+uTT8PRkk1tcDwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAn8AAAJ/AGqdR8rAAAAB3RJTUUH2gseDxk7mTCDVQAAAIlJREFUGFdjYGBgZ0AC5QVInJrjDAxwfs2fcoRk/f//3wMFgUAAqP88kLMbBDYxsNf8////BJRTfh7E2ffu9bt3mxjAvO/roBwGoLo/dXAO0OgqiB4GBp7j697Og8mwF+97ty8tG8phBnKeQDkMIM6zNBgne/fubVADwDIwA4jmgN0MNYDJGAIMAfWFfzRLXt4tAAAAAElFTkSuQmCC"; ini_edition(); } } } catch (e) { // ajout par Vapulabehemot (82169) le 11/07/2015 window.alert('teleportation.user.js : ' + e.message); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址