[SOLUIONADO] Hola, errores que no comprendo.

Hola a todos me da error en estos script pero no se cual es:

El primero:

--Negro--
negro=Color.new(0,0,0)
 
--Imagen--
image=Image.load("./images/PSP.png")
 
--Variables--
nick=System.nickName()
CF=System.cfwVersion()
modelo=System.getModel(1)
modelo2=System.getModel(0)
mac=Adhoc.getMac()
cpu=System.getCpuSpeed()
bus=System.getBusSpeed()
memoria1=System.getTotalSize("ms0:/")
memoria2=System.getFreeSpace("ms0:/")
umd=UMD.checkDisk()
 
--Bucle
while true do
pad=Controls.read()
screen:clear()
 
--Escribimos--
screen:blit(0,0,image) 
screen:print(30, 90, "Hola: "..nick, negro)
screen:print(30, 110, "Modelo: "..modelo,negro)
screen:print(30, 120, "Modelo numerico: "..modelo2, negro)
screen:print(30, 130, "Tu CF es: "..CF, negro)
screen:print(30, 140, "Tu Mac es: "..mac, negro)
screen:print(30, 150, "Velocidad CPU: "..cpu, negro)
screen:print(30, 160, "Velocidad BUS: "..bus, negro)
screen:print(30, 170, "Memoria total de la memory stick: "..memoria1.." bytes",negro)
screen:print(30, 180, "Espacio libre: "..memoria2.." bytes", negro)
 
--Pulsaciones--
if pad:circle() then
dofile("./System/system2.lua")
end
 
--Terminamos--
screen.flip()
screen.waitVblankStart()
oldpad=pad
end

Error: system/infopsp.lua:7: attempt to call field nickname (a nil value)

El segundo: 

--Colores--
negro=Color.new(0,0,0)
 
--Imagenes--
image=Image.load("./images/Bateria.png")
 
--Variables--
nick=System.nickName()
bateria1=System.powerIsBatteryExist()
bateria2=System.powerIsBatteryCharging()
bateria3=System.powerGetBatteryLifePercent()
bateria4=System.powerGetBatteryLifeTime()
bateria5=System.powerIsLowBattery()
bateria6=System.powerGetBatteryTemp()
bateria7=System.powerGetBatteryVolt()
 
--Bucle--
while true do
pad = Controls.read()
screen:clear()
 
--Escribimos--
screen:blit(0,0,image) 
screen:print(30, 90, "Hola: "..nick, negro)
screen:print(30, 90, "Bateria conectada: "..bateria1, negro)
screen:print(30, 110, "Bateria cargando: "..bateria2, negro)
screen:print(30, 120, "Porcentaje de la bateria: "..bateria3.."%", negro)
screen:print(30, 130, "Tiempo restante: "..bateria4, negro)
screen:print(30, 140, "Bateria baja: "..bateria5, negro)
screen:print(30, 150, "Temperatura: "..bateria6.."º", negro)
screen:print(30, 160, "Voltaje de la bateria:"..bateria7, negro)
 
--Pulsaciones--
if pad:circle() then
dofile("./System/system2.lua")
end
 
--Terminamos--
screen.flip()
screen.waitVblankStart()
oldpad=pad
end

Error:  system/infobateria.lua:8: attempt to call field "nickname" (a nil value)

 

No se a que se deben, tal vez sean tonterias. Estoy empezando no sean malos con migo.

 

NOTA: He actualizado el codigo.


                                                                          No cuesta nada agradecer!!!


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.

Hola de nuevo he pensado lo

Hola de nuevo he pensado lo que habeis dicho anes y pues he hecho lo siguiente:

--Escribimos--
screen:blit(0,0,image) 
 
screen:print(30, 90, "Hola: "..nick, negro)
 
if System.powerIsPowerOnline() == true then
screen:print(30, 110, "Bateria conectada: Si", negro)
if System.powerIsPowerOnline() == false then
screen:print(30, 110, "Bateria conectada: No", negro)
 
if System.powerIsBatteryCharging() == true then
screen:print(30, 120, "Bateria cargando: Si", negro)
if System.powerIsBatteryCharging() == false then
screen:print(30, 120, "Bateria cargando: No", negro)
 
screen:print(30, 130, "Porcentaje de la bateria: "..bat1.."%", negro)
 
screen:print(30, 140, "Tiempo restante: "..bat2, negro)
if System.powerIsLowBattery() == true then
screen:print(30, 150, "Bateria baja: Si", negro)
if System.powerIsLowBattery() == false then
screen:print(30, 150, "Bateria baja: No", negro)
 
screen:print(30, 160, "Temperatura: "..bat3.."º", negro)
 
screen:print(30, 170, "Voltaje de la bateria:"..bat4, negro)

Es decir, como "System.powerIsPowerOnline()" y otros solo pueden estar en dos estados pues, he pues to que si es verdad que se escriba... y qe si es falso se escriba... ¿creeis que esta bien asi?


                                                                          No cuesta nada agradecer!!!

Imagen de el__QAT

Así está bien.

sAlud0s!

Gracias por vuestra ayuda.

Gracias por vuestra ayuda.

Imagen de P22

Me parece que en vez de true

Me parece que en vez de true y false tienes que poner 1 y 0.

Saludos

No xD solo tenia que poner

No xD solo tenia que poner else es decir:

if System.powerIsPowerOnline() == true then
screen:print(35, 110, "Bateria conectada: Si.", negro)
else
screen:print(35, 110, "Bateria conectada: No.", negro)
end


                                                                          No cuesta nada agradecer!!!

Imagen de P22

De todos modos

En el código que pones abajo te faltan todos los ends y elses =P

Ya lo se xD, aqui esta todo

Ya lo se xD, aqui esta todo el codigo:

--Colores--
negro=Color.new(0,0,0)
 
--Imagenes--
image=Image.load("./images/Bateria.png")
 
--Variables--
nick=System.nickName()
bat1=System.powerGetBatteryLifePercent()
bat2=System.powerGetBatteryLifeTime() /60
bat3=System.powerGetBatteryTemp()
bat4=System.powerGetBatteryVolt() /1000
 
--Bucle--
while true do
pad = Controls.read()
screen:clear()
 
--Escribimos--
screen:blit(0,0,image) 
 
screen:print(30, 90, "Hola: "..nick, negro)
--Si es verdad entonces...--
if System.powerIsPowerOnline() == true then
screen:print(30, 110, "Bateria conectada: Si.", negro)
else
screen:print(30, 110, "Bateria conectada: No.", negro)
end
 
if System.powerIsBatteryCharging() == true then
screen:print(30, 120, "Bateria cargando: Si.", negro)
else
screen:print(30, 120, "Bateria cargando: No.", negro)
end
 
screen:print(30, 130, "Porcentaje de la bateria: "..bat1.."%.", negro)
 
screen:print(30, 140, "Tiempo restante: "..bat2.." Horas.", negro)
 
if System.powerIsLowBattery() == true then
screen:print(30, 150, "Bateria baja: Si, ponla a cargar.", negro)
else
screen:print(30, 150, "Bateria baja: No.", negro)
end
 
screen:print(30, 160, "Temperatura: "..bat3.."ºC.", negro)
 
screen:print(30, 170, "Voltaje de la bateria: "..bat4, negro)
 
--Pulsaciones--
if pad:circle() then
dofile("./System/system.lua")
end
 
--Terminamos--
screen.flip()
screen.waitVblankStart()
oldpad=pad
end


                                                                          No cuesta nada agradecer!!!

Muchas gracias por la ayuda

Muchas gracias por la ayuda ya arregle el error, pero ahora en la el segundo scrip me da error:

system/infobateria.lua:25: attempt to concatenate global "bateria" (a boolean value) ¿Que significa?


                                                                          No cuesta nada agradecer!!!

Imagen de Arkanist

Pues que es una boolean.

Quiere decir que por decirlo asi un interruptar, solo puede tener dos estados, yes o no, true o fale, y por lo tanto no pues imprimirlo pues no es un string lo que te devuelve.

No me conozco las funciones pero creo que es la que has puesto "Bateria Baja" lo cual ésto creo que te indica si esta baja o no, pero no estoy seguro.

Saludos.

Imagen de P22

prueba a poner

prueba a poner tostrin.batería1 o con 2 puntos.

Saludos

Es decir, cambiarle el

Es decir, cambiarle el nombre a la variable?.

Imagen de P22

screen:print(x,y,"comentario"

screen:print(x,y,"comentario"..tostring:System.powerIsBatteryExist(), negro)

no, lo que yo te digo sirve para convertir en texto una función, lo que daría lugar a esto:

 


¡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 Arkanist

NO

Tostring fuerza a convertir un dato en string.

Entonces no sirve?

Entonces no sirve?

Imagen de Arkanist

Sí.

Solo dije que la definicion que dijo el otro usuario estaba mal, aunque seguro que la mia no esta bien del todo.

Te aconsejaría ir probando en vez de preguntar tanto, así coges mas experencia probando.

PD: porque tu firma lleva a la pagina para darle scenebitos a gatita.?

Pues si pregunto es porque

Pues si pregunto es porque he ya he provado mucho antes, y eso de la firma nose era por poner algo ;)

Gracias muchisimas ggracias.

Gracias muchisimas ggracias.

Imagen de P22

Pero te ha funcionado?

Pero te ha funcionado?

No creo que sea el eboot, ya

No creo que sea el eboot, ya que tengo hacho anteriormente otro codigo y funciona a la perfeccion.

Imagen de P22

lo que dice gorrister, en

lo que dice gorrister, en hm7 si funciona pero en v2 no.

Saludos

Me estoy liando, mi codigo

Me estoy liando, mi codigo esta escrito en HM7 o en HM2??

Imagen de P22

Si estás haciendolo bien

Si estás haciendolo bien debería ser el hm7, pero si quieres más info, dime de donde descargastes el eboot

Pues no me acuerdo lo cogi

Pues no me acuerdo lo cogi de una aplicacion.

Imagen de rubenelportero

anda

descargate este eboot y sustituyelo por el que tienes, ya te deberia funcionar haciendo eso  :P

Imagen de pspgorrister

Suena a que el Lua que usas

Suena a que el Lua que usas no tiene ese método/función

No te entendi. 

No te entendi. 

Imagen de pspgorrister

Pues que parece ser que

Pues que parece ser que según el Lua que uses tendrás algunas funciones disponibles y otras no, no se sigue un modelo de retrocompatibilidad.  Yo probaría a usar otro Lua


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

Jo pero eso no es ta facil

Jo pero eso no es ta facil lo poco que se lo se en se lua, y detodas formas deberia de estar. En los tutos de the mariga (o algo asi) todas las funciones deberian de funcionar.


                                                                          No cuesta nada agradecer!!!

Imagen de alexricoj

Vamos bien, los tutoriales

Vamos bien, los tutoriales de The Marioga de la web de Dark-Alex, estan programados en LuaHM7. La nueva v2, los esta haciendo migueliziosop.

salu2


Vuelvo... Vuelvo a Scenebeta despues de estar un tiempo de 'baja'. Ahora vuelvo como Coder, ¿Qué sera el dia de mañana?.
_______
Administrador de TeamSceneWeb.

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.