MaxGaming Opublikowano 22 Czerwca 2015 Udostępnij Opublikowano 22 Czerwca 2015 Jak wczytać dane z pliku tekstowego dołączonego do gry(included files)? Teoretycznie, gdy biorę, show_message(working_direction) otrzymuje folder z grą. Lecz, gdy wybieram ścieżkę working_directory+"\DATA\Main.VDAT" podczas wczytywania pliku tekstowego - wczytuje mi z innego miejsca. Wpadłem na pomysł, że podczas zapisu w debugerze wyskakuje gdzie plik został zapisany - "Output file is C:\Users\Black\AppData\Local\Grar\DATA\Main.VDAT", Gdy wpiszę po prostu "\DATA\Main.VDAT, lub ".\DATA\Main.VDAT to szuka w... C:\DATA xD Nie kumam jak GM zapisuje te plik. Po prostu chce mieć bazę z parametrami pojazdów w grze w folderze z grą i z tego miejsca wczytywać, coś kiedyś w dokumentacji GMSa czytałem, że działa on w jakimś sandboxie czy coś, ale nie kuma tego i myślałem, że jak jest plik w included files to normalnie otworzy :/ Co robię źle? @e: w innym projekcie też w GMS mam tylko wpisaną nazwę pliku "plik.roszerzenie" i działa gdy jest w included files, a w tym projekcie usunąłem nawet, bo pomyślałem, że może źle podfolder adresuję, ale nadal otwiera z jakiegos locala(bo otwiera plik, ale nie ten co ma w folderze z grą, ale taki który kiedyś zapisałem funkcją write_text[,,,] a nie ręcznie i wrzucilem w included. Już sam nie wiem co może być nie tak, skoro tam działa, a tu nie, bo wczytuje z locala jakiegoś :/ @ROZWIĄZANIE: Wiem! Po długim próbowaniu wszystkiego z desperacji odkryłem w czym rzecz. Po pierwsze drobny błąd "DATA\Main.VDAT", bez "\" z przodu. Ale główny problem polegał na tym, że gdy zapisujemy plik tekstowy, zamiast w folderze z grą zapisuje się w folderze gry w local app_data. No własnie, ale co to ma wspólnego z odczytywaniem skoro w innym projekcie odczytywanie działało? Ano zacząłem nad tym się zastanawiać i pomyślał, że dziwne, że cały czas czyta ten plik z local, który kiedyś zapisałem używając funkcji file_text_write(...). Usunąłem go i cały folder z Local z grą i... i nagle GMS zaczął czytać z folderu z grą pliki. Czyli o ile wysunąłem trafne wnioski to jeżeli istnieje ten plik(plik o tej samej nazwie) w folderze gry Local to ni diabła nie otworzymy z folderu z grą, chociażby nie wiem co próbować. Trzeba go usnąć ręcznie i nie zapisywać go przez grę o ile to możliwe(ponieważ ta funkcja zapisuje zawsze do local, a nie tam gdzie byśmy pewnie chcieli). Może ktoś w przyszłości będzie miał ten sam problem i to mu pomoże :) Nie mam bladego pojęcia kto ma tak ułańską fantazję w YoYo(już właściwie GMS nie należy do YoYo chyba? Czy to całe YoYo zostało wykupione? W sumie nie istotne...), ale dzięki nim mam kilka h w plecy :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Czerwca 2015 Administratorzy Udostępnij Opublikowano 22 Czerwca 2015 W manualu jest wyraźnie napisane, że pliki gry są zapisywane w folderze %LOCALAPPDATA%/NazwaGry/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 22 Czerwca 2015 Udostępnij Opublikowano 22 Czerwca 2015 Z folderu gry możesz tylko odczytywać. Z \AppData\Local\ możesz zapisywać i odczytywać. Są też funkcje które pytają użytkownika o plik, wtedy w zależności czy prosimy o load czy save to mamy dostęp do dowolnego pliku jaki wskaże użytkownik. Jest to związane z zabezpieczeniem użytkownika. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 22 Czerwca 2015 Autor Udostępnij Opublikowano 22 Czerwca 2015 @Gnysek: Jasne, tyle, że ja właśnie chciałem odczytać plik z folderu z grą, ale nie wiedziałem, że gdy zostanie taki sam utworzony(w sumie to sam się utworzył i później się zorientowałem, że takowy tam jest, ale nie istotne) w local, to już z folderu z grą nie odczyta. Ale już dałem radę, szkoda tylko kilku godzin które straciłem na debugowanie w poszukiwaniu problemu :/ @3F: No tak, ale te zabezpieczenia denerwują. W GM8.1 nie było takiego kombinowania i działało wszystko :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 22 Czerwca 2015 Udostępnij Opublikowano 22 Czerwca 2015 GM8 nie musiał działać na HTML5, Androidzie, iOS i konsolach. Tam nie masz możliwości odczytać coś z poza danych gry. Ale jeżeli chcesz się ograniczyć tylko do Windowsa to jest extension które odblokowuje pełen dostęp do dysku. Wygoogluj "GMFileSystem". Znalazłem na forum YYG. 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ę