JeuxOnLineForumsPlusConnectés : 665 (sites) | 1234 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > sauvegarde des personnages RSS
   
Répondre
Partager Outils Rechercher
Avatar de Nermir
Nermir
Reine
 
Avatar de Nermir
 

sauvegarde des personnages

Je cherche à faire un script pour un module persistant ou semi-persistant (je ne connais pas la différence) qui sauvegarde toutes les 30 minutes les personnages (et pas le reste). On m'a parlé de la fonction : ExportAllCharacters() mais je ne comprend pas bien comment elle marche (et comment la tester avant de la mettre sur le module).
J'ai pensé en premier la mettre dans un DelayCommand, mais il demande un argument de type action, or ExportAllCharacters retourne void.
Pensez vous que sa puisse fonctionner malgré cela ? Par exemple, dans le OnModuleLoad mettre :
DelayCommand(1800.0 , ExportAllCharacters());

Dans le doute, je me suis rabattu sur le OnHeadBeat, mais vous savez que cela pose des problèmes de ressources pour le serveur. J'ai pensé faire :
Dans le OnModuleload :
SetLocalInt(OBJECT_SELF, "auto_save_PJ", 0);

Dans le OnHeartBeat :
Code PHP:
void main() {
    
// Intervale entre chaque sauvegarde en round (1 round = 6 secondes)
    
int nTime 300;
    
object oModule GetModule();
    
int nCompteur GetLocalInt(oModule"auto_save_PJ") + 1;
    
SetLocalInt(oModule"auto_save_PJ"nCompteur);
    if(
nCompteur == nTime) {
        
SetLocalInt(oModule"auto_save_PJ"0);
        
ExportAllCharacters();
    }

D'aprés vous, cela est-il gourmand en ressources ?

Avez-vous d'autres moyens d'utiliser ExportAllCharacters ? Ou une autre fonction similaire ?
Merci pour toute l'aide que vous pourrez m'apporter.
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Toute fonction retournant "void" peut-être employée dans un DelayCommand(), fais donc une fonction récursive qui, lancé dans ton OnLoad se rappellera toutes les 30 min et exécutera ExportAllCharacters().
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Citation:
Provient du message de Jedaï
Toute fonction retournant "void" peut-être employée dans un DelayCommand(), fais donc une fonction récursive qui, lancé dans ton OnLoad se rappellera toutes les 30 min et exécutera ExportAllCharacters().
Autrement dit, dans le onModuleLoad :

Code PHP:
void sauvegarde(){
    
ExportAllCharacters();
    
DelayCommand(1800.0sauvegarde());
}

void main(){
    
DelayCommand(1800.0sauvegarde());

Ou un truc du genre *trop fatigué pour tester now*
Par contre je n'ai aucune idée de ce que fait cette fonction !
Elle sauvegarde quoi exactement des persos ?
Elle fait apparaitre l'écran de sauvegarde ?
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
A priori, si elle fait ce qu'elle dit, elle exporte les characters ...


C'est a dire que c'est sans interet sur un ServerVault...

A priori. C'est non testé, mais je le vois bien comme ca.
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
J'ai testé et c'est en effet sans aucun intérêt sur un serveur vault, il exporte même pas le journal.

Jaha Effect
Lien direct vers le message - Vieux
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Ce qui veut dire qu'à par la sauvegarde toutes les XX minutes de Bioware, il n'y a aucune sauvegarde (simple) des personnages.
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Citation:
Provient du message de Jaha Effect
J'ai testé et c'est en effet sans aucun intérêt sur un serveur vault, il exporte même pas le journal.

Jaha Effect
Ca dépend, les personnages ne sont sauvegardés qu'a la deco. En cas de plantage du serveur, les joueurs se retrouvent avec leurs pj dans l'etat ou il etait a leur dernière deco, ce qui est pas super top s'ils etaient en train de jouer dpeuis 2-3h.
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Exacte, je viens de vérifier, en fait c'est surtout utilisé dans les passerelles inter-module.

Jaha Effect
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
La description précise pourtant cela :
Citation:
// Force all the characters of the players who are currently in the game to
// be exported to their respective directories i.e. LocalVault/ServerVault/ etc.
void ExportAllCharacters()
Lien direct vers le message - Vieux
Avatar de Nermir
Nermir
Reine
 
Avatar de Nermir
 
Oui, gaeriel a raison, il parle du ServerVault dans la description de la sauvegarde.
Le module sur lequel je veux l'implanter est en effet un ServerVault. Et c'est justement pour éviter des sauvegardes de tout le module (ce qui est long) que je voudrais utiliser cette fonction.

Petite question auxiliaire : pendant la sauvegarde normale, le jeu est-il mis en pause ?
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
J'dis peut-être des conneries et puis j'ai pas une connexion très rapide (56k) mais, juste après la sauvagarde, le jeu récupère quelques rounds de combats et on s'en prend plein la gueule.
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Surement du a ta connexion, je n'ai jamais eu de probleme de ce type apres une sauvegarde.

Les deux gros bugs de la sauvegarde serveur sont :
- si ca sauvegarde pendant que tu chargeais une zone, tu gagnes le droit de relancer le jeu
- pas mal de choses sont très mal sauvegardées, notament les rencontres : toutes les rencontres qui étaient inactives au moment de la sauvegarde ne respawneront plus apres chargement
Lien direct vers le message - Vieux
Azmathiel
Alpha & Oméga
 
Désolé de déterrer un truc enterré aussi profondément. J'en ai d'ailleurs brisé ma pelle +4 ! (impossible de lancer des recherches s'il y a plus de 800 connectés sur le forum JoL ). Mais ce sujet m'intéresse beaucoup.

La sauvegarde automatisée d'un serveur est pénible au possible.
N'y a-t-il pas un autre système plus pratique et qui ne plante pas les joueurs pendant les passages de zones ?

Quelqu'un utilise sûrement autre chose, non ?

Et cette fonction ExportAllCharacters(), elle ne fait pas ce qu'elle est sensée faire ?
Pourtant, si on se réfère à cette FAQ:
http://nwvault.ign.com/kb/data/Maxim...3tITaNBE.shtml
il semblerait que ce soit ce qu'il est conseillé d'utiliser...

Et celle-ci est peu compréhensible... Enfin, pour moi:
http://nwvault.ign.com/kb/data/BWrig...dXW8V7jx.shtml
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Au contraire : elle fait exactement ce qu'elle est censé faire : elle exporte le chara loin du serveur jusqu'a ton local vault. Il ne sera donc pas reutilisable sur le module si celui ci n'accepte pas le serveur vault.


La meilleur solution pour un Monde persistant, c'est de sauvegarder a la main ce qui interesse, en utilisant la BDD de la 1.31 (a venir sous peu en VF)
Lien direct vers le message - Vieux
Avatar de Damonya
Damonya
Dauphin
 
Avatar de Damonya
 
je profite de ce post pour ......

J'aimerais l'avis de ceux qui s'y connaissent.
Pourrais ton me donner le Pour et le Contre de chaque systèmes de persistances

je sais pas quoi choisir

la 1.30 ?

NWNX2 ?

PUMA ?

autres SPWUM ?

Bien entendus je suis pas un expert en informatique et voudrais quelque chose de simple d'utilisation, mais aussi tant qu'à faire de performant (je sais j'en demande beaucoup )

Merci de vos réponses

Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > sauvegarde des personnages
   

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 11h17.
   

© 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