[Mod] inactifs

Démarré par machine, 16 Novembre 2012, 10:53:22

« précédent - suivant »

machine

bonjour,

oui, cela m'a ete signalé, sur bitbucket, ca reste un mystère ...

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

iguypouf

Y a un problème sur le nom :)

Perso j'ai :
- renommé mon mod en "Inactifs"
- modifié le fichier update.php pour mettre mod_name à "Inactifs"
- relancé la MAJ et là > nickel

Trimarcisia

Bonsoir,

120 jours ça fait long et surtout ça permet à Ogame de faire moult modifications...

Pour moi, le module ne sut même pas s'installer...

J'ai un joli petit cadre dans lequel il y a marqué :

Message Système

Interruption suite à une erreur fatale

Retour

Donc je reste sur ma faim...

Je suis sous :

- Firefox version 23.0.1
- Barre Xtense version 2.5.5
- OGSpy version 3.1.3
- Analyse Inactifs version 1.0.3

Merci de me tenir au courant

machine

au niveau du journal y a t il quelque chose de noter ????

Merci de me tenir au courant

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Trimarcisia

A savoir pourquoi....

Le nom du dossier avait l'initiale en majuscule.... Et ça il aime pas !

Nom rectifié et ça marche.....................

Merci pour l'info au sujet du journal, je n'y avais pas pensé...

machine

pas de soucis,


le mod venait de autoupdate ?

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Trimarcisia

Oui, il est dans AutoUpDate...

machine


Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Dudule

Bonjour,

Je me permet de relancer le sujet sur ce MOD qui est fort intéressant, mais qui je pense devrais avoir une petite amélioration, qui peut être rapide qui plus est ( je pense ).

Dans l'onglet "Analyse Mines Inactifs" nous pouvons avoir le niveau de mines des inactifs dans un secteur choisi, et du fait il y à un calcul qui nous donne le nombre de PT nécessaire par jour pour vider cet inactifs.
Tout cela fonctionne bien.

Mais pour moi il y à une chose non pris en compte, la production d'énergie.

Je m'étais fait un classeur excell renseignant a la mano tout cela, hors production d'énergie. Grâce à cela, tout comme la on peut avoir l'info sur ce mod la, nous pouvons savoir qui produit le plus en théorie.
Sauf que la théorie, on sait ce que ça donne :p
Je me suis vite rendus compte de mon défaut sur mon classeur excell, que j'ai corrigé en intégrant la production électrique des planètes.

Certains inactifs, n'avais pas de centrale, et au final produisait beaucoup moins.
Je pense qu'il serait donc intéressant, en plus des niveaux de mines, d'avoir le niveau des CES et CEF ainsi nous pourrons calculer la production réelle.
Et ensuite, classer ces inactifs comme actuellement, mais avec cette production réelle.

Qu'en pensez vous ?

Pour moi n'y connaissant pas grand chose en programmation, il faudrait juste, ajouter 2 colonnes en remontant le niveau de CES et CEF, et du fait calculer la production de celle ci, la consommation des 3 mines selon leur niveau. Ainsi on aura un pourcentage de production possible, et on prend la production des trois mines multiplier par le coefficient de pourcentage.

L'idée me semble judicieuse, et pas forcement complexe à mettre.
Qu'en pensez vous ?
Je peux être disponible si besoin pour faire des tests, calcul à la main pour vérifier ect :)
hébergeur : Free-h , ogspy 3.1.0, mod xtense 2.4.0 , Script GM xtense 2.4.0.4

Jedinight

Bonjour,

Y'a de l'idée dans ce que tu dis et c'est vrai que ca serait mieux de se baser sur le prod réelle en effet.

Après je laisse le soin au propriétaire de ce mod de répondre à la faisabilité de la chose ;)

Mods : Gestion des attaques, Convertisseur, Xtense
Applis : Xtense for Firefox, OGSpy Android
Actuellement en dev : OGSpy Android

Dudule

24 Février 2015, 16:24:42 #25 Dernière édition: 24 Février 2015, 17:37:44 par Dudule
J'ai peu de base en php, mais je suis chaud patate aujourd'hui !

J'ai fait la modif, et je l'ai testé avec succès sur mon Ogspy.

Le fichier à modifier est le suivant : AnalyseMI.php

Voici son code de base :

<?php

if (!
defined('IN_SPYOGAME')) die("Hacking attempt");

global $db$prefixe;
    
    
     
$value = array() ;
     
$value tab_recherche() ;
     
//rajouter vitesse univers
//requete V3
$request_ogspy_universe_inactif "SELECT coordinates, max(datere),energie, M, C, D, lower(player)
FROM "
.TABLE_PARSEDSPY.", ".TABLE_UNIVERSE."
where `coordinates`=CONCAT(`galaxy`,':',`system`,':',`row`)
and (status = 'i') and galaxy <= "
.$value["g_max"]." and galaxy >= ".$value["g_min"]."  and system >= ".$value["s_min"]."  and system <= ".$value["s_max"].
                                        and dateRE > "
.since($value["since"])."
and M > 1
group by coordinates"
;


$result_ogspy_universe_inactif $db->sql_query($request_ogspy_universe_inactif);
$tab_player = array();
$index_tab 0;

while(list($coordinates$datere ,$energie$M$C$D$player)=$db->sql_fetch_row($result_ogspy_universe_inactif)){

//température moyenne
$temperature 60;
$metal_heure 20 round(floor(30 $M pow(1.1$M)));
$cristal_heure 10 round(floor(20 $C pow(1.1$C)));
$deut_heure round(floor(10 $D pow(1.1$D) * (-0.002 $temperature 1.28)));

// nb pt de produit
$prod_pt = ($metal_heure+$cristal_heure+$deut_heure)*24/5000;
if(isset($server_config['xtense_universe'])) 
{
$prod_pt $prod_pt $server_config['speed_uni'];
}
$tab_player[$index_tab] = "$player|$coordinates|$M|$C|$D|$prod_pt";
$index_tab++;
}

$nb_colonne 6;
if(isset($pub_order_by)) $order_by $pub_order_by;
else $order_by 2;

if(isset($pub_sens)) $sens $pub_sens;
else $sens 1;
//--------------------------------------
//algorithme de tri sur la colonne n° order_by
$tabAlgo = array();
$sort_by SORT_REGULAR;
$tabAlgo preparationTri($tab_player$nb_colonne);
if(count($tabAlgo) > 0)
{
$a $tabAlgo[$order_by];
if($sens == 1) arsort($a$sort_by);
if($sens == 2) asort($a$sort_by);
}
//---------------------------------------
  echo $value["html"];
      
echo "<table cellpudding=0 cellspacing=0 border=1>";
$link ="index.php?action=".ACTION."&subaction=analyseMI&since=".$value["since"]."&g_max=".$value["g_max"]."&g_min=".$value["g_min"]."&s_max=".$value["s_max"]."&s_min=".$value["s_min"]."";

echo "<tr><th><a href='".$link."&order_by=0&sens=1'><img src='".$prefixe."images/asc.png'></a>  Nom  <a href='".$link."&order_by=0&sens=2'><img src='".$prefixe."images/desc.png'></a></th>";
if(UNITROUVE) echo "<th>War riders</th>";
echo "<th><a href='".$link."&order_by=1&sens=1'><img src='".$prefixe."images/asc.png'></a>  Coord ".help("analyseMI_ouvrir_re")." <a href='".$link."&order_by=1&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=2&sens=1'><img src='".$prefixe."images/asc.png'></a>  M  <a href='".$link."&order_by=2&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=3&sens=1'><img src='".$prefixe."images/asc.png'></a>  C  <a href='".$link."&order_by=3&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=4&sens=1'><img src='".$prefixe."images/asc.png'></a>  D  <a href='".$link."&order_by=4&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=5&sens=1'><img src='".$prefixe."images/asc.png'></a>  PT/jour ".help("analyseMI_pt")." <a href='".$link."&order_by=5&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
</tr>"
;

if(count($tabAlgo) > 0)
{
foreach ($a as $k => $v){

$coords explode(':',$tabAlgo[1][$k]);
echo "<tr>";
echo "<td><a href='".SEARCH.$tabAlgo[0][$k]."&strict=on'>".$tabAlgo[0][$k]."</a></td>";
if(UNITROUVE) echo "<td><a href='".WARRIDERS.$tabAlgo[0][$k]."'>".$tabAlgo[0][$k]."</a></td>";
//echo "<td><a href='index.php?action=show_reportspy&galaxy=".$coords[0]."&system=".$coords[1]."&row=".$coords[2]."'>".$tabAlgo[1][$k]."</a></td>";
echo "<td><a href="#" onclick="window.open('index.php?action=show_reportspy&amp;galaxy=".$coords[0]."&amp;system=".$coords[1]."&amp;row=".$coords[2]."','_blank','width=640, height=480, toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0');return(false)">".$tabAlgo[1][$k]."</a></td>";
                
echo "<td style='text-align:center;'>".$tabAlgo[2][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[3][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[4][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[5][$k]."</td>";
echo "</tr>";
}
}
echo "</table>";

?>



Voici le code à modifier :

<?php

if (!
defined('IN_SPYOGAME')) die("Hacking attempt");

global $db$prefixe;
    
    
     
$value = array() ;
     
$value tab_recherche() ;
     
//rajouter vitesse univers
//requete V3
$request_ogspy_universe_inactif "SELECT coordinates, max(datere),energie, M, C, D, CES, CEF, NRJ, lower(player)
FROM "
.TABLE_PARSEDSPY.", ".TABLE_UNIVERSE."
where `coordinates`=CONCAT(`galaxy`,':',`system`,':',`row`)
and (status = 'i') and galaxy <= "
.$value["g_max"]." and galaxy >= ".$value["g_min"]."  and system >= ".$value["s_min"]."  and system <= ".$value["s_max"].
                                        and dateRE > "
.since($value["since"])."
and M > 1
group by coordinates"
;


$result_ogspy_universe_inactif $db->sql_query($request_ogspy_universe_inactif);
$tab_player = array();
$index_tab 0;

while(list($coordinates$datere ,$energie$M$C$D$CES$CEF$NRJ$player)=$db->sql_fetch_row($result_ogspy_universe_inactif)){

//température moyenne
$temperature 60;
$metal_heure 20 round(floor(30 $M pow(1.1$M)));
$cristal_heure 10 round(floor(20 $C pow(1.1$C)));
$deut_heure round(floor(10 $D pow(1.1$D) * (-0.002 $temperature 1.28)));

//calcul de la production
$prod_CES round(floor(20 $CES pow(1.1$CES)));
$prod_CEF round(floor(30 $CEF pow((1.05+($NRJ/100)), $CEF)));
$prod_NRJ $prod_CES $prod_CEF;

//calcul de la consommation des mines
$conso_metal round(floor(10 $M pow(1.1$M)));
$conso_cristal round(floor(10 $C pow(1.1$C)));
$conso_deut round(floor(30 $D pow(1.1$D)));
$conso_total $conso_metal $conso_cristal $conso_deut;

//coefficient de production possible
$bilan_energie =  $prod_NRJ $conso_total ;

// nb pt de produit
$prod_reel floor((($metal_heure+$cristal_heure+$deut_heure)*24)*$bilan_energie);
$prod_pt ceil($prod_reel/5000);

if(isset($server_config['xtense_universe'])) 
{
$prod_pt $prod_pt $server_config['speed_uni'];
}
$tab_player[$index_tab] = "$player|$coordinates|$M|$C|$D|$CES|$CEF|$prod_reel|$prod_pt";
$index_tab++;
}

$nb_colonne 9;
if(isset($pub_order_by)) $order_by $pub_order_by;
else $order_by 2;

if(isset($pub_sens)) $sens $pub_sens;
else $sens 1;
//--------------------------------------
//algorithme de tri sur la colonne n° order_by
$tabAlgo = array();
$sort_by SORT_REGULAR;
$tabAlgo preparationTri($tab_player$nb_colonne);
if(count($tabAlgo) > 0)
{
$a $tabAlgo[$order_by];
if($sens == 1) arsort($a$sort_by);
if($sens == 2) asort($a$sort_by);
}
//---------------------------------------
  echo $value["html"];
      
echo "<table cellpudding=0 cellspacing=0 border=1>";
$link ="index.php?action=".ACTION."&subaction=analyseMI&since=".$value["since"]."&g_max=".$value["g_max"]."&g_min=".$value["g_min"]."&s_max=".$value["s_max"]."&s_min=".$value["s_min"]."";

echo "<tr><th><a href='".$link."&order_by=0&sens=1'><img src='".$prefixe."images/asc.png'></a>  Nom  <a href='".$link."&order_by=0&sens=2'><img src='".$prefixe."images/desc.png'></a></th>";
if(UNITROUVE) echo "<th>War riders</th>";
echo "<th><a href='".$link."&order_by=1&sens=1'><img src='".$prefixe."images/asc.png'></a>  Coord ".help("analyseMI_ouvrir_re")." <a href='".$link."&order_by=1&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=2&sens=1'><img src='".$prefixe."images/asc.png'></a>  M  <a href='".$link."&order_by=2&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=3&sens=1'><img src='".$prefixe."images/asc.png'></a>  C  <a href='".$link."&order_by=3&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=4&sens=1'><img src='".$prefixe."images/asc.png'></a>  D  <a href='".$link."&order_by=4&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=5&sens=1'><img src='".$prefixe."images/asc.png'></a>  CES  <a href='".$link."&order_by=5&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=6&sens=1'><img src='".$prefixe."images/asc.png'></a>  CEF  <a href='".$link."&order_by=6&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=7&sens=1'><img src='".$prefixe."images/asc.png'></a>  prod_reel/jour  <a href='".$link."&order_by=7&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
  <th><a href='"
.$link."&order_by=8&sens=1'><img src='".$prefixe."images/asc.png'></a>  PT/jour ".help("analyseMI_pt")." <a href='".$link."&order_by=8&sens=2'><img src='".$prefixe."images/desc.png'></a></th>
</tr>"
;

if(count($tabAlgo) > 0)
{
foreach ($a as $k => $v){

$coords explode(':',$tabAlgo[1][$k]);
echo "<tr>";
echo "<td><a href='".SEARCH.$tabAlgo[0][$k]."&strict=on'>".$tabAlgo[0][$k]."</a></td>";
if(UNITROUVE) echo "<td><a href='".WARRIDERS.$tabAlgo[0][$k]."'>".$tabAlgo[0][$k]."</a></td>";
//echo "<td><a href='index.php?action=show_reportspy&galaxy=".$coords[0]."&system=".$coords[1]."&row=".$coords[2]."'>".$tabAlgo[1][$k]."</a></td>";
echo "<td><a href="#" onclick="window.open('index.php?action=show_reportspy&amp;galaxy=".$coords[0]."&amp;system=".$coords[1]."&amp;row=".$coords[2]."','_blank','width=640, height=480, toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0');return(false)">".$tabAlgo[1][$k]."</a></td>";
                
echo "<td style='text-align:center;'>".$tabAlgo[2][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[3][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[4][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[5][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[6][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[7][$k]."</td>";
echo "<td style='text-align:center;'>".$tabAlgo[8][$k]."</td>";
echo "</tr>";
}
}
echo "</table>";

?>



Par rapport au début, j'ai donc ajouter 3 colonnes, un import des CES et des CEF du joueur le calcul de la prod_réel journalière.
Et j'ai alors mis a jour le nombre de PT néccéssaire ( en faisant un arrondie suppérieur pour que ca soit plus jolie ).

Test et dis moi ce que tu en penses si tu veux/peux :)

Edit : Je viens de rajouter une nouvelle colonne aussi. Trus tout con, je fais un imports des unités de défenses de la planètes, je les additionne. Si la valeur est supérieure à 0, donc qu'il y a au minimum une unités de défense, je met "OUI" dans la nouvelle colonne "défense", sinon je met "-". Ainsi d'un coup d'oeuil, on peut trier par production et voir qui à de la défense où pas.
hébergeur : Free-h , ogspy 3.1.0, mod xtense 2.4.0 , Script GM xtense 2.4.0.4

pitch314

Intéressant, mais je vois encore un mod qui n'utilise pas les fonctions d'OGSpy pour données les consommations et productions. (ça n'a rien à voir avoir toi @Dudule)

Sinon, mis à part des formules pas tout à fait exactes c'est sur la bonne voie, bien.

Encore faut prendre en compte toute les technologies pour la productions (plasma).
D'où le fait d'utiliser les fonctions dans /includes/ogame.php
mods  : "Production", "Build.Tech HOF"(bthof) et "Temps de vol"
OGSpy v3
OGSpy v5 (gestion BDD et sécurité)

pitch314

24 Février 2015, 19:23:43 #27 Dernière édition: 25 Février 2015, 07:50:02 par pitch314
J'ai regardé vite fait et la partie formule du code est :
while(list($coordinates, $datere ,$energie, $M, $C, $D, $CEF, $NRJ, $Plasma, $player)=$db->sql_fetch_row($result_ogspy_universe_inactif)){

    //température moyenne
    $temperature_max = 60;
    $production_E = $energie;
       
    //Consommation
    $consommation_E = 0; // la consommation
    $conso_M = consumption("M", $M);
    $conso_C = consumption("C", $C);
    $conso_D = consumption("D", $D);
    $consommation_E = $conso_M + $conso_C + $conso_D;
   
    //ratio
    $ratio = 1; // indique le pourcentage a appliquer sur la prod
    $ratio_temp = 1;
    $ratio_temp = ($consommation_E == 0) ? 0 : ($production_E * 100 / $consommation_E) / 100; // fix division par 0
    $ratio = ($ratio_temp >= 1) ? 1 : $ratio_temp;
   
    //production
    $prod_M = production("M", $M, 0, $temperature_max, $NRJ, $Plasma) * $ratio;
    $prod_C = production("C", $C, 0, $temperature_max, $NRJ, $Plasma) * $ratio;
    $prod_D = production("D", $D, 0, $temperature_max) * $ratio;
    $prod_D -= consumption("CEF", $CEF); //on soustrait la conso de deut de la cef
    $prod_totale_jour = ($prod_M + $prod_C + $prod_D) * 24;
   
    // nb pt de produit
    $prod_pt = ceil($prod_totale_jour / 5000);
    $tab_player[$index_tab] = "$player|$coordinates|$M|$C|$D|$prod_totale_jour|$prod_pt";
    $index_tab++;
}

Bien sûr, la requête SQL est
    $request_ogspy_universe_inactif = "SELECT coordinates, max(datere),energie, M, C, D, CEF, NRJ, Plasma, lower(player)
                                        FROM ".TABLE_PARSEDSPY.", ".TABLE_UNIVERSE."
                                        where `coordinates`=CONCAT(`galaxy`,':',`system`,':',`row`)
                                        and (status = 'i') and galaxy <= ".$value["g_max"]." and galaxy >= ".$value["g_min"]."  and system >= ".$value["s_min"]."  and system <= ".$value["s_max"]."
                                        and dateRE > ".since($value["since"])."
                                        and M > 1
                                        group by coordinates";

Il faut vérifier que la techno plasma en SQL est bien "Plasma".

==>Vous ne trouvez pas que la température moyenne est un peu trop haut ?
mods  : "Production", "Build.Tech HOF"(bthof) et "Temps de vol"
OGSpy v3
OGSpy v5 (gestion BDD et sécurité)

Dudule

Alors pour la température moyenne, je me posé la même question !

Oh mon dieu oui, j'ai oublié la techno plasma ! Quel boulet ^^ Je suis de la vielle génération c'est pour ça :)

Aussi au niveau de l'énergie, certains RE montre 0 en énergie, je me demande ce qu'est cette énergie ( énergie total produit, énergie restante ect ? ) Car si le mecs, à mis ses centrale à 0% et que l'énergie à 0 veux signifier qu'il y a 0 production, il faut alors que je prenne la plus petite valeur entre l'energie calculé, et celle annoncé par le RE !

Par contre je ne suis pas assez calé en OGSpy pour connaitre les fonctions pour données les consommations et productions. Pourrait tu m'en dire plus ?
hébergeur : Free-h , ogspy 3.1.0, mod xtense 2.4.0 , Script GM xtense 2.4.0.4

machine

ola,

si cela peut t'aider : https://bitbucket.org/ogsteam/ogspy/src/ca1a75a1b1f8188d3c0bbaa6a3285622d420e423/includes/ogame.php?at=default

a priori tout ce trouve sur cette page ( comme priecisé par pitch).

Il vaut d ailleurs mieux utiliser les fonction de ce fichiers qui sont maintenues

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/