Hum...Tout les champs sont necessaires -_-".
Et on a déjàm 17 tables avec lequelles on a essaié de réduire au max en faisant le plus de tables sa ne donne rien...
Mais si jamais c'est pas le script d'attaque qui fait lagger, mais le script de tours...Sa faisait 10 minutes pour charger...Je vous le montre:
Et on a déjàm 17 tables avec lequelles on a essaié de réduire au max en faisant le plus de tables sa ne donne rien...
Mais si jamais c'est pas le script d'attaque qui fait lagger, mais le script de tours...Sa faisait 10 minutes pour charger...Je vous le montre:
Code PHP :
<?php
// Je vais chercher les infos sur les membres:
$reponse_membres = mysql_query("SELECT pseudo, gald, mana, tours, temps, nombre, protection FROM membres") or die (mysql_error());
// Vérification du timestamp
$time_stocke = mysql_query("SELECT timestamp FROM temps") or die( mysql_error() );
$time_stocke = current( mysql_fetch_array( $time_stocke ) );
$heures_ecoulees = floor( ( time() - $time_stocke )/3600 );
if( $heures_ecoulees >= 1 )
{
// gestion de l'heure
$nouveau_time = $time_stocke + ( 3600 * $heures_ecoulees );
mysql_query( "UPDATE temps SET timestamp='".$nouveau_time."';" );
// gestion des ressources
$req = "UPDATE `membres`, `forge`, `troupes`, `troupes_attaque` SET " .
// suppression de la protection d'un membre si celle ci dépasse 4 jours
"`membres`.`protection` = ( CASE `membres`.`protection`+345600 < ".time()." WHEN 1 THEN 0 ELSE `membres`.`protection` END )," .
// rajout de 3 fleches par heure par paysan
"`forge`.`fleches` = `forge`.`fleches` + $heures_ecoulees * 3* `forge`.`paysans_fleches`," .
// rajout de 3 lances par heure par paysan
"`forge`.`lances` = `forge`.`lances` + $heures_ecoulees * 3 * `forge`.`paysans_lances`," .
// rajout de 50'000 galds par heure
"`membres`.`gald` = `membres`.`gald` + 50000 * $heures_ecoulees," .
// rajout de 150 mana par heure par mage
"`membres`.`mana` = `membres`.`mana` + $heures_ecoulees * 150 * ( `troupes`.`mages` + `troupes_attaque`.`mages` )," .
// rajout d'un tour par heure
"`membres`.`tours` = `membres`.`tours` + $heures_ecoulees " .
" WHERE `membres`.`pseudo`=`forge`.`pseudo` AND `membres`.`pseudo`=`troupes`.`pseudo` AND `membres`.`pseudo`=`troupes_attaque`.`pseudo`;";
mysql_query($req) or die( mysql_error() . '<hr/>' . $req );
Et ça c'est notre hebergeur qui l'a fait.Car je ne comprends...Rien ou presque au code.
Et notre hebergeur a fait pour que ça lagge moin.Mais on a perdu environ la moitié de temps de chargement(enfin sa dépandait le nombre de connectés).Notre ancien script faisait une while de tout les membres donc...Sa faisait longtemps pour 2500 joueurs(on en a supprimé 1000 pour que sa lagge moin, sa marche, mais on verra si c'est mieux avec le nouveau serveur)
Donc en même temps le script d'attaque modifie que quelques trucs(6-7) mais à deux joueurs et le script de tours modifie 4 trucs, mais pour tout les membres!