La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 17/05/2024 03:15:44


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 05/07/2006 16:11:12 Sujet du message : Sauvegarde Monde persistant

Bonjour je cherche un script permettant de sauvegarder le personnage d'un joueur a chaque entrée/sortie de zone,a chaque fois que le PJ meurs,et a chaque fois que le PJ se repose.
En faisant des recherches je n'ai pas trouvé grand chose pour ceci
Merci d'avance a celui ou celle qui pourra m'aider Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-Nog-
Chevalier
Inscrit le: 25 Jan 2006
Messages: 81
Répondre en citant
Posté le : 06/07/2006 15:46:02 Sujet du message :

je suis sur qu'il y a un bon nombre de tuto la dessus, persistance et autres Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 06/07/2006 16:01:39 Sujet du message :

NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 14:06:10 Sujet du message :

Bon j'ai essayé de faire un script , il se compil bien mais dans le jeux il ne se passe rien :s

Voilà ce que j'ai fait :

NWScript :
void main()
{
  object oPC = GetItemActivated();

  // Activation de l'objet Sauvegarder Personnage
if(GetTag(oPC) == "saveplayer")
  {
  ExportSingleCharacter(oPC);
  DelayCommand(1.0, SendMessageToPC(oPC, ""));
  }

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


(Ps : Ce ne sauvegarderais plus par repos mais en utilisant un objet)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 07/07/2006 14:16:54 Sujet du message :

Ben il se passe rien, t'en es sur ?
L'exportation de perso c'est pas spectaculaire, ça sauvegarde juste le fichier du perso ciblé donc à part vérifier dans le Servervault la date de modif t'as pas d'autre indication que ça marche.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 07/07/2006 14:19:58 Sujet du message :

Ah ouais non j'ai mal lu (enfin ça tient quand même le coté non spectaculaire) ton script est pas bon :

oPC c'est l'item dans ton script, et tu demande de l'exporter, donc forcément ça va pas marcher...
NWScript :
void main()
{
object oPC = GetItemActivator();
object oItem = GetItemActivated();

// Activation de l'objet Sauvegarder Personnage
if(GetTag(oItem) == "saveplayer")
{
ExportSingleCharacter(oPC);
DelayCommand(1.0, SendMessageToPC(oPC, ""));
}

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Devrait être mieux
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 14:55:56 Sujet du message :

Je vien de tester et çà ne fait rien non plus (en servervault).Je ne vois même pas la phrase : Votre personnage a été sauvegarder :s
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 17:50:29 Sujet du message :

Bon j'ai essayé autre chose et sa marche maintenant

NWScript :
void main()
{
object oPC = GetItemActivator();
object oItem = GetItemActivated();

// Activation de l'objet Sauvegarder Personnage
if(GetTag(oItem) == "SAUVEGARDEJOUEUR")
{
ExportAllCharacters();
SendMessageToPC(oPC, "");
}

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Merci bp pour votre aide ^^ Je vais essayer maintenant de l'inclure a chaque repos !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tethilyssak
Grand Chevalier
Inscrit le: 07 Sep 2005
Messages: 100
Répondre en citant
Posté le : 07/07/2006 17:56:43 Sujet du message :

C'est parce que tu ordone d'exporter l'item, pas le personnage joueur.
_________________
Prenez votre destin en main !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 18:10:59 Sujet du message :

Sisi le dernier script que j'ai mit marcher , par contre j'essaye de l'inclure dans le script de base du Repos et j'y arrive pas Sad J'ai beau essayé de le mettre a plusieurs endroit mais sa sauvegarde pas quand j'ai fini mon repos :s
Pour sa j'utilise uniquement la commande :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 07/07/2006 18:48:20 Sujet du message :

Ca doit marcher si la commande est dans le script de repos. Pour le message ça dépend de ta définition de oPC, c'est ptet ça qui déconne.

Tu peux mettre une fonction dans une biblio de ce type :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Comme ça ensuite tu peux l'appeler d'où tu veux sur les OnEnter, script de repos etc.
NWScript :

#include "nomdelabiblio"
void main()
{
SavePersos();

//suite du script

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 19:04:58 Sujet du message :

Merci je vais tester sa.
Sinon j'avais pensé a plus simple avec se script a mettre dans le OnHeartbeart du module :

NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 07/07/2006 19:13:44 Sujet du message :

Heu dans le HB pas trop sinon tu va lancer la commande à chaque fois (donc en gros tu vas faire une sauvegarde toutes les 6 secondes avec 15 minutes de décalage ==> lag et surtout c'est pas nécessaire)

Par contre si tu veux, par exemple dans le OnModuleLoad (ou n'importe ou d'ailleurs, enfin un truc qui se lance qu'une fois) un truc comme ça :
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Anthraxcite
Légende vivante
Inscrit le: 12 Juin 2004
Messages: 372
Localisation: Belgique
Répondre en citant
Posté le : 07/07/2006 19:14:15 Sujet du message :

Lancer une attente de 900 secondes toutes les 6 secondes ça va te faire 150 attentes simultanées(me semble que ça consomme pas mal en plus). Si tu vux utiliser le ohb sauvegarde le nombre de passage en local et incrémente le. Ensuite tu appliques un opérateur modulo sur ce nombre pour définir quand tu exportes tes persos. Pour toutes les douzes secondes par exemple tu testeras if(x%2).
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Ton pire cauchemard
Ecuyer
Inscrit le: 24 Avr 2006
Messages: 40
Répondre en citant
Posté le : 10/03/2007 18:40:42 Sujet du message :

Sith Vicious, quand j'ajoute ton dernier script au OnModulLoad, y'a une erreur de compilation au niveau du :

NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

_________________
=========> Dieu du Script <=========
Les îles Oubliées ( LIO_v1.4 )
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 30.914ms