Advertisement
Guest User

Guild Wars Code Finder

a guest
May 3rd, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //  Screenshot https://cdn.mediacru.sh/3QrCt6IN7WLE.png
  2. //  Requires restler (npm install restler)
  3. //  Probably won't work on Windows (Terminal control codes etc)
  4.  
  5.  
  6.  
  7. / Begin Configuration /;
  8. // In-game username
  9. var user = 'Example';
  10. // Email address
  11. var email = 'example@gmail.com';
  12. // List of desired codes
  13. var codes = ['2718', '2357', '1234', '4321'];
  14.  
  15.  
  16.  
  17. / Begin Disgusting code /;
  18. // Load modules
  19. var rest = require('restler');
  20.  
  21. // Parse email
  22. var muser = email.split('@')[0];
  23. var mhost = email.split('@')[1];
  24.  
  25. // Initialize variables
  26. var midfix = '';
  27. var prefix = '';
  28. var affix = '';
  29. var pindex = 0;
  30. var index = 0;
  31.  
  32. // Terminal Controls
  33. function clear() { return '\r\x1b[2K' + [].join.call(arguments, ' '); }
  34. function underline() { return '\x1b[4m' + [].join.call(arguments, ' ') + '\x1b[0m'; }
  35.  
  36. // Wall of text
  37. console.log('', underline(' GW2 Code Generator 0.0.2a '), '\n');
  38. console.log('  User:   ', user);
  39. console.log('  Email:  ', email);
  40. console.log('  Codes:  ', codes.join(', '));
  41. console.log('\n ' + underline(' Code '), '', underline(' Email Address '));
  42.  
  43. // Start the loop
  44. loop(prefix, midfix, index, affix);
  45.  
  46. / Begin Loop code /;
  47. function loop(prefix, midfix, index, affix) {
  48.    
  49.     // Increment midfix
  50.     midfix += '.';
  51.    
  52.     // Check for midfix overflow
  53.     if ((prefix + midfix + muser + affix).length > 30) {
  54.         // Reset midfix
  55.         midfix = '';
  56.         // Increment midfix position
  57.         index++;
  58.        
  59.         // Check for midfix exhaustion
  60.         if (index > muser.length - 1) {
  61.             // Increment affix
  62.             affix += '.';
  63.             // Reset midfix position to min position
  64.             index = pindex;
  65.         }
  66.     }
  67.    
  68.     // Check for affix overflow
  69.     if (affix.length > 40) {
  70.         // Increment prefix
  71.         prefix += '.';
  72.         // Reset affix
  73.         affix = '';
  74.         // Increment midfix min position
  75.         pindex++;
  76.     }
  77.    
  78.    
  79.     // Generate email address
  80.     var addr = '';
  81.         addr += prefix;
  82.         addr += muser.slice(0, index) + midfix + muser.slice(index);
  83.         addr += affix;
  84.         addr += '@' + mhost;
  85.    
  86.     // Call the next itteration of the loop
  87.     process.nextTick(loop.bind(null, prefix, midfix, index, affix));
  88.    
  89.     // Generate the URL
  90.     var url = 'https://register.guildwars2.com/ws/account/username';
  91.         url += '?user='  + user;
  92.         url += '&email=' + addr;
  93.    
  94.     // Get the code
  95.     rest.get(url).once('complete', function(data) {
  96.        
  97.         // Get the code
  98.         var code = data[0];
  99.         // Log the code
  100.         process.stdout.write(clear(' ', code, '  ', addr));
  101.         // Check for errors or matching codes
  102.         if (code == 'error' || codes.indexOf(code) > -1)
  103.             console.log(clear(' ', code, '  ', addr));
  104.        
  105.     });
  106.    
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement