Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- socket.on('mines start game', function(amount, bomb_type) {
- if(!user) return [ socket.emit('notify','error','notLoggedIn') ];
- connection.query('SELECT `wallet` FROM `users` WHERE `steamid` = ' + connection.escape(user.steamid), function(err, row) {
- if((err) || (!row.length)) {
- console.log(err);
- socket.emit('notify','error','serverError');
- return;
- }
- if(row.length == 0) return;
- var balance = row[0].balance;
- if(balance < amount)
- {
- socket.emit('notify','error','You do not have enough balance to create this game!');
- return;
- }
- if(amount < 100 || amount > 100000)
- {
- socket.emit('notify','error','Your bet is too low or too high (100-100000)!');
- return;
- }
- if(bomb_type != 1 && bomb_type != 3 && bomb_type != 5 && bomb_type != 24)
- {
- socket.emit('notify','error','No bomb type found for mines!');
- return;
- }
- connection.query('INSERT INTO `mines` SET user = ' + connection.escape(user.steamid) + ', `b_type` = ' + connection.escape(bomb_type) + ', `amount` = ' + connection.escape(amount), function(aaa, bbb) {
- if(aaa) throw aaa;
- connection.query('UPDATE `users` SET `wallet` = `wallet` - ' + connection.escape(amount) + ' WHERE `steamid` = ' + connection.escape(user.steamid), function(jjj, kkk) {
- if(jjj) throw jjj;
- var id_inserted = bbb.insertId;
- socket.emit('balance change', parseInt('-' + amount));
- var next_reward_calc = parseInt((amount * 1.1 * bomb_type)/45 + 0*2.69 + 2*0);
- Minescurr_games[id_inserted] = {
- 'id': id_inserted,
- 'user': user.steamid,
- 'amount': amount,
- 't_earned': amount,
- 'b_type': bomb_type,
- 't_checks': [],
- 't_left': 25,
- 'tiles_checked': 0,
- 'bombs': [],
- 'next_reward': next_reward_calc
- };
- if(bomb_type == 1)
- {
- var r_bomb = Math.floor(Math.random() * (25 - 1 + 1)) + 1;
- Minescurr_games[id_inserted]['bombs'].push(r_bomb);
- Minescurr_games[id_inserted]['t_left'] = 24;
- }
- else if(bomb_type == 3)
- {
- var r_bombs = [];
- for(var i = 1; i <= 25; i++) {
- r_bombs.push(i);
- }
- var bombs_ = shuffle(r_bombs).splice(0, 3);
- for(var z in bombs_)
- {
- Minescurr_games[id_inserted]['bombs'].push(bombs_[z]);
- }
- Minescurr_games[id_inserted]['t_left'] = 22;
- }
- else if(bomb_type == 5)
- {
- var r_bombs = [];
- for(var i = 1; i <= 25; i++) {
- r_bombs.push(i);
- }
- var bombs_ = shuffle(r_bombs).splice(0, 5);
- for(var z in bombs_)
- {
- Minescurr_games[id_inserted]['bombs'].push(bombs_[z]);
- }
- Minescurr_games[id_inserted]['t_left'] = 20;
- }
- else if(bomb_type == 24)
- {
- var r_bombs = [];
- for(var i = 1; i <= 25; i++) {
- r_bombs.push(i);
- }
- var bombs_ = shuffle(r_bombs).splice(0, 24);
- for(var z in bombs_)
- {
- Minescurr_games[id_inserted]['bombs'].push(bombs_[z]);
- }
- Minescurr_games[id_inserted]['t_left'] = 1;
- Minescurr_games[id_inserted]['next_reward'] = parseInt(Minescurr_games[id_inserted]['amount'] * 24);
- }
- socket.emit('mines game started', id_inserted, amount, Minescurr_games[id_inserted]['next_reward'], Minescurr_games[id_inserted]['t_earned']);
- });
- });
- });
- });
- socket.on('mines check tile', function(id, tile) {
- if(!user) return [ socket.emit('notify','error','notLoggedIn') ];
- if(Minescurr_games[id] == undefined) return [ socket.emit('notify','error','This game is already ended!') ];
- if(tile > 25 || tile < 1) return;
- tile = parseInt(tile);
- Minescurr_games[id]['tiles_checked']++;
- 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']);
- if(Minescurr_games[id]['t_checks'].includes(tile) == true) return;
- Minescurr_games[id]['t_checks'].push(tile);
- if(Minescurr_games[id]['bombs'].indexOf(tile) >= 0)
- {
- //end game
- 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) {
- if(aaa) throw aaa;
- socket.emit('mines end game', id, tile, Minescurr_games[id]['bombs'].join('/'));
- delete Minescurr_games[id];
- });
- }
- else
- {
- //check tile
- Minescurr_games[id]['t_left']--;
- var a_e = Minescurr_games[id]['next_reward'];
- Minescurr_games[id]['t_earned'] = parseInt(Minescurr_games[id]['t_earned']) + parseInt(Minescurr_games[id]['next_reward']);
- Minescurr_games[id]['next_reward'] = parseInt(next_reward_calc);
- socket.emit('mines check til', id, tile, Minescurr_games[id]['next_reward'], a_e, Minescurr_games[id]['t_earned']);
- if(parseInt(Minescurr_games[id]['t_left']) <= 0)
- {
- //IF NO tiles left to check, cashout automatically
- var amount_earned = Minescurr_games[id]['t_earned'];
- connection.query('UPDATE `users` SET `wallet` = `wallet` + ' + connection.escape(amount_earned) + ' WHERE `steamid` = ' + connection.escape(user.steamid), function(aca, bgb) {
- if(aca) throw aca;
- var profit = parseInt(Minescurr_games[id]['t_earned']-Minescurr_games[id]['amount']);
- 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) {
- if(jfs) throw jfs;
- socket.emit('mines end', id, amount_earned, profit, Minescurr_games[id]['bombs'].join('/'));
- socket.emit('balance change', parseInt(amount_earned));
- delete Minescurr_games[id];
- });
- });
- }
- }
- });
- socket.on('mines game cend', function(id) {
- if(!user) return [ socket.emit('notify','error','notLoggedIn') ];
- if(Minescurr_games[id] == undefined) return [ console.log('User ' + user.steamid + ' tried to cashout an ended game.') ];
- var amount_earned = Minescurr_games[id]['t_earned'];
- connection.query('UPDATE `users` SET `wallet` = `wallet` + ' + connection.escape(amount_earned) + ' WHERE `steamid` = ' + connection.escape(user.steamid), function(aga, bfb) {
- if(aga) throw aga;
- var profit = parseInt(Minescurr_games[id]['t_earned']-Minescurr_games[id]['amount']);
- 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) {
- if(aafa) throw aafa;
- socket.emit('mines end', id, amount_earned, profit, Minescurr_games[id]['bombs'].join('/'));
- socket.emit('balance change', parseInt(amount_earned));
- delete Minescurr_games[id];
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement