
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 08/04/2025 12:04:07
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Bhaalthedevil Novice Messages: 10 |
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 ![]() |
Revenir en haut | ![]() ![]() ![]() |
-Nog- Chevalier Messages: 81 |
je suis sur qu'il y a un bon nombre de tuto la dessus, persistance et autres
![]() |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
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 | ![]() ![]() ![]() |
Bhaalthedevil Novice Messages: 10 |
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, "")); } } (Ps : Ce ne sauvegarderais plus par repos mais en utilisant un objet) |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
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 | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
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, "")); } } Devrait être mieux |
Revenir en haut | ![]() ![]() ![]() |
Bhaalthedevil Novice Messages: 10 |
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 | ![]() ![]() ![]() |
Bhaalthedevil Novice Messages: 10 |
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, ""); } } Merci bp pour votre aide ^^ Je vais essayer maintenant de l'inclure a chaque repos ! |
Revenir en haut | ![]() ![]() ![]() |
Tethilyssak Grand Chevalier Messages: 100 |
C'est parce que tu ordone d'exporter l'item, pas le personnage joueur.
_________________ Prenez votre destin en main ! |
Revenir en haut | ![]() ![]() ![]() |
Bhaalthedevil Novice Messages: 10 |
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
![]() 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 | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
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 :
void SavePersos() { ExportAllCharacters(); object oPC = GetFirstPC(); while (oPC != OBJECT_INVALID) { SendMessageToPC(oPC, ""); oPC = GetNextPC() } } Comme ça ensuite tu peux l'appeler d'où tu veux sur les OnEnter, script de repos etc. 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 | ![]() ![]() ![]() |
Bhaalthedevil Novice Messages: 10 |
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 | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
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 : void Save(); void Save() { ExportAllCharacters(); DelayCommand(900.0,Save()); } void main() { DelayCommand(900.0,Save()); } |
Revenir en haut | ![]() ![]() ![]() |
Anthraxcite Légende vivante Messages: 372 Localisation: Belgique |
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 | ![]() ![]() ![]() ![]() ![]() |
Ton pire cauchemard Ecuyer Messages: 40 |
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 | ![]() ![]() ![]() ![]() |


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