Variables qui changent toutes seules

Répondre
Partager Rechercher
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
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...
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>"

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
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
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
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.
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
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...
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
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 )
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.
Citation :
Provient du message de Taern
Ouais, mais les HCR utilisent le heartbeat du module pour enregistrer les points de vie
Surtout qu'a ce que j'en sais, Valprofond (le module de Delphinea) semble souffrir de problèmes de lag, ce qui ne doit pas arranger ces affaires.

Jaha Effect
Jaha ce n'est pas le HCR qui fait lagguer Valprofond, mais le HakPak (presque 800Mb, c trop) et les trop nombreux placeables (j'ai arrêté de compter )

Il ne lag que depuis que le nouveau HakPak est en place, jamais il n'a lagguer à cause d'HCR.

Le seul truc que je reproche au HCR est sa mauvaise gestion de la persistance, pour le reste c'est bien mieux que tout ce qui a été réalisé par la communauté de joueurs concernant l'adaptation fidèle des règles D&D 3e.
Quand je serais capable de pondre un système aussi gros et aussi complet que le leur, je pourrais me permettre de les critiquer....
Citation :
Provient du message de Delphinea
Quand je serais capable de pondre un système aussi gros et aussi complet que le leur, je pourrais me permettre de les critiquer....
On t'as jamais dit?
C'est pas la taille qui compte, d'ailleur j'en ai un autre comme ça... Le mieu est l'ennemi du bien

Jaha Effect
Jaha ça n'a rien à voir avec la taille, mais ce sont les seuls à avoir pondu un système unique, disponible pour tout le monde, qui se rapproche le plus des règles D&D 3e Edition.

Personne d'autre ne l'a fait.

Fait le toi, puisque tu es si parfait et eux si mauvais
Citation :
Provient du message de Taern
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.
Seul problème : en utilisant la clé CD, impossible de jouer depuis le pc d'un ami Pour les points de vie ca va, mais pour le paquet de variables persistantes qui vont pouvoir etre mises en place grace a la DB, genre la banque, c'est assez embetant

La meilleure nomenclature est a mon avis <nomducompte><constante secrète><perso>, la constante secrète permettant d'éviter les petits malins qui vont gruger : exemple : le joueur 1 a le compte COMPTE et le login PERSO. Si un petit malin veut s'amuser a récupérer ses variables, si on ne met que <compte><perso>, il n'aura qu'a faire le compte COMPT et le perso EPERSO, dans les 2 cas la chaine renvoyée sera COMPTEPERSO.
Quand je tombe sur un module qui utilise le HCR ou un avatar en général je n'y retourne pas. J'ai jamais aimé les règles strictes surtout dans un jeu.
En tant que master D&D, add, Vampire, Earthdawn, Warhammer, je me suis toujours servi des règles comme un support et jamais au détriment d'une histoire.
Résumer le jeu de rôle à des dés, une feuille et un livre de règles je trouve trouve ça très réducteur (ah ben t'est mort c'est marqué a la page 142).
Tu aime suivre les règles, bha c'est cool pour toi mais moi c'est pas ma vision d'un jeu. Si ça me rappel trop la réalité ça m'intéresse pas, et si ça m'intéresse pas je vais certainement pas perdre du temps avec.

Jaha Effect
Pour les HCR chacun son truc, sur Dunedragon elles y sont, mais il en reste plus grand chose tellement tout est modifié

Enfin dans les HCR, globalement, la plupart des trucs en plus sont sympas, ils permettent un jeu beaucoup arcade sans pour autant nuire au plaisir de jouer je trouve Enfin y a des trucs bien lourds aussi c'est vrai.
Ouep, d'après moi les HCR sont une bonne base pour monter un module, mais ça devient intéressant quand on les tripatouille dans tous les sens

Parmi les éléments sympas, on retrouve le système de repos (tapis, nourriture etc.), le déshabillage des PJs à l'arrivée, le système de mort (respect des règles assez sympa), les différents objets (sacoche de guérisseur, feu de camp) et euh... enfin d'autres petits trucs.
Parmis les trucs plus lourds on a le système de repos (pénalité avec les armures, regain de PVs minuscule), le système de mort (tu te stabilise et t'as pas d'ami ? t'es bon pour attendre une heure devant ton PC ), le système de cadavre pas très flexible je trouve, et d'autres trucs...

Et puis bon, ok les HCR ça représente beaucoup de scripts, mais honnêtement leur qualités n'est pas extraordinaire. Pris à part, chaque élément de l'ensemble serait faisable par un scripteur lambda. Alors que par exemple l'ATS est bien mieux scripté (enfin il me semble).
Répondre

Connectés sur ce fil

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