Système de persistance via objet

Répondre
Partager Rechercher
Voilà, j'ai examiné un peu les différents systèmes de persistance, et j'ai entendu plusieurs fois parler du système de persistance basé sur la sauvegarde d'objets.

J'ai essayé de reproduire ce système, mais la variable que je place sur l'objet s'efface à chaque déconnection-reconnection. Ce qui est un peu contraire au principe de persistance.

Comment donc arriver à pouvoir enregistrer cette variable avec le personnage?

Avis aux docteurs ès persistance en faisant appel à leur bienveillance
petite question existencielle
Tout d'abord, bonjour (je suis nouveau, hop, ça c'est fait)

En ce qui concerne la persistance par objets...

Je souhaite ouvrir un genre de banque par dialogue.
Je m'explique :
- Le personnage parle au banquier.
- Le banquier regarde la variable "banque" de l'objet de quête possédé par le personnage. Suivant la valeur de cette variable, il propose "prendre 50 po, prendre 500 po, prendre 1.000 po etc..."
- La variable est décrémentée de la valeur choisie, les pièces d'or du personnage augmentent d'autant.
(même genre de script pour déposer des sous).

Quelques questions :
1- La variable "banque" de l'objet sera t'elle VRAIEMENT persistante (en servervault). En cas de déco-reco du serveur, la valeur "banque" sera t'elle conservée ?
2- Auriez vous un petit modèle rapide pour augmenter une variable d'objet possédé par le perso, en action conséquente d'un dialogue ? Un petit modèle pour détecter que la valeur de la variable de l'objet est bien >= x ?

Je vous remercie pour vos futures réponses. Bon jeu à vous.
Inquisiteur-Loh
Alors ici on parle de la persistance sur unobjet de l'inventaire.
A partir du moment ou tu mets une variables de types int, string (et je crois aussi location mais pas sur) sur un objet de l'inventaire d'un PJ, tu peux recuperer cette variable en cas de deco/reco du serveur! (en servervault bien sur )
Pour ca bien sur il faut qu'il y ai eu une sauvegadre du PJ sinon forcement t'as pas les dernieres valeurs.

Comment ca marche?
ben c'est simple cela se fait grace a des GetLocalInt, SetLocalInt etc...

Code PHP:

// objet sur lequel on a tout svg
object oSource GetItemPossessedBy(oPC"TagObjetSvg");

//Recuperation d'une valeur Int
int nSomme GetLocalInt(oSource"Banque");

//Mise a jour de la valeur
SetLocalInt(oSource"Banque"nSomme); 
pour recuperer l'argent du PJ et pour le mettre en banque il faut donc faire un truc du style (sur action consequente)
Code PHP:

void main()
{
      
objetc oPC GetPCSpeaker();
      
object oSource GetItemPossessedBy(oPC"TagObjetSvg");
      
int nSomme 5;

       
//Verification que l'objet de sauvegarde existe
       
if (GetIsObjectValid(oSource))
       {
              
//on prends la somme du PJ
             
TakeGoldFromCreature(nSommeoPCTRUE);
              
//on additionne le montant de la somme aux montant de la banque
             
SetLocalInt(oSource"Banque"GetLocalInt(oSource"Banque")+nSomme);
       }

Répondre

Connectés sur ce fil

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