Outils du site


fr:developpers:documentation_library_formula

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
fr:developpers:documentation_library_formula [2021/01/24 09:39] pitch314fr:developpers:documentation_library_formula [2021/01/27 22:23] – [Ogame formula Library] pitch314
Ligne 5: Ligne 5:
     * programmation terminée      * programmation terminée 
   * côté JS (js/ogame_formula.js), les fonctions nécessaires à des utilisations dynamiques (production, consommation, temps, coût, etc.)   * côté JS (js/ogame_formula.js), les fonctions nécessaires à des utilisations dynamiques (production, consommation, temps, coût, etc.)
-    * programmation en cours +    * programmation terminée
  
 +<note important>En Javascript, les tableaux sont des objets et sont manipulés par référence (comme en C), pointant vers la localisation du tableau.
 +
 +Contrairement au PHP, il n'y pas de copie explicite ($a = $b), il faut copier manuellement les éléments si l'on veut garder les valeurs du tableau originel.</note>
  
 ===== Types et fonctions de base ===== ===== Types et fonctions de base =====
Ligne 24: Ligne 27:
 $prod['M'] = 44; $prod['M'] = 44;
 $cout_base['M'] = ogame_array_ressource(  60   ,  15    , 0); //Prix de base d'une mine de métal. $cout_base['M'] = ogame_array_ressource(  60   ,  15    , 0); //Prix de base d'une mine de métal.
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_arrayRessource($metal, $cristal, $deut, $NRJ = 0);
 +
 +//Exemples d'utilisations
 +var result = ogame_arrayRessource(0,0,0);
 +result['M'] = 44;
 </code> </code>
  
Ligne 145: Ligne 156:
         //Faire quelque chose spécifique pour les vaisseaux         //Faire quelque chose spécifique pour les vaisseaux
     }     }
 +}
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_getElementNames();
 +function ogame_isElement(nom);
 +
 +//Exemples (utilisation comme en PHP)
 +var names = ogame_getElementNames();
 +for(var elem in names['RESS']) {    //elem ici vaut un entier pour parcourir les noms
 +    elem = names['RESS'][elem]
 +    result['prod_reel'][elem]  = Math.floor(result['prod_base'][elem]);
 } }
 </code> </code>
Ligne 184: Ligne 207:
  
 </code> </code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_productionPlanet(user_building, user_technology=null, user_data=null, server_config=null);
 +
 +//Exemples d'utilisations
 +console.log(ogame_productionPlanet({M:38,C:34,D:34,CES:28,CEF:20,CEF_percentage:80,SAT:2200,FOR:858,FOR_percentage:150,coordinates:'::8',temperature_max:47},{Plasma:19,NRJ:20},{user_class:'COL'}));
 +</code>
 +
 C'est cette fonction qui calcule la production en prenant tout en compte. C'est aussi la seule permettant de connaître la prod des différents bonus. C'est cette fonction qui calcule la production en prenant tout en compte. C'est aussi la seule permettant de connaître la prod des différents bonus.
 Sinon pour la production de base d'un bâtiment Sinon pour la production de base d'un bâtiment
Ligne 209: Ligne 240:
  
 //Connaître le nombre de FOR max : //Connaître le nombre de FOR max :
-$tmp = ogame_production_bonus_foreuse(array('FOR'=>99999,'M'=>35,'C'=>35,'D'=>35),array('user_class'=>'COL','off_ingenieur'=>1)); +/** @brief Calculates maximum number of foreuse. 
-$nb_FOR_max = $tmp['nb_FOR_maxed'];+  @param[in] int   $mine_M,$mine_C,$mine_D    Mine level 
 +  @param[in] array $user_data                 array with class and officiers infos (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')) 
 + *  @return int The max 
 + */ 
 +function ogame_production_foreuse_max($mine_M, $mine_C, $mine_D, $user_data);
 </code> </code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_productionBuilding(building, user_building=null, user_technology=null, user_data=null, server_config=null);
 +function ogame_productionForeuseMax(mine_M, mine_C, mine_D, user_data);
  
 +//Exemples d'utilisations
 +console.log(ogame_productionBuilding('base',{M:38,CES:38,coordinates:'::8'},null,null,{speed_uni:8}))
 +</code>
  
 ===== Formules des coûts ===== ===== Formules des coûts =====
Ligne 229: Ligne 271:
 $cout = ogame_element_cout('EDLM', 1000); // Le prix en ressource de 1000 EDLM $cout = ogame_element_cout('EDLM', 1000); // Le prix en ressource de 1000 EDLM
 </code> </code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_elementCoutBase(name = 'all');
 +</code>
 +
 Afin de connaître le nombre total de ressource investit il faut utilisation la fonction suivante : Afin de connaître le nombre total de ressource investit il faut utilisation la fonction suivante :
 <code php PHP> <code php PHP>
Ligne 243: Ligne 290:
 $cout = ogame_element_cumulate('M', 39); // Le nombre de ressource investit, en cumul, pour une M39 $cout = ogame_element_cumulate('M', 39); // Le nombre de ressource investit, en cumul, pour une M39
 </code> </code>
 +
 Néanmoins, dans le calcul des points d'une planète, il sera plus simple d'utiliser la fonction suivante : Néanmoins, dans le calcul des points d'une planète, il sera plus simple d'utiliser la fonction suivante :
 <code php PHP> <code php PHP>
Ligne 298: Ligne 346:
 $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200); //Temps de construction de NRJ21 avec 200 labo connectés. $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200); //Temps de construction de NRJ21 avec 200 labo connectés.
 $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200, 'EXP'); //Temps de construction de NRJ21 avec 200 labos connectés et avec les -25% de l'explorateur. $temp_NRJ  = ogame_construction_time('NRJ', 21, null, 200, 'EXP'); //Temps de construction de NRJ21 avec 200 labos connectés et avec les -25% de l'explorateur.
 +
 +$a=ogame_construction_time('NRJ',21,array('Lab'=>18,'CSp'=>12,'UdR'=>10,'UdN'=>7),234);
 +$year=gmdate('Y',$a)-1970;
 +$week=gmdate('W',$a)-1;
 +$day=gmdate('z',$a)-$week*7;
 +echo $year.'a '.$week.'s '.$day.'j '.gmdate('H:i:s',$a);"   //0a 21s 1j 17:37:13
 +</code>
 +
 +===== Formules liées à la flotte =====
 +En préliminaire, un formule permettant de fournir la distance entre 2 coordonées :
 +<code php PHP>
 +/**
 +  @brief Calculates distance between 2 coordinates.
 + *  
 +  @param[in] string $a, $b         Coordinates ('g:s:p')
 +      'g1:s1:p1'->'g2:s2:p2' : normal distance calcul
 +      ':s1:p1'->'x:s2:p2     : distance between system/planet (only system is ':s1:')
 +      '::p1'->'x:x:p2        : distance between planet
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH',  only these are checked)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @return array(int 'distance','type') [default=O,'p'], type='g' for between galaxy, 's' for between system and 'p' for between a sub-system
 + */
 +function ogame_fleet_distance($a, $b, $user_techno=null, $class='none', $server_config=null);
 +
 +//Exemples d'utilisations :
 +$distance = ogame_fleet_distance($coord_from, $coord_to, $server_config);
 +switch ($distance['type']) {
 +    case 'g':   //between galaxy
 +        //faire quelque chose avec $distance['distance'] pour une distance entre galaxies
 +        break;
 +    case 's':   //between system (so inside same galaxy)
 +        //faire quelque chose avec $distance['distance'] pour une distance entre systèmes d'une même galaxie
 +        break;
 +    case 'p':   //between sub-system (so in same galaxy and same system)
 +        if ($distance['distance'] === 0) { // to moon/cdr
 +            //faire quelque chose avec $distance['distance'] pour une distance sur la même planète (lune ou cdr)
 +        } else { //to other planet in same system
 +            //faire quelque chose avec $distance['distance'] pour une distance entre planète d'un même sous-système
 +        }
 +        break;
 +    default:
 +        break;
 +}
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_fleetDistance(a, b, user_techno=null, classe='none', server_config=null);
 +
 +//Exemples d'utilisations
 +var distance  = ogame_fleetDistance(coord_from, coord_to, server_config);
 +</code>
 +
 +Pour connaître la consommation d'un stationnement ou expédition la fonction est la suivante :
 +<code php PHP>
 +/** @brief Calculates deut consummation for parking/expe of a fleet.
 +  @param[in] int $conso The conso of the fleet
 +  @param[in] int $hour  Number of hours in parking
 +  @return float Deut conso for this hour of parking
 + */
 +function ogame_fleet_conso_statio($conso, $hour);
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_fleetConsoStatio(conso, hour);
 +</code>
 +
 +<code php PHP>
 +/**
 +  @brief Calculates the slowest chip speed of a fleet.
 + *  
 +  @param[in] array  $fleet       List of chips
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @return int the slowest speed
 + */
 +function ogame_fleet_slowest_speed($fleet, $user_techno=null, $class='none');
 +/**
 +  @brief Calculates time and conso to send a fleet.
 + *  
 +  @param[in] string $coord_from,$coord_to    Coordinates begin and end
 +  @param[in] array  $fleet                   Array of fleet and their number (array('PT'=>10,etc.))
 +  @param[in] int    $speed_per               Percentage of speed wanted
 +  @param[in] array  $user_techno             List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class                   User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config           Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @param[in] string $type                    Indicates specific mission ('statio'/'expe', 'fuite')
 +  @param[in] int    $hour_mission            Number of hour of the specific mission
 +  @return array('conso', 'time'), time in seconds (one trip only)
 + */
 +function ogame_fleet_send($coord_from, $coord_to, $fleet, $speed_per=100, $user_techno=null, $class='none', $server_config=null, $type='', $hour_mission=0)
 +
 +//Exemples d'utilisations
 +ogame_fleet_send('1:1:1','1:1:1',array('PT'=>260),100,array('RC'=>20,'RI'=>17,'PH'=>16),'COL'));
 +echo gmdate('z:H:i:s',$a['time']);  //jour:heure:minute:seconde
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_fleetSlowestSpeed(fleet, user_techno=null, classe='none');
 +function ogame_fleetSend(coord_from, coord_to, fleet, speed_per=100, user_techno=null, classe='none', server_config=null, type='', hour_mission=0);
 +
 +//Exemples d'utilisations
 +var a=ogame_fleetSend('1:1:1','1:1:1',{'PT':260},100,{'RC':20,'RI':17,'PH':16},'COL');
 +console.log(a); // { conso: 4, time: 117 }
 +var d = new Date(a['time']*1000);
 +console.log((d.getUTCDate()-1)+ ':'+ d.getUTCHours()+':'+d.getUTCMinutes()+':'+d.getUTCSeconds())
 </code> </code>
  
Ligne 335: Ligne 489:
 </code> </code>
  
-Pour connaître la consommation d'un stationnement la fonction est la suivante +Détails spécifique pour les flottes, sous-partie de PHP, qui n'offre seulement vitesse,fret et conso 
-<code php PHP+<code Javascript JS
-/** @brief Calculates deut consummation for parking of a fleet+/** @brief Return fleet moving details of Ogame vso
-  @param[in] int $conso The conso of the fleet +  @param[in] string name The name as in Database, all for all element 
-  @param[in] int $hour  Number of hours in parking +  @return array('vitesse','fret','conso',(bool)'civil')
-  @return float Deut conso for this hour of parking+
  */  */
-function ogame_fleet_conso_statio($conso, $hour);+function ogame_fleetSubDetailsBase(name = 'all'); 
 +/** @brief Calculates technical data of a fleet or defence. 
 +  @return array('nom','vitesse','fret','conso',(bool)'civil') of the wanted fleet. 
 + */ 
 +function ogame_fleetSubDetails(name, user_techno = null, classe = 'none'); 
 + 
 +console.log(ogame_fleetSubDetails('PT',{'Hyp':18,'RC':21,'RI':17,'PH':16},'GEN'));
 </code> </code>
- 
-Calcul de la durée de vol en seconde : 
-//TODO : à coder 
- 
-Calcul de la consommation de deutérium d'un voyage : 
-//TODO : à coder 
  
 ==== Les prérequis de chaque élément OGame ==== ==== Les prérequis de chaque élément OGame ====
Ligne 433: Ligne 586:
  */  */
 function ogame_find_planet_position($coordinates); function ogame_find_planet_position($coordinates);
 +/** @brief Return coordinates in array.
 +  @param[in] string $string_coord Coordinates, in string like in Database ('2:3:4')
 +  @return array('g','s','p') of int, default is 0 ('::6' give planet position of 6)
 + */
 +function ogame_find_coordinates($string_coord);
 +</code>
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +function ogame_findPlanetPosition(coordinates);
 +function ogame_findCoordinates(string_coord);
 </code> </code>
  
 ===== Récapitulatif des prototypes de fonctions de la Ogame formula Library ===== ===== Récapitulatif des prototypes de fonctions de la Ogame formula Library =====
 <code php> <code php>
 +//////////////////////////// BASE fonctions : //////////////////////////////////
 /** @brief Get an Ogame resources array. /** @brief Get an Ogame resources array.
  *    *  
Ligne 473: Ligne 637:
  */  */
 function ogame_find_planet_position($coordinates); function ogame_find_planet_position($coordinates);
 +/** @brief Return coordinates in array.
 +  @param[in] string $string_coord Coordinates, in string like in Database ('2:3:4')
 +  @return array('g','s','p') of int, default is 0 ('::6' give planet position of 6)
 + */
 +function ogame_find_coordinates($string_coord);
  
 ////////////////////////// PRODUCTION fonctions : ////////////////////////////// ////////////////////////// PRODUCTION fonctions : //////////////////////////////
Ligne 480: Ligne 649:
  */  */
 function ogame_production_position($position); function ogame_production_position($position);
 +/** @brief Calculates maximum number of foreuse.
 +  @param[in] int   $mine_M,$mine_C,$mine_D    Mine level
 +  @param[in] array $user_data                 array with class and officiers infos (array('user_class'=>'COL'/...,'off_geologue' or 'off_full'))
 +  @return int The max
 + */
 +function ogame_production_foreuse_max($mine_M, $mine_C, $mine_D, $user_data);
 /** @brief Calculates foreuse coefficient on base production. /** @brief Calculates foreuse coefficient on base production.
   @param[in] array $user_building array of mines level and FOR number (array('M','C','D','FOR'))   @param[in] array $user_building array of mines level and FOR number (array('M','C','D','FOR'))
Ligne 485: Ligne 660:
   @return array('bonus', 'nb_FOR_maxed') bonus=foreuse bonus coefficient ; nb_FOR_maxed=limit nb if too much   @return array('bonus', 'nb_FOR_maxed') bonus=foreuse bonus coefficient ; nb_FOR_maxed=limit nb if too much
  */  */
-function ogame_production_bonus_foreuse($user_building, $user_data);+function ogame_production_foreuse_bonus($user_building, $user_data);
 /** @brief Calculates building/sat/for or base production and consumption. /** @brief Calculates building/sat/for or base production and consumption.
  *    *  
Ligne 588: Ligne 763:
  */  */
 function ogame_fleet_conso_statio($conso, $hour); function ogame_fleet_conso_statio($conso, $hour);
 +/**
 +  @brief Calculates the slowest chip speed of a fleet.
 + *  
 +  @param[in] array  $fleet       List of chips
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @return int the slowest speed
 + */
 +function ogame_fleet_slowest_speed($fleet, $user_techno=null, $class='none');
 +/**
 +  @brief Calculates distance between 2 coordinates.
 + *  
 +  @param[in] string $a, $b         Coordinates ('g:s:p')
 +      'g1:s1:p1'->'g2:s2:p2' : normal distance calcul
 +      ':s1:p1'->'x:s2:p2     : distance between system/planet (only system is ':s1:')
 +      '::p1'->'x:x:p2        : distance between planet
 +  @param[in] array  $user_techno List of techno ('RC','RI','PH',  only these are checked)
 +  @param[in] string $class       User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @return array(int 'distance','type') [default=O,'p'], type='g' for between galaxy, 's' for between system and 'p' for between a sub-system
 + */
 +function ogame_fleet_distance($a, $b, $user_techno=null, $class='none', $server_config=null);
 +/**
 +  @brief Calculates time and conso to send a fleet.
 + *  
 +  @param[in] string $coord_from,$coord_to    Coordinates begin and end
 +  @param[in] array  $fleet                   Array of fleet and their number (array('PT'=>10,etc.))
 +  @param[in] int    $speed_per               Percentage of speed wanted
 +  @param[in] array  $user_techno             List of techno ('RC','RI','PH', le reste est ignoré)
 +  @param[in] string $class                   User class ($user_data['user_class']=array('user_class'=>'COL'/GEN/EXP/none))
 +  @param[in] array  $server_config           Info of universe ('num_of_galaxies','num_of_systems','donutGalaxy','donutSystem' only these are checked) default 9/499/1/1
 +  @param[in] string $type                    Indicates specific mission ('statio'/'expe', 'fuite')
 +  @param[in] int    $hour_mission            Number of hour of the specific mission
 +  @return array('conso', 'time'), time in seconds (one trip only)
 + */
 +function ogame_fleet_send($coord_from, $coord_to, $fleet, $speed_per=100, $user_techno=null, $class='none', $server_config=null, $type='', $hour_mission=0)
 /** @brief Return base details of Ogame def/vso. /** @brief Return base details of Ogame def/vso.
   @param[in] string $name The name as in Database, all for all element   @param[in] string $name The name as in Database, all for all element
Ligne 593: Ligne 804:
       rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from       rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from
  */  */
 +
 function ogame_elements_details_base($name = 'all'); function ogame_elements_details_base($name = 'all');
 /** @brief Calculates technical data of a fleet or defence. /** @brief Calculates technical data of a fleet or defence.
Ligne 601: Ligne 813:
   @return array('nom','structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil',(array)'cout') of the wanted fleet or defence.   @return array('nom','structure','bouclier','attaque','vitesse','fret','conso',(array)'rapidfire',(bool)'civil',(array)'cout') of the wanted fleet or defence.
       rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from       rapidfire=array('PT'=>x, ...) array of all fleet and defence; if x>0 then again else from
-      cout=array of ogame_element_cumulate()=array('M','C','D','NRJ)+      cout=array of ogame_element_cumulate()=array('M','C','D','NRJ')
  */  */
 function ogame_elements_details($name, $user_techno = null, $classe = 0); function ogame_elements_details($name, $user_techno = null, $classe = 0);
Ligne 650: Ligne 862:
  */  */
 function ogame_terra_case($level); function ogame_terra_case($level);
 +</code>
 +
 +<code Javascript JS>
 +/** Voir description des fonctions côté PHP **/
 +//////////////////////////// BASE fonctions : //////////////////////////////////
 +/** @return array('M','C','D','NRJ'), default is 0 */
 +function ogame_arrayRessource($metal, $cristal, $deut, $NRJ = 0);
 +function ogame_getElementNames();
 +function ogame_isElement(nom);
 +function ogame_findPlanetPosition(coordinates);
 +function ogame_findCoordinates(string_coord);   /** return array('g','s','p') of int, default is 0 */
 +
 +////////////////////////// PRODUCTION fonctions : //////////////////////////////
 +function ogame_productionPosition(position);
 +function ogame_productionForeuseMax(mine_M, mine_C, mine_D, user_data);
 +function ogame_productionForeuseBonus(user_building, user_data); /** return array('bonus','nb_FOR_maxed') bonus=foreuse bonus coefficient ; nb_FOR_maxed=limit nb if too much */
 +/** @brief Calculates building/sat/for or base production and consumption.
 + *  
 +  @param[in] string $building        The wanted building/sat/for ('base','M','C','D','CES','CEF','SAT','FOR')
 +  @param[in] array  $user_building   Planet info ('M','C','D','CES','CEF','SAT','FOR','temperature_max','coordinates') 0 as default value
 +  @param[in] array  $user_technology Techno info ('NRJ') 0 as default value
 +  @param[in] array  $user_data       User info for FOR only (array('user_class'=>'COL'/...,'off_geologue' or 'off_full')
 +  @param[in] array  $server_config   Ogame universe info ('speed_uni',(bool)'final_calcul') / final_calcul permet de déterminer si les valeurs retournées seront manipulées avec les % de production ressources, et donc sans arrondi.
 +  @return array('M','C','D','NRJ') of production
 +*/
 +function ogame_productionBuilding(building, user_building=null, user_technology=null, user_data=null, server_config=null);
 +/** @brief Calculates planet production and consumption.
 + *  
 +  @param[in] array $user_building   Planet info ('M','C','D','CES','CEF','SAT','FOR','temperature_max','coordinates','M_percentage','C_percentage','D_percentage','CES_percentage','CEF_percentage','Sat_percentage','FOR_percentage',array 'booster_tab') 0 as default value
 +  @param[in] array $user_technology Techno info ('NRJ','Plasma'
 +  @param[in] array $user_data       User info ('user_class'=>'COL'/...,'off_commandant','off_amiral','off_ingenieur','off_geologue', or 'off_full')
 +  @param[in] array $server_config   Ogame universe info ('speed_uni')
 +  @return array('prod_reel, // (array ress) Production réel en prenant en compte le ratio (M/C/D ressources, NRJ prod moins la conso)
 +      'prod_theorique',     // (array ress) Producton théorique M/C/D (ratio=1, 100%)
 +      'ratio',              // (float) le ratio de production NRJ (prod_E / conso_E)
 +      'conso_E','prod_E',   // (float) Production NRJ prod_E > 0, conso_E < 0
 +      'prod_CES','prod_CEF','prod_SAT', // (array ress) production énergie de chaque unité ('D' de prod_CEF contient la conso en deut de la CEF)
 +      'prod_FOR',           // (array ress) production M/C/D et conso NRJ
 +      'prod_M','prod_C','prod_D','prod_base', // (array ress) Production ressources de chaque mine (M/C/D) et leur conso (NRJ)
 +      'prod_booster','prod_off','prod_Plasma','prod_classe',   // (array ress) Production des bonus
 +      'M','C','D','NRJ', =>héritage du type ressource pour les valeurs retournées.
 +      'nb_FOR_maxed',       // (int) Nombre max de foreuse utilisées
 +      ) à part ratio/conso_E/prod_E (float) les autres sont array('M','C','D','NRJ')
 + */
 +function ogame_productionPlanet(user_building, user_technology=null, user_data=null, server_config=null);
 +
 +//////////////////////////// FLOTTE fonctions : ////////////////////////////////
 +/** return array('vitesse','fret','conso',(bool)'civil') */
 +function ogame_arraySubDetail(vitesse=0, fret=0, conso=0, civil=true);
 +/** @brief Return fleet moving details of Ogame vso.
 +  @param[in] string name The name as in Database, all for all element
 +  @return array('vitesse','fret','conso',(bool)'civil')
 + */
 +function ogame_fleetSubDetailsBase(name = 'all');
 +/** @brief Calculates technical data of a fleet or defence.
 +  @return array('nom','vitesse','fret','conso',(bool)'civil') of the wanted fleet.
 + */
 +function ogame_fleetSubDetails(name, user_techno = null, classe = 'none');
 +function ogame_fleetConsoStatio(conso, hour);
 +function ogame_fleetSlowestSpeed(fleet, user_techno=null, classe='none');
 +function ogame_fleetDistance(a, b, user_techno=null, classe='none', server_config=null);
 +function ogame_fleetSend(coord_from, coord_to, fleet, speed_per=100, user_techno=null, classe='none', server_config=null, type='', hour_mission=0);
 +
 +//////////////////////////// COUT fonctions : //////////////////////////////////
 +function ogame_elementCoutBase(name = 'all');
 </code> </code>