JeuxOnLineForumsPlusConnectés : 745 (sites) | 1374 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Variables qui changent toutes seules RSS
   
Répondre
Partager Outils Rechercher
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 

Variables qui changent toutes seules

Bon j'ai un petit problème :

dans le OnClient Leave, je mets ca :
Code PHP:
object oPC GetExitingObject();
string sName=GetName(oPC);
string sCompte=GetPCPlayerName(oPC);
string sPV="PV"+sName+sCompte;
int nPVsortie GetCurrentHitPoints(oPC);

SetCampaignInt("pouet"sPVnPVsortie);
WriteTimeStampedLogEntry(GetCampaignInt("pouet"sPV)); 
La quand je regarde le log, j'ai la bonne valeur

Dans le OnClientEnter, je mets ca :

Code PHP:
object oPC GetEnteringObject();
string sName=GetName(oPC);
string sCompte=GetPCPlayerName(oPC);
string sPV="PV"+sName+sCompte;

WriteTimeStampedLogEntry(GetCampaignInt("pouet"sPV)); 
Et la dans le log, je vois 0...

Ca ne vient pas du sytème de DB Bioware, j'ai exactement le meme problème avec un SetLocalInt sur le module.

Je stocke egalement dans un script appelé par un baton un int avec un nom ressemblant( je remplace "PV" par autre chose), et celui marche parfaitement... Si quelqu'un voit d'ou ca peut venir, je lui en serai infiniment reconnaissant
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
Euh la fonction c'est pas "WriteTimestampedLogEntry" ?

Je me plante peut-être, mais bon, on sait jamais

Et la fonction GetCampaignInt retourne un Int si je ne m'abuse, alors que la WriteTimestampedLogEntry demande un string...
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Oué ca doit etre ca, celle-la je l'ai recopiée de tete vu qu'elle est dans les profondeurs du script
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Eh bien, à en croire tout ce que j'ai pu lire à propos du OnClientLeave, ses résultats semblent assez aléatoires.

En fait le plus bizarre est que tu récupère une valeur correcte dans le log, mais que celle-ci disparaisse par la suite.

Tu sais ce que tu devrais faire ? logger également le nom de la variable que tu enregistre
Je met ma main au feu que tu obtiendras :

"<nomducompte>" (puisque le perso aura déjà été effacé et son nom renverra une chaîne vide)

et qu'ensuite tu appelle :

"NomDuPerso<nomducompte>"

Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Oui je viens d'arriver a cette conclusion, a savoir que dans le OnClientLeave il est impossible de récupérer le nom du compte ou la CD key, tout betement
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
Récupère la avant (par exemple dans le OnExit de tes zones) et fait un Get dans le OnClientLeave.
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Citation:
Provient du message de Delphinea
Récupère la avant (par exemple dans le OnExit de tes zones) et fait un Get dans le OnClientLeave.
C'est bon j'ai résolu le problème, en me simplifiant la vie au passage
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Bah vas-y fais péter le script

Enfin personnellement j'aurais plutôt opté pour une chaîne locale enregistrée sur le PJ (avec son nom qu'est dedans), parcequ'apparamment tu peux quand même récupérer des variables sur le OnClientLeave.

Et puis bon, la solution du OnExit, quand on a plus d'une centaine de zones occppables par le PJ (eh oui, je me rappelle du nombre de zones de dune ), ben bof bof pour le builder quoi
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
Et bien la variable stockée sur le PJ il faut bien la stocker à un moment donné, c'est pour ça que je donnais l'exemple du OnExit de zones, comme j'aurais pu dire le OnRest du module (mais faut avouer que c'est moins fréquent), ou que sais je encore....

Si tu veux la récupérer avant le OnClientLeave et ne pas devoir faire un OnHearthBeat de module, t'as pas beaucoup le choix malheureusement....

Que le module soit petit ou gros il faut bien trouver un évènement qui déclenchera le script permettant de stocker la variable, c'était ça le but de ma remarque.
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Ouép Taern c'est ce que je fais, en fait a sa connec je file un ID chiffré au PC, qui sert a sotcker toutes les variables, donc au final, le nom de compte et le nom du perso ne servent que dans le OnClienEnter pour retrouver son ID
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Vi, Delphinea tu oublie le OnClientEnter
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Citation:
Provient du message de Zunder
Ouép Taern c'est ce que je fais, en fait a sa connec je file un ID chiffré au PC, qui sert a sotcker toutes les variables, donc au final, le nom de compte et le nom du perso ne servent que dans le OnClienEnter pour retrouver son ID
C'est tres bien vu, ca...
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Citation:
Provient du message de eMRaistlin
C'est tres bien vu, ca...
En plus pour les variables persistantes ca permet d'etre quasi-sur qu'elles ne dépassent jamais les 32 caractères
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
C'est le système de nomenclature utilisé par HCR il me semble.

(Bon, je sais bien qu'HCR n'est pas apprécié ici, mais ils ont fait pas mal de trucs excellents quoi qu'on en dise )
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Ouais, mais les HCR utilisent le heartbeat du module pour enregistrer les points de vie

La nomenclature ça donne un truc comme ça : "<nom du perso><nom du compte><CD key>", ce qui permet d'être sûr et certain que chaque variable locale ne correspond qu'à un seul perso.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Variables qui changent toutes seules
   

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 13h24.
   

© 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