2007-11-05 11:00:00 +00:00
< ? php
$id = $_SESSION [ 'id' ];
$g = $_SESSION [ 'galaxy' ];
$s = $_SESSION [ 'ss' ];
$p = $_SESSION [ 'pos' ];
$race = $_SESSION [ 'race' ];
2007-11-20 11:00:00 +00:00
require_once ( '../fonctions.php' );
2007-11-05 11:00:00 +00:00
require ( '../connectBDD.php' );
require_once 'noms.php' ;
$appel = mysql_query ( " SELECT * FROM planete WHERE id_user=' $id ' AND galaxie=' $g ' AND ss=' $s 'AND position=' $p ' " );
$ressource = mysql_fetch_array ( $appel );
$mine_m = $ressource [ 'mine_m' ];
2007-11-13 11:00:00 +00:00
$coeff_mine_m = $ressource [ 'coeff_mine_m' ];
if ( $coeff_mine_m < 0 ) $coeff_mine_m = 0 ;
if ( $coeff_mine_m > 1 ) $coeff_mine_m = 1 ;
2007-11-05 11:00:00 +00:00
$mine_c = $ressource [ 'mine_c' ];
2007-11-13 11:00:00 +00:00
$coeff_mine_c = $ressource [ 'coeff_mine_c' ];
if ( $coeff_mine_c < 0 ) $coeff_mine_c = 0 ;
if ( $coeff_mine_c > 1 ) $coeff_mine_c = 1 ;
2007-11-05 11:00:00 +00:00
$mine_h = $ressource [ 'mine_h' ];
2007-11-13 11:00:00 +00:00
$coeff_mine_h = $ressource [ 'coeff_mine_h' ];
if ( $coeff_mine_h < 0 ) $coeff_mine_h = 0 ;
if ( $coeff_mine_h > 1 ) $coeff_mine_h = 1 ;
2007-11-05 11:00:00 +00:00
$centrale_s = $ressource [ 'centrale_s' ];
2007-11-13 11:00:00 +00:00
$coeff_centrale_s = $ressource [ 'coeff_centrale_s' ];
if ( $coeff_centrale_s < 0 ) $coeff_centrale_s = 0 ;
if ( $coeff_centrale_s > 1 ) $coeff_centrale_s = 1 ;
2007-11-05 11:00:00 +00:00
$centrale_f = $ressource [ 'centrale_f' ];
2007-11-13 11:00:00 +00:00
$coeff_centrale_f = $ressource [ 'coeff_centrale_f' ];
$coeff_energie_f = $ressource [ 'coeff_centrale_f' ];
if ( $coeff_centrale_f < 0 ) $coeff_centrale_f = 0 ;
if ( $coeff_centrale_f > 1 ) $coeff_centrale_f = 1 ;
if ( $coeff_energie_f < 0 ) $coeff_energie_f = 0 ;
if ( $coeff_energie_f > 1 ) $coeff_energie_f = 1 ;
2007-11-05 11:00:00 +00:00
$temps_actuel = time ();
$temps_ancien = $ressource [ 'timestamp' ];
$temps_ecoule = $temps_actuel - $temps_ancien ;
$cap = ( pow ( 2 , $ressource [ 'silo' ]) * 100000 );
$metal = $ressource [ 'metal' ];
$cristal = $ressource [ 'cristal' ];
$hydrogene = $ressource [ 'hydrogene' ];
//---------------Productions--------
if ( $mine_m > 0 ) $energie_m = ceil (( exp ( $mine_m * 0.28 ) * 10 )); else $energie_m = 0 ;
if ( $mine_c > 0 ) $energie_c = ceil (( exp ( $mine_c * 0.28 ) * 10 )); else $energie_c = 0 ;
if ( $mine_h > 0 ) $energie_h = ceil (( exp ( $mine_h * 0.31 ) * 10 )); else $energie_h = 0 ;
2007-11-13 11:00:00 +00:00
if ( $centrale_f > 0 ) $energie_f = ceil ((( $centrale_f * 80 + ( exp ( $centrale_f * 0.38 ) * 11 )))); else $energie_f = 0 ;
if ( $centrale_s > 0 ) $energie_s = ceil ((( $centrale_s * 20 + ( exp ( $centrale_s * 0.3 ) * 10 )))); else $energie_s = 0 ;
2007-11-05 11:00:00 +00:00
2007-11-20 11:00:00 +00:00
//Calcul de la consomation d'<27> nergie
2007-11-13 11:00:00 +00:00
$nrj = $energie_m + $energie_c + $energie_h ;
2007-11-05 11:00:00 +00:00
2007-11-20 11:00:00 +00:00
//Calcul de la production d'<27> nergie
2007-11-13 11:00:00 +00:00
$t = $energie_s * $coeff_centrale_s + $energie_f * $coeff_centrale_f ;
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
$coeff = $t / $nrj ;
2007-11-05 11:00:00 +00:00
2007-11-20 11:00:00 +00:00
if ( $coeff < 0 ) $coeff = 0 ;
2007-11-13 11:00:00 +00:00
elseif ( $coeff == 0 ) $coeff = 0 ;
elseif ( $coeff > 1 ) $coeff = 1 ;
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
//Calcul des proportions
$point = $coeff * 3 ;
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $coeff_mine_m + $coeff_mine_c + $coeff_mine_h != 0 ) {
$p_mine_m = $coeff_mine_m / ( $coeff_mine_m + $coeff_mine_c + $coeff_mine_h );
$p_mine_c = $coeff_mine_c / ( $coeff_mine_m + $coeff_mine_c + $coeff_mine_h );
$p_mine_h = $coeff_mine_h / ( $coeff_mine_m + $coeff_mine_c + $coeff_mine_h );
}
2007-11-05 11:00:00 +00:00
else {
2007-11-13 11:00:00 +00:00
$p_mine_m = 0.33333333 ;
$p_mine_c = 0.33333333 ;
$p_mine_h = 0.33333333 ;
2007-11-05 11:00:00 +00:00
}
2007-11-13 11:00:00 +00:00
$Ncoeff_mine_m = $point * $p_mine_m ;
$Ncoeff_mine_c = $point * $p_mine_c ;
$Ncoeff_mine_h = $point * $p_mine_h ;
if ( $Ncoeff_mine_m > 1 ) $Ncoeff_mine_m = 1 ;
if ( $Ncoeff_mine_c > 1 ) $Ncoeff_mine_c = 1 ;
if ( $Ncoeff_mine_h > 1 ) $Ncoeff_mine_h = 1 ;
//if ($Ncoeff_mine_m < $coeff_mine_m) {
mysql_query ( " UPDATE planete SET coeff_mine_m=' $Ncoeff_mine_m ' WHERE id_user=' $id ' AND galaxie=' $g ' AND ss=' $s 'AND position=' $p ' " );
$coeff_mine_m = $Ncoeff_mine_m ;
//}
//if ($Ncoeff_mine_c < $coeff_mine_c) {
mysql_query ( " UPDATE planete SET coeff_mine_c=' $Ncoeff_mine_c ' WHERE id_user=' $id ' AND galaxie=' $g ' AND ss=' $s 'AND position=' $p ' " );
$coeff_mine_c = $Ncoeff_mine_c ;
//}
//if ($Ncoeff_mine_h < $coeff_mine_h) {
mysql_query ( " UPDATE planete SET coeff_mine_h=' $Ncoeff_mine_h ' WHERE id_user=' $id ' AND galaxie=' $g ' AND ss=' $s 'AND position=' $p ' " );
$coeff_mine_h = $Ncoeff_mine_h ;
//}
if ( $metal >= $cap ) {
$prod_met = 0 ;
$metal = $cap ;
}
2007-11-05 11:00:00 +00:00
else {
2007-11-13 11:00:00 +00:00
if ( $mine_m < 0 ) $prod_met = 0.011 * $temps_ecoule ;
else $prod_met = (( ceil (((( $mine_m * 32 ) + ( pow ( 1.41 , $mine_m ) * exp ( 0.066 * $mine_m ))) / 0.36 ) * $temps_ecoule ) / 10000 ) * 3.7 + 0.011 * $temps_ecoule ) * $coeff_mine_m ;
2007-11-05 11:00:00 +00:00
}
2007-11-13 11:00:00 +00:00
if ( $cristal >= $cap ) {
$prod_cri = 0 ;
$cristal = $cap ;
}
2007-11-05 11:00:00 +00:00
else {
2007-11-13 11:00:00 +00:00
if ( $mine_c < 0 ) $prod_cri = 0.0055 * $temps_ecoule ;
else $prod_cri = ((( ceil (((( $mine_c * 13 ) + ( pow ( 1.36 , $mine_c ) * exp ( 0.0675 * $mine_c ))) / 0.36 ) * $temps_ecoule ) / 10000 ) * 7 ) + 0.0055 * $temps_ecoule ) * $coeff_mine_c ;
}
2007-11-05 11:00:00 +00:00
2007-11-13 11:00:00 +00:00
if ( $hydrogene >= $cap ) {
$prod_hy = 0 ;
$hydrogene = $cap ;
}
else {
2007-11-05 11:00:00 +00:00
if ( $mine_h < 0 ) $prod_hy = 0 ;
2007-11-13 11:00:00 +00:00
else $prod_hy = (((( floor (((( $mine_h * 12 ) + ( pow ( 1.394 , $mine_h ) * exp ( 0.072 * $mine_h ))) / 0.36 ) * $temps_ecoule ) / 10000 ) * 5 )) - $conso_h ) * $coeff_mine_h ;
2007-11-05 11:00:00 +00:00
if ( $mine_h == 0 ) $prod_hy = 0 ;
if ( $prod_hy < 0 ) $prod_hy = 0 ;
}
2007-11-13 11:00:00 +00:00
if ( $centrale_f > 0 ) $conso_h = (( ceil ((( $centrale_f * 5 + ( exp ( $centrale_f * 0.3 ) * 10 ))) / 0.36 ) / 10000 ) * $temps_ecoule ) * $coeff_energie_f ;
else $conso_h = 0 ;
$prod_mineh = $prod_hy ;
$prod_hysv = $prod_hy ;
$prod_hy -= $conso_h ;
if ( $hydrogene + $prod_hy < 0 ) {
$prod_hy = $prod_hysv ;
$conso_h = 0 ;
$coeff_energie_f = 0 ;
}
elseif (( ceil ((( $centrale_f * 5 + ( exp ( $centrale_f * 0.3 ) * 10 ))) / 0.36 ) / 10000 ) * 3600 <= $hydrogene / 5 && $coeff_energie_f == 0 ) {
$coeff_energie_f = 1 ;
}
2007-11-05 11:00:00 +00:00
$a = $metal + $prod_met ;
$b = $cristal + $prod_cri ;
$c = $hydrogene + $prod_hy ;
2007-11-13 11:00:00 +00:00
$u = ( $energie_s * $coeff_energie_s + $energie_f * $coeff_energie_f );
2007-11-05 11:00:00 +00:00
//---------------M.A.J--------------
2007-11-13 11:00:00 +00:00
mysql_query ( " UPDATE planete SET timestamp=' $temps_actuel ', metal=' $a ', cristal=' $b ', hydrogene=' $c ', coeff=' $coeff ', energie=' $t ', coeff_centrale_f=' $coeff_energie_f ' WHERE id_user=' $id ' AND galaxie=' $g ' AND ss=' $s 'AND position=' $p ' " );
2007-11-05 11:00:00 +00:00
$pseudoz = $ressource [ 'pseudo' ];
$req = mysql_query ( " SELECT id, galaxie, ss, position, nom_planete FROM planete WHERE id_user=' $id ' " );
2007-11-20 11:00:00 +00:00
$reqIsol = mysql_query ( " SELECT id FROM planete WHERE id_user=' $id ' AND isolement != '0' " );
2007-11-05 11:00:00 +00:00
$RES_IMAGE = $image ;
$Aplan_ref = '' ; $Aplan_value = '' ; $Aplan_more = '' ;
2007-11-20 11:00:00 +00:00
for ( $i = 0 ; $i < mysql_num_rows ( $req ); $i ++ ) {
$x = mysql_query ( " SELECT * FROM planete WHERE id_user=' $id ' ORDER BY id DESC LIMIT $i ,1 " );
2007-11-05 11:00:00 +00:00
$d = mysql_fetch_array ( $x );
2007-11-20 11:00:00 +00:00
if ( $d [ 'isolement' ] != 0 && $d [ 'isolement' ] + ( mysql_num_rows ( $req ) - 10 ) * 7200 <= time ()) {
$Aplan_value .= $d [ 'id' ] . ' ' ;
if ( $d [ 'galaxie' ] == $_SESSION [ 'galaxy' ] && $d [ 'ss' ] == $_SESSION [ 'ss' ] && $d [ 'position' ] == $_SESSION [ 'pos' ]) $Aplan_more .= ' selected="selected";' ;
else $Aplan_more .= ';' ;
$Aplan_ref .= $d [ 'nom_planete' ] . ' [' . $d [ 'galaxie' ] . ':' . $d [ 'ss' ] . ':' . $d [ 'position' ] . '];' ;
$nextIsol = $d [ 'isolement' ] + ( mysql_num_rows ( $req ) - 10 ) * 7200 + rand ( 83000 , 170000 );
mysql_query ( " UPDATE planete SET isolement=' $nextIsol ' WHERE id_user=' $id ' AND galaxie=' " . $d [ 'galaxie' ] . " ' AND ss=' " . $d [ 'ss' ] . " 'AND position=' " . $d [ 'position' ] . " ' " );
}
elseif ( $d [ 'isolement' ] + ( mysql_num_rows ( $req ) - 10 ) * 7200 < time () || $d [ 'isolement' ] == 0 ) {
$Aplan_value .= $d [ 'id' ] . ' ' ;
if ( $d [ 'galaxie' ] == $_SESSION [ 'galaxy' ] && $d [ 'ss' ] == $_SESSION [ 'ss' ] && $d [ 'position' ] == $_SESSION [ 'pos' ]) $Aplan_more .= ' selected="selected";' ;
else $Aplan_more .= ';' ;
$Aplan_ref .= $d [ 'nom_planete' ] . ' [' . $d [ 'galaxie' ] . ':' . $d [ 'ss' ] . ':' . $d [ 'position' ] . '];' ;
}
elseif ( $d [ 'galaxie' ] == $_SESSION [ 'galaxy' ] && $d [ 'ss' ] == $_SESSION [ 'ss' ] && $d [ 'position' ] == $_SESSION [ 'pos' ]) {
$time = time ();
mysql_query ( " UPDATE planete SET isolement=' $time ' WHERE id_user=' $id ' AND galaxie=' " . $d [ 'galaxie' ] . " ' AND ss=' " . $d [ 'ss' ] . " 'AND position=' " . $d [ 'position' ] . " ' " );
}
2007-11-05 11:00:00 +00:00
}
$Aplan_value = split ( ' ' , trim ( $Aplan_value ));
2007-11-20 11:00:00 +00:00
$Aplan_more = split ( ';' , trim ( $Aplan_more ));
2007-11-05 11:00:00 +00:00
$Aplan_ref = split ( ';' , trim ( $Aplan_ref ));
$NOM_METAL = $ressourc [ 0 ];
$NOM_CRISTAL = $ressourc [ 1 ];
$NOM_HYDROGENE = $ressourc [ 2 ];
$NOM_ENERGIE = $ressourc [ 3 ];
2007-11-20 11:00:00 +00:00
$RES_METAL = separerNombres ( floor ( $a ));
$RES_CRISTAL = separerNombres ( floor ( $b ));
$RES_HYDROGENE = separerNombres ( floor ( $c ));
2007-11-13 11:00:00 +00:00
// $RES_ENERGIE = separerNombres(intval($t-$nrj)).'/'.separerNombres($t);
$RES_ENERGIE = separerNombres ( intval ( $nrj )) . '/' . separerNombres ( $u );
2007-11-05 11:00:00 +00:00
mysql_close ();
?>