Découvrez le MMORPG RaiderZ
Emulateur

 partage
[Download] Classement par ratio

8 messages dans ce sujet

Hello tout le monde ;)

Aujourd'hui je vous partage un "Classement par ratio" spécialement pour le cms de jigsaw.

*(Le classement est adaptable sur n'importe quel sites, mais il faut avoir quelques bases en php pour l'intégrer)

Ce classement à été crée entièrement par Emulateur et un membre de sa famille.

Mais tout d'abord qu'est ce qu'un ratio ?

Les classements par ratio son utilisé en général dans les "FPS" (First Person Shooter) Le ratio c'est tout simplement un chiffre qui est fait en fonction d'une division de votre nombre de mort par votre nombre de tués

-Installation sur votre cms :

Fichier n°1 :

Dirigez vous dans le dossier "includes-public" de votre cms puis créer un fichier :

radio.php

Ouvrez le et collez ce code dedans :

Révélation

 

<?php
$db1= "log";
$db2= "player";

$handle_db1 = mysql_connect($host, $username, $password);
$handle_db2 = mysql_connect($host, $username, $password, TRUE);

mysql_select_db($db1, $handle_db1);
mysql_select_db($db2, $handle_db2);

$which = $handle_db1;
$which1 = $handle_db2;

    if(isset($_POST['perso'])) {$perso=$_POST['perso'];}
    else {$perso='';}
    
    if(!empty($perso))
    {$name = '%'.mysql_real_escape_string($perso).'%';}
    else {$name = "%"; }

    $q = "select id FROM player WHERE name like '$name'";
    $req3 = mysql_query($q, $which1);
    $d = mysql_fetch_array($req3);
    
    if($perso!=''){
    $query = "SELECT what, COUNT(*) AS nb_tue  FROM log WHERE what = '".$d['id']."' and how LIKE 'DEAD_BY_PC'  group by what";                              
    $query2 = "SELECT who, COUNT(*) AS nb_mort  FROM log l WHERE  who = '".$d['id']."' and how LIKE 'DEAD_BY_PC'  group by who"; 
}
else{
    $query = "SELECT what, COUNT(*) AS nb_tue  FROM log WHERE how LIKE 'DEAD_BY_PC'  group by what";                             
    $query2 = "SELECT who,COUNT(*) AS nb_mort  FROM log l WHERE how LIKE 'DEAD_BY_PC'  group by who";     
}



$req = mysql_query($query, $which);
$req2 = mysql_query($query2, $which);


$tab = array();
$i = 0;   
while ($donnees_r19 = mysql_fetch_array($req)){     
             
$query3 = "SELECT name FROM player WHERE id=".$donnees_r19["what"]; 
       
$donnees_r20 = mysql_fetch_array($req2);


    $data8 = mysql_query($query3, $which1);                                 
$data9 = mysql_fetch_array($data8);

$donnees_r30 = $donnees_r19['nb_tue'] / $donnees_r20['nb_mort'];                                     
$arrondi = round($donnees_r30,"2");                         

$ss = explode(".",$arrondi);
if($ss[0] == $arrondi)       
    $arrondi = $arrondi.".00";
    
$tab[$i] = $arrondi."/".$data9['name']."/".$donnees_r19['nb_tue']."/".$donnees_r20['nb_mort'];  
$i++;
} 

rsort($tab);

$position =1;
while(list($cle, $val) = each($tab))
{
$s = explode("/",$val);


$tpl->assign_array('list_perso', array(
            'radio' => $s[0],
            'name' => $s[1],
            'nb_tue' => $s[2],
            'nb_mort' => $s[3],
            ));

$position = $position +1;
}
$tpl->assign("total", $position-1);



$tpl->parse('public/radio.tpl');
?>

 

 

 

 

Fichier n°2 :

Dirigez vous dans le dossier "compile" de votre cms et créer un fichier :

public-radio.ggTpl.php

Ouvrez le et collez ce code dedans :

Révélation
<h1>Ratio</h1>
<form action="index.php?p=radio" method="post">


<label for="perso">Trouver un personnage :</label>
<input type="text" value="" name="perso"/>
<br />
<input type="submit" class="button" value="Trouver"/>
</form>
<p><em>Total : <?php echo $total; ?> joueurs.</em></p>
<table align="center">
    <tr>
        <th>Nom</th>
        <th>Ratio</th>
        <th>Nombre de tués</th>
        <th>Nombre de morts</th>
    </tr>
    <?php if(!empty($list_perso)){
    foreach($list_perso as $x) {?>
        
    <tr>
        <td align="center"><?php echo $x['name']; ?></td>
        <td align="center"><?php echo $x['radio']; ?></td>
        <td align="center"><?php echo $x['nb_tue']; ?></td>
        <td align="center"><?php echo $x['nb_mort']; ?></td>
    </tr>
    
    <?php }} ?>
    <?php if($total==0) { ?>
    <tr>
        <td colspan="4"><div align="center">Aucun r&eacute;sultat </div></td>
    </tr>
    <?php } ?>
</table>
<div align="center">


</div>

 

 

Fichier n°3 :

Dirigez vous dans le dossier : "templates\default\fr\public" et créer un fichier :

radio.tpl

Ouvrez le et collez ce code dedans :

Révélation
<h1>Ratio</h1>
<form action="index.php?p=radio" method="post">


<label for="perso">Trouver un personnage :</label>
<input type="text" value="" name="perso"/>
<br />
<input type="submit" class="button" value="Trouver"/>
</form>
<p><em>Total : {total} joueurs.</em></p>
<table align="center">
    <tr>
        <th>Nom</th>
        <th>Ratio</th>
        <th>Nombre de tués</th>
        <th>Nombre de morts</th>
    </tr>
    <foreach var="$list_perso" as="x">
    <tr>
        <td align="center">{x[name]}</td>
        <td align="center">{x[radio]}</td>
        <td align="center">{x[nb_tue]}</td>
        <td align="center">{x[nb_mort]}</td>
    </tr>
    </foreach>
    <if cond="$total==0">
    <tr>
        <td colspan="4"><div align="center">Aucun r&eacute;sultat </div></td>
    </tr>
    </if>
</table>
<div align="center">


</div>

 

 

Fichier n°4 :

Dirigez vous dans le dossier "compile" de votre cms et ouvrez le fichier :

includes-menu.ggTpl.php

à partir de la ligne 43 collez ces lignes :

            <?php if($get_inc_page=='ratio') { ?>
                <li id="current"><a href="index.php?p=radio">Ratio</a></li>
            <?php }else{ ?>
                <li><a href="index.php?p=radio">Ratio</a></li>
            <?php } ?>
Une fois toutes ces modifications faites, enregistrer tout et allez voir le résultat.
 
*Ce script aurait besoin d'une amélioration, car il présente des "failles"
*Faille1 : Si un joueur tue sa mule ? = Son ratio augmentera
*Faille2 : Le classement ne comprend pas les ratios à deux chiffres, comme un ratio de 12 par exemple, le ratio de 12 sera affiché mais il sera mal rangé.
 
Cordialement Emulateur
0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je t'adore Emutotor <3

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci + 1 je kiff

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci du partages +1

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Emulateur pour ce magnifique Tutoriel.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci ;)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, désolé si je remonte ce topic, mais j'ai refait le classement par ratio en PDO, donc adaptable sur tout CMS comme ce code si, si vous êtes intéressé par mon code, faites le moi savoir via MP, je le partagerais. Le code est fonctionnel et bien plus court que celui proposé ici.

 

Je ne dénigre pas le code d'Emulateur, tout est bien expliqué, mais comme j'utilise la PDO, je l'ai refait.

 

Au passage merci Emulateur :).

 

Cordialement Dextouxe

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant