Guest
Public paste!

npike

By: a guest | Dec 7th, 2007 | Syntax: JavaScript | Size: 2.21 KB | Hits: 445 | Expires: Never
Copy text to clipboard
  1. // ==UserScript==
  2. // @name           Bungie Graph
  3. // @namespace      npike.net
  4. // @include        http://www.bungie.net/stats/PlayerStatsHalo3.aspx?player=*
  5. // ==/UserScript==
  6.  
  7. // stats
  8. var placementStats = Array();
  9.  
  10. var recent_games_table = document.getElementById("ctl00_mainContent_bnetpgl_recentgames_ctl01");
  11. var rows = recent_games_table.getElementsByTagName("tr");
  12.  
  13.  
  14. // itterate through rows
  15. // skip first two, and last row
  16. for (var x = 3; x<rows.length; x++) {
  17.         var elt = rows[x];
  18.        
  19.  
  20.         var placement = elt.childNodes[5].innerHTML;
  21.         // Gather Stats
  22.         if (placement.indexOf("1st") > -1) {
  23.                 if (placementStats[0] == undefined) { placementStats[0] = 0; }
  24.                 placementStats[0]++;
  25.         } else if (placement.indexOf("2nd") > -1) {
  26.                 if (placementStats[1] == undefined) { placementStats[1] = 0; }
  27.                 placementStats[1]++;
  28.         } else if (placement.indexOf("3rd") > -1) {
  29.                 if (placementStats[2] == undefined) { placementStats[2] = 0; }
  30.                 placementStats[2]++;
  31.         }else if (placement.indexOf("4th") > -1) {
  32.                 if (placementStats[3] == undefined) { placementStats[3] = 0; }
  33.                 placementStats[3]++;
  34.         } else {
  35.                 if (placementStats[4] == undefined) { placementStats[4] = 0; }
  36.                 placementStats[4]++;
  37.         }
  38. }
  39.  
  40. // Build a chart with Google Charts API
  41. //
  42. // Example:
  43. //http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=150x100&chl=Hello|World
  44. var chart = "http://chart.apis.google.com/chart?cht=p3&chd=t:";
  45.  
  46. for (var i =0; i < placementStats.length; i++) {
  47.         if (placementStats[i] == undefined) {placementStats[i] = 0;}
  48.         chart +=placementStats[i];
  49.         if (i < placementStats.length-1) {
  50.                 chart += ",";
  51.         }
  52. }
  53. chart += "&chs=150x100&&chs=280x150&chl=1st|2nd|3rd|4th&chf=bg,s,404040&chco=1E3F60";
  54.  
  55.  
  56. // Inject into Bungie page, with Bungie "Look and Feel"
  57. var img = document.createElement("img");
  58. img.src = chart;
  59. var convex = document.createElement("div");
  60. convex.setAttribute("class", "convex_cont");
  61. var convex2 = document.createElement("div");
  62. convex2.setAttribute("class", "convex");
  63. convex2.innerHTML = "Recent Games";
  64.  
  65. convex.appendChild(convex2);
  66.  
  67. var foo = document.getElementById("ctl00_mainContent_bnetpgl_gamepreviewh3_pnlGameDetail");
  68. foo.parentNode.insertBefore(img, foo);
  69. foo.parentNode.insertBefore(convex, img);