Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var proxy = ['89.38.149.104:3128', '113.53.230.199:3128'];
- var usedProxy = [];
- Array.prototype.contains = function(obj) {
- var i = this.length;
- while (i--) {
- if (this[i] === obj) {
- return true;
- }
- }
- return false;
- }
- function getRandomInt(min, max) {
- return Math.floor(Math.random() * (max - min + 1)) + min;
- }
- function newProxy() {
- var proxyNumber1 = getRandomInt(0, proxy.length);
- if(usedProxy.contains(proxy[proxyNumber1])) {
- proxyNumber1 = newProxy();
- }
- if(usedProxy.length == proxy.length) {
- userProxy = [];
- }
- return proxyNumber1;
- }
- function loadSteamInv(steamid){
- var cc = CompleteCounter();
- console.log('[LOG] Loading steam inventory for ' + steamid + '...');
- var proxyNumber = newProxy();
- request({
- har: {
- url: 'https://steamcommunity.com/profiles/'+steamid+'/inventory/json/730/2/',
- method: 'GET',
- proxy: proxy[proxyNumber]
- }
- }, function(error, response, body) {
- if(response.statusCode != 200) {
- console.log("[ERROR] Can`t load inventory for " + steamid+'.');
- loadSteamInv(steamid);
- usedProxy.push(proxy[proxyNumber]);
- } else {
- var time = Math.floor(Date.now()/1000);
- players[steamid].inventory.lastupdate = time;
- players[steamid].inventory.items = {};
- inventory = JSON.parse(body);
- var counter = 0;
- var summ = 0;
- for(var key in inventory.rgInventory){
- var assetid = inventory.rgInventory[key].id;
- var search_key = inventory.rgInventory[key].classid+'_'+inventory.rgInventory[key].instanceid;
- var market_hash_name = inventory.rgDescriptions[search_key].market_hash_name;
- var img = inventory.rgDescriptions[search_key].icon_url;
- var tradable = inventory.rgDescriptions[search_key].tradable;
- var price = prices[market_hash_name]*1000;
- var color;
- for(var kkey in inventory.rgDescriptions[search_key].tags){
- if(inventory.rgDescriptions[search_key].tags[kkey].category == "Rarity") color = inventory.rgDescriptions[search_key].tags[kkey].color;
- }
- 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){
- //market_hash_name.indexOf('★ StatTrak') == -1 &&
- summ += price;
- players[steamid].inventory.items[assetid] = { assetid : assetid, market_hash_name : market_hash_name, img : img, price : price, color : color };
- counter++;
- }
- }
- if(summ > 0){
- console.log('inv summ ' + summ);
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, rows, fields) {
- if(err) {
- console.log('[ERROR] MySQL error: ' + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
- handleDisconnect();
- }
- } else if(rows && rows.length > 0){
- if(rows[0].inventory_value >= summ){
- return;
- }
- mysqlConnection.query('UPDATE users SET inventory_value = \''+summ+'\' WHERE steamid = \''+steamid+'\'', function(err, rows, fields) {
- if(err) {
- console.log('[ERROR] MySQL error: ' + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
- handleDisconnect();
- }
- } else {
- console.log('[LOG] MySQL success log: \n' + JSON.stringify(rows));
- res.redirect('/');
- }
- });
- }
- });
- }
- io.to(findPlayerBySteamID(steamid)).emit('inventory_steam', { items : players[steamid].inventory.items });
- console.log('[LOG] Loaded ' + counter + ' depositable items for ' + steamid + '.');
- console.log('[LOG] Completed in ' + cc.stop()/100 + ' seconds.');
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement