PWUM Automatique V0.01

Répondre
Partager Rechercher
Citation :
Provient du message de Iridian
Ba écoute il n'y a pas de raison que tes fichiers de résultats soit faut si ils se compilent bien chez RAT (il a essayé je crois non ?)

Le plus simple serai que tu m'envoies une URL ou récupérer ton module.

Au fait, avec le module de test ca marche ou pas ?
Ben c'est justement ton module test qui marche pas chez moi (Celui qui est livré avec PUMA V0.02 tel quel, sans aucune modif).
Tant que le serveur tourne ça va mais dès qu'il est coupé et redémarré, je récupère pas une variable.
Je vais essayer avec la version 0.01 pour voir si ça change quelque chose.

je t'ai mis le .mod ici tiré directement de mon repertoire (celui que j'ai utilisé quoi)

Jaha Effect
Je viens de mettre a jour le lien du post permanent, la V0.03 est donc disponible, et elle contient un exécutable d'installation (histoire de faciliter les choses...)

Je jette un oeil a ton mod

[edit : Apres test, ton mod fonctionne tres bien chez moi !!!
Tu as du oublier quelque chose dans l'installation (mais alors quoi ???)

Essai avec la V0.03 qui normalement installe tout bien ou il faut ...
Heu c'est normal qu'il me crée un fichier qui porte un nom comme ça?
nwserver.exenwnnsscomp.exe
L'auto-installe bug carrément, je vais essayer en manuel.

Bon ben rien a faire, chez moi ça marche pas

Voici le log d'install
Code PHP:

ERREUR :copyfile(E:\NEVERWINTER NIGHT\PERSISTANT\PUMA\PUMA\ressources\override\pwum_functions.nss,F:\NeverwinterNights\NWN\nwserver.exeoverride\pwum_functions.nss);
ERREUR :copyfile(E:\NEVERWINTER NIGHT\PERSISTANT\PUMA\PUMA\ressources\override\pwum_functions.ncs,F:\NeverwinterNights\NWN\nwserver.exeoverride\pwum_functions.ncs);
ERREUR :copyfile(E:\NEVERWINTER NIGHT\PERSISTANT\PUMA\PUMA\ressources\modules\test_PWUM2.mod,F:\NeverwinterNights\NWN\nwserver.exemodules\test_PWUM2.mod);
ERREUR :copyfile(E:\NEVERWINTER NIGHT\PERSISTANT\PUMA\PUMA\ressources\erf\puma002b.erf,F:\NeverwinterNights\NWN\nwserver.exeerf\puma002b.erf);
OK :copyfile(E:\NEVERWINTER NIGHT\PERSISTANT\PUMA\PUMA\ressources\nwnnsscomp.exe,F:\NeverwinterNights\NWN\nwserver.exenwnnsscomp.exe); 
J'ai refais l'installe complète a la main en ayant retiré tout les fichiers résultants de la version entérieure (.ini, nss, ncs, exe, erf, mod , et tout)
- Copié le fichier nwnnsscomp.exe et PUMA.exe dans le repertoire F:\NeverwinterNights\NWN
- Copié le fichier pwum_functions.ncs et pwum_functions.nss dans le répertoire F:\NeverwinterNights\NWN\override
- Copié le fichier puma002b.erf dans le répertoire F:\NeverwinterNights\NWN\erf
- Copié le fichier test_PWUM2.mod dans le répertoire F:\NeverwinterNights\NWN\modules
Je considère qu'a ce moment l'installe est finie

Je passe a la configuration:
- Je sélectionne mon NWserveur dans le repertoire F:\NeverwinterNights\NWN pour la définition du chemin avec la touche prévue a cet effet.
- Je sélectionne le module test_PWUM2 dans la boite de sélection de module(port 5121 et nb de connecté a 6 par défaut).
- je laisse toute les fonctions cochées, aucun mot de passe joueur et DM
- Nom du serveur PUMA
- Salle de jeu: Role Play
- niveau mini et maxi 1-20 par défaut
- difficulté normal
- pvp total

Je lance le serveur en appuyant sur la touche Lancement du PUMA

- NWServer démarre avec toute les fonctions configurées sont bonne
- Dans NWServer je passe sauvegarde automatique sur 2 minutes
- Je connecte en tant que joueur avec mon seul et unique perso server et je verifie que le universal mind est bien posé par terre.
- Je massacre les 3 gobelins qui trainent dans la zone 1
- Je vais discuter avec le PNJ qui donne les flag et j'en prends un de chaque ( int, float, string, loc)
- Je vais discuter avec le PNJ qui vérifie les flag, je reverifie tout mes flags
- Je vais voir le banquier, je place 10 or a la banque et reverifie le solde
- j'attends la sauvegarde de location, et le save du serveur automatique
- je déco comme joueur, je reco comme joueur toujour avec le même perso et reverifie que tout mes flags sont encore là.
- Ils sont là, je déconnecte en tant que joueur
- Je clic sur extinction du serveur dans NWServer pour couper le server
- NWServer se coupe
- Je redémarre le serveur grace a la touche lancement du PUMA
- Je relog en tant que joueur toujour avec le même perso
- Mon perso apparait au début du module et non a l'endrois saugardé
- Je vais voir si j'ai encore mes flag et la ils ont disparu
- Je vais voir le banquier qui me dis que mon compte est a 0
- Je délog en tant que joueur et viens faire mon rapport sur le forum en pensant bien sur a prendre 3 boites de tranxène.

Je viens de faire une constatation bizard a l'instant, ma connection internet était coupée pourtant le statue du serveur sur NWSERVER indiquait en fonction connection à la demande alors qu'il n'en était rien.
Et a bien y réfléchir, je trouve que mon server apparait bien vite sur GAMESPY, presque aussitôt alors qu'avec NWSERVER seul ça met bien 5 minutes avant que le serveur apparaisse Online.
Peut être une piste à suivre

Jaha Effect
*se cogne la tête contre le mur*

Voici un extrait de MON log d'install :
Code PHP:

OK :copyfile(D:\PUMA\ressources\override\pwum_functions.nss,c:\Neverwinternights\nwn\override\pwum_functions.nss);
OK :copyfile(D:\PUMA\ressources\override\pwum_functions.ncs,c:\Neverwinternights\nwn\override\pwum_functions.ncs);
OK :copyfile(D:\PUMA\ressources\modules\test_PWUM2.mod,c:\Neverwinternights\nwn\modules\test_PWUM2.mod); 
*comprend rien*
Tu a quel système d'exploitation ?
Tu as bien tout fermé nwtoolset, nwserver et puma avant d'installer ?
(note : faut que je fasse un log d'instal plus clair)
Ouais tout est bien fermé à l'installe, ma plateforme c'est Windows 98 2eme Edition, je vois ton log est sympa mais il est pratique parcequ'il installe sur le C: au répertoire défini de base, j'ai l'impression qu'il est beaucoup moins coopératif quand c'est dans une autre lettre de lecteur ou il fait allègrement n'importe quoi.
RAT, dis voir, ton NWN il est installé sur quel lecteur?

Jaha Effect
Citation :
Provient du message de Jaha Effect
Ouais tout est bien fermé à l'installe, ma plateforme c'est Windows 98 2eme Edition, je vois ton log est sympa mais il est pratique parcequ'il installe sur le C: au répertoire défini de base, j'ai l'impression qu'il est beaucoup moins coopératif quand c'est dans une autre lettre de lecteur ou il fait allègrement n'importe quoi.
RAT, dis voir, ton NWN il est installé sur quel lecteur?

Jaha Effect
Non non, il installe bien la ou tu le défini dans l'exe d'install !
le problème c'est que .... mais j'y pense, avais tu mis un "\" a la fin du chemin ???

remarque ca n'explique pas qu'après une installation manuelle ca ne marche pas !
Une nouvelle donnée viens de m'apparaitre, Je viens de constater à l'instant que en connectant avec le NWServer seul avec le module (comme je te l'ai dis ça met un temps atroce pour apparaitre dans Game Spy), j'ai bien récupéré mes variables.
Visiblement c'est le fait d'avoir le serveur directement dispo dans game spy alors qu'il n'est pas encore réellement Online qui m'a trompé.
Donc mon installe manuelle est correcte.
Mes variables sont bien sauvegardée (c'est pour ça que RAT trouvait mes logs bons).

Ca me rassure d'un coup là, je commençais à déprimer et je me demandais combien il allait vous rester de cheveux.

Par contre maintenant je me demande comment je vais réussir a définir si je suis réellement en ligne ou pas.

Jaha Effect
*respire un grand coup*
*remercie les dieux d'avoir lu ca avant d'aller ce coucher plutôt que demain matin*

Bon résumons, les variables marchent, et le XML ?

Pour savoir si tu es vraiment sur gamespy, essai le clic-droit + refresh serveur peut-être ...

Bon moi je suis toujours embêté avec les noms de serveur composé, j'ai beau faire ca ne veux pas marcher !
Pourtant quand je modifie un raccourci ca marche !!!
Le XML a l'air de marcher, il me donne ça*

Code PHP:

- <RACINE>
- <
JOUEUR>
  <
NOMJ>Jaha Effect</NOMJ
- <
MONSTRE>
  <
NOM>gob</NOM
  <
NOMBRE>5</NOMBRE
  <
TYPE>PvM</TYPE
  </
MONSTRE>
  </
JOUEUR>
  </
RACINE
C'est tout cool
*se rend compte qu'il a encore oublié le xsl*

Je le mettrai dans le prochain pack

Jaha, toi qui sais tout, a part ton petit problème d'installation (que je ne m'explique pas) et cette saloperie (oups désolé, en plus ca passe au correcteur) de nom de serveur, que reste t-il des idéaux sous, oups décidément, que reste t-il a corriger ?

*trop fatigué ... continuera demain*
Ben je crois que j'ai encore une piste de bug, alors j'espère que tu est couché et que tu dors.
Alors à revérifier de ma pars, Je connecte avec PUMA, je fais mes petites affaires, je coupe le serveur.
Si je redémarre avec PUMA, j'ai pas mes variable, si je reco avec NWServer je les ais...
C'est à prendre au conditionnel car je suis encore en test.

Jaha Effect
*Respire un grand coup voyant que cela à l'air de s'arranger pour tout le monde enfin presque*

Pour info , Jaha moi , never est sur mon c .


Par contre, moi j'en ai peut être detecter un autre, mais je reste comme Jaha en test

Bon , les gars je pense que nous avons assez bossé pour ajd, allez vous reposer et moi j'avance mes deux scripts pour réussir un jour à le mettre sur jeux online
Citation :
Provient du message de Jaha Effect
Alors à revérifier de ma pars, Je connecte avec PUMA, je fais mes petites affaires, je coupe le serveur.
Si je redémarre avec PUMA, j'ai pas mes variable, si je reco avec NWServer je les ais...
Tout pareil pour moi, visiblement.
Si je relance avec PUMA, j'ai un reset complet. En relançant directement avec nwserver, ça semble bon.

Ce n'est qu'une piste de recherche, je n'ai vraiment pas l'occasion de faire des tests précis, étant donné que mon serveur est presque toujours occupé par des joueurs et ça m'embête de le couper exprès pour expérimenter...

Sinon un truc que je n'ai pas trop compris dans l'explication de Rat :
Citation :
Pas besoin de faire tout cela dans le onleave du module. Car il y a une fonction dans le pwum, il est ds le readme, donc faudrait vérifier si je me trompe qui se nomme ResumePcLocation qui permet de pouvoir ramener le joueur à sa position sans utiliser de sauvegarde pwum.
J'appelle la fonction sur le onClientEnter, pour remettre le PJ là où il était. Cette fonction fait appel à la Location stockée en persistant dans PCPlayerNamePCNameCurrentLocation par SetPWUMLocationC, qui est appelée dans la fonction récurrente (PWUMLocationTimer). Donc en gros, toutes les 300s PWUMLocationTimer stocke la position de tous les joueurs dans leur "PCPlayerNamePCNameCurrentLocation", et ResumePCLocation pioche ce dont il a besoin dans cette variable pour téléporter le joueur à la Location enregistrée.

Le problème, c'est justement que les sauvegardes sont espacées de 300s, donc si le client quitte, sa variable persistante de position indiquera qu'il se trouve là où il était lors de la dernière sauvegarde. L'erreur est minime en cas de reboot du serveur, puisque ça permet de retourner assez près de l'endroit où on était (au pire, on a un flash back de 4min59 ). Mais en cas de déco-reco du joueur, sans plantage du serveur, le joueur réapparaît à sa position de déconnexion... puis le ResumePCLocation du onClientEnter le téléporte là où PWUM a noté qu'il était (lors de la dernière sauvegarde). Donc c'est assez gênant, au lieu d'avoir une déco/reco au même endroit comme sans le PUMA, on revient à une Location un peu périmée...

Maintenant, je fais une sauvegarde supplémentaire sur le onLeave, il mémorise la position dans le "PCPlayerNamePCNameCurrentLocation", pour qu'au retour le ResumePCLocation ne soit pas erroné. Ca semble fonctionner (c'est un appel à SetPWUMLocationC similaire à celui qui survient toutes les 5 min dans PWUMLocationTimer).
Citation :
Provient du message de Jaha Effect
Alors à revérifier de ma pars, Je connecte avec PUMA, je fais mes petites affaires, je coupe le serveur.
Si je redémarre avec PUMA, j'ai pas mes variable, si je reco avec NWServer je les ais...
Citation :
Tout pareil pour moi, visiblement.
Il semblerait que la tendance se précise...
j'ai recommencé le test plusieurs fois et j'aboutis au même résultat.

Jaha Effect
Bizare bizare c't'histoire, personnellement je fait tous mes tests en lancant puma, et je relance le serveur sans quitter puma (je re-clic sur lancer) et je n'ai jamais eu rien de tel !

Je refais un essai et je vous dit quoi.

[edit apres tests]
Ba ecoutez, je n'ai pas le probleme ...
J'ai essayé en fermant le serveur et en le relancant de puma dans les 2 cas (c a d en ayant fermé ou non puma entre temps) et dans les 2 cas je recupere mes variables ...

Vous pourriez jeter un oeuil aux nss lorsque les variables ne sont pas recupérées ?
Si le nss est bon, ce doit etre une erreur de compilation des scripts, restera a trouver laquelle !
Alors je lance le serveur avec PUMA, je fais mes trucs, je coupe le serveur, je relog par le PUMA et pas de variables alors je te les nns
variables.nns
Code PHP:

#include "pwum_functions"
void main()
{
object oUMArea;
vector vUMVector;
location lUMLoc;
SetPWUMInt("iPWUMDate"46116112100000000);
SetPWUMInt("iDefaultExpire"8412100000000);
SetPWUMInt("Jaha EffectVD7Q4X7QJaha Effectflag_int"112100000000);
SetPWUMFloat("Jaha EffectVD7Q4X7QJaha Effectflag_float"1.10000002412100000000);
SetPWUMString("Jaha EffectVD7Q4X7QJaha Effectflag_string""1"12100000000);
oUMArea=GetObjectByTag("Zone002");
vUMVector=Vector(11.38399982517.6216049190.000000000);
lUMLoc=Location(oUMAreavUMVector,117.476348877);
SetPWUMLocationC("Jaha EffectVD7Q4X7QJaha Effectflag_location"lUMLoc12100000000);
oUMArea=GetObjectByTag("Zone002");
vUMVector=Vector(28.36663436923.4736537930.000000000);
lUMLoc=Location(oUMAreavUMVector,10.053733826);
SetPWUMLocationC("Jaha EffectJaha EffectCurrentLocation"lUMLoc12100000000);

banques.nns
Code PHP:

#include "pwum_functions"
void main()
{
SetBanqueOr("Jaha EffectVD7Q4X7QJaha Effectbanque"1012100000000);

Par contre si je redémarre avec NWServer je récup bien mes variables

Jaha Effect
Valà mon Variable.nss tel quel, chef :

Code PHP:

#include "pwum_functions"
void main()
{
object oUMArea;
vector vUMVector;
location lUMLoc;
SetPWUMInt("iPWUMDate"46116112100000000);
SetPWUMInt("iDefaultExpire"8412100000000);
oUMArea=GetObjectByTag("");
vUMVector=Vector(24.62505531311.8916864400.003984999);
lUMLoc=Location(oUMAreavUMVector,101.211097717);
SetPWUMLocationC("GyrdengaardGadCurrentLocation"lUMLoc12100000000);
oUMArea=GetObjectByTag("");
vUMVector=Vector(0.0000000000.0000000000.000000000);
lUMLoc=Location(oUMAreavUMVector,305.181091309);
SetPWUMLocationC("GadCurrentLocation"lUMLoc12100000000);

Deux autres remarques.
D'abord, ça m'était complètement sorti de la tête, mais le programme d'installation ne fonctionne pas.
Je modifie le nom de répertoire dans le champ du bas, avec un "\" terminal ou pas, la première fois que je valide, rien ne semble se passer, le seconde fois j'ai une erreur "IO 32". Dans le log, chaque fois, je peux lire :
Citation :
OK :copyfile(C:\PUMA\ressources\override\pwum_functions.nss,F:\JEUX\ROLE\NwN\override\pwum_functions.nss);
OK :copyfile(C:\PUMA\ressources\override\pwum_functions.ncs,F:\JEUX\ROLE\NwN\override\pwum_functions.ncs);
OK :copyfile(C:\PUMA\ressources\modules\test_PWUM2.mod,F:\JEUX\ROLE\NwN\modules\test_PWUM2.mod);
OK :copyfile(C:\PUMA\ressources\erf\puma002b.erf,F:\JEUX\ROLE\NwN\erf\
(Ce n'est pas moi qui ai coupé la fin.)
Une partie des fichiers est copiée mais pas les derniers (les deux exe, il me semble).
Je termine donc l'installation à la main, mais le contenu des fichier pwum_functions.nss et .ncs est étrange. Le .ncs est presque vide et illisible (il contient ça : NCS V1.0B   ). Quant au nss, il semble complet mais dans un format différent des scripts habituels (pas de sauts de ligne). C'est peut-être quelque chose de propre au nsscompiler ?

*Laisse tout ça entre les mains des docteurs.*
Ba vos nss me semblent fort bon ...
Le problème viens peut-être de la compilation du nss en ncs par nwnnsscomp.exe.

Ce programme compile le scripts + son include (donc pwum_functions).
Si il y a un problème dans ce dernier (je regarderai ce soir si j'ai la même chose que toi Gadjio), ca expliquerai que le fichier ne soit pas compiler.

Autre chose, apparemment les 3 compilations (variables, banques et chasses) se lance avant que la première ne se termine.
Ils utilisent donc probablement pwum_functions.nss a peu près en même temps.
Peut-être y a-t-il un conflit de ce coté la (sous XP, chez moi, ca ne semble pas problématique, mais on ne sais jamais)

Donc je modifierai le programme pour qu'il attende la fin de la première compilation avant de lancer la seconde.
En fait, j'ai décoché l'utilisation de la banque et du tableau de chasse pour l'instant, je voulais déjà être sûr que la sauvegarde de variables fonctionnait. J'ai aussi désactivé la ligne d'initialisation de la banque dans le onLoad du module... ça peut causer des problèmes ?
Pour le système, le serveur est sous 2K. Pour info, j'ai testé aussi le programme d'installation du Puma sur ma machine (un XP) et ça ne passait pas non plus.
Je t'upload mon pwum_functions.nss à tout hasard.
[mmf, Free qui ne répond pas...]
pwum_functions.nss
Bon bon bon, le pwum_functions me parait ok (evidemment je n'ai pas le mien pour comparer, je suis au boulot).

De toutes facons, si tu as decoché la gestion de la banque et du tableau de chasse il n'y a plus qu'un script qui se compile (et donc qui fait appel au pwum_function.nss)

Je doit donc me ressoudre a chercher ailleurs le probleme de disparition de vos variables (dans le doutes je ferai quand meme les modifs).

Grumble grumble grumble, que ca peu etre enervant un programme qui marche chez soit et pas chez les autres !
Bon la v0.04 a l'air de marcher à merveille. Avec les modifs que j'ai fais sur mes fonctions et la procedure que m'a envoye ce matin iridian.

Cela m'a permis de faire une nouvelle version et de la tester.

En tout cas chez, moi , cela fonctionne à merveille.

Donc je filerai les sources à iridian qui en refera une nouvelle version je pense. Il faut voir cela avec lui .

Par contre iridian, j'ai personnalisé un peu plus le puma en lui mettant une icone, tu verras si cela te va ou pas.
Je pourrai en faire une autre si tu preferes.


RAT
Formidable, reste le probleme des noms de serveurs composés et on pourra l'appeller PUMA V1 !

Je ferai une version ce soir, si je te vois sur MSN (prepare les sources et un erf pour tes fonctions).
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés