IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Parser Log pour mmorpg


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4
    Par défaut Parser Log pour mmorpg
    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 !

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Je ne connais pas le TJvChangeNotify mais je suppose qu'il encapsule le FindFirstChangeNotification
    Il y a surement un OnChange ou équivalent, cela ne doit pas être un objet compliqué !

    J'avais fait un programme pour afficher des logs en temps réel !
    TFileSizeList et TNotifyShaiFileChangeThread qui te permettra d'avoir le contenu du fichier entre deux modifications
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Fxg
    Fxg est déconnecté
    Membre émérite
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 513
    Par défaut
    Bonjour,

    Il y a bien une démo de l'utilisation du composant TJvChangeNotify classée comme d'habitude dans le sous-répertoire examples du répertoire jvcl

    Bon test

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4
    Par défaut
    Bonjour,

    Oui en effet il existe un projet delphi en exemple pour le JvChangeNotify mais le problème est qu'il signale une modification faite dans le répertoire sans indiquer le fichier concerné.
    Hors c'est justement ce qui m'intéresse, savoir de quel fichier log vient la modification et pour cela je n'ai pas trouvé d'exemple où la solution.

    Cordialement.

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    C'est le comportement normal de FindFirstChangeNotification !

    Un peu d'imagination !

    Il te suffit de mémoriser la taille de chaque fichier du dossier avant de lancer le Notify, puis lors du Notify, tu refais un FindFirst..., tu compares la taille N et N-1, cela te donnera les nouvelles données, c'est que mon code fait en tout cas !

    As-tu étudié le code en lien que j'avais fourni ?
    Tu aurais eu la réponse à ta question !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 937
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 937
    Par défaut
    Ce composant te fournira toutes les informations souhaitées

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parser logs apache pour extraire dans un CSV
    Par GTJuanpablo dans le forum Linux
    Réponses: 13
    Dernier message: 22/04/2009, 15h43
  2. Réponses: 1
    Dernier message: 29/11/2005, 14h01
  3. [Système] Existe-t-il un bon parser HTML pour PHP ?
    Par MiJack dans le forum Langage
    Réponses: 8
    Dernier message: 25/10/2005, 11h18
  4. [Oracle 8i/Fichier de log] - fichier log pour analyse erreur
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 4
    Dernier message: 25/01/2005, 19h06
  5. [Parser HTML] quel parser utiliser pour du HTML 4.0 ?
    Par Cyber@l dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/07/2004, 19h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo