Advertisement
Guest User

Untitled

a guest
Nov 17th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. const DiscordRPC = require("discord-rpc");
  2. const fs = require('fs');
  3.  
  4. const ClientId = 'oof';
  5.  
  6. DiscordRPC.register(ClientId);
  7.  
  8. const rpc = new DiscordRPC.Client({ transport: 'ipc' });
  9.  
  10. let currentMeters = 1700;
  11. let currentLevel = 2;
  12. let currentState = "Forest of Temptation"
  13.  
  14. function saveState() {
  15. fs.writeFile("state.dat", currentMeters.toString(), function(err) {
  16. if(err) {
  17. return console.log(err);
  18. }
  19. });
  20. }
  21.  
  22. function loadState() {
  23. fs.readFile('state.dat', 'utf8', function(err, contents) {
  24. currentMeters = parseInt(contents);
  25. });
  26. }
  27.  
  28. try {
  29. loadState();
  30. console.log("loaded state")
  31. }
  32. catch (error) {
  33. console.log("no saved state, starting from beginning");
  34. }
  35.  
  36. function numberWithCommas(x) {
  37. return Math.round(x).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  38. }
  39.  
  40. function setStates() {
  41. if (1351 < currentMeters && currentMeters < 2600) {
  42. currentLevel = 2;
  43. currentState = "Forest of Temptation";
  44. }
  45. else if (2601 < currentMeters && currentMeters < 7000) {
  46. currentLevel = 3;
  47. currentState = "Great Fault";
  48. }
  49. else if (7001 < currentMeters && currentMeters < 12000) {
  50. currentLevel = 4;
  51. currentState = "The Goblets of Giants";
  52. }
  53. else if (12001 < currentMeters && currentMeters < 13000) {
  54. currentLevel = 5;
  55. currentState = "Sea of Corpses";
  56. }
  57. else if (13001 < currentMeters && currentMeters < 15500) {
  58. currentLevel = 6;
  59. currentState = "The Capital of the Unreturned";
  60. }
  61. else if (15501 < currentMeters && currentMeters < 20000) {
  62. currentLevel = 7;
  63. currentState = "The Final Maelstrom";
  64. }
  65. else {
  66. currentLevel = 8;
  67. currentState = "The Deepest Point";
  68. }
  69. }
  70.  
  71. function doRPC() {
  72. setStates();
  73. rpc.setActivity({
  74. details: "Level " + currentLevel + " | " + numberWithCommas(currentMeters) + " meters",
  75. state: currentState,
  76. largeImageKey: 'made-in-abyss-riko',
  77. largeImageText: 'Riko',
  78. smallImageKey: 'white-whitle-large',
  79. smallImageText: 'White Whistle',
  80. instance: true,
  81. });
  82. }
  83.  
  84. rpc.on('ready', () => {
  85. console.log("ready");
  86. try {
  87. loadState();
  88. }
  89. catch (error) {
  90. console.log("no saved state, starting from beginning");
  91. }
  92. doRPC();
  93. });
  94.  
  95. console.log("logging in");
  96. rpc.login(ClientId).catch(console.error);
  97. console.log("logged in");
  98.  
  99.  
  100. setInterval(() => {
  101. console.log("updating rpc...")
  102. currentMeters += (Math.random() * 101);
  103. doRPC();
  104. console.log("updated rpc! | Level " + currentLevel + " | " + numberWithCommas(currentMeters) + " meters");
  105. saveState();
  106. }, 450000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement