Bonjour à tous,
Voilà je souhaiterai savoir comment surveiller un fichier log d'un jeu qui peut être modifié plusieurs fois par seconde pour y récupérer les informations écrites en fin de fichier. En gros je souhaite écrire un dps meter comme "advanced combat tracker" , "riftjunkies" , "EQcompanion" etc ...
Pour schematiser je souhaite :
1) Programme surveille le fichier EQ_NomDuJoueur.log
2) Une entrée est effectuée dans le fichier par le jeu (sous forme d'une ligne ascii dont voici un exemple)
[Tue Jun 12 13:12:00 2012] Jenekab kicks an emerald scale drake for 74 points of damage.
[Tue Jun 12 13:12:00 2012] Shaix scores a critical hit! (996)
[Tue Jun 12 13:12:00 2012] Jenekab bites an emerald scale drake for 120 points of damage.
[Tue Jun 12 13:12:01 2012] Shaix`s warder scores a critical hit! (990)
[Tue Jun 12 13:12:01 2012] Shaix`s warder scores a critical hit! (990)
[Tue Jun 12 13:12:01 2012] Your Elegant Defiant Chain Leggings shimmers briefly.
[Tue Jun 12 13:12:01 2012] You begin casting Malosinatia.
[Tue Jun 12 13:12:02 2012] Jenekab bites an emerald scale drake for 35 points of damage.
[Tue Jun 12 13:12:02 2012] Jenekab tries to bite an emerald scale drake, but an emerald scale drake dodges!
[Tue Jun 12 13:12:02 2012] Jenekab tries to bite an emerald scale drake, but an emerald scale drake dodges!
[Tue Jun 12 13:12:02 2012] Jenekab tries to bite an emerald scale drake, but misses!
[Tue Jun 12 13:12:02 2012] Shaix scores a critical hit! (606)
3) Le programme détecte que des données viennent d'être ajoutées au fichier log (c'est ce que je cherche ! comment être prévenu ?)
4) Le programme traite les données ( début du combat, dommages par secondes, statistiques...)
5) Le programme déclenche une alarme par affichage en overlay dans la fenêtre du jeu (un sort vient d'expirer, un buff vient d'être lancé ...)
6) Goto 1
J'ai exploré le web et j'y ai trouvé certaines pistes comme :
- le source de Nono40 : http://nono40.developpez.com/sources/source0045/ mais il ne semble pas fonctionner sous Windows7
- La JVCL avec TJvChangeNotify mais aucun exemple de trouvé
Si vous aviez un exemple de source qui puisse remplir la fonction que je recherche cela m'arrangerait énormément.
Avec mes remerciements !
Partager