Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  socket.on('mines start game', function(amount, bomb_type) {
  2.     if(!user) return [ socket.emit('notify','error','notLoggedIn') ];
  3.     connection.query('SELECT `wallet` FROM `users` WHERE `steamid` = ' + connection.escape(user.steamid), function(err, row) {
  4.       if((err) || (!row.length)) {
  5.         console.log(err);
  6.         socket.emit('notify','error','serverError');
  7.         return;
  8.       }
  9.       if(row.length == 0) return;
  10.  
  11.       var balance = row[0].balance;
  12.  
  13.       if(balance < amount)
  14.       {
  15.         socket.emit('notify','error','You do not have enough balance to create this game!');
  16.         return;
  17.       }
  18.  
  19.       if(amount < 100 || amount > 100000)
  20.       {
  21.         socket.emit('notify','error','Your bet is too low or too high (100-100000)!');
  22.         return;
  23.       }
  24.  
  25.       if(bomb_type != 1 && bomb_type != 3 && bomb_type != 5 && bomb_type != 24)
  26.       {
  27.         socket.emit('notify','error','No bomb type found for mines!');
  28.         return;
  29.       }
  30.      
  31.       connection.query('INSERT INTO `mines` SET user = ' + connection.escape(user.steamid) + ', `b_type` = ' + connection.escape(bomb_type) + ', `amount` = ' + connection.escape(amount), function(aaa, bbb) {
  32.         if(aaa) throw aaa;
  33.         connection.query('UPDATE `users` SET `wallet` = `wallet` - ' + connection.escape(amount) + ' WHERE `steamid` = ' + connection.escape(user.steamid), function(jjj, kkk) {
  34.           if(jjj) throw jjj;
  35.           var id_inserted = bbb.insertId;
  36.  
  37.           socket.emit('balance change', parseInt('-' + amount));
  38.  
  39.           var next_reward_calc = parseInt((amount * 1.1 * bomb_type)/45 + 0*2.69 + 2*0);          
  40.  
  41.           Minescurr_games[id_inserted] = {
  42.             'id': id_inserted,
  43.             'user': user.steamid,
  44.             'amount': amount,
  45.             't_earned': amount,
  46.             'b_type': bomb_type,
  47.             't_checks': [],
  48.             't_left': 25,
  49.             'tiles_checked': 0,
  50.             'bombs': [],
  51.             'next_reward': next_reward_calc
  52.           };
  53.  
  54.           if(bomb_type == 1)
  55.           {
  56.             var r_bomb = Math.floor(Math.random() * (25 - 1 + 1)) + 1;
  57.             Minescurr_games[id_inserted]['bombs'].push(r_bomb);
  58.  
  59.             Minescurr_games[id_inserted]['t_left'] = 24;
  60.           }
  61.           else if(bomb_type == 3)
  62.           {
  63.             var r_bombs = [];
  64.             for(var i = 1; i <= 25; i++) {
  65.               r_bombs.push(i);
  66.             }
  67.             var bombs_ = shuffle(r_bombs).splice(0, 3);
  68.  
  69.             for(var z in bombs_)
  70.             {
  71.               Minescurr_games[id_inserted]['bombs'].push(bombs_[z]);
  72.             }
  73.  
  74.             Minescurr_games[id_inserted]['t_left'] = 22;
  75.           }
  76.           else if(bomb_type == 5)
  77.           {
  78.             var r_bombs = [];
  79.             for(var i = 1; i <= 25; i++) {
  80.               r_bombs.push(i);
  81.             }
  82.             var bombs_ = shuffle(r_bombs).splice(0, 5);
  83.  
  84.             for(var z in bombs_)
  85.             {
  86.               Minescurr_games[id_inserted]['bombs'].push(bombs_[z]);
  87.             }
  88.  
  89.             Minescurr_games[id_inserted]['t_left'] = 20;
  90.           }
  91.           else if(bomb_type == 24)
  92.           {
  93.             var r_bombs = [];
  94.             for(var i = 1; i <= 25; i++) {
  95.               r_bombs.push(i);
  96.             }
  97.             var bombs_ = shuffle(r_bombs).splice(0, 24);
  98.  
  99.             for(var z in bombs_)
  100.             {
  101.               Minescurr_games[id_inserted]['bombs'].push(bombs_[z]);
  102.             }
  103.  
  104.             Minescurr_games[id_inserted]['t_left'] = 1;
  105.             Minescurr_games[id_inserted]['next_reward'] = parseInt(Minescurr_games[id_inserted]['amount'] * 24);            
  106.           }
  107.  
  108.           socket.emit('mines game started', id_inserted, amount, Minescurr_games[id_inserted]['next_reward'], Minescurr_games[id_inserted]['t_earned']);
  109.         });
  110.       });
  111.     });
  112.   });
  113.  
  114.   socket.on('mines check tile', function(id, tile) {
  115.     if(!user) return [ socket.emit('notify','error','notLoggedIn') ];
  116.     if(Minescurr_games[id] == undefined) return [ socket.emit('notify','error','This game is already ended!') ];
  117.     if(tile > 25 || tile < 1) return;
  118.  
  119.     tile = parseInt(tile);
  120.  
  121.     Minescurr_games[id]['tiles_checked']++;
  122.     var next_reward_calc = parseInt((parseInt(Minescurr_games[id]['amount']) * 1.1 * parseInt(Minescurr_games[id]['b_type']))/45 + Minescurr_games[id]['tiles_checked']*2.69*parseInt(Minescurr_games[id]['b_type']) + 2*Minescurr_games[id]['tiles_checked']);
  123.  
  124.     if(Minescurr_games[id]['t_checks'].includes(tile) == true) return;
  125.     Minescurr_games[id]['t_checks'].push(tile);
  126.     if(Minescurr_games[id]['bombs'].indexOf(tile) >= 0)
  127.     {
  128.       //end game
  129.       connection.query('UPDATE `mines` SET `t_clicked` = ' + connection.escape(Minescurr_games[id]['tiles_checked']) + ', `profit` = 0, `won` = 0 WHERE `id` = ' + connection.escape(id), function(aaa, bbb) {
  130.         if(aaa) throw aaa;
  131.         socket.emit('mines end game', id, tile, Minescurr_games[id]['bombs'].join('/'));
  132.         delete Minescurr_games[id];
  133.       });
  134.     }
  135.     else
  136.     {
  137.         //check tile
  138.         Minescurr_games[id]['t_left']--;
  139.         var a_e = Minescurr_games[id]['next_reward'];
  140.         Minescurr_games[id]['t_earned'] = parseInt(Minescurr_games[id]['t_earned']) + parseInt(Minescurr_games[id]['next_reward']);
  141.         Minescurr_games[id]['next_reward'] = parseInt(next_reward_calc);
  142.         socket.emit('mines check til', id, tile, Minescurr_games[id]['next_reward'], a_e, Minescurr_games[id]['t_earned']);
  143.         if(parseInt(Minescurr_games[id]['t_left']) <= 0)
  144.         {
  145.           //IF NO tiles left to check, cashout automatically
  146.           var amount_earned = Minescurr_games[id]['t_earned'];
  147.          
  148.             connection.query('UPDATE `users` SET `wallet` = `wallet` + ' + connection.escape(amount_earned) + ' WHERE `steamid` = ' + connection.escape(user.steamid), function(aca, bgb) {
  149.               if(aca) throw aca;
  150.               var profit = parseInt(Minescurr_games[id]['t_earned']-Minescurr_games[id]['amount']);
  151.               connection.query('UPDATE `mines` SET `t_clicked` = ' + connection.escape(Minescurr_games[id]['tiles_checked']) + ', `profit` = ' + connection.escape(profit) + ', `won` = 1 WHERE `id` = ' + connection.escape(id), function(jfs, pks) {
  152.                 if(jfs) throw jfs;
  153.                 socket.emit('mines end', id, amount_earned, profit, Minescurr_games[id]['bombs'].join('/'));
  154.                 socket.emit('balance change', parseInt(amount_earned));
  155.                 delete Minescurr_games[id];
  156.               });
  157.             });
  158.         }
  159.     }
  160.   });
  161.   socket.on('mines game cend', function(id) {
  162.     if(!user) return [ socket.emit('notify','error','notLoggedIn') ];
  163.     if(Minescurr_games[id] == undefined) return [ console.log('User ' + user.steamid + ' tried to cashout an ended game.') ];
  164.  
  165.     var amount_earned = Minescurr_games[id]['t_earned'];
  166.  
  167.     connection.query('UPDATE `users` SET `wallet` = `wallet` + ' + connection.escape(amount_earned) + ' WHERE `steamid` = ' + connection.escape(user.steamid), function(aga, bfb) {
  168.       if(aga) throw aga;
  169.       var profit = parseInt(Minescurr_games[id]['t_earned']-Minescurr_games[id]['amount']);
  170.       connection.query('UPDATE `mines` SET `t_clicked` = ' + connection.escape(Minescurr_games[id]['tiles_checked']) + ', `profit` = ' + connection.escape(profit) + ', `won` = 1 WHERE `id` = ' + connection.escape(id), function(aafa, bkbb) {
  171.         if(aafa) throw aafa;
  172.         socket.emit('mines end', id, amount_earned, profit, Minescurr_games[id]['bombs'].join('/'));
  173.         socket.emit('balance change', parseInt(amount_earned));
  174.         delete Minescurr_games[id];
  175.       });
  176.     });
  177.   });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement