Anuncios Google

LUA Gameboot-tools

Hola debido a que sería muy largo el tema editandolo una y otra vez lo he empezado nuevamente y estoy así:

Tengo este codigo:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

--Colores
 
  blanco = Color.new(255, 255, 255)
  rojo = Color.new(255, 0, 0)
 
  oldpad = Controls.read()
 
--Variable

Gameboot1 = 'Removiendo gameboot antiguo'
Gameboot2 = 'Flasheando Gameboot nuevo'
 
while true do 

screen:clear()

screen:print(115,15,"**Gameboot changer v.Inicial**",rojo)
screen:print(25,50,"Presiona X para Flashear Gameboot 1",blanco)
screen:print(25,70,"Presiona [] para Flashear Gameboot 2",blanco)

pad = Controls.read()

if pad:cross() then
System.unassign("flash0:")
System.assign("flash0:","lflash0:0,0","flashfat0:")
System.removeFile("flash0:/vsh/resource/gameboot.pmf")
end

if pad:circle() then
System.unassign("flash0:")
System.assign("flash0:","lflash0:0,0","flashfat0:")
System.copyFile("ms0:/PSP/GAME/Gameboot-tools/Gameboot 1/gameboot.pmf","flash0:/vsh/resource/",0)
end

screen.waitVblankStart()
screen.flip()
oldpad = pad
end

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

Bien ya he dejado el codigo ahora dire cual es mi problema.

Así como esta escrito el codigo lo he lanzado usando el eBoot de LUAPlayer HMv7 Y ME HA FUNCIONADO!!  Laughing
Lo que hace mi Homebrew (o debería hacer) es con el Botón X me borra el Gameboot antiguo, y con el botón O copia el nuevo Gameboot de la MS a la Flash0.

Al lanzarlo todo bien, he podido borrar el Gameboot antiguo pulsando X pero al pulsar O para Flashear el nuevo me da el siguiente error:

Error: System/System.lua:32: Cannot find 'flash0:/vsh/resource/ y una carita como esta: Smile pero en blanco y negro... jeje

  • Ahora les pregunto, ¿Que esta pasando porque no copia el archivo?

Gracias de antemano.


Tutorial: Fabricando nuestro propio micrófono para la PSP.

Exclusivo de PSP.Scenebeta.com


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 pspgorrister

Erratem humanus est

No conozco LUA, tampoco el método copyFile ese, pero puede ser que te falte espcificar el fichero destino? sólo tienes la ruta. Ejemplo:

System.copyFile("ms0:/PSP/GAME/Gameboot-tools/Gameboot 1/gameboot.pmf","flash0:/vsh/resource/gameboot.pmf",0)

Por otra parte el error Cannot find (no puedo encontrar) 'flash0:/vsh/resource/, dice que no  existe esa ruta.

 


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de el__QAT

Gracias!!

Lo he puesto como me haz dicho y me ha funcionado, en verdad muchas gracias.

Imagen de P22

ok no me había fijado

ok no me había fijado

No se si funcionara, pero

No se si funcionara, pero prueba a quitar el / de detras de resources.

Saludso

 


¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.

Mi review: iPod Touch 4G

Imagen de P22

Si lo estas probando en

Si lo estas probando en windows es por lo que te dije anteriormente, prueba luaplayerhm v7 y te funciona.

Imagen de ZYX3D

No

En LuaPlayer HM7 tampoco le funcionará.
El error no es por la flash.

Y si leyeras, lo sabrías, porque EL_QAT ha dicho bien claro que:

"Así como esta escrito el codigo lo he lanzado usando el eBoot de LUAPlayer HMv7..."


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de el__QAT

Otro?

Algun comentario que me ayude mas con mi problema?¿

Imagen de ZYX3D

Repasa

Repasa la referencia de System.copyFile, y cómo funciona.

No es una función que utilice muy a menudo... pero diría que ahí (=en tu código) falta algo. Y algo importante, además.

Y en otro orden de cosas, aunque sea un consejo no buscado y quizá a alguien le parezca que me estoy merendando otro coder principiante y tal y cual...

...yo que tú, antes de empezar a trastear y hacer pruebas "a lo bruto" con la flash0, me aseguraría de tener muy por mano el sistema y los parámetros de las funciones de copia y gestión de archivos, para asegurar que por ahí no hubiera ningún problema.


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de P22

Pues yo lo que veo ahí es

Pues yo lo que veo ahí es que copia archivos en la flash pero bueno...

 

Imagen de ZYX3D

Fíjate bien

Para eso, debería haber un comando que copiara archivos en la flash (aunque la flash no existiera), ¿verdad?

Pues no está. Porque ahí pone System.copyFile, pero en LuaPlayer para Windows, System.copyFile es nil, no existe.

Así que está mandando que ejecute nil, y eso es nada, y ejecutar nil da un error.

Es lo que pasa cuando se emplean comandos y métodos dependientes del intérprete. Usar el método System.bailaLaRumbaAlCompás() tendría el mismo efecto que System.copyFile() en LuaPlayer para Windows.


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de Robione22

Despertar del cementerio...

Revivo este post antiquísimo para hacerte dos preguntas, ya que necesito saber la respuesta para completar mi homebrew.

Bueno la primera pregunta es: ¿Existe para el Lua Player, un equivalente a la función System.copyFile() del Lua Player HM?

Y la segunda es ¿Si es así me podrías decir cuál es?

De antemano gracias.

Saludos.

EDITO: Disculpen la molestia, ya encontré una manera de hacerlo para los que estén interesados aquí les dejo un fragmento de código:

local file = io.open("file.bin","rb") --Dirección original del archivo
local file2 = io.open("file.bin.copy","wb") --Destino del archivo copiado
while true do
  local data = file:read (102400) -- tamaño del archivo
  if not data then -- Fin
    break
  end
  file2:write(data)
end
file:close()
file2:close()

Imagen de P22

Yo no probaría de ese modo,

Yo no probaría de ese modo, ya que en luaplayer windows, tu le mandas a instalar cosas en la flash, pero¿Que es flash en un ordenador? Para profgramarlo necesitas probarlo en PSP

Saludos


¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.

Mi review: iPod Touch 4G

Imagen de ZYX3D

No le mandas

No le mandas instalar cosas en la flash, porque ni siquiera le mandas instalar nada.

En el LuaPlayer Windows no existe el método copyFile, así que lo que le estás mandando es, exactamente, nada... como se explica unos mensajes más abajo.

Por cierto, que este problema original ya está solucionado. A ver si leemos antes... :P


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de ZYX3D

Lo rascas, pero no lo das

El problema es que la ruta está mal escrita (toda ella). Por eso es que el intérprete no lo interpretaba como tú querías, y consideraba que la frase aún no estaba terminada (porque le habías puesto que las comillas formaban parte de la frase, cuando en realidad querían ser de cierre).

Así que con eso, más bien, cambiaste un error por otro... porque en la ruta final sigue habiendo un retorno de carro y una tabulación vertical (esos símbolos raros que aparecen en los mensajes de error).

O sea: es un problema de ortografía. Si necesitas revisar las convenciones de Lua, aquí están.


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de el__QAT

Pero, ¿Por qué esta mal

Pero, ¿Por qué esta mal escrita la ruta?

Y otra cosa es lo mismo si pongo \ a poner / o eso afecta?

Imagen de ZYX3D

¡Exacto!

Ése es el problema básico. Verás, resulta que en Lua, la contrabarra \ funciona para especificar lo que se llaman "caracteres de escape", cosas como el salto de línea... o la tabulación vertical.
Por ejemplo, para indicar un salto de línea, el carácter especial es \n ; para la tabulación vertical, \v...

...así que cuando escribías "...flash\vsh...", lo que entendía Lua era "flash+tabulación vertical+sh...". De ahí todos los problemas.

A esto, hay dos soluciones:

  • La más simple y efectiva, la que apuntas tú mismo: sustituir las contrabarras \ por barras /. De hecho, en la propia referencia de Lua usan consistentemente las barras, y no las contrabarras, para las rutas... consistente también con usar la contrabarra como carácter de escape.
  • Escapar las contrabarras. O sea, ponerlas dobles \\ en vez de simple \. Entonces, el intérprete interpreta que eso no es "una contrabarra doble", ni un escape, sino una contrabarra, tal cual ("literal"). O sea, que el intérprete lee "...flash\\vsh..." como "...flash\vsh...". Aunque nunca he probado las rutas con contrabarras, así que no sé siquiera si funciona (pero escaparla sí sirve, en cualquier caso, para usar una contrabarra en una cadena).

Así que ya ves... no, no es lo mismo; sí, sí afecta; y bien, bien resuelto.


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de el__QAT

Ahora otro :S

Gracias por responderme, ahora porque me da error con la funcion del sistema  System.copyFile() al ponerla en el codigo me da el siguiente error:

Porque me sale ese error y solo cuando pongo copiar.

Codigo:
+++++++++++++++++++++++++++++++++++++++++++++++

--Colores
 
  blanco = Color.new(255, 255, 255)
  rojo = Color.new(255, 0, 0)
 
  oldpad = Controls.read()
 
--Variable

Gameboot1 = 'Flasheando Gameboot 1'
Gameboot2 = 'Flasheando Gameboot 2'
 
while true do 

screen:clear()

screen:print(115,15,"**Gameboot changer v.Inicial**",rojo)
screen:print(25,50,"Presiona X para Flashear Gameboot 1",blanco)
screen:print(25,70,"Presiona [] para Flashear Gameboot 2",blanco)

pad = Controls.read()

if pad:cross() then
screen:print(150,200,Gameboot1,rojo)
System.copyFile("ms0:/PSP/GAME/Gameboot-tools/Gameboot 1/gameboot.pmf","flash0:/vsh/resource/",0)
end


screen.waitVblankStart()
screen.flip()
oldpad = pad
end

++++++++++++++++++++++++++++++++++++++++++++++ 

Gracias de antemano.


Tutorial: Fabricando nuestro propio micrófono para la PSP.

Exclusivo de PSP.Scenebeta.com

Imagen de ZYX3D

Re: petición

Hasta donde sé, el objeto System no existe en el LuaPlayer para Windows. Por eso el error.

Cuando te dice esas cosas de "(a nil value)" es que lo que sea que estés intentando manipular "no existe". Así pues, hay un error tipográfico (Lua es sensible a las mayúsculas), o es exclusivo de determinada versión de un player, etc.

En este caso, copyFile() me parece que es de HM7 (y quizá superiores), ¿no?


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de el__QAT

Edición.

He editado la noticia con mi progreso y un nuevo error.

Imagen de Geniux

Varias cosas:-Si intentas

Varias cosas:

-Si intentas cargar este homebrew desde window No te puede funcionar por la opción de escribir en la flash, dado que el PC no posee flash 0 como la PSP, por ello debes tratar de usarlo en tu propia PSP (ten a mano el DC por si acaso).

 -Antes de escribir el nuevo Gameboot en la flash, debes eliminar primero el que ya hay en la flash y luego copiar el antiguo, sino te dará un erro, debido a que LUa no es capaz de sobreescribir contenido o archivos ya existentes. Por ello te recomienso que pongas una opcion a tu programa para hacer un backup al gameboot de la flash, para restaurarlo si se desea.

PD: no puedes copiar la carteta entera sino el gameboot.pmf que hay en ella.

Aqui los cambio: 

Codigo

DONDE PONE ESTO:

screen:print(100,100,Gameboot1,blanco)
System.unassign("flash0:")
System.assign("flash0:","lflash0:0,0","flashfat0:")
System.copyFile("ms0:\PSP\GAME\Gameboot Suite\Gameboot 1\","flash0:\vsh\resource\",0)
end
----------

PON ESTO

screen:print(100,100,Gameboot1,blanco)
System.unassign("flash0:")
System.assign("flash0:","lflash0:0,0","flashfat0:")
System.removeFile(flash0:\vsh\resource\gameboot.pmf)
System.copyFile("ms0:\PSP\GAME\Gameboot Suite\Gameboot 1\gameboot.pmf","flash0:\vsh\resource\",0)
end


GNX Project

GNX Project....Disfruta de tu PSP sin limites

Gracias a todos, el GNX Project es uno de los ganadores de la Scenery Beta 09 ;)

Imagen de el__QAT

Edición

He editado la noticia con mi progreso y un nuevo error.

Gracias de antemano por responderme.

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.