systeme de tour - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : systeme de tour (/showthread.php?tid=1990) Pages :
1
2
|
RE: systeme de tour - Plume - 09-11-2007 Citation :n'offuse"ne fusse" Chiant le français ^^ RE: systeme de tour - lecodeur - 10-11-2007 c important que ts les comptes soit a jour en meme temps connecter ou pas. je n'utiliserai pas cron mais les timestamps. mon probleme c'est que je ne comprend pas comment demander au serveur de verif chak membres pour l'attribution des ressources. RE: systeme de tour - zneman - 12-11-2007 Un systeme de tour pour mettre a jour les données peut être utile si tu dois afficher toutes les ressources en tant réel dans un classement par exemple Sinon, tu devrais faire en sorte que les ressources d'un joueur se mettent a jour lors de: - espionnage d'un joueur - quand un jour se connecte - quand un joueur clic sur la fiche d'un autre seigneur pour voir ses ressources - quand un joueur attaque un autre. Bien sur, ce n'est que des exemples mais je le redis, si tu n'as pas de systeme ou l'on voit les ressources de tous les joueurs en temps réel, un tel script ne sert a rien, tu va "user" le serveur pour rien la RE: systeme de tour - lecodeur - 15-11-2007 je vais faire en sorte que les ressourcesse mettes a jour quand le joueurs concerné se connect se sera plus simple. RE: systeme de tour - Shidame - 15-11-2007 Citation :Un systeme de tour pour mettre a jour les données peut être utile si tu dois afficher toutes les ressources en tant réel dans un classement par exemplela encore suffit de les mettre a jour au chargement du classement. RE: systeme de tour - Zamentur - 15-11-2007 Shidame a écrit :Tout depend de la complexité du script de mise à jour.Citation :Un systeme de tour pour mettre a jour les données peut être utile si tu dois afficher toutes les ressources en tant réel dans un classement par exemplela encore suffit de les mettre a jour au chargement du classement. Si çà demande beaucoup d'appel (en l'occurence sur ce qui est présenté je pense que c'est possible à faire en un seul et unique appel sans boucle ni rien) ben là tu peux pas faire çà car le classement mettra du temps à s'afficher... Moi j'ai 2 autres solutions pas cité, l'idée étant de lancer le script sans que le joueur s'en apperçoivent afin de s'afranchir du cron. Pour faire çà javascript peut etre d'une grande aide, mais une simple iframe caché (je sais c'est pas beau mais pourquoi pas) fais la meme chose... Mais là aprés quelques tests ,je me rend compte qu'il suffit de placer un header de redirection suivis d'un echo afin d'envoyer le header de redirection, puis d'executer une action: Code PHP :
Par contre le "echo 'e';" est utile... Celà dit çà utilise quand meme le serveur, puisqu'il y a execution d'autre action en meme temps (contrairement à un cron ou on n'en sait rien). Enfin çà semble quand meme bien marcher Donc là il suffit de rajouter un test pour que la mise à jour soit faite toute les 4h Celà dit dans le cas present comme l'on dit les autre c'est inutile de le faire toute les 4h enfin apparement. RE: systeme de tour - Dradge - 15-11-2007 J'aimerais connaitre les tables de la Bdd qui entrent en jeu pour l'ajout de ressources car il y a peut-etre moyen d'exécuter ton tour en une seule requête SQL. Il me faudrait aussi ta version de MySQL car je crois que ce que je raconte n'est pas possible depuis longtemps. Je pars me renseigner. RE: systeme de tour - Zamentur - 15-11-2007 ben si moi aussi j'avais cette impression là et je crois qu'avec de simple jointure c'est possible... Enfin aprés çà dependde la construction Mais c'est pas parce qu'il ya qu'une requete que c'est rapide...(enfin pas forcement dans l'absolue... RE: systeme de tour - Dradge - 15-11-2007 J'exécute assez souvent des grosses requetes sur JediWar, et les temps d'exécution sont impressionants. Bon, vu que j'ai le temps maintenant, je vais expliquer comment faire cette maj de ressources en une seule requete. Donc tout d'abord les tables de la base de données : ressources(joueur, ress1, ress2, ress3) production(joueur, prod1, prod2, prod3) coeffs(coef1, coef2, coef3) Donc dans ressources on a pour chaque joueur ses ressources actuelles. Dans production on a le nombre d'unités de production par ressource Dans coeffs on a la production d'une unité de production par tour. Donc j'ai choisi de faire du tout SQL. Cependant les coefficients de production peuvent être mis dans un fichier de configuration (je le conseillerai même) UPDATE ressources, coeffs NATURAL JOIN production SET ress1=ress1 + coef1 * prod1, ress2=ress2 + coef2 * prod2, ress3=ress3 + coef3 * prod3 Dans cette requete MySQL fait une jointure entre ressources et coeffs (sans utiliser de champ commun) puis une jointure naturelle sur production. (Si vous ne comprenez pas la jointure naturelle dites le). Donc pour chaque joueur ca ajoute à chaque ressource, la quantité produite. Bien entendu cette requete est à exécuter via une tache cron. En espèrant avoir été clair RE: systeme de tour - lecodeur - 13-12-2007 desoler de mon absence, j'etait sur mon script don voici le code: Code PHP :
Mon probleme ce script etant imcomplet(pour le test) $, je ne sais pas comment attribuer les calcul a chaque joueurs(while etant"normalement" là pour sa, non ?). la base en ce qui concerne les tables dues au script on les noms suivants: -der_tour (inscription de l'heure du tour du site) -member(info perso, ressources, liens vers alliances, bats etc...) |