mboost-dp1
Detect events i log fil
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Har et spil som skriver alle events til en chat log.
Jeg kunne rigtig godt tænke mig at lave et program som læser denne filen og reagere på bestemte events i spillet.
Problemet er at chat log filen kun bliver opdateret i et bestemt interval.
Jeg har dog fundet ud af at man kan trigger skrivning til log fil, ved at slå "log chat" fra.
Jeg har derfor bare lavet en macro inde i spillet som slår chatlog fra også til igen i et loop (det sker ca. 1 gang i sekundet).
Dog giver det et nyt problem at slå log fra/til hele tiden. da SWG så tilføjer følgende entries hver gang, det gør ca. at log filen vokser alt for hurtigt.
Jeg har derfor prøvet at lege med noget kode, som læser første linje, sletter den og echo'er den. Det var hvertfald meningen, men problemet her, er at nogle gange får jeg kun halve linjer, fordi jeg formoder at SWG ikke har skrevet linjen færdig.
Se koden her: http://pastebin.com/PCPHdtJ2
Jeg kunne rigtig godt tænke mig at lave et program som læser denne filen og reagere på bestemte events i spillet.
Problemet er at chat log filen kun bliver opdateret i et bestemt interval.
Jeg har dog fundet ud af at man kan trigger skrivning til log fil, ved at slå "log chat" fra.
Jeg har derfor bare lavet en macro inde i spillet som slår chatlog fra også til igen i et loop (det sker ca. 1 gang i sekundet).
Dog giver det et nyt problem at slå log fra/til hele tiden. da SWG så tilføjer følgende entries hver gang, det gør ca. at log filen vokser alt for hurtigt.
[Spatial] Current chat log file size: 104 KB
[Spatial] Chat logging ON
Jeg har derfor prøvet at lege med noget kode, som læser første linje, sletter den og echo'er den. Det var hvertfald meningen, men problemet her, er at nogle gange får jeg kun halve linjer, fordi jeg formoder at SWG ikke har skrevet linjen færdig.
Se koden her: http://pastebin.com/PCPHdtJ2
For lige at glatte helt ud hvad jeg forsøger:
Læse en log fil, hvor nyeste chat linjer siden sidste write, bliver skrevet på én gang i et bestemt interval
Matche hver linje med regex for at trigger bestemte events
Undgå er filen bliver kæmpe stor og svær at håndtere. (gode ideer ønskes)
ps. spillet køre på Linux via Wine
Læse en log fil, hvor nyeste chat linjer siden sidste write, bliver skrevet på én gang i et bestemt interval
Matche hver linje med regex for at trigger bestemte events
Undgå er filen bliver kæmpe stor og svær at håndtere. (gode ideer ønskes)
ps. spillet køre på Linux via Wine
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.