| Faire une sauvegarde | |
|
|
Auteur | Message |
---|
Gob Adepte de la Grande Tasse Bleue
Nombre de messages : 108
Date d'inscription : 08/10/2021
| Sujet: Faire une sauvegarde Sam 30 Oct 2021 - 9:54 | |
| Bonjour, est-ce-que quelqu'un pourrait me dire la façon la plus simple de sauvegarder et recharger une room ?
J'utilise ça à l'entrée de la room:
----------------------------------------------- if (Game.DoOnceOnly("Save level 1")) SaveGameSlot (1," room 1 initial state "); -----------------------------------------------
Quand je met ça pour reloader le niveau: -------------------------- RestoreGameSlot(1); ----------------------------
... il ne veux pas y aller, il ne doit pas trouver où est mon player, et si je rajoute l'info, il voit un conflit. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 45
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Faire une sauvegarde Sam 30 Oct 2021 - 18:10 | |
| En fait, avec la fonction SaveGameSlot, tu ne sauvegardes pas une room, mais une progression du jeu Et qui dépend donc de l'emplacement du joueur à ce moment. Si tu souhaites réinitialiser une room à son état initial, utilise plutôt la commande "RestartRoom". |
|
| |
Gob Adepte de la Grande Tasse Bleue
Nombre de messages : 108
Date d'inscription : 08/10/2021
| Sujet: Re: Faire une sauvegarde Mer 3 Nov 2021 - 17:13 | |
| Hello, en fait je n'ai même pas besoin de sauver, j'ai juste besoin de relancer une room dans son état initial. Ca devrait être simple.
Apparemment "RestartRoom" n'existe pas. Il y a "RestartGame" mais on ne peut pas lui dire de relancer une room particulière. J'ai essayé avec "ResetRoom(1)" mais ça ne reset que dalle. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 45
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Faire une sauvegarde Jeu 4 Nov 2021 - 6:11 | |
| Hello ! Oui, autant pour moi, je voulais bien parler de la fonction ResetRoom Normalement c'est bien celle-là que tu dois utiliser, mais tu ne peux pas l'utiliser si le personnage joueur est dans cette pièce actuellement. Par exemple, si tu veux réinitialiser la Room 1, tu dois l'indiquer dans le script quand le joueur est dans la Room 2 (ou autre tant que ce n'est pas la Room 1). Et par la suite, quand il retournera dans la Room 1, elle sera alors réinitialisée. |
|
| |
Gob Adepte de la Grande Tasse Bleue
Nombre de messages : 108
Date d'inscription : 08/10/2021
| Sujet: Re: Faire une sauvegarde Jeu 4 Nov 2021 - 9:29 | |
| Sauf qu'avec cette fonction, il ne réinitialise pas grand chose, juste l'inventaire. Je crois qu'il n'y a pas de solution, il faut que je fasse ma sauvegarde à la main, et c'est très compliqué car j'ai beaucoup de choses par niveau et source de bugs.
Du coup j'essaye de revenir à l'autre système où il sauvegarde tout à l'entrée du niveau. J'ai numéroté ma page de load à 301, ce qui devrait résoudre déjà un certain problème de disparition de sauvegarde.
Mais je n'arrive plus à lancer la sauvegarde, j'ai un conflit "Cannot run this command (cGob1.ChangeRoom(1,129,171) since there was aRestoreGameSlot command already queued to run in "room301.asc", line 6
Je n'y comprend rien, je ne dois pas mettre le RestoreGameSlot ? Je le met où alors ? |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 45
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Faire une sauvegarde Ven 5 Nov 2021 - 7:06 | |
| Le souci avec le RestoreGameSlot, c'est que ça va revenir à un état précédent de tout le jeu, et pas seulement de la Room. Ce qui peut être problématique en fonction de ce qu'a fait le joueur après cette sauvegarde, car il risque alors de devoir tout recommencer.
Normalement la fonction ResetRoom ne réinitialise pas l'inventaire, ça ne touche qu'une Room en particulier. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 45
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Faire une sauvegarde Ven 5 Nov 2021 - 8:11 | |
| |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 45
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Faire une sauvegarde Ven 5 Nov 2021 - 12:52 | |
| Voici une solution proposée par Globul sur le Discord Une solution serait de créer une room bidon vers laquelle on envoie le joueur quand on veut réinitialiser une room. Le script de la room bidon se charge de faire un resetRoom de la room d'où on vient et de nous y renvoyer avec la fonction Character.PreviousRoom. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1450
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Faire une sauvegarde Dim 7 Nov 2021 - 10:41 | |
| Hello ! Je n'avais pas testé... c'est chose faite, et ça a l'air de fonctionner (en tous cas, avec les objets).
La room "bidon" a la fonction suivante pour son lancement (before fadein) :
function room_Load() { ResetRoom(cEgo.PreviousRoom); cEgo.ChangeRoom(cEgo.PreviousRoom); }
Par contre, ça n’empêche pas le fadin/fadout (je pensais que l'opération serait instantanée), mais il y a surement moyen de le faire sauter si besoin. _________________ Ma vie, mon œuvre |
|
| |
Contenu sponsorisé
| Sujet: Re: Faire une sauvegarde | |
| |
|
| |
| Faire une sauvegarde | |
|