bueno llevo tiempo haciendo un homebrew, pero ahora no me funciona, y no se donde esta el fallo ya que el lua player no me da ninguna pista, simplemente no funciona
asi que les pongo el codigo a ver si alguien ve algun error que a mi se me haya escapado, cualquier detalle es importante
en este codigo nekerafa me ha ayudado a ver algunos errores pero aun queda alguno por ahi fastidiando ¬¬
InitGFX(1920,1080) initPads(7) SetAppName("Botones Locos") -- recuerda comprobar coordenadas de todo Fondo = surface(0)-- carga fondo Fondo:loadBMP("fondo.bmp") Fondo:setRectPos(0, 0) Font = NewFont("fuente.ttf", 24);-- carga fuente Font:SetQuality(Blended) Font:SetColor(0, 255, 0, 255) Font1 = NewFont("fuente2.ttf", 40);-- carga fuente Font1:SetQuality(Blended) Font1:SetColor(0, 255, 0, 255) bot = { } for i = 1, 12 do-- carga imagenes de botones table.insert(bot, string.format("%i", i), surface(string.format("%i", i))) bot[i]:loadBMP(string.format("%i", i)..".bmp") bot[i]:setRectPos(860, 440) end -- declara variables act = 0 cor = 0 fal = 0 me = 0 time = 60 num = 0 -- fin de declaracion function texto()-- imprime aciertos, fallos, tiempo Font:Print(50, 50, "Aciertos:") Font:Print(80, 50, string.format("%i", act)) Font:Print(570, 50, "Fallos:") Font:Print(590, 50, string.format("%i", fal)) Font:Print(1460, 50, "Tiempo:") Font:Print(1490, 50, string.format("%i", time)) end function texto2()-- mensaje fin del juego Font1:Print(500, 500, "Fin del Juego") Font:Print(500, 600, "Aciertos:") Font:Print(550, 600, string.format("%i", act)) Font:Print(500, 700, "Fallos:") Font:Print(550, 700, string.format("%i", fal)) Font:Print(1500, 500, "Presiona X para salir") Font:Print(1500, 800, "Presiona R1 para sacar una captura") if cross(0) >= 1 then me = 0 end if R1(0) >= 1 then screenshot("puntuacion.bmp") end end -- hasta aqui casi seguro que todo bien function loadimg()-- carga el boton aleatorio(comprobar posicion)(comprobar si hace falta num) aleat = math.random(1, 12) num = aleat cor = 1 end function comprueba()-- comprueba si el boton pulsado es correcto(medio chapuzas)(comprobado) if num == 1 then if cross(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 2 then if square(0) >= 1 then act = act + 1 cor = 0 elseif cross(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 3 then if triangle(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 4 then if circle(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 5 then if up(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 6 then if down(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 7 then if left(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 8 then if right(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 9 then if R1(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 10 then if R2(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 11 then if L1(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif L2(0) >= 1 then fal = fal + 1 end end if num == 12 then if L2(0) >= 1 then act = act + 1 cor = 0 elseif square(0) >= 1 then fal = fal + 1 elseif triangle(0) >= 1 then fal = fal + 1 elseif circle(0) >= 1 then fal = fal + 1 elseif up(0) >= 1 then fal = fal + 1 elseif down(0) >= 1 then fal = fal + 1 elseif left(0) >= 1 then fal = fal + 1 elseif right(0) >= 1 then fal = fal + 1 elseif R1(0) >= 1 then fal = fal + 1 elseif R2(0) >= 1 then fal = fal + 1 elseif cross(0) >= 1 then fal = fal + 1 elseif L1(0) >= 1 then fal = fal + 1 end end end function menu()-- correcto if me == 0 then Font1:Print(900, 500, "Nuevo Juego") Font:Print(900, 700, "Salir") if cross(0) >= 1 then me = 2 act = 0 fal = 0 time = 60 cor = 0 end end if me == 1 then Font:Print(900, 500, "Nuevo Juego") Font1:Print(900, 700, "Salir") if cross(0) >= 1 then break end end if down(0) >= 1 then me = 1 end if up(0) >= 1 then me = 0 end end while true do beginGFX(0x00000) if me <= 1 then menu() else if time <= 0 then texto2() else texto()-- dibuja texto if cor == 0 then loadimg() end BlitToScreen(bot[string.format("%i", num)]) comprueba() time = time-0.003 end end endGFX() end
Ok
No he podido revisar el código, pero he enconrado algún que otro error, mira:
Resulta que lo que estás definiendo en la tabla para cada imagen es un string de "i" al utilizar string.format (ya que string.format convierte cualquier cosa que le des en un string, o en otras palabras, en un texto) sin antes definir la tabla donde lo vas a introducir, por lo que retorna error, y despues los surfaces los pones tambien con texto, y solo esta permitido que sean numeros. Asimismo, despues defines el numero "i" en la tabla para ajustar las imagenes, pero claro, esque en la tabla no existen estas variables ya que estan indenxadas en los strings, por lo que retorna nil.
Esto es un error muy común, ya que no es lo mismo x = 1 que x = "1". En el primero, x es claramente el numero uno, pero en el segundo es el texto "1" no el numero uno
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
entonces en la funcion texto
entonces en la funcion texto el string.format tambien estaria mal no? porque ahi tiene que devolver un numero no texto, mejor los quito todos y asi me ahorro problemas
y la funcion comrpueba se te ocurre como acortarla? porque mira que estuve pensando y no se me ocurrio como hacerlo
Neotecos.com
No, ya que estas imprimiendo
No, ya que estas imprimiendo las variables en un texto, por lo que es recomendable.
Tienes que ponerlo como número ya que si lo que quieres es indexar tablas, lo recomendable y normal es ponerlos como números.
Por lo de la función comprueba se me ocurre que podias poner un solo elseif y despues todos los botones de error separados entre or's, que seria lo mismo
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
ok entonces lo dejoasi, si al
ok entonces lo dejoasi, si al final llega a funcionar lo resumiere como tu has dicho xD
a ver si la semana que viene puedo ponerme en serio,que ya se me acaban los examenes, y leo detalladamente el codigo otra vez a ver si veo algo que se me escapa...
Neotecos.com
Como te dije, revisa que las
Como te dije, revisa que las imagenes estén en la misma carpeta, y al cargarlas por un "./" para indicar que estan junto al script. Perdona por no contestar pero estaba liado un poco con los examenes...
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
no pasa nada hombre, yo
no pasa nada hombre, yo tambien ando algo liado xD
he estado haciendo pruebas y las imagines que pones sin / ni nada, solo el titulo, las carga directamente desde dentro de la carpeta cuyo nombre es el mismo que el de SetAppName, fijate en el ejemplo que te viene con el lua player v2 por ejemplo,pone solo el nombre sin / ni nada, y lso archivos estan dentro de una carpeta que esta en el mismo directorio que el app.lua y que se llama igual que el nombre del homebrew, asi que no creo que el fallo este ahi
que bien vendria que te dijera que error tienes o mas que sea en linea es ¬¬ asi ahorraria muchos problemas y tiempo, a ver si en futuras versiones lo incorpora, aunque lo dudo porque no lo ha puesto en caracteristicas futuras
Neotecos.com
Pues en lua nativo se utiliza
Pues en lua nativo se utiliza "./" para referirse que esta en la carpeta del script... pero si lo hac cambiado ya no se entonces donde puede estar.
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
a ver si algun otor coder de
a ver si algun otor coder de psp se pasa por aqui(que no creo) me hecha una mano xD
Voy a echarle
un vistazo
PD: Llegue tarde, sigues interesado en resolverlo?
pues si xD me pegue sus horas
pues si xD me pegue sus horas para hacer el codigo y ahora me cabrea que no funcione xD y seguro que es por una boberia xD
no hay prisa, mientras ayudes que es lo que importa xD
Neotecos.com
En que linea
da error?
O es un error general?
ese es uno de los mayores
ese es uno de los mayores problemas, que el lua player de ps3 no te dice que tipo de error ni en que linea, simplemente si funciona funciona si no pantalla negra y de vuelta al xmb not e da error de ningun tipo, a ver si el autor inlcuye algo en futuras versiones que diga mas que sea en que linea de el error
Neotecos.com
Consejos:
Primero intenta realizar el texto sin fuente, para ver si es ese el error
Segundo elimina los string.format, nekerafra afirma que no son necesarios.
Tercero, me pasas la pagina oficial de LUA PLAYER PARA PS3?
en el v2 necesitas por fuerza
en el v2 necesitas por fuerza cargar una fuente, no puedes usar texto si no cargas una fuente
los strings.format se los añadi porque no me funcionaba, primero probe sin ellos y no me funcionaba, asi que no creo que este ahi el error
lo ams parecido a pagina oficial que he encontrado es esto
https://github.com/jonlimle/LuaPlayerPS3
Neotecos.com
Sobre LuaPlayer PS3
No hay una web oficial, por lo que tenemos que estar buscando los Lua's por la web.
La página que ha puesto Daklon son los repositorios de LuaPlayer PS3, es decir, el código fuente.
Si eso miro otra vez el código tranquilamente y te doy todos los errores que vea. Saludos ^-^
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
ok gracias xD a ver si el
ok gracias xD
a ver si el autor saca ya la version 3 y le añade el dichoso reporte de errores xD asi ayudaria muchisimo xD
Esque el autor ha dejado el
Esque el autor ha dejado el proyecto, por lo que tenemos que esperar a que hagan una nueva version o que algún coder de scenebeta que sepa en C se atreva a actualizarlo
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
bufff yo pensando que estaba
bufff yo pensando que estaba trabajando en ello.. bueno nekerafa a ver si tu conoces a alguien que sepa c y se atreva con eso, que tu llevas mas tiempo aqui,y en ps3 no hay muchos programadores, en psp hay muchos mas xD, yo para la version 3 solo pido lo que he dicho antes, algo que te diga o que tipo de error es o mas que sea que te diga en que linea esta el error con eso ya me conformo
Neotecos.com
Lo que dices de que te
Lo que dices de que te comente los errores ya viene activado de la version nativa de Lua, la 5.1, que te muestra los errores. Lo que pasa que el creador de LuaPlayer lo ha desactivado.
Si eso yo me ofreceria a crear una nuevar versión, pero esque se lo básico de C y nose aún como se compilan los programas en PS3, lo mio es más lenguajes de scripting XDDD.
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
y no se podria con un .lua
Realizar esa funcion de mostrar errores?
Seria dificilillo
Daklon, usa la v1 de lua player y asi te ahorras de eso
No, ya que esta desactivado,
No, ya que esta desactivado, hay que editar el código fuente del LuaPlayer
OH SHIT
El creador debe ser un troll face
XDD
No, ya que nos dejo el código para que lo desactivemos. Problem coder?
El makefile
y to eso?
si, en la pagina que te pase
si, en la pagina que te pase esta todo
yo se muy pero que muy poco de c asi que no creo que pueda reactivar esa funcion, nekerafa mira ver si conoces a alguien que la reactive, porque si ya venia de serie y solo hay que ponerl aotra vez digo yo que sera mas facil, aunque pensandolo bien, digo yo que algun motivo habria para que la desactivara, algu problema de compatibilidad o algo
Neotecos.com
tambien
o que no sabia como redirigir el error a pantalla XDD
POR FAVOR
Comentad arriba esto asfixia!
Jajajaja
Haber si desbordamos la página y bloqueamos los servidores jajajaja
bloqueados estan ya... xD que
bloqueados estan ya... xD
que hay veces que intentas entrar y te da errores xD
Donde podemos ver
Como va el proyecto?