Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. var proxy = ['89.38.149.104:3128', '113.53.230.199:3128'];
  2. var usedProxy = [];
  3.  
  4. Array.prototype.contains = function(obj) {
  5. var i = this.length;
  6. while (i--) {
  7. if (this[i] === obj) {
  8. return true;
  9. }
  10. }
  11. return false;
  12. }
  13.  
  14. function getRandomInt(min, max) {
  15. return Math.floor(Math.random() * (max - min + 1)) + min;
  16. }
  17.  
  18. function newProxy() {
  19. var proxyNumber1 = getRandomInt(0, proxy.length);
  20. if(usedProxy.contains(proxy[proxyNumber1])) {
  21. proxyNumber1 = newProxy();
  22. }
  23. if(usedProxy.length == proxy.length) {
  24. userProxy = [];
  25. }
  26. return proxyNumber1;
  27. }
  28.  
  29. function loadSteamInv(steamid){
  30. var cc = CompleteCounter();
  31. console.log('[LOG] Loading steam inventory for ' + steamid + '...');
  32. var proxyNumber = newProxy();
  33. request({
  34. har: {
  35. url: 'https://steamcommunity.com/profiles/'+steamid+'/inventory/json/730/2/',
  36. method: 'GET',
  37.  
  38. proxy: proxy[proxyNumber]
  39. }
  40. }, function(error, response, body) {
  41. if(response.statusCode != 200) {
  42. console.log("[ERROR] Can`t load inventory for " + steamid+'.');
  43. loadSteamInv(steamid);
  44. usedProxy.push(proxy[proxyNumber]);
  45. } else {
  46. var time = Math.floor(Date.now()/1000);
  47. players[steamid].inventory.lastupdate = time;
  48. players[steamid].inventory.items = {};
  49. inventory = JSON.parse(body);
  50. var counter = 0;
  51. var summ = 0;
  52. for(var key in inventory.rgInventory){
  53. var assetid = inventory.rgInventory[key].id;
  54. var search_key = inventory.rgInventory[key].classid+'_'+inventory.rgInventory[key].instanceid;
  55. var market_hash_name = inventory.rgDescriptions[search_key].market_hash_name;
  56. var img = inventory.rgDescriptions[search_key].icon_url;
  57. var tradable = inventory.rgDescriptions[search_key].tradable;
  58. var price = prices[market_hash_name]*1000;
  59. var color;
  60. for(var kkey in inventory.rgDescriptions[search_key].tags){
  61. if(inventory.rgDescriptions[search_key].tags[kkey].category == "Rarity") color = inventory.rgDescriptions[search_key].tags[kkey].color;
  62. }
  63. if(tradable == 1 && price >= deposit_info.minprice && market_hash_name.indexOf('Souvenir') == -1 && (market_hash_name.indexOf('NOPE') == -1 || market_hash_name.indexOf('Key') > -1) && market_hash_name != "Tec-9 | Tornado (Field-Tested)" && market_hash_name.indexOf('Box') == -1 && market_hash_name.indexOf('Graffiti') == -1 && market_hash_name.indexOf('Capsule') == -1 && market_hash_name.indexOf('Cologne 2016 Legends') == -1){
  64. //market_hash_name.indexOf('★ StatTrak') == -1 &&
  65. summ += price;
  66. players[steamid].inventory.items[assetid] = { assetid : assetid, market_hash_name : market_hash_name, img : img, price : price, color : color };
  67. counter++;
  68. }
  69. }
  70. if(summ > 0){
  71. console.log('inv summ ' + summ);
  72. mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, rows, fields) {
  73. if(err) {
  74. console.log('[ERROR] MySQL error: ' + err);
  75. if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
  76. handleDisconnect();
  77. }
  78. } else if(rows && rows.length > 0){
  79. if(rows[0].inventory_value >= summ){
  80. return;
  81. }
  82. mysqlConnection.query('UPDATE users SET inventory_value = \''+summ+'\' WHERE steamid = \''+steamid+'\'', function(err, rows, fields) {
  83. if(err) {
  84. console.log('[ERROR] MySQL error: ' + err);
  85. if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
  86. handleDisconnect();
  87. }
  88. } else {
  89. console.log('[LOG] MySQL success log: \n' + JSON.stringify(rows));
  90. res.redirect('/');
  91. }
  92. });
  93. }
  94. });
  95. }
  96. io.to(findPlayerBySteamID(steamid)).emit('inventory_steam', { items : players[steamid].inventory.items });
  97. console.log('[LOG] Loaded ' + counter + ' depositable items for ' + steamid + '.');
  98. console.log('[LOG] Completed in ' + cc.stop()/100 + ' seconds.');
  99. }
  100. });
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement