Advertisement
Guest User

Untitled

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