Anuncios Google

Ayuda con el modulo save.data en LUA DEV

Hola, bien empiezo:

Estoy probando con algo sencillisimo el modulo save de lua, con la funcion: savedata.save(table,table), hise esto:

Teclas={"X ","O ","[] ","TRIANGLE "};
x=0;
Dsave={gameid="LD_092",savenames=x};
S={title="Dato",subtitle="Lua Dev",details="Nill",savetext="guardando"};
 
while true do
controls.read(); 
screen.clear(color.new(255,0,0));
screen.print(10,10,"Veces= "..x);
screen.print(100,100,"Presionaste:  "..Teclas[1]..x.."  VECES",color.new(0,255,0));
if controls.press("cross") then x=x+1 end ; 
if controls.press("triangle") then savedata.save(Dsave,S) end;
screen.flip();
end;

Lo que quiero hacer esque guarde X(veces que presiono). Y el error esque presiono Triangulo pero se tilda. Sabes porque sucede?

Gracias de antemano, un saludo.


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.

No la estás usando

No la estás usando correctamente, a saber:

  • En tu tabla Dsave, savegames debe ser un string o una tabla.
  • Al invocar la función de guardado, la función es savedata.save(tabla,tabla,data). Data debe ser una string, que serán los datos que quieres guardar.

Dale otra leída a la documentación, sobretodo al ejemplo que Deviante deja ;)

Imagen de barney77

EDITO

Aqui mi code actual:

Teclas={"X ","O ","[] ","TRIANGLE "};
dat={x=0}
Dsave={gameid="LD_092",savenames=dat};
S={title="Dato",subtitle="Lua Dev",details="Nill",savetext="guardando"};
 
while true do
controls.read(); 
screen.clear(color.new(255,0,0));
screen.print(10,10,"Veces= "..dat.x);
screen.print(100,100,"Presionaste:  "..Teclas[1]..dat.x.."  VECES",color.new(0,255,0));
if controls.press("cross") then dat.x=dat.x+1 end ; 
if controls.press("triangle")then dat.x="uar" savedata.save(Dsave,S,dat.x) end;
screen.flip();
end;

Raramente, no guarda nada..

Saves cual es el error?

No hay problema guardando

No hay problema guardando strings, después puedes convertirlos a números de nuevo. El error de concatenación es porque sólo hay un punto entre dat y X en ese print.

Intenta esto:

--Esto
  Dsave={gameid="LD_092",savenames=dat}
--Cámbialo por:
  Dsave={gameid="LD_092",savenames="Prueba"}
 
--Esto
  if controls.press("triangle")then dat="guar" savedata.save(Dsave,S,"guar") end
--Cámbialo por:
  if controls.press("triangle")then savedata.save(Dsave,S,dat.x) end
--Si hay error prueba:
  if controls.press("triangle")then savedata.save(Dsave,S,""..dat.x) end
--o bien
  if controls.press("triangle")then savedata.save(Dsave,S,tostring(dat.x)) end

Imagen de barney77

MMM NADA, no sirve, ya habia

MMM NADA, no sirve, ya habia intentado con tostring, aunque no de ese modo, en fin intente con las que me diste, y nada, pasa lo de que la pantalla de guardado aparece medio segundo y ya.

Saludos y gracias por la ayuda.

Ayuda...

Fijate en el codigo del GDP de Deviante, y busca la funcion donde guarda la configuración, así entenderás como va la cosa...

Tambien puedes usar ini's...

Un saludo.


 

 

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.