MyBB Tutorials

Newpoints Dice Rolling Game!

Submitted by Harley, , Thread ID: 43150

Thread Closed
07-08-2017, 12:23 PM
This post was last modified: 08-08-2017, 07:43 AM by Harley
#1
[Image: CRh9EPK.png]


PHP Code:
<?php
$db
->write_query("CREATE TABLE IF NOT EXISTS `".TABLE_PREFIX."dice` (
`id` int(10) unsigned NOT NULL auto_increment,
`user` varchar(240) NOT NULL,
`bet` int(10) NOT NULL,
`win` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
"
);
$mybbUser $mybb->user['uid'];
$mybbUserName $mybb->user['username'];
$query $db->query("SELECT * FROM mybb_dice ORDER BY id DESC LIMIT 5");
while(
$rolls $db->fetch_array($query))
{
$diceArray[] = $rolls;
}
$credits floor($mybb->user['newpoints']);
$result "welcome";
$win 0;
if (
is_numeric($_POST['betamount']) && is_numeric($_POST['guess']))
{
if (
$mybb->user['newpoints'] < $_POST['betamount'])
{
$result "not enough credits :(";
}
else
{
$win rand(16);
if (
$_POST['betamount'] >= 10 && $_POST['betamount'] <= 500 && $_POST['guess'] >= && $_POST['guess'] <= 6)
{
if (
$_POST['guess'] == $win)
{
$winInfo = array(
"user" => $mybbUser,
"bet" => $_POST['betamount'],
"win" => $_POST['betamount'] * 2,
);
newpoints_addpoints($mybb->user['uid'], $_POST['betamount'] * 2);
$result "won";
$credits $mybb->user['newpoints'] + ($_POST['betamount'] * 2);
$db->insert_query("dice"$winInfo);
}
else
{
$winInfo = array(
"user" => $mybbUser,
"bet" => $_POST['betamount'],
"win" => $_POST['betamount'] * -1,
);
newpoints_addpoints($mybb->user['uid'], $_POST['betamount'] * -1);
$result "lost";
$credits $mybb->user['newpoints'] - $_POST['betamount'];
$db->insert_query("dice"$winInfo);
}
}
else
{
$result "error";
$win "?";
}
}
}
else
{
$result "enter numbers";
$win "#";
}
?>
<html>
 <head>
  <title>MyBB| Dice
  </title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript">
  </script>
  <script>
   var requestSent = false;
   $(document).ready(function() {
    $(function() {
     $('#diceform').unbind().bind('submit', function(e) {
      var me = $(this);
      e.preventDefault();
      if ( me.data('requestRunning') ) {
       return;
      }
      me.data('requestRunning', true);
      e.preventDefault();
      var form = $(this);
      var post_url = form.attr('action');
      var post_data = form.serialize();
      $.ajax({
       type: 'POST',
       url: post_url,
       data: post_data,
       success: function(data) {
        var result = $('<div />').append(data).find('#row').html();
        $('#row').html(result);
        var recentrolls = $('<div />').append(data).find('.recentrolls').html();
        $('.recentrolls').html(recentrolls);
       }
       ,
       error: function(xhr, status) {
        alert("Sorry, there was a problem!");
       }
       ,
       complete: function(xhr, status) {
        me.data('requestRunning', false);
       }
      }
         );
     }
                   );
    }
    );
   }
           );
  </script>
  <style>
   @import url(https://fonts.googleapis.com/css?family=Lato);
   body {
    padding-top: 120px;
   }
   h1 {
    font-family: 'Lato', sans-serif;
    text-align: center;
   }
   .dice {
    border: 3px solid #333;
    border-radius: 3px;
    cursor: pointer;
    height: 100px;
    margin: 0 auto;
    overflow: hidden;
    width: 100px;
   }
   input[type="number"] {
    width: 150px;
    text-align: center;
    margin-bottom:4px;
    border: 2px solid #cacaca;
   }
   .roll.lost {
    background: #940000;
   }
   .recentrolls {
    position: relative;
    margin-left: 44.5%;
    margin: 0 auto;
    overflow: hidden;
    width: 150px;
   }
   .roll {
    color: #fff;
    padding: 2px;
    background:#3498DB;
   }
   input[type='number'] {
    -moz-appearance:textfield;
   }
   input::-webkit-outer-spin-button,
   input::-webkit-inner-spin-button {
    -webkit-appearance: none;
   }
   input#sendbutton {
    width: 150px;
    background: #fff;
    border: 2px solid #cacaca;
   }
   form {
    text-align: center;
    margin-top: 20px;
   }
   .side:hover {
    color: #fff;
    background: #000;
   }
   .dice:active {
    background: #333;
   }
   .dice:active .dot {
    border-color: white;
   }
   .side {
    height: 100px;
    position: relative;
    width: 100%;
    text-align: center;
    line-height: 100px;
    font-size: 100px;
   }
   .rollid {
    display: inline-block;
    color: #c3c3c3;
    text-align: left;
    width: 25%;
   }
   .rolluser {
    display: inline-block;
    /* margin-left: 10px; */
    width: 20%;
    text-align: center;
   }
   .rollbet {
    display: inline-block;
   }
   .rollwin {
    display: inline-block;
    float: right;
   }
   .roll.lost.rollwin {
    color: #f00 !important;
   }
   .rollbet {
    /* margin-left: 10px; */
    width: 20%;
    text-align: center;
   }
   .side:first-child {
    margin-top: -00px;
    transition: 2s;
   }
   .side.lost {
    background: #940000;
    color: #fff;
   }
   .roll.won {
    background: #1d9400;
   }
   .side.won {
    background: #1d9400;
    color: #fff;
   }
   .side.error {
    background: #000a92;
    color: #fff;
   }
  </style>
 </head>
 <div id="row">
  <h1>Credits:
   <?php echo $credits?>
  </h1>
  <h1>
   <?php echo $result?>
  </h1>
  <div class="dice">
   <div class="side <?php echo $result?>">
    <?php echo $win?>
   </div>
  </div>
 </div>
 <form method="post" id="diceform">
  <input type="number" id="guess" name="guess" placeholder="Guess (1-6)" min="1" max="6">
  <br>
  <input type="number" id="bet" name="betamount" placeholder="Bet (10-500)" min="10" max="500">
  <br>
  <input type="submit" id="sendbutton" value="Roll">
 </form>
 <div class="recentrolls">
  <div class="roll">
   <div class="rollid">ID
   </div>
   <div class="rolluser">User
   </div>
   <div class="rollbet">Bet
   </div>
   <div class="rollwin">Win
   </div>
  </div>
  <?php
for( $i$i count($diceArray) ; $i++ )
{
if (
$diceArray[$i]['win'] > 0)
{
echo 
"<div class=\"roll won\">";
}
else
{
echo 
"<div class=\"roll lost\">";
}
echo 
"<div class=\"rollid\">";
echo 
$diceArray[$i]['id'];
echo 
"</div>";
echo 
"<div class=\"rolluser\">";
echo 
$diceArray[$i]['user'];
echo 
"</div>";
echo 
"<div class=\"rollbet\">";
echo 
$diceArray[$i]['bet'];
echo 
"</div>";
echo 
"<div class=\"rollwin\">";
echo 
$diceArray[$i]['win'];
echo 
"</div>";
echo 
"</div>";
}
?>
 </div>
</html> 
Content locked
This content has been locked. Please login or register in order to unlock it.

RE: Newpoints Dice Rolling Game!

OP
#2
Updated page with better sql quires and usage of mybb functions for sanitizing.
PHP Code:
<?php
    $db
->write_query("CREATE TABLE IF NOT EXISTS `".TABLE_PREFIX."dice` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `user` varchar(240) NOT NULL,
      `bet` int(10) NOT NULL,
      `win` int(10) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
                     "
);
                     
                     

$mybbUser $mybb->user['uid'];
$mybbUserName $mybb->user['username'];
$query $db->query("SELECT * FROM mybb_dice ORDER BY id DESC LIMIT 5");
while(
$rolls $db->fetch_array($query))
{
    
$diceArray[] = $rolls;


$credits floor($mybb->user['newpoints']);
$result "welcome";
$win 0;

if (
is_numeric($mybb->input['betamount']) && is_numeric($mybb->input['guess']))
    {
    if (
$mybb->user['newpoints'] < $mybb->input['betamount'])
        {
        
$result "not enough droplets :(";
        }
      else
        {
        
$win rand(16);
        if (
$mybb->input['betamount'] >= 10 && $mybb->input['betamount'] <= 500 && $mybb->input['guess'] >= && $mybb->input['guess'] <= 6)
            {
            if (
$mybb->input['guess'] == $win)
                {
                
$winInfo = array(
        
"user" => intval($mybbUser),
        
"bet" => intval($mybb->input['betamount']),
        
"win" => intval($mybb->input['betamount'] * 2),
    );
                
newpoints_addpoints($mybb->user['uid'], $mybb->input['betamount'] * 2);
                
$result "won";
                
$credits $mybb->user['newpoints'] + ($mybb->input['betamount'] * 2);
                
$db->insert_query("dice"$winInfo);
                }
              else
                {
                
$winInfo = array(
        
"user" => intval($mybbUser),
        
"bet" => intval($mybb->input['betamount']),
        
"win" => intval($mybb->input['betamount'] * -1),
    );
                
newpoints_addpoints($mybb->user['uid'], $mybb->input['betamount'] * -1);
                
$result "lost";
                
$credits $mybb->user['newpoints'] - $mybb->input['betamount'];
                                
$db->insert_query("dice"$winInfo);
                }
            }
          else
            {
            
$result "error";
            
$win "?";
            }
        }
    }
  else
    {
    
$result "enter numbers";
    
$win "#";
    }
?>

<html>
<head>
<title>Forum | Dice</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

<script>
var requestSent = false;
$(document).ready(function() {
    $(function() {
        $('#diceform').unbind().bind('submit', function(e) {
var me = $(this);
    e.preventDefault();

    if ( me.data('requestRunning') ) {
        return;
    }

    me.data('requestRunning', true);
                e.preventDefault();
                var form = $(this);
                var post_url = form.attr('action');
                var post_data = form.serialize();
                $.ajax({
                    type: 'POST',
                    url: post_url,
                    data: post_data,
                    success: function(data) {
                        var result = $('<div />').append(data).find('#row').html();
                        $('#row').html(result);
                        var recentrolls = $('<div />').append(data).find('.recentrolls').html();
                        $('.recentrolls').html(recentrolls);
                    },
                    error: function(xhr, status) {
                        alert("Sorry, there was a problem!");
                    },
                    complete: function(xhr, status) {
                                me.data('requestRunning', false);
                    }
                });
            });
    });
});
</script>
<style>
@import url(https://fonts.googleapis.com/css?family=Lato);
body {
  padding-top: 120px;
}

h1 {
  font-family: 'Lato', sans-serif;
  text-align: center;
}

.dice {
  border: 3px solid #333;
  border-radius: 3px;
  cursor: pointer;
  height: 100px;
  margin: 0 auto;
  overflow: hidden;
  width: 100px;
}
input[type="number"] {
    width: 150px;
    text-align: center;
    margin-bottom:4px;
    border: 2px solid #cacaca;
}
.roll.lost {
    background: #940000;
}

.recentrolls {
    position: relative;
    margin-left: 44.5%;
    margin: 0 auto;
    overflow: hidden;
    width: 150px;
}

.roll {
    color: #fff;
    padding: 2px;
    background:#3498DB;
}
input[type='number'] {
    -moz-appearance:textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}


input#sendbutton {
    width: 150px;
    background: #fff;
    border: 2px solid #cacaca;
}

form {
    text-align: center;
    margin-top: 20px;
}
.side:hover {
    color: #fff;
    background: #000;
}
.dice:active {
  background: #333;
}

.dice:active .dot {
  border-color: white;
}

.side {
    height: 100px;
    position: relative;
    width: 100%;
    text-align: center;
    line-height: 100px;
    font-size: 100px;
}
.rollid {
    display: inline-block;
    color: #c3c3c3;
    text-align: left;
    width: 25%;
}

.rolluser {
    display: inline-block;
    /* margin-left: 10px; */
    width: 20%;
    text-align: center;
}

.rollbet {
    display: inline-block;
}

.rollwin {
    display: inline-block;
    float: right;
}

.roll.lost.rollwin {
    color: #f00 !important;
}

.rollbet {
    /* margin-left: 10px; */
    width: 20%;
    text-align: center;
}
.side:first-child {
  margin-top: -00px;
  transition: 2s;
}
.side.lost {
    background: #940000;
    color: #fff;
}
.roll.won {
    background: #1d9400;
}
.side.won {
    background: #1d9400;
    color: #fff;
}
.side.error {
    background: #000a92;
    color: #fff;
}


</style>
</head>
<div id="row">
<h1>Droplets: <?php echo $credits?></h1>
<h1><?php echo $result;  ?></h1>
<div class="dice">
  <div class="side <?php echo $result?>">
  <?php echo $win?>
</div>
</div>
</div>
<form method="post" id="diceform">
<input type="number" id="guess" name="guess" placeholder="Guess (1-6)" min="1" max="6"><br>
<input type="number" id="bet" name="betamount" placeholder="Bet (10-500)" min="10" max="500"><br>
<input type="submit" id="sendbutton" value="Roll">
</form>
<div class="recentrolls">
<div class="roll">
<div class="rollid">ID</div>
<div class="rolluser">User</div>
<div class="rollbet">Bet</div>
<div class="rollwin">Win</div>
</div>
<?php
for( $i$i count($diceArray) ; $i++ )
{
    if (
$diceArray[$i]['win'] > 0
    {
    echo 
"<div class=\"roll won\">";
    }
    else
    {
    echo 
"<div class=\"roll lost\">";
    }
    echo 
"<div class=\"rollid\">";
    echo 
$diceArray[$i]['id'];
    echo 
"</div>";
    echo 
"<div class=\"rolluser\">";
    echo 
$diceArray[$i]['user'];
    echo 
"</div>";
    echo 
"<div class=\"rollbet\">";
    echo 
$diceArray[$i]['bet'];
    echo 
"</div>";
    echo 
"<div class=\"rollwin\">";
    echo 
$diceArray[$i]['win'];
    echo 
"</div>";
    echo 
"</div>";
}
?>
</div>
</html> 

RE: Newpoints Dice Rolling Game!

#3
nice plugin dude, lets go tist it

RE: Newpoints Dice Rolling Game!

#4
Do not waste your time unlocking this plugin is broke. "unlock also doesn't unlock anything"

Users browsing this thread: 1 Guest(s)