JeuxOnLineForumsPlusCréer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > PWUM Automatique V0.01 RSS
   
Répondre
Partager Outils Rechercher
Avatar de Gadjio
Gadjio
Alpha & Oméga
 
Avatar de Gadjio
 
Bin je l'ai fait tout à l'heure. Ca semble fonctionner au poil pour le parsing des logs joueurs, mais les logs du DM qui héberge la partie (quand ce n'est pas un serveur dédié donc) sont formatés différemment et pas encore gérés. Les logs DM non serveur fonctionnent normalement. Je mets en ligne une version fonctionnelle demain (enfin.. *regarde l'heure* aujourd'hui, disons).

Cela dit, pour l'instant elle est surtout orientée pour ce que je voulais en faire, et je ne sais pas quelles étaient vos attentes précises. Moi je préférais utiliser un code simple pour les différents types de discussion, mais ce choix n'est peut-être pas partagé. Pour être plus clair, un exemple de ce que fait le programme pour l'instant :

Citation:
le nwclientLog1.txt sorti par le jeu :
[Moncompte] Gad : [Talk] blabla normal
// Dialogue avec un pnj (d'où l'absence de compte)
Boido Ydonal: [Talk] Je suis en service, je ne peux pas bavarder maintenant. Laissez-moi s'il-vous-plait.
[Moncompte] Gad: [Talk] Au revoir.
[Soncompte] Emy: [Talk] alors ce test ?
[Moncompte] Gad: [Talk] je log, je log... :)
[Moncompte] Gad : [Crier] je peux crier
[Moncompte] Gad : [Murmurer] ou parler avec une tite voix
[Moncompte] Gad : [Groupe] causer avec mon groupe
[Moncompte] Gad : [MD] et avec mes potes DM ^^
// Envoi de messages privés... hélas le nom du destinataire n'est pas logué :/
[Moncompte] Gad : [Parler] je t'envoie un appel privé !
[Moncompte] Gad : [Parler] Et un autre
[Soncompte] Emy : [Parler] 5 sur 5 !
[Moncompte] Gad : [MD] That's it !
[Moncompte] Gad : [Talk] woops, sword :D
Le fichier nwclientLog1.txt est renommé en backup.txt et on ajoute à la fin du fichier Log.txt la version suivante :

Citation:
Append à Log.txt :
~~~~~~~~~~~~~~~
15/12/2002 03:29:22
___________________
<Gad > : blabla normal
<Boido Ydonal> : Je suis en service, je ne peux pas bavarder maintenant. Laissez-moi s'il-vous-plait.
<Gad> : Au revoir.
<Emy> : alors ce test ?
<Gad> : je log, je log... :)
<<Gad>> : je peux crier
(Gad).. ou parler avec une tite voix
Gr: {Gad} - causer avec mon groupe
Md: <Gad> - et avec mes potes DM ^^
"Gad" - je t'envoie un appel privé !
"Gad" - Et un autre
"Emy" - 5 sur 5 !
Md: <Gad> - That's it !
<Gad> : woops, sword :D
Bon, ça fait un peu charabia, surtout tout mélangé comme dans l'exemple... :/ Les codes sont pas forcément définitifs, j'essaie de trouver quelque chose de lisible et qu'il sera possible de traduire d'un coup d'oeil.

Bref, c'est encore en chantier. J'essaierai de finir demain si j'ai du temps, et si possible de récupérer Delphi pour le refaire "au propre" (là c'est VB ). N'hésitez pas à demander des trucs plus précis si cette voie là vous paraît pas bonne. Je referai un topic à part si besoin (on n'est plus trop dans le PWUMA là ).
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Code PHP:
[MoncompteGad: [Talkje logje log...  
[
MoncompteGad : [Parlerje t'envoie un appel privé ! 
Copier/Coller malheureux ou il écrit vraiment en anglais quand on parle (talk) et en français quand on fait un appel privé ?!?


Autre question, y a t'il possibilité de récupérer coté serveur tout ce qui se dit dans la fenêtre de chat ?

En tout cas bonne idée ton programme
Idee : Tu devrais utiliser du texte au format enrichi (RTF) de façon à pouvoir différencier le type de ligne par une couleur de texte. (mes dernier essai de VB remontent a loin, mais il me semble que c'était relativement aisé à gérer)
Lien direct vers le message - Vieux
syrtis2
Roi
 
ca m'interresse beaucoup mais ca fait peur!!!
malgre leurs explication je n'y comprend pas grand chose!!!

si j'ai bien compris ca sert a garder en memeoire a chaque deco toutes les actions que tes pjs ont faites avant la deco?

ca a un potentiel enorme mais...est ce que ca ne foire pas un peu le reste?
beaucoup comme moi on deja tellement de mal avec la base...alors la!!!

j'aurai l'impression de toucher a un domaine hors d'atteinte,de jouer l'apprenti sorcier!

il faudrait nous rassurer les gars si vous voulez qu'on l'essaye!!!!



et expliquer un peu mieux comment ca s'installe...


je suis peut etre trop faignant mais il faudrait recompiler toutes les infos sur un seul message!
Lien direct vers le message - Vieux
Avatar de Daidoji
Daidoji
Roi
 
Avatar de Daidoji
 
justement.
le but de leur travail est qu'il soit possible à n'importe qui (ou presque) de lancer un module persistant.

En gros, il te suffira de créer un script sauvegarde, qui au moyens des fonctions pwum va écrire dans le log les variables que tu veux garder.

Ensuite au redémarrage, le parser (pwuma ? j'aime bien le nom aussi) va récupérer toutes ses infos et le remettre dans ton module, périnisant ainsi tout ce qui y est fait.

Exemple :
argent dans la banque
constructions dans la nature
positionnements d'objet\pjs
etc....

J'espère que ça aura pu t'éclaircir.

-=[ Membre du Fan Club ]=-
__________________
Amicalement,
Daidoji
Forum sur mes Modings Nwn :: ici ::
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Euh... puisqeu on met le A, pourquoi on dropperait le W ?

Apres tout, ca apporte rien, et ca fais moins bien que le systeme PUMA, non ?
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Citation:
Provient du message de Jaha Effect
En faite je crois que ça intéresse énormément de monde mais ils osent pas le dire
Leur intervention impliquerait qu'ils soit beaucoup plus actif dans le projet alors ils se cachent

Jaha Effect
Héhéhé Je crois que j'ai une belle carrière de producteur devant moi
Alors vous voyez bien que vous avez du monde dérrière vous les gars

Jaha Effect
Lien direct vers le message - Vieux
Avatar de Eltannus
Eltannus
Roi
 
Avatar de Eltannus
 
Eltannus
Bonjour a tous

Je fais parti des "gens énormement interessé" et notre groupe de realisation de notre module avec moi... donc avec vous. Et pas loin de nous, se tiennent d'autres batisseurs de module amis qui sont dans la meme mouise.

Mais...et oui il y a tjs un mais. Nous aimerions transformer notre module en monde persistent car une opportunité de serveur se présente aux petites gens que nous sommes.

Malheureusement transformer notre module en mod persistent n'est pas à la portée de notre connaissance.

Nous recherchons de l'aide pour une permettre cette transformation pas à pas avec methode.

Cet aspect est aussi impénetrable que le langage magique des elfes, c'est vous dire.

Eclairez nous de votre lanterne, il fait un peu sombre chez nous.

Eltannus est dans le noir... sa chandelle est morte
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Re: Eltannus
Citation:
Provient du message de Eltannus
Bonjour a tous

Je fais parti des "gens énormement interessé" et notre groupe de realisation de notre module avec moi... donc avec vous. Et pas loin de nous, se tiennent d'autres batisseurs de module amis qui sont dans la meme mouise.

Mais...et oui il y a tjs un mais. Nous aimerions transformer notre module en monde persistent car une opportunité de serveur se présente aux petites gens que nous sommes.

Malheureusement transformer notre module en mod persistent n'est pas à la portée de notre connaissance.

Nous recherchons de l'aide pour une permettre cette transformation pas à pas avec methode.

Cet aspect est aussi impénetrable que le langage magique des elfes, c'est vous dire.

Eclairez nous de votre lanterne, il fait un peu sombre chez nous.

Eltannus est dans le noir... sa chandelle est morte
Alors en fait, le plus simple, c'est de te baser sur le module de test present avec la version actuelle (changement de version bientot, et module de test plus complet avec).
En gros, tu installes les fichiers fournis (le PWUM est inclu dedant), tu mes les bon scripts aux bon endroit (comme sur le module de test), tu remplaces toutes les affectations de variables par leur equivalent persistant (SetLocalInt = SetFlagInt, GetLocalString=GetFlagString) sans oublier le #include qui va bien

Et .... c'est fini !
De toutes facons je conseil vivement de faire 2 ou 3 modules vierges pour s'entrainer à la "migration" vers le persistant.

Note PUMA ou PwUMA *insiste sur la case* c'est vrais que ca le fait !
Lien direct vers le message - Vieux
Avatar de Gadjio
Gadjio
Alpha & Oméga
 
Avatar de Gadjio
 
Citation:
Provient du message de Iridian
Code PHP:
[MoncompteGad: [Talkje logje log...  
[
MoncompteGad : [Parlerje t'envoie un appel privé ! 
Copier/Coller malheureux ou il écrit vraiment en anglais quand on parle (talk) et en français quand on fait un appel privé ?!?
Vi, c'est bien ça. [Talk] c'est pour le texte "normal", la conversation "locale" en mode "parler". [Parler] c'est pour les appels perso.

Leur système de log se comporte assez bizarrement, à part ce point de traduction. On voit parfois un espace après le nom de compte, parfois pas, parfois le nom de compte n'y est pas du tout... C'est variable et même en testant je n'ai pas trouvé de règle.

Citation:
Autre question, y a t'il possibilité de récupérer coté serveur tout ce qui se dit dans la fenêtre de chat ?
Toutes les conversations de tous les joueurs ? J'essaierai de tester, mais comme je tourne avec un dedicated serveur, je n'ai pas ce genre de logs en standard. Un DM peut toujours loguer les conversations de groupe, mais ça ne fait pas une archive très complète. Je suis un peu pessimiste sur l'existence d'une telle option, mais vu que de toute façon tous les dialogues transitent par le serveur, bioware a peut-être prévu un moyen d'y accéder...


Sinon, aucun rapport et pour revenir dans le sujet (finalement j'ai fait un post à part pour le "client log parser"), PUMA est définitivement un nom qui me plaît. :o)
J'avais pas osé le proposer la première fois d'ailleurs.
Je propose au passage de renommer éventuellement le persistant du PUMA avec un titre quand même plus explicite, parce que quand on débarque on ne sait pas trop ce qui se cache derrière ce fauve... (les curieux cliqueront, certes..)
Lien direct vers le message - Vieux
Avatar de Eltannus
Eltannus
Roi
 
Avatar de Eltannus
 
Pour Iridian et les autres
Wait and work

Oky merci pour l'infos.. notre module de base sera completement fini d'ici 4 a 5 semaine ( nous sommes au fignolage ). je vais donc collecter les scripts necessaires dans la version du module test mais je vais attendre peut être votre nouvelle version test.

Vous pensez mette ces nouvelles informations à qu'elle période?


En tous cas, nos remerciements scinceres de la part de notre groupe et des autres groupes amis qui s'échinent dur aussi pour offrir aux joueurs de belles aventures

Amicalement, nous vous tenons informé

Eltannus...Et la lumiere est au bout du couloir...mais a droite ou a gauche!
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Il y aura probablement une version de faites aujourd'hui.
Mais avec un banquier "minimal" en attendant le script complet de RAT
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Bon, bon, bon

Bravo à Iridian et au rongeur, grâce à vous le PWUM est devenu presque abordable

Même si on sait dorénavant que Bioware intégrera une gestion de base de donnée en Mars (disent-ils), ça vaut toujours le coup de s'acharner sur ce satané système en attendant

Alors voilà ce que j'ai à dire : parser les logs, c'est bien, mais y'a un hic évident, c'est que seules les variables présentes dans le log sont parsées. Si par exemple un joueur est présent sur le serveur, puis ce serveur reboot. Puis il reboot un peu plus tard sans que le joueur soit repassé entre temps. Ben là le joueur il a perdu toutes ses variables dans le continuum Aurora-NWN

Bon ok on peut faire une sauvegarde de ses logs manuellement, voire utiliser un batch (comme dans le système de persistant sur le vault), mais si on tient absolument à tout garder en mémoire ben... vive les logs de 3km

A ça je vois deux solutions : une compliquée et une compliquée aussi.

*La première : scripter dans le mod un moyen de "rappeler" à chaque reboot toutes les variables enregistrées depuis des temps immémoriaux. Ca voudrais dire enregistrer une chaine unique rappelée à chaque lancement du module, de la forme :
"nomvar1#typevar1#nomvar2 ..." etc.
Galère donc.

*La deuxième : programmer un truc en delphi ou vb ou je sais pas quoi (je sais j'y connais rien) qui remettrais dans un fichier texte à part toutes les variables enregistrées sous leur forme la plus récente. Le parser s'occuperait donc d'abord du log, ensuite de ce petit fichier "stock" (qui ne devrait pas être trop long si on y mets seulement les dernières valeurs des variables).

Vala, j'ai sûrement dit des conneries mais aussi sûrement un peu fait avancer le machin ... je suis pardonné ?

Bonne chance en tout cas
__________________


Militant pour la résurrection de NWN1
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Citation:
Provient du message de Taern
Bon, bon, bon
Alors voilà ce que j'ai à dire : parser les logs, c'est bien, mais y'a un hic évident, c'est que seules les variables présentes dans le log sont parsées. Si par exemple un joueur est présent sur le serveur, puis ce serveur reboot. Puis il reboot un peu plus tard sans que le joueur soit repassé entre temps. Ben là le joueur il a perdu toutes ses variables dans le continuum Aurora-NWN
Bon le rongeur va essayer de te répondre rapidement car je n'ai point le temps ce soir . Mais, bon avec tous les tests que j'ai pu faire , je ne suis jamais tombé dessus, et pourtant j'utilise plusieurs fois les mm variables et aussi des variables constantes . Pourquoi logiquement cela devrait être bon , et qu'il les réécrive? Parce que tout simplement quand on le parse , on rappelle des fonctions en pwum. Qui fait que dès que le module est lancé, il les réenregistre, donc les reecris dans les logs. Nous arrivons donc logiquement à une boucle sans fin. En gros, la boucle est bouclée .

Donc logiquement , pas besoin


Citation:
*La première : scripter dans le mod un moyen de "rappeler" à chaque reboot toutes les variables enregistrées depuis des temps immémoriaux. Ca voudrais dire enregistrer une chaine unique rappelée à chaque lancement du module, de la forme :
"nomvar1#typevar1#nomvar2 ..." etc.
Galère donc.
[/i]
Mais au cas ou , les choses ne sera pas si complexe à faire. Et non malheureusement, même si l'idée est bonne, on ne pourrait pas utiliser dans une variable unique. Car comme j'avais fais les temps qui se trouve sur l'un des threads de ce forum, un type string peut contenir max 518 caractères, donc cela bloque très rapidement surtout quand tu possedes beaucoup de sauvegardes. Par contre on pourrait utiliser le système que j'ai fais, pour contourner la limite, (comme je l'utilise pour le système de banque) mais cela serait trop long. Mais je pense à un autre moyen, par rapport au parser, qui se rapproche à la deuxième. Ou sinon, encore plus simple, qui mélangerait une modif du parser et du OnmoduleLoad.

Mais bon perso, je reste persuadé quand je vois mes tests, que normalement la boucle est bouclée mais j'en referai d'autre si vous préférez pour vérifier .

A bientot,

RAT
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
vous fatiguez pas les variables sont belles et bien réutilisées même si le joueur ne s'est pas connecté entre temps !

Pourquoi ? tous simplement parce qu'en réalité elle ne sont pas stockées sur le joueur, mais sur l'objet PWUM.

Au démarrage, l'objet PWUM est chargé avec toutes les variables, qui du coup sont réenregistré dans le log.

Pas de soucis !
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Vi pour ca aussi , pas la peine. Mais mon explication c'était pour autre chose lol
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > PWUM Automatique V0.01
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 03h40.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite