Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

[Download] Classement par ratio


Emulateur

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
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 7
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

  • 3 ans après...

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

Partages :

Projets :

Lien vers le commentaire
Partager sur d’autres sites



  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.