max1996 Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Witam! Bawiłem się w zapisywanie ostatnio wciśniętych klawiszy: GML plik = file_text_open_write( "log.txt" ); if keyboard_check_pressed(vk_anykey) file_text_write_string( plik , keyboard_lastchar ); file_text_close( plik ) Bardzo pomogli mi koledzy z forum za co thx! :D Ale przejdźmy do konkretów. Chciałbym zrobić, aby: 1. Nie tworzyło nowego pliku, tylko modyfikowało istniejący log.txt (jeśli by nie istniał, to żeby go stworzyło), 2. Żeby co 5 sek. zapisywało plik. Pozdro! P.S. Wiem, że dużo osób ma uczulenie na szatańską grę (tibia). Ja w nią nie gram, a tym bardziej nie zamierzam h4k0waC w niej kont :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Ad1. Otwierasz ten sam plik, poprzez wprowadzenie ścieżki : GML plik = file_text_open_write( "/*C:/Gra/*/log.txt" ); no i zapisujesz tak jak to czyniłeś wcześniej poprzez keyboard_lastchar. Mam nadzieję, że tak to się robiło, bo naprawdę nie pamiętam. Ad2. Tu Ci bardziej przydadzą się Alarmy : GML (Create) odlicz=5 alarm[0]=1*room_speed GML (Alarm 0) odlicz-=1 alarm[0]=1*room_speed GML (Step) if odlicz=0 { plik = file_text_open_write( "log.txt" ); if keyboard_check_pressed(vk_anykey) {file_text_write_string( plik , keyboard_lastchar )} file_text_close( plik ) alarm0=1*room_speed } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 @up a nie lepiej dać alarm[0]=5*room_speed i potem w evencie alarmu dać kod? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Jasne, że można... Tylko ja gdy robiłem przykłady do mojego Arta wyświetlałem zmienną odlicz no i było odliczanie, możesz zrobić tak jak radzi Makary155 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 alarm[0]=1*room_speed Umarłem. Po co mnożyć przez 1 skoro i tak to będzie to samo?... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pental Stary Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Na potrzeby przedstawienia zagadnienia. Po co pisać: GML x += speed; Skoro można: GML x += 3; Używaj swej głowy czasem... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Znaczy tu chodzi o to, że mnożenie liczby przez 1 daje tą samą liczbę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pental Stary Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Fakt, przykład głupi dałem, ale mi chodzi o to, że jest mniejsza szansa, że autor tematu zapyta się, jak zmienić ilość sekund. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 nie prościej użyć file_text_open_append(fname)?? btw po co co chwilę otwierać plik? nie prościej otworzyć plik na starcie i zamknąć go przy zakończeniu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
max1996 Opublikowano 21 Lutego 2009 Autor Udostępnij Opublikowano 21 Lutego 2009 Ale mi potrzebne jest zbieranie klawisz co 5 sek :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 To co 5 sekund możesz dopisywać do pliku, możesz go zostawić otwartego i zamknąć po zakończeniu programu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 GML (Create) plik = file_text_open_appened( 'plik.txt' ) alarm[ 0 ] = 5 * room_speed GML (Alarm0) file_text_write_string( plik , 'ten tekst zostanie dopisany do pliku za całe 5 sekund.' ); GML (GameEnd) file_text_close( plik )i to wszystko. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 Dodaj jeszcze nową linię co 5 sekund i będzie fajnie. :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 GML file_text_write_string( plik , 'log z ' + string( current_hour ) + ':' + string( current_minute ) + ':' + string( current_second ) + ':' + chr( 13 ) + 'ten tekst zostanie dopisany do pliku za całe 5 sekund.' + chr( 10 ) + chr( 13 ) );:D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
max1996 Opublikowano 21 Lutego 2009 Autor Udostępnij Opublikowano 21 Lutego 2009 No ale ja nie chcę, aby zapisywał po wyjściu z gry! Chcę aby zapisywał podczas działania gry, a nie dopiero po wyjściu. GameEnd odpada :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 ale przecież to zapisuje się co 5 sec a w tym game end tylko zamykamy plik. myślałem, że to oczywiste po nazwie funkcji... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
max1996 Opublikowano 21 Lutego 2009 Autor Udostępnij Opublikowano 21 Lutego 2009 No ale jak otwieram tyn plik txt podczas działania programu to jest pusty :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 21 Lutego 2009 Udostępnij Opublikowano 21 Lutego 2009 moj błąd, nie zapętliłem alarmu. zobacz to: GML (Create) plik = file_text_open_appened( 'plik.txt' ) alarm[ 0 ] = 5 * room_speed GML (Alarm0) file_text_write_string( plik , 'log z ' + string( current_hour ) + ':' + string( current_minute ) + ':' + string( current_second ) + ':' + chr( 13 ) + 'ten tekst zostanie dopisany do pliku za całe 5 sekund.' + chr( 10 ) + chr( 13 ) ) alarm[ 0 ] = 5 * room_speed GML (GameEnd) file_text_close( plik ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się