vue 0 ressource pillée ! - Page 1
Kommunauty
Connexion
Inscription

0 ressource pillée !


Mizur Messages : 6615

Si c'est galère, tu peux utiliser une fonction comme http://www.lephpfacile.com/cours/7-lire-et-ecrire-dans-un-fichier-texte pour écrire dans un fichier texte le contenu de tes variables Après une attaque lancée, tu lis ce fichier texte pour voir s'il y a des variables qui contiennent des trucs chelous !

dimanche 5 janvier 2014

mandalorien Messages : 113

Bonjour ,

je viens de testé en local ! xnova revolution 5.9 , et je n'ai pas d'erreur de pillage , j'ai pillé exactement les ressources présente dans le message , as tu regardé dans ta BDD si les ressources n'était pas négatives

lundi 6 janvier 2014

pyrosephiroth Messages : 62

Bonjour à toi Mandalorien,

je viens vérifier et effectuer plusieurs fois l'attaque et ... rien n'y fait : toujours 0 !

Le fait que l'attaquant pille bien le nombre de ressource indiqué dans le rapport de combat ... puisque ce nombre est de 0 ! (-_-)

Aurais-tu éventuellement un lien vers la version que tu as employé pour ton test local ?

J'ai essayé de changer mes fichiers par des versions antérieures (5.4) et ultérieures (6.0) de Xnova Rev, mais rien n'y fait !

lundi 6 janvier 2014

mandalorien Messages : 113

oui voici la version que j'ai utilisé ==> Xnova rev 5.9

lundi 6 janvier 2014

pyrosephiroth Messages : 62

Bonjour,

après avoir fait plusieurs essais, je sais enfin très exactement d'où vient le soucis.

En fait, il s'agissait d'une division par zéro (que nous aimons tous ! ).

Alors quelles variables clochent ?

Comme toutes les autres occurrences de bcdiv divisent une variable par un réel, la dernière utilisation de bcdiv restante est celle qui est incriminée :

$Factor			= bcdiv($Capacity, $AllCapacity, 10);

Or, &AllCapacity est défini comme suit :

$SortFleets = array();
$Sumcapacity  = '0';
foreach($attackFleets as $FleetID => $Attacker)
{
$SortFleets[$FleetID] = '0';
foreach($Attacker['detail'] as $Element => $amount)
{
$SortFleets[$FleetID] = bcadd($SortFleets[$FleetID], bcmul($pricelist[$Element]['capacity'], floattostring($amount)));
}

$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_metal']);
$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_crystal']);
$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_deuterium']);
$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_norio']);
$Sumcapacity = bcadd($Sumcapacity, $SortFleets[$FleetID]);
}

$AllCapacity = $Sumcapacity;

En dépit de cette "avancée", je ne parviens pas à résoudre le soucis !

EDIT : Evidemment, j'ai vérifié dans le vars.php que tout les vaisseaux (à l'exception du satellite solaire) étaient dotés d'une capacité de fret.

lundi 6 janvier 2014 (Dernière édition lundi 6 janvier 2014)

pyrosephiroth Messages : 62

Suite à une conversation skype avec SnakeFear ; j'ai tenté une réinstallation totale ... sans succès ! Toujours ce soucis de division par 0 lorsqu'une flotte vient de mener un combat ...

lundi 6 janvier 2014

Homer Messages : 1925

Tu as isolé le problème, maintenant il te reste plus qu'à voir les variables qui doivent influées sur celle qui vaut 0.

C'est laquelle d'ailleurs qui vaut 0 ?

mardi 7 janvier 2014

mandalorien Messages : 113

essaye avec ce code , même si ça ne changeras pas grand chose je pense :


<?php
$SortFleets = array(); # mise en place du tableau
$Sumcapacity  = 0;

/* retour le tableau des vaisseaux de l'attaquant */
foreach($attackFleets as $FleetID => $Attacker)
{
$SortFleets[$FleetID] = 0;
foreach($Attacker['detail'] as $Element => $amount)
{
$SortFleets[$FleetID] = bcadd($SortFleets[$FleetID], bcmul($pricelist[$Element]['capacity'], intval($amount)));
}

$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_metal']);
$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_crystal']);
$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_deuterium']);
$SortFleets[$FleetID] = bcsub($SortFleets[$FleetID], $Attacker['fleet']['fleet_resource_norio']);
$Sumcapacity = bcadd($Sumcapacity, $SortFleets[$FleetID]);
}

$AllCapacity = $Sumcapacity;
mardi 7 janvier 2014

pyrosephiroth Messages : 62

Bonjour / bonsoir à tous,

je tenais à vous tenir au courant de l'avancée ... Le soucis provenait sûrement de l'hébergeur (hélas), puisqu'en dépit de nombreuses réinstallations, d'innombrables modifications/corrections du code, rien ne changeait !

Or, en essayant sur un autre serveur, tout roulait comme sur des roulettes !

Je tiens donc à remercier tout le monde pour leur aide =)

lundi 20 janvier 2014

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !