2007-11-21 11:00:00 +00:00
< ? php
2008-11-17 11:00:00 +00:00
if ( ! defined ( 'INDEX' )) define ( 'INDEX' , 1 );
2008-11-03 11:00:00 +00:00
print 'Début de la génération du classement ; il est : ' . date ( 'd/m/Y H:i:s' );
set_time_limit ( 0 );
ignore_user_abort ( true );
$onyx = @ file_get_contents ( './../.onyx' ) or die ( " Configuration introuvable. " );
define ( " _FCORE " , '../' . trim ( $onyx ));
require_once ( _FCORE . " kernel.php " );
require_once ( _FCORE . " hb_game/tables.php " );
require_once ( _FCORE . " hb_game/vars.php " );
$bdd = new bdd ();
/*
//Classement Joueurs
$bdd -> connexion ();
$bdd -> query ( " TRUNCATE TABLE $table_classement ; " );
$users = $bdd -> query ( " SELECT * FROM $table_user ; " );
$bdd -> deconnexion ();
$cnt = $bdd -> num_rows ;
for ( $i = 0 ; $i < $cnt ; $i ++ ){
$id_user = $users [ $i ][ 'id' ];
$queryUser = $users [ $i ];
$pointsbat = 0 ;
$pointsterr = 0 ;
$pointsvais = 0 ;
$bdd -> connexion ();
$planetes = $bdd -> query ( " SELECT * FROM $table_planete WHERE id_user = $id_user ; " );
$bdd -> deconnexion ();
$cntp = $bdd -> num_rows ;
for ( $j = 0 ; $j < $cntp ; $j ++ ){
$queryPlanete = $planetes [ $j ];
$nbbat = count ( $batimentVAR );
for ( $k = 0 ; $k < $nbbat ; $k ++ ){
if ( $queryPlanete [ $batimentVAR [ $k ]] == 0 ) continue ;
else {
$n = $queryPlanete [ $batimentVAR [ $k ]];
eval ( $batimentCALC [ $k ][ 0 ]);
eval ( $batimentCALC [ $k ][ 1 ]);
eval ( $batimentCALC [ $k ][ 2 ]);
$pointsbat += $a + $b + $c ;
}
}
$nbterr = count ( $nomterrnVAR );
for ( $k = 0 ; $k < $nbterr ; $k ++ ){
if ( $queryPlanete [ $nomterrnVAR [ $k ]] == 0 ) continue ;
else {
$n = $queryPlanete [ $nomterrnVAR [ $k ]];
$pointsterr += $nomterrnCALC [ $k ][ 0 ] + $nomterrnCALC [ $k ][ 1 ] + $nomterrnCALC [ $k ][ 2 ];
}
}
$nbvais = count ( $nomvaisnVAR );
for ( $k = 0 ; $k < $nbvais ; $k ++ ){
if ( $queryPlanete [ $nomvaisnVAR [ $k ]] == 0 ) continue ;
else {
$n = $queryPlanete [ $nomvaisnVAR [ $k ]];
$pointsvais += $nomvaisnCALC [ $k ][ 0 ] + $nomvaisnCALC [ $k ][ 1 ] + $nomvaisnCALC [ $k ][ 2 ];
}
}
}
2008-11-17 11:00:00 +00:00
2008-11-03 11:00:00 +00:00
$nbtech = count ( $technoloVAR );
$pointstech = 0 ;
for ( $k = 0 ; $k < $nbtech ; $k ++ ){
if ( $queryUser [ $technoloVAR [ $k ]] == 0 ) continue ;
else {
$n = $queryUser [ $technoloVAR [ $k ]];
eval ( $technoloCALC [ $k ][ 0 ]);
eval ( $technoloCALC [ $k ][ 1 ]);
eval ( $technoloCALC [ $k ][ 2 ]);
$pointstech += $a + $b + $c ;
}
}
$pointstech /= 1000 ;
$pointsvais /= 1000 ;
$pointsterr /= 1000 ;
$pointsbat /= 1000 ;
$points = $pointsbat + $pointsterr + $pointsvais + $pointstech ;
$bdd -> connexion ();
$bdd -> query ( " UPDATE $table_user SET points = $points , batiments = $pointsbat , recherches = $pointstech , flotte = $pointsvais , terrestre = $pointsterr WHERE id = $id_user ; " );
if ( $queryUser [ 'auth_level' ] < 2 && $queryUser [ 'mv' ] < 2 ) $bdd -> query ( " INSERT INTO $table_classement (id_user, points, flottes, terrestres, recherches, batiments) VALUES ( $id_user , $points , $pointsvais , $pointsterr , $pointstech , $pointsbat ); " );
$bdd -> deconnexion ();
}
$bdd -> connexion ();
$classement = $bdd -> query ( " SELECT U.id, U.auth_level FROM $table_classement C INNER JOIN $table_user U ON C.id_user = U.id ORDER BY C.points DESC; " );
$cnt = $bdd -> num_rows ;
$p = 0 ;
for ( $i = 0 ; $i < $cnt ; $i ++ ){
if ( $classement [ $i ][ 'auth_level' ] < 2 ) {
$p ++ ;
$bdd -> query ( " UPDATE $table_user SET place_points = $p WHERE id = " . $classement [ $i ][ 'id' ]);
}
else $bdd -> query ( " UPDATE $table_user SET place_points = 0 WHERE id = " . $classement [ $i ][ 'id' ]);
}
$bdd -> deconnexion ();
*/
print '<br />Fin de la génération du classement joueur ; il est : ' . date ( 'd/m/Y H:i:s' );
//Classement Alliances
$bdd -> connexion ();
$bdd -> query ( " TRUNCATE TABLE $table_classement_alliances ; " );
$alliances = $bdd -> query ( " SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points)/SUM(U.id) AS points, SUM(U.batiments)/SUM(U.id) AS batiments, SUM(U.recherches)/SUM(U.id) AS recherches, SUM(U.flotte)/SUM(U.id) AS flotte, SUM(U.terrestre)/SUM(U.id) AS terrestre FROM $table_user U GROUP BY U.id_alliance; " );
$cnt = $bdd -> num_rows ;
for ( $i = 0 ; $i < $cnt ; $i ++ ){
if ( $alliances [ $i ][ 'id_alliance' ] != 0 ) $bdd -> query ( " INSERT INTO $table_classement_alliances (id_alliance, nbr_membres, points, batiments, recherches, flottes, terrestres) VALUES ( " . $alliances [ $i ][ 'id_alliance' ] . " , " . $alliances [ $i ][ 'nombre' ] . " , " . $alliances [ $i ][ 'points' ] . " , " . $alliances [ $i ][ 'batiments' ] . " , " . $alliances [ $i ][ 'recherches' ] . " , " . $alliances [ $i ][ 'flotte' ] . " , " . $alliances [ $i ][ 'terrestre' ] . " ); " );
}
$bdd -> deconnexion ();
print '<br />Fin de la génération du classement ; il est : ' . date ( 'd/m/Y H:i:s' );
exit ;
//Script by Keiran
2008-11-16 11:00:00 +00:00
print 'Il est : ' . date ( 'd/m/Y H:i:s' );
2008-11-04 11:00:00 +00:00
set_time_limit ( 0 );
2008-11-19 11:00:00 +00:00
ignore_user_abort ( true );
2008-11-04 11:00:00 +00:00
$onyx = @ file_get_contents ( './../.onyx' ) or die ( " Configuration introuvable. " );
define ( " _FCORE " , '../' . trim ( $onyx ));
require ( _FCORE . " common.php " );
include ( _FCORE . " hb_game/classement/fonctions.php " );
2008-11-17 11:00:00 +00:00
$chapeau = new bdd ();
$chapeau -> connexion ();
$chapeau -> db ();
2007-11-21 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
##################################################
#MAJ classement Joueurs
##################################################
2007-11-21 11:00:00 +00:00
mysql_query ( " TRUNCATE TABLE `classement` " );
2008-11-22 11:00:00 +00:00
$sql_1 = mysql_query ( " SELECT * FROM `user` " );
2008-11-17 11:00:00 +00:00
while ( $recup_id = mysql_fetch_array ( $sql_1 )) {
$id = $recup_id [ 'id' ];
$PSEUDO_USER = $recup_id [ 'pseudo' ];
$race = $recup_id [ 'race' ];
2008-11-22 11:00:00 +00:00
$planete = mysql_query ( " SELECT * FROM `planete` WHERE `id_user` = " . $id ) or die ( mysql_error () );
2008-11-17 11:00:00 +00:00
while ( $donnees_planete = mysql_fetch_array ( $planete )) {
// partie pts batiements ressources
$POINTS_BATIMENTS += batiment1 ( $donnees_planete [ 'mine_m' ] ) + batiment2 ( $donnees_planete [ 'mine_c' ] ) + batiment3 ( $donnees_planete [ 'mine_h' ] ) + batiment4 ( $donnees_planete [ 'centrale_s' ] ) + batiment5 ( $donnees_planete [ 'centrale_f' ] ) + batiment6 ( $donnees_planete [ 'radar' ] ) + batiment7 ( $donnees_planete [ 'labo' ] ) + batiment8 ( $donnees_planete [ 'chantier_terrestre' ] ) + batiment9 ( $donnees_planete [ 'chantier_spatial' ] ) /* + batiment10( $donnees_planete['caserne'] )*/ + batiment11 ( $donnees_planete [ 'silo' ] ) + batiment11 ( $donnees_planete [ 'centre_info' ] );
// partie pts def ressources
$metal_d += 500 * $donnees_planete [ 'def_1' ];
$cristal_d += 200 * $donnees_planete [ 'def_1' ];
$metal_d += 4000 * $donnees_planete [ 'def_2' ];
$cristal_d += 2000 * $donnees_planete [ 'def_2' ];
$metal_d += 4500 * $donnees_planete [ 'def_3' ];
$cristal_d += 800 * $donnees_planete [ 'def_3' ];
$hydrogene_d += 600 * $donnees_planete [ 'def_3' ];
$metal_d += 12000 * $donnees_planete [ 'def_4' ];
$cristal_d += 10000 * $donnees_planete [ 'def_4' ];
$hydrogene_d += 1000 * $donnees_planete [ 'def_4' ];
$metal_d += 15000 * $donnees_planete [ 'def_5' ];
$cristal_d += 9500 * $donnees_planete [ 'def_5' ];
$hydrogene_d += 1500 * $donnees_planete [ 'def_5' ];
// partie pts vaiseaux
$POINTS_VAISSEAUX += $donnees_planete [ 'vaisseau_1' ] + $donnees_planete [ 'vaisseau_2' ] + $donnees_planete [ 'vaisseau_3' ] + $donnees_planete [ 'vaisseau_4' ] + $donnees_planete [ 'vaisseau_5' ] + $donnees_planete [ 'vaisseau_6' ] + $donnees_planete [ 'vaisseau_7' ] + $donnees_planete [ 'vaisseau_8' ] + $donnees_planete [ 'vaisseau_9' ] + $donnees_planete [ 'vaisseau_10' ] + $donnees_planete [ 'vaisseau_11' ] + $donnees_planete [ 'vaisseau_12' ];
// partie pts vaiseaux ressources
// 'cargos de classe Parabola', 1
$metal += ( $donnees_planete [ 'vaisseau_1' ] * 1000 );
$cristal += ( $donnees_planete [ 'vaisseau_1' ] * 800 );
// 'cargos de classe Laden', 2
$metal += ( $donnees_planete [ 'vaisseau_2' ] * 4000 );
$cristal += ( $donnees_planete [ 'vaisseau_2' ] * 3000 );
// 'vaisseau(X) de colonisation de classe Odyssey', 3
$metal += ( $donnees_planete [ 'vaisseau_3' ] * 9000 );
$cristal += ( $donnees_planete [ 'vaisseau_3' ] * 9000 );
$hydrogene += ( $donnees_planete [ 'vaisseau_3' ] * 1000 );
// 'drone(s) d\'espionnage de classe Clarion', 4
$metal += ( $donnees_planete [ 'vaisseau_4' ] * 1000 ) ;
$cristal += ( $donnees_planete [ 'vaisseau_4' ] * 1200 );
$hydrogene += ( $donnees_planete [ 'vaisseau_4' ] * 100 );
// 'recycleur(s) de classe Minotaur', 5
2008-11-30 11:00:00 +00:00
//SELECT * FROM `user` WHERE 1$metal += ( $donnees_planete['vaisseau_5'] * 15000 );
2008-11-17 11:00:00 +00:00
$cristal += ( $donnees_planete [ 'vaisseau_5' ] * 9000 );
$hydrogene += ( $donnees_planete [ 'vaisseau_5' ] * 1000 );
// 'C709 Longsword Interceptor', 6
$metal += ( $donnees_planete [ 'vaisseau_6' ] * 1700 );
$cristal += ( $donnees_planete [ 'vaisseau_6' ] * 1220 );
// 'Frégates', 7
$metal += ( $donnees_planete [ 'vaisseau_7' ] * 5800 );
$cristal += ( $donnees_planete [ 'vaisseau_7' ] * 1400 );
// 'croiseur(s) de classe Halcyon', 8
$metal += ( $donnees_planete [ 'vaisseau_8' ] * 20000 );
$cristal += ( $donnees_planete [ 'vaisseau_8' ] * 16000 );
$hydrogene += ( $donnees_planete [ 'vaisseau_8' ] * 1600 );
// 'croiseur(s) de classe Marathon', 9
$metal += ( $donnees_planete [ 'vaisseau_9' ] * 26000 );
$cristal += ( $donnees_planete [ 'vaisseau_9' ] * 16400 );
$hydrogene += ( $donnees_planete [ 'vaisseau_9' ] * 1600 );
// 'porte vaisseaux', 10
$metal += ( $donnees_planete [ 'vaisseau_10' ] * 60000 );
$cristal += ( $donnees_planete [ 'vaisseau_10' ] * 40000 );
$hydrogene += ( $nb_vaisseaux [ 'vaisseau_10' ] * 3000 );
$METAL_VAISSEAUX = $metal ;
$CRISTAL_VAISSEAUX = $cristal ;
$HYDROGENE_VAISSEAUX = $hydrogene ;
$RESSOURCES_VAISSEAUX = $METAL_VAISSEAUX + $CRISTAL_VAISSEAUX + $HYDROGENE_VAISSEAUX ;
} // boucle planetes -->
// partie pts techno
$techno_db = mysql_query ( " SELECT `informatique`, `detection`, `armement`, `energie_t`, `reacteur`, `reacteur_f`, `reacteur_ff`, `medecine`, `tactique`, `spartan`, `blindage` FROM `user` WHERE `id` = " . $id ) or die ( mysql_error ());
while ( $techno = mysql_fetch_array ( $techno_db )) {
$POINTS_TECHNO = $techno [ 'informatique' ] + $techno [ 'detection' ] + $techno [ 'armement' ] + $techno [ 'energie_t' ] + $techno [ 'reacteur' ] + $techno [ 'reacteur_f' ] + $techno [ 'reacteur_ff' ] + $techno [ 'medecine' ] + $techno [ 'tactique' ] + $techno [ 'spartan' ] + $techno [ 'blindage' ];
// partie pts techno ressources
$RESSOURCES_TECHNO = techno1 ( $techno [ 'informatique' ] ) + techno2 ( $techno [ 'detection' ] ) + techno3 ( $techno [ 'armement' ] ) + techno4 ( $techno [ 'energie_t' ] ) + techno5 ( $techno [ 'reacteur' ] ) + techno6 ( $techno [ 'reacteur_f' ] ) + techno7 ( $techno [ 'reacteur_ff' ] ) + techno8 ( $techno [ 'medecine' ] ) + techno9 ( $techno [ 'tactique' ] ) + techno10 ( $techno [ 'spartan' ] ) + techno11 ( $techno [ 'blindage' ] );
}
$PT_RESSOURCES = ( $RESSOURCES_VAISSEAUX + $RESSOURCES_TECHNO + $POINTS_BATIMENTS ) / 1000 ;
$POINTS_BATIMENTS = $POINTS_BATIMENTS / 1000 ;
// points flottes terrestres recherches batiments
2008-11-03 11:00:00 +00:00
if ( $recup_id [ 'auth_level' ] < 2 && $recup_id [ 'mv' ] < 2 ) mysql_query ( " INSERT INTO `classement` VALUES (NULL, ' $PSEUDO_USER ', ' $race ', ' $PT_RESSOURCES ', ' $POINTS_VAISSEAUX ', '0', ' $POINTS_TECHNO ', ' $POINTS_BATIMENTS ') " ) or die ( mysql_error ());
2008-11-17 11:00:00 +00:00
mysql_query ( " UPDATE `user` SET `flotte` = ' " . $POINTS_VAISSEAUX . " ', `recherches` = ' " . $POINTS_TECHNO . " ', `batiments` = ' " . $POINTS_BATIMENTS . " ', `points` = ' " . $PT_RESSOURCES . " ' WHERE `pseudo` = ' " . $PSEUDO_USER . " ' " ) or die ( mysql_error ());
$metal = 0 ;
$cristal = 0 ;
$hydrogene = 0 ;
$POINTS_VAISSEAUX = 0 ;
$POINTS_TECHNO = 0 ;
$PT_RESSOURCES = 0 ;
$METAL_VAISSEAUX = 0 ;
$CRISTAL_VAISSEAUX = 0 ;
$HYDROGENE_VAISSEAUX = 0 ;
$RESSOURCES_VAISSEAUX = 0 ;
$POINTS_BATIMENTS = 0 ;
}
2008-11-22 11:00:00 +00:00
$sql_2 = mysql_query ( " SELECT * FROM `classement` ORDER BY `classement`.`points` DESC " );
2008-11-17 11:00:00 +00:00
$i = 0 ;
while ( $resultat = mysql_fetch_array ( $sql_2 )) {
$nomuser = $resultat [ 'pseudo' ];
2008-11-22 11:00:00 +00:00
$reqd = mysql_query ( " SELECT `auth_level` FROM `user` WHERE `pseudo` = ' $nomuser ' " );
$resultatd = mysql_fetch_array ( $reqd );
2008-11-03 11:00:00 +00:00
if ( $resultatd [ 'auth_level' ] < 2 ) {
2008-11-22 11:00:00 +00:00
$i ++ ;
mysql_query ( " UPDATE `user` SET `place_points` = ' $i ' WHERE `pseudo` = ' $nomuser ' " );
}
else mysql_query ( " UPDATE `user` SET `place_points` = '0' WHERE `pseudo` = ' $nomuser ' " );
2007-11-21 11:00:00 +00:00
}
2008-11-30 11:00:00 +00:00
##################################################
#MAJ classement Ally
##################################################
mysql_query ( " TRUNCATE TABLE `classement_alliances` " );
//recuperation de l'id et du tag de l'ally
$sql_1 = mysql_query ( " SELECT t1.id_alliance ,t2.tag
FROM `user` AS t1
INNER JOIN `alliances` AS t2 ON t1 . id_alliance = t2 . id
GROUP BY t1 . id_alliance
" );
2008-11-04 11:00:00 +00:00
while ( $recup_id = mysql_fetch_array ( $sql_1 ))
2008-11-30 11:00:00 +00:00
{
$id_ally = $recup_id [ 'id_alliance' ];
$tag_ally = $recup_id [ 'tag' ];
2008-11-04 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
// recuperation du nombre de membre dans l'ally
$nb_members = mysql_query ( " SELECT COUNT( * )
FROM `user` AS t1
2008-11-04 11:00:00 +00:00
WHERE t1 . id_alliance = $id_ally
2008-11-30 11:00:00 +00:00
" );
2008-11-04 11:00:00 +00:00
$nb_members = mysql_fetch_row ( $nb_members );
2008-11-30 11:00:00 +00:00
// recuperation de la somme des points de l'ally
$nb_points = mysql_query ( " SELECT SUM( classement.points )
FROM classement , user
WHERE user . id_alliance = $id_ally
AND user . pseudo = classement . pseudo
" );
2008-11-04 11:00:00 +00:00
$nb_points = mysql_fetch_row ( $nb_points );
2008-11-30 11:00:00 +00:00
$nb_points_by_members = ceil ( $nb_points / $nb_members );
2008-11-04 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
// recuperation de la somme des points flottes de l'ally
$nb_points_flottes = mysql_query ( " SELECT SUM( classement.flottes )
FROM classement , user
WHERE user . id_alliance = $id_ally
AND user . pseudo = classement . pseudo
" );
2008-11-04 11:00:00 +00:00
$nb_points_flottes = mysql_fetch_row ( $nb_points_flottes );
2008-11-30 11:00:00 +00:00
$nb_points_flottes_by_members = ceil ( $nb_points_flottes / $nb_members );
2008-11-04 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
// recuperation de la somme des points terrestres de l'ally
$nb_points_terrestres = mysql_query ( " SELECT SUM( classement.terrestres )
FROM classement , user
WHERE user . id_alliance = $id_ally
AND user . pseudo = classement . pseudo
" );
2008-11-04 11:00:00 +00:00
$nb_points_terrestres = mysql_fetch_row ( $nb_points_terrestres );
2008-11-30 11:00:00 +00:00
$nb_points_terrestres_by_members = ceil ( $nb_points_terrestres / $nb_members );
2008-11-04 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
// recuperation de la somme des points recherches de l'ally
$nb_points_recherches = mysql_query ( " SELECT SUM( classement.recherches )
FROM classement , user
WHERE user . id_alliance = $id_ally
AND user . pseudo = classement . pseudo
" );
2008-11-04 11:00:00 +00:00
$nb_points_recherches = mysql_fetch_row ( $nb_points_recherches );
2008-11-30 11:00:00 +00:00
$nb_points_recherches_by_members = ceil ( $nb_points_recherches / $nb_members );
// recuperation de la somme des points batiments de l'ally
$nb_points_batiments = mysql_query ( " SELECT SUM( classement.batiments )
FROM classement , user
WHERE user . id_alliance = $id_ally
AND user . pseudo = classement . pseudo
" );
2008-11-04 11:00:00 +00:00
$nb_points_batiments = mysql_fetch_row ( $nb_points_batiments );
2008-11-30 11:00:00 +00:00
$nb_points_batiments_by_members = ceil ( $nb_points_batiments / $nb_members );
2008-11-04 11:00:00 +00:00
2008-11-30 11:00:00 +00:00
mysql_query ( " INSERT INTO `classement_alliances` VALUES (NULL, ' $tag_ally ', ' $nb_members[0] ', ' $nb_points[0] ',' $nb_points_by_members ', ' $nb_points_flottes[0] ',' $nb_points_flottes_by_members ', ' $nb_points_terrestres[0] ', ' $nb_points_terrestres_by_members ', ' $nb_points_recherches[0] ', ' $nb_points_recherches_by_members ', ' $nb_points_batiments[0] ', ' $nb_points_batiments_by_members ') " );
}
2008-11-17 11:00:00 +00:00
$chapeau -> deconnexion ();
2008-11-16 11:00:00 +00:00
print '<br />Il est : ' . date ( 'd/m/Y H:i:s' );
2008-11-30 11:00:00 +00:00
?>