Skocz do zawartości
  • Ogłoszenia

  • Gdzie świętować urodziny GMCLANu   31 użytkowników zagłosowało

    1. 1. Gdzie świętować urodziny GMCLANu


      • Warszawa (bo w centrum)
      • Szczecin (bo tam mieszka Ranma i narodził się GMCLAN)

    Żeby zagłosować w tej ankiecie, prosimy się zalogować lub zarejestrować. Zobacz temat
  • 0
Phoenix

[GM 8.1] Telemetria na plikach ini

Pytanie

Witajcie. Mam pytanie odnośnie plików ini, ponieważ tworzę telemetrię do samochodów w mojej gierce. Wykorzystuję pliki .ini do konfiguracji ustawień itp. Problem pojawił się, gdy zechciałem stworzyć telemetrię. W teorii wszystko jest bardzo proste. Zczytuję wartości zmiennych co jedną klatkę (30 FPS) i zapisuję do pliku ini. Największe utrudnienie pojawia się w samym zapisie. Nie wiem jak obejść to, że jeżelie nie użyję wewnętrznego licznika w tym pliku ini, to zawsze będzie nadpisywać mi wartość np. speed. Z kolei, gdy zacznę numerować każdy wpis do telemetrii to powstanie mi np. 341 pomiarów, ale każdy zawiera tę samą formułkę np.:

Pomiar 1

25,6

 

Pomiar 2

27,8

 

itp.

 

Potem chcę to wkleić do Excela i zrobić wykres, ale muszę się bawić w usuwanie tych: "Pomiar 1" i niwelować odstępy między wierszami, bo wykres nie wyjdzie. To trochę bezsensu, gdy pomiarów będzie np. 1200

 

Pytanie:

Jak mogę zapisywać kolejne pomiaru bez potrzeby ich numerowania w pliku ini (żeby "intuicyjnie" zapisywał się pomiar jeden pod drugim)? A może można zastąpić w tym konkretnym przypadku pliki ini czymś innym?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Masz format CSV, który obsługuje Excel. Użyj go. To zwykły zapis do plików tekstowych. ;)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Nie można, a nawet trzeba w tym wypadku zastąpić pliki ini zwykłymi plikami tekstowymi. <_< Excel w bardzo przyjemny sposób potrafi coś takiego odczytywać. Poszukaj opcji importu danych z pliku. Wtedy wystarczy że oddzielisz swoje dane jakimś znakiem (; jest ok) a kolejne wiersze innym (| albo cokolwiek innego)

 

Poza tym staraj się nie zapisywać danych co step, a zapisuj je w jakiejś strukturze.

 

@UP: pamiętałem o CVS ale myślałem że to jeszcze inny sposób. :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Nie jest zapisywanie co step, a co alarm. Wcześniej o CVS nie słyszałem, ale wydaje się bardzo interesujące. Przepatruję informacji na ten temat, ale natrafiłem na TO i nie za bardzo wiem co z tym zrobić. Dzięki za pomoc tak w ogóle!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Ale po co? Skoro nie musisz odczytywać tych danych w GM to wystarczy zwykłe append dla plików tekstowych. Po co próbujesz na siłę kombinować?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Dobrze, a jak takie coś wykonać?

BTW nie próbuję na siłę, szukam rozwiązania. Jak na razie to sypiesz ogólnikami i krytykujesz, że kombinuję -_- .

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

No bo z ini kombinowałeś. Eh... Masz najprostszą z możliwości użycia plików tekstowych. Na zmianę dopisywać na końcu pliku twój pomiar i znak rozdzielający. Nie da się tu zrobić błędu.

 

Otwierasz plik z atrybutem append czyli dopisywania.

while(masz dane)

{

file_text_write_string(fileid, string(pomiar))

file_text_write_string(fileid,",")

file_text_write_string(fileid, string(wartość))

file_text_write_string(fileid,",")

file_text_write_string(fileid, string(inna kolumna))

file_text_writeln(fileid)

}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Mam prawo tego nie wiedzieć. Programuję chałupniczymi metodami dla siebie od czasu do czasu i amatorsko, a nie, żeby z tego robić faktyczne gry dla innych. Tej metody zwyczajnie nie miałem, nie wiem po co ten pretensjonalny ton. Mimo wszystko dzięki. Sprawdzę :thumbsup:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Przepraszam, ale ja już wyskakuję z zębami na każdego kto próbuje cokolwiek robić na plikach ini.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Może w programistycznych środowiskach pliki ini to metoda najbardziej low i niefunkcjonalna. Mnie jednak pozwala zrobić bazę/silnik i później sprawnie wczytywać spoza gry. Może są lepsze metody, może szybsze, ale z myślę, że ini są w tej dziedzinie najprostsze, a nawet jeśli nie, to i tak nie będę tego zmieniać.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Jedyne plusy ini nad plikami tekstowymi są takie że nieumiejetnie stosowane funkcje mogą wyczyścić zawartość pliku i że z pliku ini wyciągasz tylko te dane które Cię interesują. W plikach tekstowych musisz zaplanować sobie strukturę i o niej pamiętać bo jak się pomylisz to wszystko zniszczysz.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×