Arekadiusz Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 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 Więcej opcji udostępniania...
Tymon Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 time jest stringiem, dzielić można tylko liczby. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 16 Kwietnia 2010 Autor Udostępnij Opublikowano 16 Kwietnia 2010 No w tym otwieranym pliku tekstowym jest wpisana liczba 70 EDIT: Aha,fakt. Jak zamienic go na liczbę?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 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 Więcej opcji udostępniania...
programistagd Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 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 Więcej opcji udostępniania...
Arekadiusz Opublikowano 16 Kwietnia 2010 Autor Udostępnij Opublikowano 16 Kwietnia 2010 Dzięki Tymon działa :D A jak sprawdzić czy plik tekstowy o podanej nazwie istnieje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 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 Więcej opcji udostępniania...
Arekadiusz Opublikowano 16 Kwietnia 2010 Autor Udostępnij Opublikowano 16 Kwietnia 2010 Czyli rozumiem że całość będzie taka: GML file_exists("plik.txt") { //akcja jezeli istnieje } ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 Zamiast pytać, sprawdź po prostu czy działa. ;) Ale mniej więcej tak: GML if( file_exists("plik.txt") ) { //akcja jezeli istnieje } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 file_exists Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 16 Kwietnia 2010 Autor Udostępnij Opublikowano 16 Kwietnia 2010 Dzięki narazie wszystko wiem. Temat zamykam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi