Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Emulateur

 tutoriel / partage [Download] Classement par ratio

Messages recommandés

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Je t'adore Emutotor <3

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci + 1 je kiff

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci du partages +1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Emulateur pour ce magnifique Tutoriel.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci ;)

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

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.