| Problème de variable avec les fichiers .ini | |
|
|
Auteur | Message |
---|
notiz85 Utilisateur confirmé: Rang *****
Messages : 2004 Localisation : Vendée Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...
| Sujet: Problème de variable avec les fichiers .ini Mar 27 Fév 2007 - 21:24 | |
| Bonjour, J'ai un problème avec le fichier .ini : - Citation :
- /*Script ini_save*/[size=9]
ini_open("data.ini"); ini_write_real("Game","global.active_menu",global.active_menu); ini_close(); /*Script ini_load*/ ini_open("data.ini"); ini_read_real("Game","global.active_menu",global.active_menu); ini_close(); Mais le problème c'est au niveau du : global.active_menu car je ne sais pas ce qu'il faut mettre à la place de default selon la fonction...? Je voudrais enfaite remplacer la variable global.active_menu par la valeur obtenu dans le .ini. PS : Je pense que c'est du au real de la fonction : ini_write_real qui fait qu'il me remplace mon true par 0.999 etc... au lieu de 1! Est-ce que GM remplacera le 1 par true mais il faudrait déjà changer ce 0.999 en 1! A moins d'utiliser la fonction round(x); :p_svp: :p_merci: @NOTIZ@ |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Problème de variable avec les fichiers .ini Mer 28 Fév 2007 - 10:27 | |
| J'ai le même problème pour les rééls mais on peut le contourner. En fait tu enregistre ta variable en chaîne et tu utilise real() pendant la lecture pour qu'il redevienne réel : - Code:
-
/*Script ini_save*/ ini_open("data.ini"); ini_write_string("Game","global.active_menu",string(global.active_menu)); ini_close(); /*Script ini_load*/ ini_open("data.ini"); global.active_menu = real(ini_read_string("Game","global.active_menu","")); ini_close();
Le default en fait retourne sa valeur au cas où il y ait un problème de lecture ... |
|
| |
notiz85 Utilisateur confirmé: Rang *****
Messages : 2004 Localisation : Vendée Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...
| Sujet: Re: Problème de variable avec les fichiers .ini Mer 28 Fév 2007 - 14:12 | |
| Chouette! Merci, je vais tester sa [EDIT] --------- Bof... J'ai sa : - Citation :
-
/*ini_save_on*/ ini_open("data.ini"); ini_write_real("Game","global.active_menu",global.active_menu); ini_close(); /*ini_load_on*/ ini_open("data.ini"); global.active_menu=ini_read_real("Game","global.active_menu",round("")); ini_close(); if global.active_menu=1 { obj_diament_b.image_alpha=0; obj_diament_r.image_alpha=0; obj_diament_v.image_alpha=0; obj_diament_vi.image_alpha=0; }
Enfaite j'ai des objets qui apparaissent au début du jeu sur le menu. Il faut cliquer sur ses objets pour les faires disparaître, une fois tous disparu, je fais ini_save_on(); Dans un autre objet qui est dans la même room quel : au début, il y a donc dans l'Event Game Start if global.active_menu=1 then ini_load_on(); J'ai mis aussi round() mais sa ne marche pas... Il faudrait peut être mieux mettre : round(global.activem_menu=ini_... ? |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Problème de variable avec les fichiers .ini Jeu 1 Mar 2007 - 19:42 | |
| round() arrondi un nombre. Pour que la valeur soit enregistrée et conservée en chaîne dans ton fichier .ini il faut faire comme je te l'ai dit c'est à dire écrire, lire ta variable transformée en chaîne avec string() et transformer la variable "chaînisée" dans le .ini avec real(). Pour ton code, ce qui donnerai : - Code:
-
/*ini_save_on*/ ini_open("data.ini"); ini_write_string("Game","global.active_menu",string(global.active_menu)); ini_close(); /*ini_load_on*/ ini_open("data.ini"); global.active_menu=real(ini_read_string("Game","global.active_menu","0")); ini_close(); if global.active_menu=1 { obj_diament_b.image_alpha=0; obj_diament_r.image_alpha=0; obj_diament_v.image_alpha=0; obj_diament_vi.image_alpha=0; }
|
|
| |
notiz85 Utilisateur confirmé: Rang *****
Messages : 2004 Localisation : Vendée Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...
| Sujet: Re: Problème de variable avec les fichiers .ini Ven 2 Mar 2007 - 7:43 | |
| - Damator a écrit:
- round() arrondi un nombre.
Pour que la valeur soit enregistrée et conservée en chaîne dans ton fichier .ini il faut faire comme je te l'ai dit c'est à dire écrire, lire ta variable transformée en chaîne avec string() et transformer la variable "chaînisée" dans le .ini avec real().
Pour ton code, ce qui donnerai : - Code:
-
/*ini_save_on*/ ini_open("data.ini"); ini_write_string("Game","global.active_menu",string(global.active_menu)); ini_close(); /*ini_load_on*/ ini_open("data.ini"); global.active_menu=real(ini_read_string("Game","global.active_menu","0")); ini_close(); if global.active_menu=1 { obj_diament_b.image_alpha=0; obj_diament_r.image_alpha=0; obj_diament_v.image_alpha=0; obj_diament_vi.image_alpha=0; }
Merci! Merci! Merci! A toi Damator sa marche super bien maintenant sa fait ce que je veux : ouraa! |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Problème de variable avec les fichiers .ini Ven 2 Mar 2007 - 10:56 | |
| De rien Je m'en sert tout le temps de mes fichiers ini pour mes jeux alors pas de problème |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème de variable avec les fichiers .ini | |
| |
|
| |
| Problème de variable avec les fichiers .ini | |
|