Legends Petit bavard
Messages : 55 Localisation : 28 Projet Actuel : Zakyro
jeu Android
| Sujet: temp reel Current_time Dim 7 Mai 2017 - 1:27 | |
| Bonjour j'ai enfin réussit a mettre en place le current time mais j'ai quelque soucis si on pouvait m'aider. Je gagne 1 énergie toute les 15 minutes au bout de 5 énergie je voudrait que le décompte s'arrete et reste a 5 point maximum puis si on en utilise une que ça reparte. Quand je clique sur mon obj_bouton on perd 1 énergie il faudrait que arriver a 0 il ne ce passe plus rien merci pour votre aide. Mon code pour mon obj_cloak : Create - Code:
-
if !file_exists(working_directory + "pointdata") {
var File = file_text_open_write(working_directory + "pointdata"); file_text_write_real(File, 0); file_text_writeln(File); file_text_write_real(File, 15); ///temp point suivant file_text_close(File); global.Points = 0; TimeUntilNextPoint = 15; }else{ var File = file_text_open_read(working_directory + "pointdata"); global.Points = file_text_read_real(File); file_text_readln(File); TimeUntilNextPoint = file_text_read_real(File); file_text_close(File); } WasOSPaused = false;
if file_exists(working_directory + "last_logout") {
File = file_text_open_read(working_directory + "last_logout"); var PreYear = file_text_read_real(File); file_text_readln(File); var PreMonth = file_text_read_real(File); file_text_readln(File); var PreDay = file_text_read_real(File); file_text_readln(File); var PreHour = file_text_read_real(File); file_text_readln(File); var PreMinute = file_text_read_real(File); file_text_readln(File); var PreSecond = file_text_read_real(File); file_text_close(File); MinSinceLastLogout = 60 * date_hour_span(date_create_datetime(PreYear, PreMonth, PreDay, PreHour, PreMinute, PreSecond), date_current_datetime()); global.Points += MinSinceLastLogout div 60; TimeUntilNextPoint -= MinSinceLastLogout mod 60; if TimeUntilNextPoint <= 0 { global.Points += 1; TimeUntilNextPoint += 15;
} } STEP - Code:
-
if os_is_paused() = false {
TimeUntilNextPoint -=1 / (room_speed *60);
if TimeUntilNextPoint <= 0 {
global.Points += 1; TimeUntilNextPoint = 15; } }
if os_is_paused() = true && WasOSPaused = false {
RecordData(); } WasOSPaused = os_is_paused(); GAME END - Code:
-
RecordData(); DRAW - Code:
-
draw_set_font(fnt_points); var Str = "Points: " + string(global.Points); draw_text((room_width - string_width(Str)) / 2, (room_height / 2) - 64, Str)
draw_set_font(fnt_clock); if (frac(TimeUntilNextPoint) * 60) >=10 {var Str1 = string(floor(frac(TimeUntilNextPoint) * 60));} else {var Str1 = "0" + string(floor(frac(TimeUntilNextPoint) * 60));} var Str2 = string(floor(TimeUntilNextPoint)) + ":" + Str1; draw_text((room_width - string_width(Str2)) / 2, (room_height /2) + 128, Str2) SCRIPT RecordData - Code:
-
var File = file_text_open_write(working_directory + "pointdata"); file_text_write_real(File, global.Points); file_text_writeln(File); file_text_write_real(File, TimeUntilNextPoint); file_text_close(File);
File = file_text_open_write(working_directory + "last_logout");
file_text_write_real(File, current_year); file_text_writeln(File); file_text_write_real(File, current_month); file_text_writeln(File); file_text_write_real(File, current_day); file_text_writeln(File); file_text_write_real(File, current_hour); file_text_writeln(File); file_text_write_real(File, current_minute); file_text_writeln(File); file_text_write_real(File, current_second);
file_text_close(File); _________________ Pixel.Studio.Art |
|
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: temp reel Current_time Lun 8 Mai 2017 - 17:59 | |
| Ca ne me semble pas très compliqué Dans ton step, vérifie si ta variable global.Points a déjà atteint ou non ta valeur limite avant de l'incrémenter. Ensuite, quand tu dis - Citation :
- il faudrait que arriver a 0 il ne ce passe plus rien
Tu veux dire qu'on ne regagne plus d'énergie ? Dans tous les cas, là encore, une solution assez simple me semble de juste mettre une boucle "si ma variable > 0 alors ..." devrait te permettre de résoudre ton problème _________________ Cliquez pour accéder aux topics dédiés ! |
|
Legends Petit bavard
Messages : 55 Localisation : 28 Projet Actuel : Zakyro
jeu Android
| Sujet: Re: temp reel Current_time Lun 8 Mai 2017 - 21:50 | |
| STEP - Code:
-
STEP
Code:
If global . points <=5 { if os_is_paused() = false {
TimeUntilNextPoint -=1 / (room_speed *60);
if TimeUntilNextPoint <= 0 {
global.Points += 1; TimeUntilNextPoint = 15; } } }
if os_is_paused() = true && WasOSPaused = false {
RecordData(); } WasOSPaused = os_is_paused ();
Ça dans step ? Le problème c'est que quand j'arrive à 5 points le décompte continue et plus par 15 mais de 30m il y a quelque chose qui doit pas aller _________________ Pixel.Studio.Art |
|
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: temp reel Current_time Mar 9 Mai 2017 - 14:45 | |
| Est-ce que ça aurait pas à voir avec le fait que tu aies écrit "global . points" au lieu de "global.Points" avec une majuscule à Points ?
A priori, GM prends en compte la casse, donc global.points!+global.Points si je ne m'abuse. _________________ Cliquez pour accéder aux topics dédiés ! |
|
Contenu sponsorisé
| Sujet: Re: temp reel Current_time | |
| |
|