您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
faire des jets avec prise en comp des stats via des compétences
// ==UserScript== // @name Roll // @namespace InGame // @include http://www.dreadcast.net/Main // @include https://www.dreadcast.eu/Main // @version 0.131 // @grant none // @description faire des jets avec prise en comp des stats via des compétences // ==/UserScript== var re = new RegExp("/roll [a-z]+"); var competenceFormule = new Object(); if (!String.prototype.contains) { String.prototype.contains = function(s, i) { return this.indexOf(s, i) != -1; } } $.ajax({ type: 'GET', url: "https://docs.google.com/uc?export=download&id=0B4Igp0h82K3yUDc4NWdQNEZQY0k", async: false, jsonpCallback: 'jsonCallbackComps_0', contentType: "application/json", dataType: 'jsonp', success: function(json) { var tmpComp = json.comps.split("|"); for(var j = 0; j < tmpComp.length; j++) competenceFormule[tmpComp[j].split(":")[0]] = tmpComp[j].split(":")[1]; }, error: function(e) { console.log(e.message); } }); var getStats = function(stat){ switch(stat){ case "f" : return parseInt($('#statistiques .infos .stat_1_entier').text()); break; case "a": return parseInt($('#statistiques .infos .stat_2_entier').text()); break; case "r": return parseInt($('#statistiques .infos .stat_3_entier').text()); break; case "p": return parseInt($('#statistiques .infos .stat_4_entier').text()); break; case "fu": return parseInt($('#statistiques .infos .stat_5_entier').text()); break; case "i": return parseInt($('#statistiques .infos .stat_6_entier').text()); break; case "m": return parseInt($('#statistiques .infos .stat_7_entier').text()); break; case "ing": return parseInt($('#statistiques .infos .stat_8_entier').text()); break; } } var computeValue = function(comp){ if(competenceFormule[comp]!= undefined) { var compVal = 0; var tmpVal = competenceFormule[comp].split(","); for(var i = 0; i < tmpVal.length; i++) { var tmp = tmpVal[i].split(';'); compVal += parseFloat(eval(tmp[0])) * getStats(tmp[1]); } compVal = parseInt(compVal/6); return (100- compVal); } else return undefined; } var retrieveValue = function(facesde, comp, diff) { var chatContent = $("#chatContent").text(); chatContent = chatContent.trim().replace(/[^\S\n]{2,}/g, ' '); if(chatContent != "") { var lignes = chatContent.split("\n"); for(var i = lignes.length-1; i >= 0; i--) { var ligne = lignes[i].trim(); if(ligne != "" && ligne.charAt(0) != "[" && ligne.contains("lance 1 dé de " + facesde+" et fait")) { var result = parseInt(ligne.substring(ligne.indexOf("et fait")+7).trim()) + 100 -facesde; if(diff == undefined) $("#chatForm .text_chat").val("/me [couleur=jaune]fait "+ result +" à son jet de "+comp+"[/couleur]"); else if (diff == "f" && result >= 25) $("#chatForm .text_chat").val("/me [couleur=vert]réussit[/couleur] [couleur=jaune]un jet facile de "+comp+" et fait "+ result+"[/couleur]"); else if (diff == "f" && result < 25) $("#chatForm .text_chat").val("/me [couleur=rouge]rate[/couleur] [couleur=jaune]son jet facile de "+comp+" et fait "+ result+"[/couleur]"); else if (diff == "m" && result >= 50) $("#chatForm .text_chat").val("/me [couleur=vert]réussit[/couleur] [couleur=jaune]un jet moyen de "+comp+" et fait "+ result+"[/couleur]"); else if (diff == "m" && result < 50) $("#chatForm .text_chat").val("/me [couleur=rouge]rate[/couleur] [couleur=jaune]un jet moyen de "+comp+" et fait "+ result+"[/couleur]"); else if (diff == "d" && result >= 75) $("#chatForm .text_chat").val("/me [couleur=vert]réussit[/couleur] [couleur=jaune]un jet difficile de "+comp+" et fait "+ result+"[/couleur]"); else if (diff == "d" && result < 75) $("#chatForm .text_chat").val("/me [couleur=rouge]rate[/couleur] [couleur=jaune]un jet difficile de "+comp+" et fait "+ result+"[/couleur]"); else if (parseInt(diff) != NaN && result >= parseInt(diff)) $("#chatForm .text_chat").val("/me [couleur=vert]réussit[/couleur] [couleur=jaune]un jet de "+comp+" en faisant "+ result+" contre un seuil de "+parseInt(diff)+"[/couleur]"); else if (parseInt(diff) != NaN && result < parseInt(diff)) $("#chatForm .text_chat").val("/me [couleur=rouge]rate[/couleur] [couleur=jaune]un jet de "+comp+" en faisant "+ result+" contre un seuil de "+parseInt(diff)+"[/couleur]"); console.log($("#chatForm .text_chat").val); nav.getChat().send(); break; } } } } var jetDes = function(e) { if (e.keyCode==13) { value = $("#chatForm .text_chat").val(); if(value.match(re)) { var comp = value.trim().split(" ")[1]; var diff = value.trim().split(" ")[2]; var facesde = computeValue(comp); if(facesde != undefined){ value = '/roll 1d'+facesde; setTimeout(function(){ retrieveValue(facesde, comp, diff)},500); } } $("#chatForm .text_chat").val(value); } } document.addEventListener('keypress', jetDes, false);