JeuWeb - Crée ton jeu par navigateur
Gestion des ressources en temps réel [version simple] - 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 : Gestion des ressources en temps réel [version simple] (/showthread.php?tid=362)

Pages : 1 2 3 4 5 6 7


RE: Gestion des ressources en temps réel [version simple] - Roworll - 04-09-2007

Il ne manquerait pas des guillements dans ton premier appel MySQL ?
$appel = mysql_query('SELECT * FROM membres WHERE pseudo="Necromant");
Ou c'est une erreur de recopie ?


RE: Gestion des ressources en temps réel [version simple] - Necromant - 04-09-2007

Euh... Non ce n'est pas une erreur de copie ... Je vais voir si sa marche.


RE: Gestion des ressources en temps réel [version simple] - Necromant - 04-09-2007

Il me reste deux problèmes :
-je sais pas ce qu'il faut mettre la: $temps_ancien = $ici['timestamp'];
-ET je ne peut plus me connecter à ma bdd (je suis avec free).


RE: Gestion des ressources en temps réel [version simple] - pascal - 04-09-2007

c'est pas un peu lourd de faire un update à chaque rechargement de page?

l'update doit se faire au moment où il y a un changement uniquement :
_ dépense/gain de ressource
_ changement du niveau de production de ressource

pour le reste, on calcule juste :
total à afficher = (total stocké en base) + (temps écoulé * niveau de production)

A+

Pascal


RE: Gestion des ressources en temps réel [version simple] - joshua - 04-09-2007

J'ai l'impression qu'en ce moment on se repete... c'est la dizieme fois au moins qu'on écrit ca Sad


RE: Gestion des ressources en temps réel [version simple] - Necromant - 14-09-2007

je sais pas ce qu'il faut mettre la: $temps_ancien = $ici['timestamp'];


RE: Gestion des ressources en temps réel [version simple] - Kheldar - 17-09-2007

Bonjour,

Pour avoir bosser sur le calcul de ressources en temps réel :

J'ai pas regardé en detail votre code de la "dite fonction", par contre :

- il faut l'appliquer sur une page vue assez régulierement et sur une page globale (par exemple : empire, liste des empires) afin de calculer régulièrement les ressources pour chaque joueur pour un temps t défini (j'ai pris 5 minutes pour la liste globale, 2 minutes pour chaque empire).

- il faut l'appliquer à chaque attaque de votre royaume (au moment de l'impacte), la construction d'unités productives (généraliser à toutes les unités, si toutes les unités ont un impact sur votre production), construction de batiments (pour les mêmes raisons que ci-dessus).

Au besoin, je veux bien mettre le code qui me sert à calculer les ressources. Attention, dans mon cas, les saisons sont prises en compte, la race (de vos unités), les améliorations si vous les possédez, et quelques autres paramètres. Peut-être complexe pour un tut, faudrait que je nettoie un peu le code (et que je le commente surtout).


RE: Gestion des ressources en temps réel [version simple] - alechuga - 18-09-2007

Désolé de vous ennuyé avec mes problèmes mais je vous jure que je ne serai pas long.

Après résolution de mes problèmes (grace à vous :respect: ) une nouvelle vague arrive. Lorsqu'une personne se connecte pour la première fois sa première augmentation de ressource est égale au timestamp entier plus les calcul. Donc plusieurs milliard. Personne ne saurait comment faire en sorte que le premier calcul prenne compte de la soustraction.
Je pense que ma faute est dans la connection mais aucune certitude.


RE: Gestion des ressources en temps réel [version simple] - Cartoristal - 19-09-2007

On pourrait, s'il vous plait, me copier la requête Sql de création de la table...
Pour le timestamp...
J'ai beau essayer le TIMESTAMP et Varchar la valeur reste à zéro ...:pleure2:


RE: Gestion des ressources en temps réel [version simple] - Kheldar - 19-09-2007

Alechuga :

Si j'ai bien compris le souci :

- un joueur X se créait un compte. son timestamp = 0.
- il se connecte la première fois , son timestamp passe à la valeur T
=> ressources gagnées = Production * (T - 0)

Et donc forcément elles sont énormes.

Si ton problème est bien la , la solution pour le résoudre est assez simple

Quand ton joueur créait son compte, initialise la variable du timestamp (du calcul de ses ressources) au timestamp de création du compte.

Donc à la première connexion du joueur, tu auras :

=> ressources gagnées = Production * (T - TimeStampCreationducompte) , qui devraient être "plus" normal.

CARTORISTAL :

Tente l'integer(11). j'ai pas eu de souci avec ca.
Si ca ne met toujours pas à jour, tes ressources, copie/colle la requete sql utilisée .
Vérifie tout de même avant d'envoyer ta requete :

- que les variables sensées être mises à jour , le sont bien. (vérification des variables passées dans l'update mysql).
- que la personne que tu es sensé mettre à jour et bien la bonne personne (vérification de l'id).
- reste qu'un petit die sinon mysql_query('update ....') or die('erreur'.mysql_error()).