Code PHP :
<?
$newtimestamp = date("U"); // Va voir la fonction timestamp() sur google pour savoir à quoi elle sert,
//en gros, la fonction timestamp augmente de 1 à chaque seconde qui passe, utile pour calculer le nombre de seconde écoulées depuis le dernier
//rafraichissement
//Le timestamp de la BDD nous dira QUAND le prochain tour va se produire !!!
//Maintenant, on va selectionné les champs du membre dans ta BDD, pour identifier le membre, on va prendre son ID.
//J'ai choisi ca, mais tu peut prendre "royaume", ou tout ce que tu veut, il faut juste que cela soit une chose UNIQUE qui te permette d'identifier
//un membre PRECIS. Moi j'utilise un numero qui est définie par mySQL quand le membre s'inscrit ( le premier c'est 1, le second qui s'inscrit c'est 2, etc ... )
//Pour les champs, tu renomme ca comme tu veut
//La variable $id est définie dans chaque script, grace à une session que tu creer quand le membre se connecte en tappant son mot de passe
// membres est la table ou tu stock les infos sur tes membres
$array=mysql_fetch_array(mysql_query("SELECT `timestampOR`,`timestampMANA`,`habitations`,`mana`,`or`,`tour` FROM membres WHERE `id`='$id'");
$timestampBDDor = $array['timestampOR'];
$timestampBDDmana = $array['timestampMANA'];
$habitationsBDD = $array['habitations'];
$manaBDD = $array['mana'];
$orBDD = $array['or'];
$tour = $array['tour']; //Nbr de tours écoulées, pour le calcul du mana
//Ok, maintenant, on va definirs les prix, et le voir si le membres peut gagner des ressources, il a pas le max d'habitations
$maxhabitations = '5000';
//Definir combien de paysans donne une habitation
$paysanshabit = '20';
//Nombre de mana gagnée en un tour
$managagne = '500';
//Nombre d'or payer par un paysan pur les impots
$impots = '50';
//Or produit par un paysan en un tour
$orproduit = '50';
//Nombre de secondes en 30 minutes : 60*30 = 1800 secondes
//Nombre de secondes en 1 heure : 60*60 = 3600 secondes
//Ok, maintenant on va faire les verifs, voir si c'est le moment de faire un tour
//En premier lieu, pour les ressources :
if($newtimestamp<=$timestampBDDor&&$habitationsBDD<=$maxhabitations) { //On verifie que c'est le moment de faire un tour, et que le max d'habit n'est pas atteint.
//On fait le rajout :
$or = (($habitationsBDD*$paysanshabit)*$orproduit) //Le calcul d'or produit durant ce tour
$or = ($or+$orBDD); //Le total d'or qu'a le membre
$or = $or-$impots; //On enleve les impots que doivent payer les paysans
//On va calculer quand va se dérouler le prochain tour (temps du dernier + 1800 secondes (30 mins)
$futurtour = $timestampBDD+1800;
//On a donc calculer l'or que possède désormais le membre, on va donc UPDATER l'or qu'il possède et le temps du prochain tour ($futurtour)
mysql_query("UPDATE membres SET `or`='$or',`timestampOR`='$futurtour' WHERE `id`='$id'");
};
//On fait la même chose pour la mana
if($newtimestamp<=$timestampBDDmana) {
//On fait le calcul du mana qu'il à gagner
$managagner = $tour*10; //En effet, il en gagne 10 en plus chaque tour, donc au 2eme tour ca fait 20, soit 2*10
$mana = $manaBDD+$managagner;
//On calcul quand sera le prochain tour ( temps du dernier tour + 3600 secondes ( 1h)
$futurtour = $timestampBDD+3600;
//On UPDATE gaillement
mysql_query("UPDATE membres SET `mana`='$mana',`timestampMANA`='$futurtour' WHERE `id`='$id'");
};
?>
Si tu as une question, vas y
Ce script est tres basique et pas optimisé, j'y suis aller au ralenti pour que tu comprennes