Kommunauty
Connexion
Inscription

[AIDE] Mise à jour bdd auto


Chimnei Messages : 3

Bonjour à tous !

Je ne cherche pas réellement à créer un Ogame-like, mais le jeu que je souhaite créer contient quelques particularités d'Ogame. Sauf que j'ai un problème : je ne trouve pas où est le(s) fichier(s) qui permet la mise à jour de la base de données, même lors de l'absence du joueur (type cron, à la seconde près, évidemment), le même qui permet d'établir la fin d'un bâtiment, le contact lors d'un combat, le retour de flotte, etc...

J'avoue que, bien qu'étant dans le web depuis un moment, je ne suis pas un pro, et les tâches qui s'effectuent d'elles-même sur un serveur à partir d'une bdd, grâce à des pages php, je ne sais pas faire (d'où mon intérêt pour le code source de XNova, XGproject, ou même PHPSimul)

Si quelqu'un peut m'indiquer :

1) les pages correspondantes et, de manière concise, le fonctionnement de ses pages sur le serveur, pour l'un des 3 outils

2) des tutos correspondant à l'usage de ces mises à jour automatiques en php/sql/js/etc... dans le cas où la personne qui verra ce message serait dans l'incapacité de répondre au premier point.

Merci par avance !

Et en espérant avoir été clair sur mes besoins ..

dimanche 8 janvier 2017

Homer Messages : 1829

Salut, j'essaie de regarder ça dans la journée, j'ai plus l'info en tête

lundi 9 janvier 2017

Destiny Messages : 349

dans xnova revolution la mise à jour de la base de données se fait automatiquement quand le joueur se connecte en se servant du "timestamp". Il y a beaucoup de fichiers qui appellent la BDD.

Dès que tu crées une fonction qui appelle la BDD (Ex: une loterie) comme j'ai crée sur le xnova révolution que j'avais mis en ligne, quand le joueur se connecte au jeu sur la loterie la mise à jour se fait automatiquement.

Il en est de même pour:

-les bâtiments

-le laboratoire

-etc

lundi 9 janvier 2017

Homer Messages : 1829

J'ai pas eu le temps de chercher, mais la question portait sur le fait que le joueur soit offline, ses ressources évolue toujours....

mardi 10 janvier 2017

Destiny Messages : 349

le fichier qui met à jour automatiquement quand on se connecte (le joueur) ou quand on navigue (le joueur) sur le jeu est le fichier class.template.php qu'il faut (en principe mais pas tout le temps) modifier lorsque l'on ajoute une fonction au jeu.

mardi 10 janvier 2017 (Dernière édition mardi 10 janvier 2017)

Chimnei Messages : 3

Homer soulève la bonne question. Admettons que le joueur est déconnecté : ses ressources vont augmenter malgré tout. Si ce joueur déconnecté depuis 2 jours et qu'il se fait attaqué, les ressources auront été produites. Donc le serveur doit mettre à jour la bdd, même lorsqu'un joueur est déconnecté. Idem, s'il construit un bâtiment qui se fini dans 1h et qu'il déconnecte, il doit forcément bénéficier de l'évolution du bâtiment malgré sa déconnexion, et donc il faut bien monter le niveau du bâtiment pendant son absence.

Et là, pour le coup, je trouve pas le bon fichier. (Sinon, mettre à jour la bdd lorsque la personne se connecte serait facile )

Merci en tout cas de vous pencher sur mon cas !

Je pense avoir résolu mon propre problème : en fait, il faut gérer le timestamp et mettre à jour la BDD, à chaque fois qu'il y a une action concrète sur elles (création d'un bâtiment, espionnage/attaque, rafraichissement de la page, ...)

A cela, on ajoute un Cron en PHP lorsque l'on construit un bâtiment qui affecte les ressources, afin que, lorsque le bâtiment est terminé, la BDD se mette à jour et que les ressources évoluent en conséquence (on modifie le multiplicateur).

Ainsi, dès qu'il y a "action", il y aura "mise à jour". Le reste (affichage des ressources sur le client, etc... se fait par "image" en JS)

Je pense que cette solution est la plus légère et performante, mais si quelqu'un a d'autres idées à explorer, je reste preneur.

mercredi 11 janvier 2017 (Dernière édition mercredi 11 janvier 2017)

Homer Messages : 1829

C'est tout à fait ça, il ya une fonction qui est exécutée à chaque interaction (je ne retrouve plus laquelle) et qui mets à jour ces infos.

mercredi 11 janvier 2017

Chimnei Messages : 3

Excellent, je vais chercher dans le fichier indiqué plus haut, sinon, je pars en exploration ! (Mon plus gros soucis étant résolu, j'ai plus qu'à affiner ma technique pour produire un bon jeu, afin de mettre le tout en oeuvre

mercredi 11 janvier 2017

Thisishowwedoit Messages : 30

Bonjour,

Tout ce trouve dans la classe planetresupdate, auquel le joueur fait appel a chaque refresh de page.

Bav

lundi 16 janvier 2017

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !