Anuncios Google

Ayuda con LuaDEV

Hola a todos, verán tengo un error en mi code, el error es el siguiente:

elscript.lua:4: bad argument #1 to read (invalid option)

el archivo changelog.txt si existe, espero su ayuda

Éste es el code:

-- elscript.lua
fondo = image.load("imagenes/fondo.png")
dofile("Cursor.lua")
function changelog()
changelog = io.read("changelog.txt")
changelog:open()
changelog:read("*1")
if changelog:read("*1") == "1jwjww" then
screen.print(40,40,"jjdjdjdjjd")
elseif nil then
changelog:read("*2")
if changelog:read("*2") == "jdjdjdj" then
screen.print(40,60,"jxjxnxnx")
elseif nil then
changelog:read("*3")
if changelog:read("*3") == "nnxnxbc" then
screen.print(40,80,"nxnx nx ")
elseif nil then if changelog:read("*1") and changelog:read("*2") and changelog:read("*3") == nil then
screen.print(50,50,"nnnxnxnxncfulanitod ddd")
end
end
end
end
end
while true do
fondo:blit(0,0)
changelog()
if cursor:on(0,54,142,64) and controls.press("cross") then
dofile("analizar.lua")
end
if cursor:on(0,54,142,64) then
imagen:blit(0,0)
end
if cursor:on(0,126,142,64) and controls.press("cross") then
dofile("actualizar.lua")
end
if cursor:on(0,126,142,64) then
actualizar:blit(0,0)
end
if cursor:on(0,191,142,64) and controls.press("cross") then
dofile("virus eliminados.lua")
end
if cursor:on(0,191,142,64) then
virus:blit(0,0)
end
cursor:blit()
screen.flip()
end

El Cursor.lua funciona correctamente

Gracias de Antemano.

Saludos.


Administrador de www.SceneBeta.com y Android


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 sting18

No uses el mismo nombre para

No uses el mismo nombre para todo, si usas un nombre en una funcion "changelog" y vuelves a usar ese nombre en una variable "changelog" falla tu codigo ya que das otra asignacion a tu codigo "changelog".


Imagen de Ayrton990

Ok, gracias a los dos por su

Ok, gracias a los dos por su gran AYUDA.

Que milagro verte por aca Chime ;)

Saludos.

Imagen de Chimecho

Pues...

A parte de lo que dice Rober, el otro error es que haces:

changelog = io.read("changelog.txt")
changelog:open()

y debería ser

changelog = io.open("changelog.txt", "r")

Y... podrías identar el code, que ver tanto end end end end end... confunde.

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de NEKERAFA

XD

Era lo que iva a comentar, que fue lo primero en lo que me fijé XD

Pues eso, el argumento que le

Pues eso, el argumento que le pasas a read no es válido. Las opciones válidas son:

  • "*l" lee una línea (formato por defecto).
  • "*a" lee todo el archivo.
  • "*n" lee y regresa números en lugar de strings.

Para lo que quieres (revisar una línea en específico) lo mejor es que guardes el archivo, línea por línea, en una tabla (así, la primera línea estará en la posición 1 de la tabla, la segunda línea en 2 y así sucesivamente).

Imagen de NEKERAFA

Mmm...

Te olvidad de una. También se puede incluir un número (Sin el asterisco) como máximos caracteres a leer.

Imagen de Ayrton990

Entonces según lo que entendí

Entonces según lo que entendí tengo que crear una tabla con los datos a guardar?

y entonces si l sirve para leer una linea de codigo, como le hago para que lea la linea 1 o 2


Administrador de www.SceneBeta.com y Android

Tendrías que "setear"

Tendrías que "setear" (establecer, mover) el puntero en la línea que quieres que lea y.. pues leerla xD.
Personalmente creo que es un engorro horrendo hacer eso, porque el puntero se setea en bytes (caracteres) y no por líneas.

Lo que yo te decía es algo así:

lineas = {} --Una tabla vacía, para guardar las líneas del archivo.
--Con las siguientes tres líneas, vacío el archivo en la tabla (la info es de lua-users.org)
for line in io.lines("tu archivo aquí") do
  table.insert(lineas,line)  
end
--Y eso es todo... para imprimir la primera línea del archivo usas:
screen.print(10,10,lineas[1])
--la segunda:
screen.print(10,10,lineas[2])
 
--Y así sucesivamente =)

Muy sencillo, no? Si modificaras las líneas, y quisieras actualizar el archivo es muy sencillo: lo abres en modo de escritura, y con un for escribes las líneas de la tabla en el archivo ;)

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.