Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Ajout de la date & heure sur une save !

Aller en bas 
3 participants
AuteurMessage
CookiewooD
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
CookiewooD


Nombre de messages : 54

Age : 35

Localisation : Gard

Date d'inscription : 18/09/2018


Ajout de la date & heure sur une save ! Empty
MessageSujet: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptyLun 14 Jan 2019 - 16:28

Bonjour à tous !

Une excellente année à tous pour commencer sourire J’espère que vous avez pu profiter de ces moments en famille et avec vos amis comme il se doit !

Pour ma part, l'année à assez mal fini. Suite à un problème électrique chez moi mes disques dur ont grillés (même le ssd^^ joie) , avec évidemment mes 3 mois de boulot dessus. Evidemment j'avais été trop bête pour faire un backup sur une clef... je ne peux en vouloir qu'à moi même.
Qu'a ne cela ne tienne, j'ai décidé de tout recommencer du début pour cette nouvelle année, et je dois dire que se fut un mal pour un bien, car la nouvelle version est beaucoup plus propre. Il faut savoir se consoler comme on peut langue

Du coup, j'ai décidé d'améliorer mes GUI de save en y ajoutant la date et l'heure voire même si c'est possible le nombre d'heure ou minute passé sur le jeu. Pour cela, je me tourne d'abord vers le manuel qui me dit que la fonction Date.Now existe et ressemble à ça :

Example:

DateTime *dt = DateTime.Now;
Display("The date is: %02d/%02d/%04d", dt.DayOfMonth, dt.Month, dt.Year);
Display("The time is: %02d:%02d:%02d", dt.Hour, dt.Minute, dt.Second);

will display the current date and time in 24-hour format


Pour ma part, je voudrais que cela apparaisse au moment de faire la save dans une petite case en dessous du screenshot mais je vous avoue que je patauge complètement là, en faisant comme me dit le manuel, cela me dit : "cannot assign initial value to global pointer". J'ai essayé de le mettre dans le header mais visiblement, je dois me tromper quelque part. Je ne sais pas vraiment quoi vous montrer comme ligne de code, mais j'ai l'impression que c'est pas hyper compliqué mais je n'arrive pas à y voir clair.

une idée ?
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptyLun 14 Jan 2019 - 18:17

Salut, et bonne année à toi aussi sourire

Le message d'erreur que tu obtiens te dit qu'il y a un problème avec la première ligne, DateTime *t = DateTime.Now; que tu as placée dans le header. En gros tu peux pas donner une valeur par défaut à une variable pointeur (c'est-à-dire qui se déclare avec un astérisque *) mais rien ne t'empêche de déclarer l'existence de ta variable dans le header (simplement DateTime *dt;), et d'assigner la valeur à un moment précis dans ton programme (par exemple en mettant dt = DateTime.Now; dans la fonction game_start, exécutée en début de jeu). On peut faire le même genre de remarques pour les commandes Display : ça n'a pas beaucoup de sens de les mettre dans le header, lequel existe un peu "hors du temps" si tu veux---quand, dans le jeu, est-ce que tu devrais t'attendre à voir apparaître les messages Display que tu places dans le header?

En ce qui concerne la question d'afficher la date et l'heure avec la vignette de sauvegarde, il s'agit d'inclure les informations DateTime dans le paramètre description de la fonction SaveGameSlot. Par exemple, tu peux faire quelque chose comme ça au moment de la sauvegarde (en supposant que tu as auparavant défini une variable slot qui correspond à un numéro d'emplacement de sauvegarde, d'une façon ou d'une autre) :
Code:
DateTime *dt = DateTime.Now;
SaveGameSlot(slot, String.Format("Sauvegarde du %02d/%02d/%04d à %02d:%02d:%02d", dt.DayOfMonth, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second));
Ensuite il suffit d'utiliser la fonction GetSaveSlotDescription pour récupérer l'information lorsque tu affiches ton écran de chargement.

Si tu veux ajouter le temps de jeu, il faudra que tu le calcules toi-même. Je suis à peu près sûr qu'il y a une façon assez simple de le faire, mais je m'emmêle un peu les pinceaux pour l'instant, donc je préfère pas m'avancer avant de m'être renseigné davantage.

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
CookiewooD
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
CookiewooD


Nombre de messages : 54

Age : 35

Localisation : Gard

Date d'inscription : 18/09/2018


Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptyJeu 17 Jan 2019 - 7:53

Hello Kitai,

Merci pour ta réponse rapide. Je dois t'avouer que je suis encore un peu perdue, je n'arrive pas a trouver où insérer la fonction GetSaveSlotDescription.
Voilà à quoi ressemble mon système de save.

Code:
DynamicSprite *buttonSprite1;
DynamicSprite *buttonSprite2;
DynamicSprite *buttonSprite3;

DynamicSprite *buttonSpriteLoad1;
DynamicSprite *buttonSpriteLoad2;
DynamicSprite *buttonSpriteLoad3;


function ShowSaveGUI()
{
  // prepare gSave
  buttonSprite1 = DynamicSprite.CreateFromSaveGame(1, 150, 90);
  if (buttonSprite1 != null)
  bScreenSlot1.NormalGraphic = buttonSprite1.Graphic;
  
  
  buttonSprite2 = DynamicSprite.CreateFromSaveGame(2, 150, 90);
  if (buttonSprite2 != null) bScreenSlot2.NormalGraphic = buttonSprite2.Graphic;
  
  
  buttonSprite3 = DynamicSprite.CreateFromSaveGame(3, 150, 90);
  if (buttonSprite3 != null) bScreenSlot3.NormalGraphic = buttonSprite3.Graphic;
  
  // show it
  gSave.Visible = true;
}

function ShowLoadGUI()
{
buttonSpriteLoad1 = DynamicSprite.CreateFromSaveGame(1, 150, 90);
if (buttonSpriteLoad1 != null)
bScreenLoadSlot1.NormalGraphic = buttonSpriteLoad1.Graphic;

buttonSpriteLoad2 = DynamicSprite.CreateFromSaveGame(2, 150, 90);
if (buttonSpriteLoad2 != null)
bScreenLoadSlot2.NormalGraphic = buttonSpriteLoad2.Graphic;

buttonSpriteLoad3 = DynamicSprite.CreateFromSaveGame(3, 150, 90);
if (buttonSpriteLoad3 != null)
bScreenLoadSlot3.NormalGraphic = buttonSpriteLoad3.Graphic;


gLoad.Visible = true;
}

Pour ouvrir mes GUIs de save/load et préparer les sprites dynamic pour un screenshot.

Code:
//----------------------------------------------------------------------------------------------------
// gSave
//----------------------------------------------------------------------------------------------------


function bSaveSlot1_OnClick(GUIControl *control, MouseButton button)
{
 gSave.Visible = false;
 SaveGameSlot(1, "Save 1");  // gets queued, only runs after function has finished
 Overlay *textOverlaySaving;
 textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !");
 Wait(50);
}

function bSaveSlot2_OnClick(GUIControl *control, MouseButton button)
{
 gSave.Visible = false;  
 SaveGameSlot(2, "Save 2");
 Overlay *textOverlaySaving;
 textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !");
 Wait(50);
}

function bSaveSlot3_OnClick(GUIControl *control, MouseButton button)
{
 gSave.Visible = false;  
 SaveGameSlot(3, "Save 3");
 Overlay *textOverlaySaving;
 textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !");
 Wait(50);
}

Pour procéder à la save.

Ajout de la date & heure sur une save ! LsY0ZYo

Et un petit aperçu visuel pour comprendre à quoi correspond chaque boutons.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptyJeu 17 Jan 2019 - 17:57

Tu as plusieurs options, par exemple tu peux afficher la date/heure directement par-dessus la capture d'écran. Dans ce cas les changements à ton code sont plutôt minimaux (j'illustre uniquement slot1) :
Code:
  buttonSprite1 = DynamicSprite.CreateFromSaveGame(1, 150, 90);
  if (buttonSprite1 != null)
  bScreenSlot1.NormalGraphic = buttonSprite1.Graphic;
  // puis on récupère l'image du bouton et on dessine le texte par-dessus :
  DynamicSprite *sp1 = DynamicSprite.CreateFromExistingSprite(bScreenSlot1.NormalGraphic);
  DrawingSurface *su1 = sp1.GetDrawingSurface();
  su1.DrawStringWrapped( 0 , 0 , su1.Width , Game.NormalFont , eAlignCentre , Game.GetSaveSlotDescription(1) );
  su1.Release();

Une autre option serait d'ajouter des étiquettes/labels à ton GUI sous chacun des boutons qui correspondent aux captures d'écran. Ensuite, à la place du code que je viens d'ajouter pour écrire directement sur les surfaces des boutons-captures, tu modifies plutôt simplement la propriété Text de l'étiquette en utilisant GetSaveSlotDescription, comme ça (à titre d'exemple) :
Code:
lblSlot1.Text = Game.GetSaveSlotDescription(1);

Dans les deux cas, tu dois modifier tes commandes SaveGameSlot pour remplacer "Save 1", "Save 2" et "Save 3" par ce que j'ai donné dans mon message précédent, comme ça (encore une fois, à titre d'exemple sur slot1) :

Code:
function bSaveSlot1_OnClick(GUIControl *control, MouseButton button)
{
 gSave.Visible = false;
 DateTime *dt = DateTime.Now;
 SaveGameSlot(1, String.Format("%02d/%02d/%04d - %02d:%02d:%02d", dt.DayOfMonth, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second));
 Overlay *textOverlaySaving;
 textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !");
 Wait(50);
}

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
CookiewooD
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
CookiewooD


Nombre de messages : 54

Age : 35

Localisation : Gard

Date d'inscription : 18/09/2018


Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptySam 19 Jan 2019 - 13:03

J'avais écrit un message pour dire que ça marchait nickel sauf, quand on quitte puis ré-ouvre le jeu.
La date et l'heure disparaissaient. Je viens de régler le problème, je ne sais absolument pas comment j'ai fait, puisque j'ai simplement effacé ce que j'avais mis dans le script, puis j'ai recommencé. Et ça a marché comme par magie xD (j'ai bien du faire un truc différemment mais je ne vois pas lequel)

Merci en tout cas, tu es trop fort Kitai (j'ai opté pour l'option avec label) ! Mon système de save est super propre maintenant grâce à toi
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptySam 19 Jan 2019 - 19:59

Ajout de la date & heure sur une save ! 114419

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Adipson
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Adipson


Nombre de messages : 161

Age : 52

Localisation : Hyères

Date d'inscription : 21/02/2016


Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! EmptyDim 20 Jan 2019 - 5:32

Kitai président !
Bon courage pour la suite CookiewooD

_________________
Adipson Studio
Point&Click
Revenir en haut Aller en bas
http://www.adipson.com
Contenu sponsorisé





Ajout de la date & heure sur une save ! Empty
MessageSujet: Re: Ajout de la date & heure sur une save !   Ajout de la date & heure sur une save ! Empty

Revenir en haut Aller en bas
 
Ajout de la date & heure sur une save !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Save screenshort in save game
» auto-save
» Fermer GUI pause/save/quit
» Proposition de l'ajout d'un bouton "encourager ce projet"
» Pilpoil à l'heure!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: