[PSP] Ayuda con codigo LUA

Buenas:

Estoy creando un archivo LUA que se ejecute nada mas encender la PSP.
Para eso he usado el Autorun PSP/GAME/BOOT

Bueno al grano:

Estoy intentando hacer que al terminar el sonido se valla al XMB
El codigo que llevo es este:
blue =Color.new(0,0,255)
bu = Sound.load("sound/bu.wav", false)
dead = Image.load("images/dead.png")

local sound = bu
voice = sound:play()
while true do
screen:clear()
pad = Controls.read()
if pad:cross() then
dofile("./script.lua")
end
screen:blit(0,0,dead)
screen:print(200, 100, "Bienvenido Ruben", blue)
screen:print(200,120,"PSP 3.40 OE-A", blue)
screen:flip()
screen.waitVblankStart()
end


-------------------

Yo se hacer que al esperar determinado tiempo se pase a otro .lua
Pero no se para que se pase al XMB...

El codigo de pasarse a otro .lua es este: (creo)
gamestime=gametimer:time()
if gamestime>1000 then time=time - 1 gametimer:reset(0) gametimer:start() end
function timeee()
if time <= 0 then
dofile("./uno.lua")
end
end
timeee()
[
Como se haria esto para ir al XMB?


Gracias de antemano
Saluds
Te haria falta el comandi System.Quit


screen.flip()
screen.waitVblankStart(90)
System.Quit()
end


Por ejemplo, depues de todos tus códigos pones

screen:clear(black)
screen:print(210,135,"Reproduccion finalizada",red)
screen:print(210,150,"Volviendo al XMB",red)
screen.flip()
screen.waitVblankStart(90)
System.Quit()

end

Napsteir, si pongo eso de System.Quit(), me devuelve el siguiente mensaje:
error: System/SYSTEM.LUA:40: attempt to call field 'Quit' (a nil value)
Error: No script file found.

Press start to restart
¿Alguna solución?
TBG escribió:Napsteir, si pongo eso de System.Quit(), me devuelve el siguiente mensaje:
¿Alguna solución?



Seria...


screen.waitVblankStart()
screen.flip()
System.Quit()



Ejemplo:


pad = Controls.read()
if pad:circle() then
screen:print(100, 100, "adeuuu", rojo)
screen.waitVblankStart()
screen.flip()
System.Quit()
Salu2![bye]
Efectivamente

Lo primero que tendrias que hacer es indicarle a la psp que antes de salir ha de presentar los elementos en pantalla. Lo correcto seria escribir

screen.flip()
screen.waitVblankStart()
System.Quit()


Siempre he sido partidario de colocar antes el paso de off screen a on screen (screen:flip()) antes de declararle la infinidad de tiempo (screen.waitVblankStart())

Los he visto también con

screen.waitVblankStart()
screen.flip()
brake()



pero no suele funcionar en todas las psps.
Nada de System.Quit(), la función para volver al XMB es os.exit()
5 respuestas