您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
REREC, TrExMa, RatingR2 JP/EN/CHS + Season TI
// ==UserScript== // @name RatingR2 All Point // @version 1.1 + VC'Modify // @author VF Tomato + VC // @description REREC, TrExMa, RatingR2 JP/EN/CHS + Season TI // @include http://trophymanager.com/players/* // @exclude http://trophymanager.com/players/compare/* // @exclude http://trophymanager.com/players // @namespace http://greasyfork.icu/users/8015 // ==/UserScript== var rou_factor = 0.00405; var wage_rate = 27.55; var wage_rate_new = 23.75; //NOTE: if you want to do some translate , find the key word "translate" in this script -- by vc var lang = "ENG"; // default lang = "CHS"; // Array to setup the weights of particular skills for each player's actual ability // This is the direct weight to be given to each skill. // Array maps to these skills: // [Str,Sta,Pac,Mar,Tac,Wor,Pos,Pas,Cro,Tec,Hea,Fin,Lon,Set] var positions = [[ 1, 3, 1, 1, 1, 3, 3, 2, 2, 2, 1, 3, 3, 3], // D C [ 2, 3, 1, 1, 1, 3, 3, 2, 2, 2, 2, 3, 3, 3], // D L [ 2, 3, 1, 1, 1, 3, 3, 2, 2, 2, 2, 3, 3, 3], // D R [ 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 3, 3, 3], // DM C [ 2, 3, 1, 1, 1, 3, 3, 2, 2, 2, 2, 3, 3, 3], // DM L [ 2, 3, 1, 1, 1, 3, 3, 2, 2, 2, 2, 3, 3, 3], // DM R [ 2, 2, 3, 1, 1, 1, 1, 1, 3, 1, 2, 3, 3, 3], // M C [ 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3], // M L [ 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3], // M R [ 2, 3, 3, 2, 2, 1, 1, 1, 3, 1, 2, 1, 1, 3], // OM C [ 2, 2, 1, 3, 3, 2, 2, 3, 1, 1, 2, 2, 2, 3], // OM L [ 2, 2, 1, 3, 3, 2, 2, 3, 1, 1, 2, 2, 2, 3], // OM R [ 1, 2, 2, 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, 3], // F [ 2, 3, 2, 1, 2, 1, 2, 2, 3, 3, 3]]; // GK // Weights need to total 100 var weights = [ [85,12, 3], // D C [70,25, 5], // D L [70,25, 5], // D R [90,10, 0], // DM C [50,40,10], // DM L [50,40,10], // DM R [85,12, 3], // M C [90, 7, 3], // M L [90, 7, 3], // M R [90,10, 0], // OM C [60,35, 5], // OM L [60,35, 5], // OMR [80,18, 2], // F [50,42, 8]]; // GK var weightR2 = [[ 0.51872935 , 0.29081119 , 0.57222393 , 0.89735816 , 0.84487852 , 0.50887940 , 0.50887940 , 0.13637928 , 0.05248024 , 0.09388931 , 0.57549122 , 0.00000000 , 0.00000000 , 0.00000000 ], // DC [ 0.46087883 , 0.31034824 , 0.65619359 , 0.73200504 , 0.70343948 , 0.49831122 , 0.46654859 , 0.16635132 , 0.22496087 , 0.19697949 , 0.48253326 , 0.07310254 , 0.02834753 , 0.00000000 ], // DL/R [ 0.43732502 , 0.31888984 , 0.53618097 , 0.63897616 , 0.59319466 , 0.51330795 , 0.53166961 , 0.32536200 , 0.06340582 , 0.27886822 , 0.49996910 , 0.18940400 , 0.07344664 , 0.00000000 ], // DMC [ 0.42233965 , 0.32373447 , 0.62437404 , 0.54169665 , 0.51669428 , 0.49853202 , 0.47851686 , 0.26551219 , 0.22685609 , 0.32146118 , 0.45396969 , 0.23513340 , 0.09117948 , 0.00000000 ], // DML/R [ 0.34304950 , 0.35058989 , 0.49918296 , 0.34631352 , 0.30595388 , 0.52078076 , 0.56068322 , 0.52568923 , 0.08771222 , 0.47650463 , 0.41232903 , 0.41160135 , 0.15960981 , 0.00000000 ], // MC [ 0.37404045 , 0.33153172 , 0.62642777 , 0.33260815 , 0.30559265 , 0.50117998 , 0.47502314 , 0.28759565 , 0.33838614 , 0.44322386 , 0.40347341 , 0.41859521 , 0.16232188 , 0.00000000 ], // ML/R [ 0.31998474 , 0.35180968 , 0.49002842 , 0.23116817 , 0.19239312 , 0.52687030 , 0.57839880 , 0.53861416 , 0.07598706 , 0.56096162 , 0.39614367 , 0.53152625 , 0.20611401 , 0.00000000 ], // OMC [ 0.36069138 , 0.33248748 , 0.62214126 , 0.20034326 , 0.17595073 , 0.50091992 , 0.47631079 , 0.29235505 , 0.35086625 , 0.52960856 , 0.39553712 , 0.54964726 , 0.21314094 , 0.00000000 ], // OML/R [ 0.40324698 , 0.29906901 , 0.39676419 , 0.10106757 , 0.07620466 , 0.50471883 , 0.58512049 , 0.37506253 , 0.05291339 , 0.53882195 , 0.51604535 , 0.82935839 , 0.32160667 , 0.00000000 ], // F [ 0.45462811 , 0.30278232 , 0.45462811 , 0.90925623 , 0.45462811 , 0.90925623 , 0.45462811 , 0.45462811 , 0.30278232 , 0.15139116 , 0.15139116 ]]; // GK // REC weights Str Sta Pac Mar Tac Wor Pos Pas Cro Tec Hea Fin Lon Set var weightR = [[0.653962303361921, 0.330014238020285, 0.562994547223387, 0.891800163983125, 0.871069095865164, 0.454514672470839, 0.555697278549252, 0.42777598627972, 0.338218821750765, 0.134348455965202, 0.796916786677566, 0.048831870932616, 0.116363443378865, 0.282347752982916], //DC [0.565605120229193, 0.430973382039533, 0.917125432457378, 0.815702528287723, 0.99022325015212, 0.547995876625372, 0.522203232914265, 0.309928898819518, 0.837365352274204, 0.483822472259513, 0.656901420858592, 0.137582588344562, 0.163658117596413, 0.303915447383549], //DL/R [0.55838825558912, 0.603683502357502, 0.563792314670998, 0.770425088563048, 0.641965853834719, 0.675495235675077, 0.683863478201805, 0.757342915150728, 0.473070797767482, 0.494107823556837, 0.397547163237438, 0.429660916538242, 0.56364174077388, 0.224791093448809], //DMC [0.582074038075056, 0.420032202680124, 0.7887541874616, 0.726221389774063, 0.722972329840151, 0.737617252827595, 0.62234458453736, 0.466946909655194, 0.814382915598981, 0.561877829393632, 0.367446981999576, 0.360623408340649, 0.390057769678583, 0.249517737311268], //DML/R [0.578431939417021, 0.778134685048085, 0.574726322388294, 0.71400292078636, 0.635403391007978, 0.822308254446722, 0.877857040588335, 0.864265671245476, 0.433450219618618, 0.697164252367046, 0.412568516841575, 0.586627586272733, 0.617905053049757, 0.308426814834866], //MC [0.497429376361348, 0.545347364699553, 0.788280917110089, 0.578724574327427, 0.663235306043286, 0.772537143243647, 0.638706135095199, 0.538453108494387, 0.887935381275257, 0.572515970409641, 0.290549550901104, 0.476180499897665, 0.526149424898544, 0.287001645266184], //ML/R [0.656437768926678, 0.617260722143117, 0.656569986958435, 0.63741054520629, 0.55148452726771, 0.922379789905246, 0.790553566121791, 0.999688557334153, 0.426203575603164, 0.778770912265944, 0.652374065121788, 0.662264393455567, 0.73120100926333, 0.274563618133769], //OMC [0.483341947292063, 0.494773052635464, 0.799434804259974, 0.628789194186491, 0.633847969631333, 0.681354437033551, 0.671233869875345, 0.536121458625519, 0.849389745477645, 0.684067723274814, 0.389732973354501, 0.499972692291964, 0.577231818355874, 0.272773352088982], //OML/R [0.493917051093473, 0.370423904816088, 0.532148929996192, 0.0629206658586336, 0.0904950078155216, 0.415494774080483, 0.54106107545574, 0.468181146095801, 0.158106484131194, 0.461125738338018, 0.83399612271067, 0.999828328674183, 0.827171977606305, 0.253225855459207], //F // For Rez Vit Ind One Ref Aer Sar Com Deg Aru [0.5, 0.333, 0.5, 1, 0.5, 1, 0.5, 0.5, 0.333, 0.333, 0.333]]; //GK // DC DL/R DMC DML/R MC ML/R OMC OML/R F GK var recLast = [[14.866375, 15.980742, 15.8932675, 15.5835325, 17.6955092, 16.6189141, 18.1255351, 15.6304867, 13.2762119, 15], [18.95664, 22.895539, 23.1801296, 23.2813871, 26.8420884, 23.9940623, 27.8974544, 24.54323, 19.5088591, 22.3]]; var positionNames = ["D C", "D L", "D R", "DM C", "DM L", "DM R", "M C", "M L", "M R", "OM C", "OM L", "OM R", "F", "GK"]; //to translate var positionFullNames = ["Defender Center", "Defender Left", "Defender Right", "Defensive Midfielder Center", "Defensive Midfielder Left", "Defensive Midfielder Right", "Midfielder Center", "Midfielder Left", "Midfielder Right", "Offensive Midfielder Center", "Offensive Midfielder Left", "Offensive Midfielder Right", "Forward", "Goalkeeper"]; var positionFullNamesJ = ["ディフェンダー 中央", "ディフェンダー 左", "ディフェンダー 右", "守備的ミッドフィルダー 中央", "守備的ミッドフィルダー 左", "守備的ミッドフィルダー 右", "ミッドフィルダー 中央", "ミッドフィルダー 左", "ミッドフィルダー 右", "攻撃的ミッドフィルダー 中央", "攻撃的ミッドフィルダー 左", "攻撃的ミッドフィルダー 右", "フォワード", "ゴールキーパー"]; //STAR SCRIPT if (location.href.indexOf("/players/") != -1){ // positionIndex is the array of skill priority for this player. // skills is an array of skills for each user var isGK = false; //check if gk if(document.getElementsByClassName("favposition long")[0].innerHTML.indexOf("gk")>0)isGK=true; document.calculateSkill = function(positionIndex, skills) { var totSkill = 0; for (var i=0; i< positions[positionIndex].length; i++) { if (skills[i]>0) { totSkill += skills[i]*document.calculateSkillWeight(positions[positionIndex], weights[positionIndex], i); } } totSkill = totSkill / 200; totSkill = Math.round(totSkill*1000)/1000; return totSkill; }; document.calculateSkillWeight = function(positionWeightLevels, weights, index) { var weight = 0; weight = weights[positionWeightLevels[index]-1] / document.numberAtWeight(positionWeightLevels, positionWeightLevels[index]) * 10; return weight; }; document.numberAtWeight = function(positionWeightLevels, value) { var count = 0; for (var i=0; i< positionWeightLevels.length; i++) { if (positionWeightLevels[i] == value) { count++; } } return count; }; document.findPositionIndex = function(position) { var index = -1; for (var k=0; k< positionFullNames.length; k++) { if (position.indexOf(positionFullNames[k]) == 0) { return k; } } for (var k=0; k< positionFullNamesJ.length; k++) { if (position.indexOf(positionFullNamesJ[k]) == 0) { return k; } } return index; }; document.getSkills = function(table) { var skillArray = []; var tableData = table.getElementsByTagName("td"); if (tableData.length > 1) { for (var i = 0; i < 2; i++) { for (var j = i; j < tableData.length; j += 2) { if (tableData[j].innerHTML.indexOf("star.png") > 0) { skillArray.push(20); } else if (tableData[j].innerHTML.indexOf("star_silver.png") > 0) { skillArray.push(19); } else if (tableData[j].textContent.length != 0) { skillArray.push(tableData[j].textContent); } } } } return skillArray; }; // end of getSkills function funFix (i) { i = (Math.round(i*100)/100).toFixed(2); return i; } function funFix2 (i) { i = (Math.round(i*10)/10).toFixed(1); return i; } /* 屏蔽此函数,减少翻译量 //var trnum = siSearch(gettr); function siSearch (gettr) { for (var i = 0; i < gettr.length; i++){ if (gettr[i].innerHTML.indexOf("スキル指数") > 0) return i; if (gettr[i].innerHTML.indexOf("Skill Index") > 0) return i; if (gettr[i].innerHTML.indexOf("技能评值") > 0) return i; } } */ document.createTR = function(table, SKarray) { var tr = document.createElement("tr"); var th = document.createElement("th"); th.innerHTML = "SK1"; tr.appendChild(th); var td = document.createElement("td"); td.setAttribute("class", "align_center"); td.innerHTML = SKarray[0]; tr.appendChild(td); var th = document.createElement("th"); th.innerHTML = "SK2"; tr.appendChild(th); var td = document.createElement("td"); td.setAttribute("class", "align_center"); if (SKarray[1] == 0){ td.innerHTML = "N/A"; } else { td.innerHTML = SKarray[1]; } tr.appendChild(td); table.appendChild(tr); };// end of document.createTR function computeSK(table, skills){ var SKs = [0, 0]; var REREC = [[],[],[]]; var FP = []; var positionCell = document.getElementsByClassName("favposition long")[0].childNodes; var positionArray = []; if (positionCell.length == 1){ positionArray[0] = positionCell[0].textContent; } else if (positionCell.length == 2){ positionArray[0] = positionCell[0].textContent + positionCell[1].textContent; } else if (positionCell[1].className == "split"){ positionArray[0] = positionCell[0].textContent + positionCell[3].textContent; positionArray[1] = positionCell[2].textContent + positionCell[3].textContent; } else if (positionCell[3].className == "f"){ positionArray[0] = positionCell[0].textContent + positionCell[1].textContent; positionArray[1] = positionCell[3].textContent; } else { positionArray[0] = positionCell[0].textContent + positionCell[1].textContent; positionArray[1] = positionCell[0].textContent + positionCell[3].textContent; } var gettr = document.getElementsByTagName("tr"); var trnum = 6; var rou = gettr[trnum+2].getElementsByTagName("td")[0].innerHTML; rou = Math.pow(5/3, Math.LOG2E * Math.log(rou * 10)) * 0.4; for (var i = 0; i < positionArray.length; i++){ var positionIndex = document.findPositionIndex(positionArray[i]); FP[i] = positionIndex; FP[i+1] = FP[i]; if (positionIndex > -1) { SKs[i] = document.calculateSkill(positionIndex, skills); } if (i == 0) REREC = document.calculateREREC(positionIndex, skills, gettr, trnum, rou, rou_factor); } var SI = new String(gettr[trnum].getElementsByTagName("td")[0].innerHTML).replace(/,/g, ""); if (positionIndex == 13){ var phySum = skills[0]*1 + skills[1]*1 + skills[2]*1 + skills[7]*1; var tacSum = skills[4]*1 + skills[6]*1 + skills[8]*1; var tecSum = skills[3]*1 + skills[5]*1 + skills[9]*1 + skills[10]*1; var weight = 48717927500; } else { var phySum = skills[0]*1 + skills[1]*1 + skills[2]*1 + skills[10]*1; var tacSum = skills[3]*1 + skills[4]*1 + skills[5]*1 + skills[6]*1; var tecSum = skills[7]*1 + skills[8]*1 + skills[9]*1 + skills[11]*1 + skills[12]*1 + skills[13]*1; var weight = 263533760000; } var allSum = phySum + tacSum + tecSum; var remainder = funFix2(Math.pow(2,Math.log(weight*SI)/Math.log(Math.pow(2,7))) - allSum); var recth = document.createElement("div"); var rectd = document.createElement("div"); var ratth = document.createElement("div"); var rattd = document.createElement("div"); rectd.setAttribute("style", "color: gold;"); rattd.setAttribute("style", "color: gold;"); for (i = 0; i < FP.length; i++) { for (j = 0; 2+j <= FP[i]; j += 2) FP[i]--; } if (FP[0] != FP[1]) { rectd.innerHTML = REREC[0][FP[0]] + "/" + REREC[0][FP[1]]; rattd.innerHTML = REREC[2][FP[0]] + "/" + REREC[2][FP[1]]; var ratingR2 = rattd.innerHTML; var rouEffect = funFix(REREC[2][FP[0]]*1 - REREC[1][FP[0]]*1) + "/" + funFix(REREC[2][FP[1]]*1 - REREC[1][FP[1]]*1); var R2Pure = REREC[1][FP[0]] + "/" + REREC[1][FP[1]]; } else { rectd.innerHTML = REREC[0][FP[0]]; rattd.innerHTML = REREC[2][FP[0]]; var ratingR2 = rattd.innerHTML; var rouEffect = funFix(REREC[2][FP[0]]*1 - REREC[1][FP[0]]*1); var R2Pure = REREC[1][FP[0]]; } recth.innerHTML = "<b style=\"color: gold;\">REREC</b>"; ratth.innerHTML = "<b style=\"color: gold;\">RatingR2</b>"; gettr[trnum-1].getElementsByTagName("th")[0].appendChild(recth); gettr[trnum-1].getElementsByTagName("td")[0].appendChild(rectd); gettr[trnum+2].getElementsByTagName("th")[0].appendChild(ratth); gettr[trnum+2].getElementsByTagName("td")[0].appendChild(rattd); var div_area = document.createElement('div'); if(lang=="ENG") div_area.innerHTML="<div id=\"area\" style=\"position: absolute; z-index: 1000; width: 175px; margin-top: 25px; background: #5F8D2D; color: #ff9900; padding-left: 5px; -moz-opacity: .8; text-align: middle; color: gold; border: 2px #333333 outset; display:inline;\"><p style=\"text-decoration: underline;\"><b>PlayerData+:<\p><table style=\"margin-top: -1em; margin-bottom: 1em;\"><tr><td>PhySum: </td><td>" + phySum + " / " + Math.round(100 * phySum / 80) +"% </td></tr><tr><td>TacSum: </td><td>" + tacSum + " / " + Math.round(100 * tacSum / 80) +"% </td></tr><tr><td>TecSum: </td><td>" + tecSum + " / " + Math.round(100 * tecSum / 120) +"% </td></tr><tr><td>AllSum: </td><td>" + allSum + " + " + remainder + " </td></tr><tr><td> </td></tr><tr><td>RatingR2: </td><td>" + ratingR2 + " </td></tr><tr><td>RouEffect: </td><td>" + rouEffect + " </td></tr><tr><td>Rating-Pure: </td><td>" + R2Pure + "</td></tr></table></b></div>"; // to translate if(lang=="CHS") div_area.innerHTML="<div id=\"area\" style=\"position: absolute; z-index: 1000; width: 175px; margin-top: 25px; background: #5F8D2D; color: #ff9900; padding-left: 5px; -moz-opacity: .8; text-align: middle; color: gold; border: 2px #333333 outset; display:inline;\"><p style=\"text-decoration: underline;\"><b>PlayerData+:<\p><table style=\"margin-top: -1em; margin-bottom: 1em;\"><tr><td>体能总数: </td><td>" + phySum + " / " + Math.round(100 * phySum / 80) +"% </td></tr><tr><td>战术总数: </td><td>" + tacSum + " / " + Math.round(100 * tacSum / 80) +"% </td></tr><tr><td>技术总数: </td><td>" + tecSum + " / " + Math.round(100 * tecSum / 120) +"% </td></tr><tr><td>总技能数: </td><td>" + allSum + " + " + remainder + " </td></tr><tr><td> </td></tr><tr><td>评价R2: </td><td>" + ratingR2 + " </td></tr><tr><td>经验加成: </td><td>" + rouEffect + " </td></tr><tr><td>纯技能评价: </td><td>" + R2Pure + "</td></tr></table></b></div>"; // 需要重新定位小窗口,适应大部分浏览器 var getbox=document.getElementsByTagName("div") for (k = 0; k < getbox.length; k++){ if (getbox[k].className=="box_body") break; } document.getElementsByTagName("div")[k].appendChild(div_area); document.createTR(table, SKs); if (positionIndex != 13) { var table2 = document.createElement("table"); var div = document.createElement("div"); var tbody = document.createElement("tbody"); table2.setAttribute("border", "1"); table2.setAttribute("bordercolor", "#6C9922"); table2.innerHTML = "<thead><tr><th></th><th>DC</th><th>DLR</th><th>DMC</th><th>DMLR</th><th>MC</th><th>MLR</th><th>OMC</th><th>OMLR</th><th>F</th></tr></thead>"; tbody.setAttribute("align", "center"); var tr = document.createElement("tr"); for (var i = 0; i < 3; i+=2) { var th = document.createElement("th"); if (i == 0) th.innerHTML = "REREC"; else th.innerHTML = "RatingR2"; tr.appendChild(th); for (var j = 0; j < 9; j++) { var td = document.createElement("td"); if (REREC[i][j]*1 >= 100) { REREC[i][j] = funFix2(REREC[i][j]*1); } td.innerHTML = REREC[i][j]; tr.appendChild(td); } tbody.appendChild(tr); table2.appendChild(tbody); var tr = document.createElement("tr"); var th = document.createElement("th"); th.setAttribute("colspan", "4"); th.setAttribute("align", "center"); th.appendChild(table2); } tr.appendChild(th); table.appendChild(tr); } return SKs; } // end fo computeSK document.calculateREREC = function (positionIndex, skills, gettr, num, rou, rou_factor){ var rec = []; // REREC var ratingR = []; // RatingR2 var ratingR2 = []; // RatingR2 + routine var skillSum = 0; var SI = new String(gettr[num].getElementsByTagName("td")[0].innerHTML).replace(/,/g, ""); if (positionIndex == 13) { var skillWeightSum = Math.pow(SI, 0.143) / 0.02979; // GK Skillsum var weight = 48717927500; } else { var skillWeightSum = Math.pow(SI, 1/6.99194)/0.02336483; // Other Skillsum var weight = 263533760000; } for (var i = 0; i < skills.length; i++) { skillSum += parseInt(skills[i]); } for (i = 0; 2+i <= positionIndex; i += 2) { // TrExMaとRECのweight表のずれ修正 positionIndex--; } skillWeightSum -= skillSum; // REREC remainder var remainder = Math.round((Math.pow(2,Math.log(weight*SI)/Math.log(Math.pow(2,7))) - skillSum)*10)/10; // RatingR2 remainder for (var i = 0; i < 10; i++) { rec[i] = 0; ratingR[i] = 0; } for (var j = 0; j < 9; j++) { // All position var remainderWeight = 0; // REREC remainder weight sum var remainderWeight2 = 0; // RatingR2 remainder weight sum var not20 = 0; // 20以外のスキル数 if (positionIndex == 9) j = 9; // GK for (var i = 0; i < weightR[positionIndex].length; i++) { rec[j] += skills[i] * weightR[j][i]; ratingR[j] += skills[i] * weightR2[j][i]; if (skills[i] != 20) { remainderWeight += weightR[j][i]; remainderWeight2 += weightR2[j][i]; not20 += 1; } } rec[j] += skillWeightSum * remainderWeight / not20; //REREC Score if (positionIndex == 9) rec[j] *= 1.27 //GK rec[j] = funFix((rec[j] - recLast[0][j]) / recLast[1][j]); ratingR[j] += remainder * remainderWeight2 / not20; ratingR2[j] = funFix(ratingR[j] * (1 + rou * rou_factor)); ratingR[j] = funFix(ratingR[j]); if (positionIndex == 9) j = 9; // Loop end } var recAndRating = [rec, ratingR, ratingR2]; return recAndRating; }; // end of document.calculateREREC function seasonSI () { var today = new Date(); var s36t = new Date("01 28 2014 00:10:00 GMT"); var daysbetween = (today.getTime()-s36t.getTime())/1000/3600/24; var weeks = Math.floor(daysbetween/7); weeks=weeks%12; weeks++; if(weeks==0)return; var sith = document.createElement("div"); var sitd = document.createElement("div"); var gettr = document.getElementsByTagName("tr"); var trnum = 14; var SI = new String(gettr[trnum].getElementsByTagName("td")[0].innerHTML).replace(/,/g, ""); var wage = new String(gettr[trnum-2].getElementsByTagName("span")[0].innerHTML).replace(/,/g, ""); //alert(SI+"XX"+wage); var age = new String(gettr[trnum-4].getElementsByTagName("td")[0].innerHTML); var yearidx = age.search(/\d\d/); var year = age.substr(yearidx,2); age = age.slice(yearidx+2); age = age.replace(/\D+/g,""); var month = age; year = parseInt(year); month = parseInt(month); SI= parseInt(SI); wage=parseInt(wage); if(wage==30000||wage==31500)return; //alert(trnum+"XX"+age); //to do var vcSeasonASI = wage / wage_rate ; var vcSeasonSkill =-5.8448563*Math.pow(vcSeasonASI, -0.0425431)+ 41.33876*Math.pow(vcSeasonASI,0.1445571); var vcSkill =-5.8448563*Math.pow(SI, -0.0425431)+ 41.33876*Math.pow(SI,0.1445571); var vcTI = (vcSkill - vcSeasonSkill)*10; if(isGK) vcTI=vcTI*11/14; var vcTI2= vcTI.toFixed(1); var vcTIevg = vcTI/weeks ; vcTIevg = vcTIevg.toFixed(1); var isShowNew = false; if(year<22&&weeks>month&&month>1) { isShowNew = true; var NEWvcSeasonASI = wage / wage_rate_new ; var NEWvcSeasonSkill =-5.8448563*Math.pow(NEWvcSeasonASI, -0.0425431)+ 41.33876*Math.pow(NEWvcSeasonASI,0.1445571); var NEWvcTI = (vcSkill - NEWvcSeasonSkill)*10; if(isGK) NEWvcTI=NEWvcTI*11/14; var NEWvcTI2= NEWvcTI.toFixed(1); var NEWvcTIevg = NEWvcTI/(month-1) ; NEWvcTIevg = NEWvcTIevg.toFixed(1); if(NEWvcTIevg<0)isShowNew=false; } // to translate if(lang=="ENG") sith.innerHTML = "Season TI"; if(lang=="CHS") sith.innerHTML = "赛季TI"; sitd.innerHTML = vcTIevg+" X "+weeks+" = "+vcTI2; gettr[trnum].getElementsByTagName("th")[0].appendChild(sith); gettr[trnum].getElementsByTagName("td")[0].appendChild(sitd); if(isShowNew) { var sith2 = document.createElement("div"); var sitd2 = document.createElement("div"); if(lang=="ENG") sith2.innerHTML = "Season TI New"; if(lang=="CHS") sith2.innerHTML = "新球员赛季TI"; sitd2.innerHTML = NEWvcTIevg+" X "+(month-1)+" = "+NEWvcTI2; gettr[trnum].getElementsByTagName("th")[0].appendChild(sith2); gettr[trnum].getElementsByTagName("td")[0].appendChild(sitd2); } }//end of Season SI function addBt() { var title = document.getElementsByTagName("head")[0]; var myscript = document.createElement("script"); myscript.type="text/javascript"; myscript.innerHTML = "function getDetail(){ \n"; myscript.innerHTML+= "var isGK= false; \n"; myscript.innerHTML+= "if(document.getElementsByClassName(\"favposition long\")[0].innerHTML.indexOf(\"gk\")>0)isGK=true; \n"; myscript.innerHTML+="var gettr2 = $(\".float_left&.zebra\");\n"; myscript.innerHTML+="var clubid = new String(gettr2[0].getElementsByTagName(\"a\")[0].getAttribute(\"club_link\")).replace(/,/g, \"\"); \n"; myscript.innerHTML+="var player_id_str = new String(player_id);\n"; // start ajax myscript.innerHTML+="$.post(\"http://trophymanager.com/ajax/players_get_select.ajax.php\",{type:\"change\",club_id:clubid},function(data){\n"; myscript.innerHTML+="if(data != null){ \n"; myscript.innerHTML+="$.each(data.post,function(idx,item){ \n"; myscript.innerHTML+="if(player_id_str==idx){ \n"; myscript.innerHTML+="var skilltable = $(\".skill_table&.zebra\");\n"; myscript.innerHTML+="var skilltbaletr = skilltable[0].getElementsByTagName(\"tr\");\n"; myscript.innerHTML+="if(isGK) {\n"; myscript.innerHTML+="skilltbaletr[0].getElementsByTagName(\"td\")[0].innerHTML=item.strength;\n"; myscript.innerHTML+="skilltbaletr[0].getElementsByTagName(\"td\")[1].innerHTML=item.handling;\n"; myscript.innerHTML+="skilltbaletr[1].getElementsByTagName(\"td\")[0].innerHTML=item.stamina;\n"; myscript.innerHTML+="skilltbaletr[1].getElementsByTagName(\"td\")[1].innerHTML=item.oneonones; \n"; myscript.innerHTML+="skilltbaletr[2].getElementsByTagName(\"td\")[0].innerHTML=item.pace;\n"; myscript.innerHTML+="skilltbaletr[2].getElementsByTagName(\"td\")[1].innerHTML=item.reflexes;\n"; myscript.innerHTML+="skilltbaletr[3].getElementsByTagName(\"td\")[1].innerHTML=item.arialability;\n"; myscript.innerHTML+="skilltbaletr[4].getElementsByTagName(\"td\")[1].innerHTML=item.jumping;\n"; myscript.innerHTML+="skilltbaletr[5].getElementsByTagName(\"td\")[1].innerHTML=item.communication;\n"; myscript.innerHTML+="skilltbaletr[6].getElementsByTagName(\"td\")[1].innerHTML=item.kicking;\n"; myscript.innerHTML+="skilltbaletr[7].getElementsByTagName(\"td\")[1].innerHTML=item.throwing;\n"; myscript.innerHTML+=" } else {\n"; myscript.innerHTML+="skilltbaletr[0].getElementsByTagName(\"td\")[0].innerHTML=item.strength;\n"; myscript.innerHTML+="skilltbaletr[0].getElementsByTagName(\"td\")[1].innerHTML=item.passing;\n"; myscript.innerHTML+="skilltbaletr[1].getElementsByTagName(\"td\")[0].innerHTML=item.stamina;\n"; myscript.innerHTML+="skilltbaletr[1].getElementsByTagName(\"td\")[1].innerHTML=item.crossing;\n"; myscript.innerHTML+="skilltbaletr[2].getElementsByTagName(\"td\")[0].innerHTML=item.pace;\n"; myscript.innerHTML+="skilltbaletr[2].getElementsByTagName(\"td\")[1].innerHTML=item.technique;\n"; myscript.innerHTML+="skilltbaletr[3].getElementsByTagName(\"td\")[0].innerHTML=item.marking;\n"; myscript.innerHTML+="skilltbaletr[3].getElementsByTagName(\"td\")[1].innerHTML=item.heading;\n"; myscript.innerHTML+="skilltbaletr[4].getElementsByTagName(\"td\")[0].innerHTML=item.tackling;\n"; myscript.innerHTML+="skilltbaletr[4].getElementsByTagName(\"td\")[1].innerHTML=item.finishing;\n"; myscript.innerHTML+="skilltbaletr[5].getElementsByTagName(\"td\")[0].innerHTML=item.workrate;\n"; myscript.innerHTML+="skilltbaletr[5].getElementsByTagName(\"td\")[1].innerHTML=item.longshots;\n"; myscript.innerHTML+="skilltbaletr[6].getElementsByTagName(\"td\")[0].innerHTML=item.positioning;\n"; myscript.innerHTML+="skilltbaletr[6].getElementsByTagName(\"td\")[1].innerHTML=item.setpieces;\n"; myscript.innerHTML+=" }}} )}},\"json\");\n"; //end ajax myscript.innerHTML+="}\n"; title.appendChild(myscript); var h = document.getElementsByTagName("h3")[0]; //"/pics/magnifying_glass_normal.png" h.innerHTML=h.innerHTML+" <a href=\"javascript:getDetail()\" class=\"magnify\"><img src=\"/pics/magnifying_glass_normal.png\">显示小数</a>(请勿泄漏,泄漏就彻底废了)"; } (function() { addBt(); var playerTable = document.getElementsByClassName("skill_table zebra")[0]; var skillArray = document.getSkills(playerTable); var SKs = computeSK(playerTable, skillArray); seasonSI(); })(); }//end see "if" at Line 92