Skocz do zawartości
kriso99

zapisywanie w android

Rekomendowane odpowiedzi

Mam problem,

gdy otwieram gre przez kabel podłączony do kompa to wszystko się ładnie zapisuje, jednak gdy wypale aplikacje to plik text.txt mi się nie zapisuje. Jaki może być powód?!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Uprawnienia aplikacji? (Bodaj plik manifest)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

uprawnienia jakie mam zaznaczone to write_external_stornage,

plik utworzonny w drzewku included files

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Chcesz included files nadpisać? Coś mi się wydaje, że to niemożliwe.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

sory że nie odpisywałem ale nie miałem za zbytnio czasu

 

sprawa wygląda nastepująco:

 

nie zapisuje mi pliku:

GML (create)
if file_exists("game.sav")game_load ("game.sav")

key pressed backspace

GML
game_save ("game.sav")

game_end()

Mowa oczywiście o android, dalem wszystkie uprawnienia dla pewności ale nadal nie działa...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

nikt już chyba nie zauważy tego tematu, więc moge odświeżyć

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ale nie odpowiedziałeś, czy ten plik jest w included files?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Z tego co wyczytałem z GMC, to ten feature nie działa na andku. Musiałbyś skorzystać z innego sposobu, np. pliki INI.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W ogóle game_save zapisuje tylko część zmiennych, nie zapisuje ds_list itp., więc sporo rzeczy trzeba i tak odtwarzać - w tym momencie INI daje faktycznie lepszą kontrole.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

ale jak ja mam np edytor mapy w andku i chce zeby cała mapa byla zapiana to raczej ini odpada

2. jak powiedziałeś ze nie bedzie działac to wywalilem plik z included files

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zapis do pliku to nie game_save. Można do tego użyć buforów (buff_load/save), zapisu binarnego, zapisu tekstowego - zapraszam do dokumentacji:

 

http://docs.yoyogames.com/source/dadiospic...fers/index.html

http://docs.yoyogames.com/source/dadiospic...iles/index.html

http://docs.yoyogames.com/source/dadiospic...iles/index.html

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
W ogóle game_save zapisuje tylko część zmiennych, nie zapisuje ds_list itp., więc sporo rzeczy trzeba i tak odtwarzać - w tym momencie INI daje faktycznie lepszą kontrole.

 

Masz racje z tym INI.A powiedz mi jak to zrobić jak np w INI zapisuje poziom danego skilla i chce zabezpieczyć to INI,żeby nikt nic sobie nie dopisywał.Musze to szyfrować??? :mellow:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

yup, szyfrowanie pliku, czy wartoscijest jedyna opcja. Gnysek robil artykul na glownej o szyfrowaniu XORem, ale sa tez bardziej zaawansowane metody szyfrowania, zas XOR powinien wystarczyc na ochrone przed swiezakami.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

heh no i mialem do pliku txt i tez nie działało

GML (zapis)
var file, str;

//Open file for writing

file = file_text_open_write("Level.txt");

/*

//Create player string

str = string(obj_Player.x) + "|" + string(obj_Player.y) + "|";

 

//Write player string and go to a new line

file_text_write_string(file, str);

file_text_writeln(file);

 

*/

//Reset string var

str = "";

//Write wall objects to file

with (obj_block)

{

str += string(x) + "|" + string(y) + "|" + string(image_index) + "|";

}

file_text_write_string(file, str);

 

file_text_close(file);

effect_create_above(ef_smokeup,view_xview+view_wview/2,view_yview+view_hview/2,5,c_green)

GML (wczytanie)
var file, str, str_pos, str_temp, val, num;

file = file_text_open_read("level.txt");

if file != -1

{

/*

str = file_text_read_string(file);

file_text_readln(file);

str_pos = 1;

num = 0;

str_temp = "";

 

 

while(str_pos < string_length(str))

{

while (string_char_at(str, str_pos) != "|")

{

str_temp += string_char_at(str, str_pos);

str_pos += 1;

}

val[num] = real(str_temp);

str_pos += 1;

num += 1;

str_temp = "";

}

instance_create(val[0], val[1], obj_Player);

*/

with(obj_block)instance_destroy()

 

str = file_text_read_string(file);

str_temp = "";

num = 0;

str_pos = 1;

 

while(str_pos < string_length(str))

{

while (string_char_at(str, str_pos) != "|")

{

str_temp += string_char_at(str, str_pos);

str_pos += 1;

}

val[num] = real(str_temp);

str_temp = "";

str_pos += 1;

num += 1;

if num = 3

{

num = 0;

with (instance_create(val[0], val[1], obj_block))

{

image_index=val[2]

}

}

}

file_text_close(file);

}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ale co nie działało? Był jakiś błąd? Bo "nie działa" to zbyt ogólne określenie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

brak błędu, nie zapisuje bądź nie czyta, wczytuje tak bloki jak były ustawione w room edytorze.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

zawsze marzyłem żeby odswierzyc temat na gmclanie a więc;

refresh

no I wpadło mi nowe osiągnięcie

 

 

a tak na serio. jak to dziadostwo zapisać?!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

a może ma ktos, gdzieś jakiś przykład zapisywania stanu gry do pliku, który w 100% działa na androidzie?!

Podrzuci mi ktos taki plik?

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

×