Well I seen quite a few lottery mods on this site, but not one of them was bugles, and lacked some easy to implement features. So I decided to make my own, and post it for free so everyone can use it
This is a money, and crystals/points lottery. (Please note, they are called points in my game, but it can be easily changed!)
SQLS:
[mysql]CREATE TABLE IF NOT EXISTS `moneylotto` (
`ticketid` int(11) NOT NULL auto_increment,
`userid` int(11) NOT NULL,
PRIMARY KEY (`ticketid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `pointslotto` (
`ticketid` int(11) NOT NULL auto_increment,
`userid` int(11) NOT NULL,
PRIMARY KEY (`ticketid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `moneylottowinners` (
`id` int(11) NOT NULL auto_increment,
`winner` int(11) NOT NULL,
`amount` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `pointslottowinners` (
`id` int(11) NOT NULL auto_increment,
`winner` int(11) NOT NULL,
`amount` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
[/mysql]
lotterycron.php
<?php
// Created, and released for free for the MWG (makewebgames.io) community by Kieran-R
include "config.php";
include "global_func.php";
global $_CONFIG;
if($_GET['code'] != $_CONFIG['code']) { die(""); }
define("MONO_ON", 1);
require "class/class_db_{$_CONFIG['driver']}.php";
$db=new database;
$db->configure($_CONFIG['hostname'],
$_CONFIG['username'],
$_CONFIG['password'],
$_CONFIG['database'],
$_CONFIG['persistent']);
$db->connect();
$c=$db->connection_id;
$set=array();
$settq=$db->query("SELECT * FROM settings");
while($r=$db->fetch_row($settq))
{
$set[$r['conf_name']]=$r['conf_value'];
}
//Money Lotto
$ticketssold=$db->num_rows($db->query("SELECT * FROM moneylotto"));
$payout=($ticketssold*50000)*0.90;
$rand=rand(1,$ticketssold);
$win=$db->query("SELECT * FROM moneylotto where ticketid=$rand");
$winner=$db->fetch_array($win);
event_add($winner['userid'],"Congratulations! You have won the weekly lottery, and claimed your ".money_formatter($payout)." reward!",$c);
$db->query("UPDATE users SET bankmoney=bankmoney+$payout WHERE userid={$winner['userid']}");
$db->query("TRUNCATE TABLE moneylotto");
$db->query("INSERT INTO moneylottowinners (id, winner, amount) VALUES ('', '{$winner['userid']}', '$payout')");
//Money Lotto End
//Points Lotto
$ticketssold=$db->num_rows($db->query("SELECT * FROM pointslotto"));
$payout=($ticketssold*50)*0.90;
$rand=rand(1,$ticketssold);
$win=$db->query("SELECT * FROM pointslotto where ticketid=$rand");
$winner=$db->fetch_array($win);
event_add($winner['userid'],"Congratulations! You have won the weekly points lottery, and claimed your $payout points reward!",$c);
$db->query("UPDATE users SET crystals=crystals+$payout WHERE userid={$winner['userid']}");
$db->query("TRUNCATE TABLE pointslotto");
$db->query("INSERT INTO pointslottowinners (id, winner, amount) VALUES ('', '{$winner['userid']}', '$payout')");
//Points Lotto End
?>
lottery.php
<?php
// Created, and released for free for the MWG (makewebgames.io) community by Kieran-R
include "globals.php";
$ticketssold=$db->num_rows($db->query("SELECT * FROM moneylotto"));
$mytickets=$db->num_rows($db->query("SELECT * FROM moneylotto WHERE userid=$userid"));
$jackpot=($ticketssold*50000)*0.90;
echo"
<h2>Weekly Lottery</h2>
Welcome to the weekly money lottery! Buy your lottery ticket for this week and be in
with a chance of winning the jackpot! You can purchase as many lottery tickets as you
wish for $50,000 per ticket:
[b]Total Tickets Sold:[/b] $ticketssold
[b]Your Tickets:[/b] $mytickets
[b]Current Jackpot:[/b] ".money_formatter($jackpot)."
[b]Payout Time:[/b] Friday 9:00PM
";
if ($_POST['tickets']){
if ($ir['money'] < 50000){
echo "
Sorry. You need [b]$50,000[/b] or more to buy
a lottery ticket!";
}
else
{
$db->query("UPDATE users SET money=money-50000 WHERE userid=$userid");
$db->query("INSERT INTO moneylotto (ticketid, userid) VALUES ('', '$userid')");
echo "
Congratulations on purchasing a lottery ticket for this weeks lottery!";
}
}
echo"
<form method='POST' action=lottery>
<input type='hidden' name='tickets' value=1 length=2 />
<input type='submit' value='Buy Lottery Ticket'>
";
//Previous Winners
$prewinners=$db->query("SELECT * FROM moneylottowinners ORDER BY id DESC LIMIT 10");
echo"
<h3>Previous Winners</h3>
<table width=65% cellspacing=1 class='table' border='1'><tr><th>Winner</th><th>Amount</th></tr>";
while($r=$db->fetch_row($prewinners))
{
$user=$db->fetch_array($db->query("SELECT username FROM users WHERE userid={$r['winner']}"));
echo"<tr><td><a href=viewuser.php?u={$r['winner']}>{$user['username']}</td><td>[b]".money_formatter($r['amount'])."[/b]</td></tr>";
}
echo"</table>";
//Previous Winners Done
$h->endpage();
?>
pointslottery.php
<?php
// Created, and released for free for the MWG (makewebgames.io) community by Kieran-R
include "globals.php";
$ticketssold=$db->num_rows($db->query("SELECT * FROM pointslotto"));
$mytickets=$db->num_rows($db->query("SELECT * FROM pointslotto WHERE userid=$userid"));
$jackpot=($ticketssold*50)*0.90;
echo"
<h2>Weekly Points Lottery</h2>
Welcome to the weekly points lottery! Buy your lottery ticket for this week and be in
with a chance of winning the jackpot! You can purchase as many points lottery tickets as you
wish at 50 points per ticket:
[b]Total Tickets Sold:[/b] $ticketssold
[b]Your Tickets:[/b] $mytickets
[b]Current Jackpot:[/b] $jackpot Points
[b]Payout Time:[/b] Friday 9:00PM
";
if ($_POST['tickets']){
if ($ir['crystals'] < 50){
echo "
Sorry. You need [b]50 Points[/b] or more to buy
a points lottery ticket!";
}
else
{
$db->query("UPDATE users SET crystals=crystals-50 WHERE userid=$userid");
$db->query("INSERT INTO pointslotto (ticketid, userid) VALUES ('', '$userid')");
echo "
Congratulations on purchasing a points lottery ticket for this weeks lottery!";
}
}
echo"
<form method='POST' action=pointslottery>
<input type='hidden' name='tickets' value=1 />
<input type='submit' value='Buy Lottery Ticket'>
";
//Previous Winners
$prewinners=$db->query("SELECT * FROM pointslottowinners ORDER BY id DESC LIMIT 10");
echo"
<h3>Previous Winners</h3>
<table width=65% cellspacing=1 class='table' border='1'><tr><th>Winner</th><th>Amount</th></tr>";
while($r=$db->fetch_row($prewinners))
{
$user=$db->fetch_array($db->query("SELECT username FROM users WHERE userid={$r['winner']}"));
echo"<tr><td><a href=viewuser.php?u={$r['winner']}>{$user['username']}</td><td>[b]{$r['amount']} Points[/b]</td></tr>";
}
echo"</table>";
//Previous Winners Done
$h->endpage();
?>
Make lotterycron.php to run every week at 9PM, link lotter.php, and pointslottery.php
and your done!
Any bugs, feel free to post and ill do my best to fix them up.