como (Modérateur)
Modérateur
Messages: 334
|
|
Option Bar ou Restaurant Il y a 1 Année, 1 Mois
|
Karma: 5
|
Bonjour à tous,
Voilà une option qui fera surement des heureux :
Le fichier bar.class.php
| Code : |
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
class MafBar extends Mafiajob {
function MafBar( &$db )
{
$this->mosDBTable( '#__wub_bar', 'id', $db );
$this->MafConfig();
}
function SelectionBar()
{
$this->_db->setQuery( "SELECT * FROM ".$this->_tbl." " );
return $this->_db->loadObjectList();
}
function Selectionproduit ( &$produit )
{
$this->_db->setQuery( "SELECT * FROM ".$this->_tbl." WHERE id = '".$produit."' LIMIT 1" );
$bar = $this->_db->loadObjectList();
if( $bar )
{
$this->bar = $bar[0];
return $this->bar;
}
else
return false;
}
function MafUpdate ( )
{
if($this->_db->updateObject($this->_tbl , $this->bar, $this->_tbl_key))
return true;
else
return false;
}
function error ()
{
return $this->_db->_errorMsg;
}
}
?>
|
Le fichier bat_bar/bar.php
| Code : |
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
require_once($mosConfig_absolute_path .'/components/com_mafiajob/class/personnage.class.php');
$perso = new MafPersonnage( $database );
$perso->MafSelection ( $my->id );
require_once( $config->chemin . '/class/bar.class.php' );
$mafbar = new MafBar( $database );
$produitid = mosGetParam($_POST,'id');
$produit = $mafbar->Selectionproduit ( $produitid );
$bar = $mafbar->SelectionBar ();
$prix = mosGetParam($_POST,'prix');
if( mosGetParam($_POST,'acheter') && $perso->argent >= $prix )
{
echo '<span class="alert">Tu viens de prendre un verre a '.$prix.' $ '.$perso->username.'</span>';
$perso->argent -= $prix;
$perso->alcool += rand (1,3);
$perso->vie += rand (1,10);
$perso->MafUpdate();
}
else
{
echo '<span class="alert">Ta pas assez de tune '.$perso->username.', va chercher du boulot !</span>';
}
?>
<h2>Bienvenue dans le bar</h2>
<img src="<?php echo $config->url;?>/images/empreinte.jpg" alt="empreinte" height="60" align="left" style="margin:5px;"class="imgBlock" />
<p align="justify">Tu as la possibilite de boire un verre ici. Cela te redonnera le morale et te remettra un peut sur pied. Attention a ne pas trop boire, tu risquerais d'attirer la police.<br />
<br />
<strong>Je te laisse consulter la carte pour avoir les prix 15 secondes en plus et une chance sur trois d'etre bourré et de la vie entre 1 et 10 points</strong>. <br />
</p>
<span class="info"><strong>
<table class="q" width="100%" border="1" cellspacing="0" cellpadding="0" >
<thead align="center" ><h2>MENU</h2>
</thead><tbody align="center" >
<?php
$n = 0;
foreach($bar as $list )
{
$n++;
?>
<tr>
<td><?php echo $list->produit; ?></td>
<td><?php echo $list->description;?></td>
<td><?php echo $list->nombre; ?> verre(s)</td>
<td>
<form id="form1" name="form1" method="post" action="<?php echo $config->lienTask; ?>">
<input type="hidden" name="id" value="<?php echo $list->id;?>">
<input type="hidden" name="produit" value="<?php echo $list->produit;?>">
<input type="hidden" name="description" value="<?php echo $list->description;?>">
<input type="hidden" name="nombre" value="<?php echo $list->nombre;?>">
<input type="hidden" name="prix" value="<?php echo ($list->prix*$list->nombre);?>">
<br>
<input type="submit" name="acheter" value="<?php echo ($list->prix*$list->nombre);?> $" class="buttonMaf" /></form>
</td>
</tr>
<?php
}
?>
</tbody>
</table></strong></span>
|
La table :
| Code : |
CREATE TABLE IF NOT EXISTS `jos_wub_bar` (
`id` int(255) NOT NULL auto_increment,
`produit` varchar(64) NOT NULL,
`description` text NOT NULL,
`nombre` int(11) NOT NULL,
`prix` int(22) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Contenu de la table `jos_wub_bar`
--
INSERT INTO `jos_wub_bar` (`id`, `produit`, `description`, `nombre`, `prix`, `nom_bar`) VALUES
(1, 'Vodka', 'Rien de tel pour se rechauffer', 1, 50),
(2, 'Wisky', 'Pour les hommes, les vrais !', 1, 55);
|
Dans la base MySql il faudra ajouter dans wub_job_personnage un champ alcool et controlalcool
Fichier à modifier pour les flics : views/joueurs.html.php
| Code : |
<img src="<?php echo $config->url;?>/images/control.png" alt="Test d'alcoolémie" align="middle" />
<a href="#" onclick="getPage('<?php echo $config->lienAjaxTask;?>&choix_joueur=controlalcool&idjoueur=<?php echo $var->iduser;?>');"> Test d'alcoolémi</a>
|
Fichier control/joueurs/joueur_controlalcool/controlalcool.php :
| Code : |
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
if( $perso->idarme && $perso->munition && $perso->MafDelaiPlanque() && $perso->MafFlic())
{
sleep($config->tempsControlRoutine);
if($persoInfo->MafSelection ( $persoInfo->iduser, $perso->lat, $perso->lng ) && $persoInfo->actif)
{
$perso->lat = $config->latitudeCommissariat;
$perso->lng = $config->longitudeCommissariat;
$perso->control = ($perso->controlalcool +1 );
$perso->MafUpdate();
$persoInfo->lat = $config->latitudeCommissariat;
$persoInfo->lng = $config->longitudeCommissariat;
if ($persoInfo->alcool>=3)
{
$persoInfo->argent-=$config->amendalcool;
}
$persoInfo->RetirerArme();
$persoInfo->MafUpdate();
$historique->MafAjout( $perso, 68 );
$historique->MafAjout( $persoInfo, 68 );
}
else
$html->PlusLa();
}
else
$html->MafErrorEquipement();
?>
|
Voilà, je pense n'avoir rien oublier
Pour résumer, si vous prenez un verre, ça vous donnera des points de vie entre 1 et 10
Vous aurez 1 chance sur 3 d'être bourré au 1er verre.
Les flics pourront faire un test d'alcoolémie
Et la gestion du bar se fait dans la base mysql
A plus
|
|
|
|
|
|
|
Dernière édition: 22-07-2009 à 07:37 Par como.
|
|
|
|
|
|
L'administrateur a désactivé l'accès public en écriture.
|
Marc (Utilisateur)
Junior Boarder
Messages: 33
|
|
Re:Option Bar ou Restaurant Il y a 1 Année
|
Karma: 0
|
Dis moi como,
J'ai regardé ton code, et je me posais une question :
Ne faut il pas rajouter dans le config.class.php une ligne de ce style :
| Code : |
public $amendalcool=100; //Amende pour abus d'alcool dans le bar
|
|
|
|
|
|
|
|
L'administrateur a désactivé l'accès public en écriture.
|
como (Modérateur)
Modérateur
Messages: 334
|
|
Re:Option Bar ou Restaurant Il y a 1 Année
|
Karma: 5
|
Oui c'est ca. J'ai oublié de le préciser
En plus des champs a créer dans la table #__wub_personnage
je le completrais plus tard
|
|
|
|
|
|
|
Dernière édition: 21-08-2009 à 11:38 Par como.
|
|
|
|
|
|
L'administrateur a désactivé l'accès public en écriture.
|
Marc (Utilisateur)
Junior Boarder
Messages: 33
|
|
Re:Option Bar ou Restaurant Il y a 1 Année
|
Karma: 0
|
Et juste un truc encore dans bar.php :
il faut mettre ceci :
| Code : |
elseif ( mosGetParam($_POST,'acheter') && $perso->argent < $prix )
{
echo '<span class="alert">Ta pas assez de tune '.$perso->username.', va chercher du boulot !</span>';
}
|
à la place de :
| Code : |
else
{
echo '<span class="alert">Ta pas assez de tune '.$perso->username.', va chercher du boulot !</span>';
}
|
si je ne me trompe pas, sinon chez moi en plus du bienvenue, j'ai le message qui me dit d'aller chercher du boulot alors que j'ai suffisament d'argent.
|
|
|
|
|
|
|
L'administrateur a désactivé l'accès public en écriture.
|
como (Modérateur)
Modérateur
Messages: 334
|
|
Re:Option Bar ou Restaurant Il y a 1 Année
|
Karma: 5
|
J'ai pas tout a fait le même script sur mon site 
moi je donne des idées comme ça ^_^
|
|
|
|
|
|
|
|
|
|
L'administrateur a désactivé l'accès public en écriture.
|
|