09-11-2007, 05:12 PM
alors de ce que je comprend, il y a plusieurs choses à étudier :
- une tache (qui pourrait être de type "cron") mettant à jour tous les joueurs toutes les 4 heures
- différentes actions qui obligerait ce recalcul.
Je suis d'accord avec Loetheri, quand il dit que les ressources doivent être recalculées au debut de l'attaque (au moment ou l'impact a eu lieu).
La soluce de V1nc3 répond un peu plus à la demande, mais il faudrait l'améliorer (c'est mon avis).
Première question :
- Toutes les 4h, tu souhaites rafraichir toutes les ressources de tous les joueurs, ou seulement ceux qui n'ont pas été rafraichient depuis 4h ?
En effet, supposons 200 ou 300 joueurs. A bout de 4h, toutes les ressources sont recalculées (donc pour 200 ou 300 personnes). si ton calcul de ressources n'est pas trop complexe (ne prenant pas en compte les saisons, et autres facteurs), ca peut-être jouable, sinon cela risque demander beaucoup de ressources au serveur et donc de ramener un peu plus.
J'ai utilisé un système de calcul de ressources. Je l'appelle au bout d'un certain delai.
Pour ce faire, j'ai créer un champ dans ma table ressources qui s'appelle lastupdate (dernière mise à jour des ressources).
Dans la page listant l'ensemble des royaumes, c'est un script qui ressemble à cela :
$requete = mysql_query('select * from ressource where lastupdate < '.time().' - 15200);
$num = mysql_numrows($requete);
for ($i = 0; $i < $num ; $i ++)
{
calcul_ressources($royaume_concerne);
}
De ce fait, je n'ai qu'une partie des personnes qui est rafraichit (donc moins de ressources consommés). La page étant visualisé assez régulierement, l'ensemble des joueurs est rafraichit assez régulièrement.
- une tache (qui pourrait être de type "cron") mettant à jour tous les joueurs toutes les 4 heures
- différentes actions qui obligerait ce recalcul.
Je suis d'accord avec Loetheri, quand il dit que les ressources doivent être recalculées au debut de l'attaque (au moment ou l'impact a eu lieu).
La soluce de V1nc3 répond un peu plus à la demande, mais il faudrait l'améliorer (c'est mon avis).
Première question :
- Toutes les 4h, tu souhaites rafraichir toutes les ressources de tous les joueurs, ou seulement ceux qui n'ont pas été rafraichient depuis 4h ?
En effet, supposons 200 ou 300 joueurs. A bout de 4h, toutes les ressources sont recalculées (donc pour 200 ou 300 personnes). si ton calcul de ressources n'est pas trop complexe (ne prenant pas en compte les saisons, et autres facteurs), ca peut-être jouable, sinon cela risque demander beaucoup de ressources au serveur et donc de ramener un peu plus.
J'ai utilisé un système de calcul de ressources. Je l'appelle au bout d'un certain delai.
Pour ce faire, j'ai créer un champ dans ma table ressources qui s'appelle lastupdate (dernière mise à jour des ressources).
Dans la page listant l'ensemble des royaumes, c'est un script qui ressemble à cela :
$requete = mysql_query('select * from ressource where lastupdate < '.time().' - 15200);
$num = mysql_numrows($requete);
for ($i = 0; $i < $num ; $i ++)
{
calcul_ressources($royaume_concerne);
}
De ce fait, je n'ai qu'une partie des personnes qui est rafraichit (donc moins de ressources consommés). La page étant visualisé assez régulierement, l'ensemble des joueurs est rafraichit assez régulièrement.