Skocz do zawartości

Zablokowane Problem z czasomierzem


Arekadiusz

Rekomendowane odpowiedzi

Witam po raz kolejny dziś ^_^

Mam kolejny problem z czasomierzem:

 

CREATE:

GML
time=0

if global.czas=1

{

nazwa=owczytywanieplanszy.nazwaplanszy

file_txt_czas=file_text_open_read("maps\" + nazwa + "_info_time" + ".mapi")

time=file_text_read_string(file_txt_czas)

file_text_close(file_txt_czas)

}

else

{

time=100

}

 

DRAW:

GML
h = time div 60 div 60;

m = time div 60 mod 60;

s = time mod 60

draw_set_font( font_courier10 );

draw_set_color( c_orange )

draw_text(640,0, string( h ) + ' : ' + string( m ) + ' : ' + string( s ))

 

time -= 1/room_speed

 

if ( time <= 0 )

{

show_message("Koniec czasu!#Tracisz życie!")

lives=lives-1

room_restart()

}

 

I wchodząc do tego room wyskakuje mi taki błąd:

 

___________________________________________

ERROR in

action number 1

of Draw Event

for object oczasomierz:

 

Error in code at line 1:

h = time div 60 div 60;

^

at position 14: Wrong type of arguments to div.

 

Co jest źle?

Z góry dziękuje za pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

Ale odczytujesz stringa:

GML
time=file_text_read_string(file_txt_czas);
Zamień na:
GML
time=file_text_read_real(file_txt_czas);
Powinno działać.

 

EDIT

Lub:

GML
time=real(file_text_read_string(file_txt_czas));

 

EDIT 2

Swoją drogą przy problemach polecam zapoznać się z tym tematem, konkretnie postem:

https://forum.gmclan.org/index.php?s=&s...st&p=299096

Odnośnik do komentarza
Udostępnij na innych stronach

Są dwa rozwiązania:

Nie pewne:

GML
//zamień time=file_text_read_string(file_txt_czas) na:

time=file_text_read_real(file_txt_czas)

Pewniak:

GML
/*

Zamień:

h = time div 60 div 60;

m = time div 60 mod 60;

s = time mod 60

na to:*/

h = real(time) div 60 div 60;

m = real(time) div 60 mod 60;

s = real(time) mod 60

//i wszędzie gdzie są podobne operacje(mam nadzieję, że się domyślasz...)</span>

Odnośnik do komentarza
Udostępnij na innych stronach

GML
file_exists( plik )

 

EDIT

programistagd, Twój pewniak ma tę wadę, obciąża niepotrzebnie cały proces, można od ręki zamienić stringa na liczbę i po kłopocie. Swoją droga, real wywali błąd jeśli w stringu będzie jakiś inny znak od cyfry, więc to wcale nie pewniak. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...