Anuncios Google

Duda OneLua - Guardar partida

Buenas chicos, ando en un proyecto de OneLua y me gustaria saber cómo se guarda una partida con este interprete.

Me he leido la documentación y solo dice que al guardar devuelve un booleano en función de si se ha guardado o no, e indica que para guardar se indica un STRING con los datos a guardar. Podeis explicarme como carga lo guardado?


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de PerezRE

Carga

Como ves, cada paramétro de la función es una cadena, excepto el último, por ende cuando guardas una partida tienes que índicar un gameID y el mode, los cuales esos parámetro se comparten con la función data.load(), para compártirlos una manera sencilla sería con variables globales.

Saludos. 


--[NO EXISTEN LOS LIMITES =D]--

Imagen de Cere_Ender

Si, eso lo entiendo, pero

Si, eso lo entiendo, pero cómo guarda, por ejemplo, la posicion x de tal objeto en este mapa?

Imagen de DevDavisNunez

Aqui un sample

Aqui un sample para utilizar el modulo savedata del interprete onelua.

Aun que como mencionaron, este guarda y retorna strings, debes idear una manera de hacerte un orden de tales datos, por ejemplo puedes guardar:

david&100 -- usuario y puntos

y al cargarlo usas un explode,
unatabla = string.explode(savedata.load(bla bla),"&")

y te retornara

unatabla[1] = david

unatabla[2] = 100

Con eso puedes hacer cualquier cosa ya estando en tablas ahora solo piensa como ordenarlas.

savedata=""
mje=""
status=""
result=""
--datos= "Soy data1 :D"
datos2= "Soy data2 :D"
 
while true do
   buttons.read()
 
 
screen.print(15,75,"Presiona X para usar la funcion data.save()")
screen.print(15,90,"Presiona Circulo para usar la funcion data.load()")
screen.print(15,105,"Presiona Triangulo para usar la funcion data.delete()")
 
 
  screen.print(15,15,"savedata: "..tostring(savedata))
  screen.print(15,30,"save: "..tostring(save))
  screen.print(15,45,"Datos guardados: "..tostring(mje))
 
   if buttons.cross then
 	savedata = data.save(datos2,"OneLua","ONELUA","Savedata Titulo","Datos Guardados por ONElua",0,"ICONOS/")
  elseif buttons.circle then
	mje,save = data.load("ONELUA",0)--1 autoload
--	if save == false then mje = "" end
  elseif buttons.triangle then
	savedata = data.delete("ONELUA")
	mje=""
   end
 
screen.print(15,240,"Return a SCRIPT principal START: ")  
if buttons.start then dofile("script.lua") end
 
screen.flip()
end

 




 

Imagen de Cere_Ender

Hostia, que pasada. No tenia

Hostia, que pasada.
No tenia ni idea de la función string.explode. Aunque quizá no pueda ser muy practico con un RPG, por ejemplo, no? Es mucha informacion que guardar, creo yo. Probaré a ver si puedo implementarlo de alguna manera en mi Homebrew. Muchisimas gracias por la ayuda


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 

Imagen de PerezRE

Supongo que sería de la

Supongo que sería de la siguiente manera:

 

BOOLEAN data.save	(	STRING 	data,
STRING 	gametittle,
STRING 	gameid,
STRING 	subtittle,
STRING 	description,
NUMBER 	mode 
)	
 
 
data.save("X = valor actual, Y = valor actual, MAPA = valor actual", "MyHomebrew", "1", "Personaje: Link, Mapa: Tierra", "Ejemplo de descripción en OneLua", 0)

 

Recalco que es una suposición puesto que no he tenido la opportunidad de experimentar con el intérprete.


--[NO EXISTEN LOS LIMITES =D]--

Imagen de Cere_Ender

Entonces deberia guardar en

Entonces deberia guardar en 256 caracteres todos los datos de la historia/personajes y al hacer datasave.load hacer una función que me posicione todo en su sitio... 

 

buf buf


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 

Imagen de PerezRE

Checkpoints

Recomiendo que en puntos estratégicos pongas puntos de control o de guardado.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.