JeuxOnLineForumsPlusConnectés : 267 (sites) | 412 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [SYSTEME] Le PUMA! RSS
   
Répondre
Partager Outils Rechercher
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Personnellement je ne me suis pas penché sur la question ....
Je sais que PWUM permet de gérer ca (donc PUMA aussi par extension) mais je ne sais pas exactement comment ca marche.
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Pour la localisation, je la gère très bien.
Tu parles surement de la loc d'un joueur quand il quitte la partie , sans que le serveur soit arrêter???

si c'est oui, tu as une fonction que tu dois mettre dans le Onleave du module. Je sais plus comment elle se nomme, je regarderai ce soir chez moi, mais normalement c'est ResumePCLocation quelque chose comme ca.

Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Citation:
Provient du message de RAT
Tu parles surement de la loc d'un joueur quand il quitte la partie , sans que le serveur soit arrêter???
Oui oui je parle bien de ça, c'est surtout pour les individus qui se retrouvent en taule, qui déconnectent et se retrouvent en ville, ça me dérange un peu

Jaha Effect
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Vi c'est sur que là cela peut être genant . Mais je crois bien que c'est ResumePCLocation (...) ; mais je vérifierai ce soir Jaha
Lien direct vers le message - Vieux
Avatar de Noss
Noss
Roi
 
Avatar de Noss
 
euh
Je tourne sur un athlon xp1800+ avec 256ddr ; gf4 ; 60go a 7200tr/min ; et adsl 4mo ....
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Re: euh
Citation:
Provient du message de Noss
Je tourne sur un athlon xp1800+ avec 256ddr ; gf4 ; 60go a 7200tr/min ; et adsl 4mo ....
ca parait un peu limite ca non ?
*se sauve en Courant*

Et donc c'est avec la dernière version du PUMA que tu plantes ... de plus en plus bizarre ... Je referai des tests se soir, mais je ne vois vraiment pas d'où ca peu venir !

(ps: tu la paies combien et chez qui ta ligne ADSL 4Mo ?)
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Dans toutes les versions du PWUM que j'ai pu voir il n'y avait pas d'enregistrement de position ou de variables sur le OnExit. L'enregistrement de la location du PJ se fait par un script récurrent ("pwum_loctimer") qui se lance par défaut toutes les 10 minutes environ. D'ou le problème de "timewarp" puisqu'un joueur déconnectant alors que sa position a été sauvée il y a un certain temps (disons 5 minutes), puis se reconnectant, se retrouvera là ou il se tenait il y a 5 minutes

Enfin c'est un problème facilement contournable : il suffit de n'appliquer la fonction ResumePCLocation (qui ramène le PJ à sa dernière position enregistrée) au PJ qu'une fois, juste après que le serveur ait rebooté.

Maintenant, il me semblait qu'il n'était pas possible d'enregistrer la position d'un joueur sur son évènement OnExit ... chuis pas sûr en tout cas
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Citation:
Provient du message de Taern
Dans toutes les versions du PWUM que j'ai pu voir il n'y avait pas d'enregistrement de position ou de variables sur le OnExit. L'enregistrement de la location du PJ se fait par un script récurrent ("pwum_loctimer") qui se lance par défaut toutes les 10 minutes environ. D'ou le problème de "timewarp" puisqu'un joueur déconnectant alors que sa position a été sauvée il y a un certain temps (disons 5 minutes), puis se reconnectant, se retrouvera là ou il se tenait il y a 5 minutes
Enfin c'est un problème facilement contournable : il suffit de n'appliquer la fonction ResumePCLocation (qui ramène le PJ à sa dernière position enregistrée) au PJ qu'une fois, juste après que le serveur ait rebooté.
Maintenant, il me semblait qu'il n'était pas possible d'enregistrer la position d'un joueur sur son évènement OnExit ... chuis pas sûr en tout cas
Exact, maintenant que tu le dit, pwum_loctimer ca me reviens
Il doit sûrement y avoir une bonne raison pour ne pas avoir mis le script dans le onExit, reste a voir si avec les changements de versions de nwn certaines choses n'ont pas été corrigé.
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Ba pourtant cela existe bien comme je l'utilise sur mon module de test lol .

Tant que le serveur n'est pas donne il enregistre la loc du pc dès qu'il quitte le module.
Lien direct vers le message - Vieux
Avatar de Noss
Noss
Roi
 
Avatar de Noss
 
d
( hs )

L'adsl 4 mo c pa un service; g l'adsl par wanadoo; mais la miraculeuse raie verte permet, pour les conaisseurs , de se connecter en broadband via PPPoE
Lien direct vers le message - Vieux
Avatar de Noss
Noss
Roi
 
Avatar de Noss
 
ps
Oh et voici le "plantage" :

http://******************/nosss/hpbimg/camegave.JPG

g remaqrué que le puma revenai a la normal qd je fermai le server
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Donc je vous donne la fonction pour eviter de vous faire chercher . Donc c'est avec cette fonction que vous rajouter dans le OnLeave du module, et cela sauvegardera la loc des PC.
Comme je vous ai dis, je l'utilise moi même .

De plus si un jour vous vous en rappelez plus, il se trouve logiquement si je ne me trompe pas dans le readme du pwum. Par contre je dois avouer qu'il faut quand même le trouver mais bon .

Enfin donc voilà cette fameuse fonction:

Code PHP:
    SetPCToSaveLocation(oClient); 

oClient est bien sur l'object qui sort du module donc GetExitingObject();

voilà,

Si vous avez d'autres questions, je suis tout ouïe.
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Citation:
g remaqrué que le puma revenai a la normal qd je fermai le server
Ah ouiiiiiiiiii !
En fait c'est pas un plantage, il attend juste la fin de l'execution du nwserver.exe

Pour tout expliquer, PUMA n'utilise qu'une seule procedure pour tous les appels d'exécutables externes (1 a 3 appel a nwnnsscomp.exe et 1 appel a nwserver).

Au départ, il n'attendais pas la fin d'un exécutable pour continuer, mais les appels a nwnnsscomp trop rapproché causais des accès concurrentiels au fichiers pwum_function.nss (dans le répertoire override). La fonction a donc été modifier pour attendre la fin de l'exécutable, y compris dans le cas du nwserver.exe (puisque c'est la même fonction).

C'est bien noté, ce sera corrigé dans la prochaine version (quoique je ne vois pas d'intérêt a toucher au PUMA une fois le serveur lancé)

En tout cas bravo, fallait le trouver ce bug la !
Lien direct vers le message - Vieux
Avatar de Gadjio
Gadjio
Alpha & Oméga
 
Avatar de Gadjio
 
Citation:
Provient du message de Iridian
Il doit sûrement y avoir une bonne raison pour ne pas avoir mis le script dans le onExit, reste a voir si avec les changements de versions de nwn certaines choses n'ont pas été corrigé.
Là ça me surprend beaucoup, ce que dit Rat, parce que chez moi le GetLocation(GetExitingObject) dans le onClientLeave du module, ça renvoie une location vide (une area "", et 0.0 dans les trois vecteurs). Visiblement l'objet est détruit dès sa déconnexion, et plus moyen d'accéder aux informations qui le concernait (c'est très frustrant ).

Du coup, le timewarp dont parle Taern devient très gênant, puisqu'il survient à chaque déco/reco, même si le serveur n'a pas été rebooté entre deux. Or dans le cas normal (sans ResumePCLocation), le serveur stocke bien la position et la restore au retour du joueur s'il n'y a pas eu de reboot.

J'ai commencé par contourner le désagrément (faute de mieux) en passant les sauvegardes de position à la fréquence de 30 secondes (au lieu de 300s), ça ne posait pas trop de problèmes vu la rapidité de la fonction de sauvegarde, mais le log a vite enflé et je me retrouvais avec 2,5 mb de logs tous les jours (que le PUMA digérait très bien, au passage même si dans ces cas là il rame pendant trente secondes en donnant l'air d'être planté).

Actuellement, je note le "numéro" de ma session dans une variable persistante incrémentée à chaque reboot et je ne lance ResumePCLocation que si la location sauvée appartient à une session strictement inférieure (autrement dit, je ne Resume pas s'il n'y a pas eu de reboot, vu que le jeu le gère très bien de lui-même, et sans time warp). Inconvénient, je dois sauver le numéro de session avec chaque sauvegarde de position (mais je pense pouvoir gérer ça par la date d'expiration des variables, en la comparant à la date de reboot du module... je verrai bien).

Bref, dans mon cas c'est loin d'être aussi simple qu'il n'y paraît. Donc si vous avez quelque chose de plus optimal, je prends.
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Ba personnellement, je ne peux rien te dire de plus que ce que j'ai testé.

En mettant cette fonction là, tant que le serveur ne reboot pas, je ne perds pas du tout la localisation de mon PC.

Je peux vous le dire, j'ai testé PWUM sur pas mal de chose, et mon module de test l'utilise tout le temps.

Donc maintenant, je ne peux rien vous dire de plus! qu'avec cette fonction, je sauvegarde bien la loc.

Voilou
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [SYSTEME] Le PUMA!
   

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 07h11.
   

© 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