Greasy Fork 还支持 简体中文。

WestForts.com Import Link

A new link to launch the WestForts import script

  1. // ==UserScript==
  2. // @name WestForts.com Import Link
  3. // @version 2.3
  4. // @description A new link to launch the WestForts import script
  5. // @author WestForts Staff
  6. // @website https://www.westforts.com/
  7. // @include http://*.the-west.*/game.php*
  8. // @include https://*.the-west.*/game.php*
  9. // @namespace https://greasyfork.org/users/8213
  10. // ==/UserScript==
  11.  
  12. if (location.href.indexOf(".the-west.") != -1 && location.href.indexOf("game.php") != -1) {
  13.  
  14. if (document.getElementById('westforts_js')) { return; }
  15.  
  16. var westforts_js = document.createElement('script');
  17.  
  18. westforts_js.setAttribute('type', 'text/javascript');
  19. westforts_js.setAttribute('id', 'westforts_js');
  20.  
  21. westforts_js.innerHTML = "("+(function() {
  22.  
  23. var westforts_icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuxJREFUeNqkk0tvG1UYQM+987A9nrEdP+rEIWmaNE0wbdVSsaBUrVRVVAIiVoVFaWGBlH/CijVSVrAEiQVClRIJCQkEEm1BitomTcijMa3z8Cvx28k4Hq5dhLdI3MXc2XznO/d7CM/z6J7Z2dmXP//xzM3Nie4tuoBu8O7eDmtr69y9M8M7Ny7jOA625cfnM9B8fvYLFe4/+A0pSvy50WTzr3oPIrvB0bAks7VJemqMU6MjmD6L4cEEiUSUoGUjjiX1VofMXhNT15ia8BGP6r3EelcjGjXRDcnDxVU++PA9Js5McFA8oPxCZXv0lOUny1QqDVwfnB9/hY6ncWbcplA6oAeINQ+4PhGjNh4jqTXJLP5Bdnuf+flfMEzJ6VPDFCtV3GYNx5pEai0sS9H4B1DdLTAZCrBbbfHDt/cIBEzCpkZIqadfu8zioyeUcnkuXkkjpMTQTQ7dTq+YPcB6vsGYJYj4DX7eLJCttolZOh0hWHq+oPTLiIDOrbE4Qkikgkjh9QGrRZeca5C2D3n/xiWWci2+X/i1l6nseKSSDh/fvspA2KJ93FHBqm4Bfx9wfeYSFwYtNh4/4+sfn3I2FeTTt6d5uJojPjLEJx+9hWZoNFquarxUFso2aPUAsvtJqIJUyxUO92sUCzl+WspQrrXQEIQjFo4dpNP2MBXE1iUJdfsRfYOA3iYSsjkO6tw8l2JhJc93v29jdDoMjTWJmzYD0kfNbREJBNVcuLQ90TcYTEVpHkkaeFx9fZRr6SEM6TGcjKgJrPLZ59/wxVcLJJ0QW+tZCrl9dAX516CsurCV2aVed0k0jjg9EGD7RJAd9eZitkCuWCEWtnmR/ZKpkzFuz7xJvVTqG6xuVBlR2c5emGZvr8pjNYF19xjpKqBf48q5k9w8P8rK5g5vXHwVvxr1+eXmS0B3IZ7lj9jOQWogTl6Z3X9eZiVfI6WGazLk49a711QrTzA96JCMRbm3WODBWrG3TOL/rvPfAgwA2+cl/CVOsykAAAAASUVORK5CYII=';
  24. var westforts_icon_bn = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjRJREFUeNqkU8lqYlEULOcpGolDjEYMiJugIR+QTVy4kCSQhd/gL+kX+AluRNdBBHWRoHFAE6QVFY1znLrrgKa3TR+4XN6959SpU/WuYr/fgxGPx3/hHyKZTLq4KwjA4j+B9/d3xGIxhMNhmM1mGI1GaLVaWaPRCC8vL1gul2Bur9cTEDWLmdhsNhEIBODz+aDX6+FyuaRwt9thvV7j+/sbg8EAp6enOD8/x3w+l8Zq0jg5OYFKpUK5XMbz8zP8fr90ZKdKpYLX11dMp1Nst1vY7XYBvbi4EMYCoFAocH19LV10Oh3e3t6EYjabFeCrqysBXCwWMJlMkm8wGH4AeEla3NPptIzABHa6vb0VZt1uF6FQSIo5GsdiCAAvrVaroLM7gTgWBf74+MDX1xeUSiUuLy9lP6wjAOnOZjOZ7/7+Hp1OB5lMBhqNRlQ/OzvD09MTLBaL6EAWdOkIcHd3B4/Hg0ajgVwuJ50ikQiq1aqM9vj4KFqsVisp/htAeXBhMpmISP1+H6VSSVQnTd4dxiEjisxvtVr9w4DoRKTHB9Hy+bwA0C7qwyJ6zzEoLteRgcPhwGazERtvbm4QDAalmOfj8RiJRAKpVAo2mw3tdlt+qEMIA9L//PyUZHZzOp1wu91yzoLhcCjndMvr9SIajUruEYCqs4h0aVur1RLBSJPUKSodKhQKeHh4kH+EOskIfBCkxG5UnHbW63UBpX0EZke+DTpFoGKxiFqtJo9J8b/P+bcAAwD2STF0+3hwkQAAAABJRU5ErkJggg==';
  25. var westforts_link = document.createElement('div');
  26. westforts_link.setAttribute('id', 'westforts_link_div');
  27. westforts_link.setAttribute('title', '<b>Start West Forts Import</b>');
  28. westforts_link.setAttribute('style', 'position:absolute; z-index:10; cursor:pointer; text-align:center; color:#fff; font-size:12px; padding: 0px 3px 1px 9px; right:0px; top:0px; background:url(\"/images/interface/minimap/minimapbg.png\") no-repeat scroll 0px -7px');
  29. westforts_link.innerHTML = '<img id="westforts_icon_img" src="' + westforts_icon_bn + '" /><div style="float:right;margin-left:5px;margin-top:1px;">West Forts</div>';
  30.  
  31. var westfortsArmed = false; // Track script state
  32. var origFortBattleMakeStats = FortBattle.makeStats; // Store original function
  33. var origCemeteryShowStatUpdateTable = CemeteryWindow.showStatUpdateTable; // Store original function
  34. var existingScript;
  35.  
  36. westforts_link.onclick = function() {
  37. if (westfortsArmed) {
  38. // **Disarm the script**
  39. this.style.color = 'rgb(255, 255, 255)'; // Turn white
  40. document.getElementById('westforts_icon_img').src = westforts_icon_bn;
  41. westfortsArmed = false;
  42.  
  43. existingScript = document.getElementById('wfScript');
  44. if (existingScript) {
  45. existingScript.remove(); // Remove script tag
  46. }
  47.  
  48. // **Restore the original functions to stop auto-import**
  49. FortBattle.makeStats = origFortBattleMakeStats;
  50. CemeteryWindow.showStatUpdateTable = origCemeteryShowStatUpdateTable;
  51.  
  52. // **Ensure that any lingering import form is removed**
  53. if (document.getElementById('wfForm')) {
  54. document.getElementById('wfForm').remove();
  55. }
  56.  
  57. } else {
  58. // **Arm the script**
  59. existingScript = document.getElementById('wfScript');
  60. if (!existingScript) {
  61. var westforts_script = document.createElement('script');
  62. westforts_script.setAttribute('type', 'text/javascript');
  63. westforts_script.setAttribute('id', 'wfScript');
  64. westforts_script.setAttribute('src', 'https://www.westforts.com/js/import.js?' + new Date().getTime());
  65. document.body.appendChild(westforts_script);
  66. }
  67.  
  68. this.style.color = '#01DF00'; // Turn green
  69. document.getElementById('westforts_icon_img').src = westforts_icon;
  70. westfortsArmed = true;
  71. }
  72. };
  73.  
  74. document.body.appendChild(westforts_link);
  75.  
  76. }).toString()+")();";
  77.  
  78. document.body.appendChild(westforts_js);
  79. }