Jakim Opublikowano 22 Grudnia 2005 Udostępnij Opublikowano 22 Grudnia 2005 Stworzyłem już edytor do gry i opcję zapisu levelu do pliku. Niestety, odczyt poziomu sprawia mi trudności, ponieważ nie wiem, jak przeskoczyć do następnej linii (po wpisaniu komendy "file_text_readln(plik)" nic się nie dzieje). Kod poziomu wygląda tak: 3 1 1 4 4 gdzie cyfry oznaczają typ przeszkody (np. 0, to puste pole, 1 to mur, 2 to blok, itd.). A kod skryptu wygląda tak: stringx = 'level.lev' stringx = get_open_filename("Pliki poziomów (*.lev)|*.lev",'level.lev') if stringx='' exit nazwa_pliku=stringx; plik=file_text_open_read(nazwa_pliku); pole=file_text_read_string(plik); valuex=32 valuey=32 file_text_read_string(plik) script_execute(edload) file_text_readln(plik) Skrypt edload służy do podstawiania obiektów (np. gdy jest numer 1, tworzy mur). Zmienne valuex i valuey oznaczają współrzędne pól. Problem polega na tym, iż gdy używam komendy file_text_readln(plik) nic się nie dzieje i edytor bierze cały czas liczbę z pierwszej linijki poziomu (w tym wypadku cały czas jest to 3). Co robię nie tak? Mam czas do końca tego piątku, więc bardzo proszę o szybkie odpowiedzi. Z góry thx! :). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Grudnia 2005 Udostępnij Opublikowano 23 Grudnia 2005 Pisałem już edytory =] Podpowiem ci że nie jest to najlepsze rozwiązanie. Co do oczytu z pliku. Masz dwa sposoby na odczyt, oto jeden z nich (wg mnie najlepszy): file=get_open_filename('',''); file_open_read(file); repeat(100) { text=file_read_string(); file_readln(); //Warunki, akcje itd. } Wstawiłem repeat(100) bo nie pamiętam już skryptu na odczyt ilości linii. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 23 Grudnia 2005 Autor Udostępnij Opublikowano 23 Grudnia 2005 Niestety, wyświetla mi się: File is not open for reading Czemu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
radSun Opublikowano 23 Grudnia 2005 Udostępnij Opublikowano 23 Grudnia 2005 text=file_read_string() file_readln() Nie powinno być czasem: file_text_read_string(text) file_text_readln(text) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 23 Grudnia 2005 Autor Udostępnij Opublikowano 23 Grudnia 2005 Dodałem _text_, tak jak mówił RadSun i dałem wszystko w pętlę. Niestety, nadal nic się nie dzieje. O to mój kod: stringx = 'level.lev' stringx = get_open_filename("Pliki poziomów (*.lev)|*.lev",'level.lev') if stringx='' exit pos='0'; postn=-1; valuex=0; valuey=0; nazwa_pliku=stringx; plik=file_text_open_read(nazwa_pliku); numb=file_text_read_string(plik); plikpos=0; repeat(16) { file_text_read_string(plik); postn=postn+1 //Warunki, akcje script_execute(postnscript); script_execute(edload); } postn=0 file_text_close(plik); Zmienna postn oznacza pozycję (jest definiowana w skrypcie postnscript). A czas leci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
radSun Opublikowano 23 Grudnia 2005 Udostępnij Opublikowano 23 Grudnia 2005 Spróbuj tak, musisz tylko dodać te wszystkie zmienne itp.: stringx=get_open_filename("Pliki poziomów (*.lev)|*.lev",'level.lev') if stringx='' exit plik=file_text_open_read(stringx); repeat(16) { zmienna=file_text_read_string(plik); file_text_readln(plik) } file_text_close(plik); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 23 Grudnia 2005 Autor Udostępnij Opublikowano 23 Grudnia 2005 Działa! :D Dzięki RadSun i Tymon! Za kilka dni obejrzycie ten edytor w mojej grze, którą tu pokażę. Kod wygląda tak: stringx = 'level.lev' stringx = get_open_filename("Pliki poziomów (*.lev)|*.lev",'level.lev') if stringx='' exit pos='0'; postn=-1; valuex=0; valuey=0; plik=file_text_open_read(stringx); plikpos=0; repeat(18) { postn=postn+1 script_execute(postnscript); numb=file_text_read_string(plik); file_text_readln(plik); script_execute(edload); } postn=0 file_text_close(plik); Prawdopodobnie opracuję na nim przykład i zamieszczę na stronie. PS. Nie poradziłbym sobie bez tych porad. A tak przy okazji: wesołych świąt! :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Grudnia 2005 Udostępnij Opublikowano 23 Grudnia 2005 Niestety, wyświetla mi się: Czemu? <{POST_SNAPBACK}> Musiałeś popełnić jakiś błąd, mi działa bezbłędnie :) Nie powinno być czasem: file_text_read_string(text) file_text_readln(text) ? <{POST_SNAPBACK}> Nie musi być. Z text czy bez i tak działa :D 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ę