Besoin d'aide pour la persistance svp !!!

Répondre
Partager Rechercher
Je souhaite mettre sur mon module un moyen de persistance gérant la sauvegarde de mon perso...

En effet j ai pas de souci en se moment avec mon serv il plante et afin de rassurer les PJ s qui jouent dessus je veux mettre en place un moyen de sauvegarder leur XP, inventaire et emplacement afin que suite a un crash du serv il retrouve tout pourrait on m aider ???

Merci d'avance
euh je crois la seule méthode est le onHB, enfin pour éviter la perte d'xp lors de crash, à moins de leur filer un object pour sauvegarder eux meme leur perso quand ils veulent.
Plutôt qu'à utiliser un gros script toutes les 6 secondes, tu peux faire tourner un compteur sur le OnHeartBeat, disons à 1, 2, ou 5 minutes (soit 10, 20, ou 50 cycles de OnHeartBeat), à l'aide d'une variable. Quand le décompte est fini, la variable se remet à sa valeur d'origine, et le script de sauvegarde est lancé.
Code PHP:

void main()
{
    
int nCompte GetLocalInt(OBJECT_SELF,"Decompte")
    if(
nCompte==10// ou 20 ou 50 cycles
    
{
        
ExecuteScript("sauvegarde",OBJECT_SELF);
        
DeleteLocalInt(OBJECT_SELF,"Decompte");
        return;
    }
    
SetLocalInt(OBJECT_SELF,"Decompte",nCompte+1);

Tu peux mettre ce script sur n'importe quel OnHeartBeat, celui du module, ou d'un plaçable inaccessible, libre à toi. Tu n'as plus qu'à faire ton script "sauvegarde" à toi.
tu peux aussi utiliser un UDF : User defined, lancé au démarrage du serveur et qui sauvegardera la position de tes joueurs toutes les minutes par exemple.
Si tu veux un exemple de code, dit le moi, je le posterais ce soir
Moi j'aimerais bien un exemple de code s'il te plait parce que le module dont je m'occupe les pjs sont obliges de deco/reco pour save leur perso et quand le serveur crash et qu'ils l'ont pas fait ben ils perdent
Ca m'aiderai grandement
Avec ExportAllCharacter() tous les joueurs sont exportés dans leur répertoire respectif.

S'il s'agit de personnages locaux, ils seront sauvegardés dans le localvault de l'ordinateur du joueur.

S'il s'agit de personnages serveurs, ils seront sauvegardés dans le servervault du serveur.
je te donne un peu de code

dans l'évènement onload de ton module tu place ceci

Code PHP:

void main()
DelayCommand(300.0SignalEvent(OBJECT_SELFEventUserDefined(10000))); 


dans l'évènement on user defined

Code PHP:

void main()
int nEvent GetUserDefinedEventNumber();
switch(
nEvent)
{case 
10000 : {ExportAllCharacter() ; DelayCommand(300.0SignalEvent(OBJECT_SELFEventUserDefined(10000))); break;
}

Ceci devrait sauver tous les personnages toutes les 300 secondes (ie 5 minutes)
personnellement je le couple avec une sauvegarde lorsque le joueur dors.
voila
Répondre

Connectés sur ce fil

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