Ayuda error en LUA

Estoy programando un guitar pro para el psp pero al iniciar me sale el Error: functions/misc.lua:61 attempt to call a table value.
Alguien me podria ayudar no se cual es el error, aqui esta el codigo.

function filesort(a, b)
if case_sorting == 0 then
a_name = string.lower(a.name)
b_name = string.lower(b.name)
else
a_name = a.name
b_name = b.name
end
if a.directory == b.directory then
return a_name < b_name
else
return a.directory
end
end

function mp_nextfile()
if menu_pointer + 1 <= num_files then
menu_pointer = menu_pointer + 1
else
menu_pointer = 3
start_pointer = 1
end
if (num_files > num_listings) and (menu_pointer == (start_pointer + num_listings)) then
start_pointer = start_pointer + 1
end
end

function mp_prevfile()
if (num_files > num_listings) and (menu_pointer == start_pointer) then
start_pointer = start_pointer - 1
end
if menu_pointer - 3 >= 1 then
menu_pointer = menu_pointer - 1
else
menu_pointer = num_files
if (num_files > num_listings) then
start_pointer = ((num_files - num_listings) + 1)
else
start_pointer = 1
end
end
end

function test_filetype(filename, extension)
-- if string.lower(string.sub(filename, -3)) == extension then return true end
local s,v,r = string.find(filename, "\.(%w*)$")
if string.lower(r) == extension then return true end
end

function update_files()

-- get current working directory
currentdir = System.currentDirectory("ms0:/GP4part")

-- get directory listing
files = System.listDirectory()
table.sort(files, filesort)
num_files = table.getn(files)

-- add actions
if file.directory then
directory = 1
else
directory = 0
end
file.action_cross = "file_action(\"" .. file.name .. "\", " .. directory .. ", \"execute\")"
file.action_square = "file_action(\"" .. file.name .. "\", " .. directory .. ", \"operation\")"
file.action_triangle = "file_select(\"" .. currentdir .. "\", \"" .. file.name .. "\", \"toggle\")"
end

-- update menu pointer
if menu_pointer >= (num_files + 1) then
menu_pointer = 3
end

-- reset start pointer
start_pointer = 1
menu_pointer = 3
-- reset selected files array
selected_files = {}

end

function is_dir(path, name)
local tmpfiles = System.listDirectory(path)
local found_needle = false
for k,v in pairs(tmpfiles) do
if v.name == name and v.directory then found_needle = true end
end
return found_needle
end

function get_filename(path_name)
return string.gsub(path_name, ".*/(.*[^\/])", "%1")
end

function get_filepath(path_name)
return string.gsub(path_name, "^(.+)/.*$", "%1")
end

function scan_dir(path, name)

-- set path
local path_name = remove_trailing_slash(path) .. "/" .. name

-- add dir to scan array
table.insert(scan_dirs, path_name)

-- get listing
tmplist = System.listDirectory(path_name)
table.sort(tmplist, filesort)
scan_tmp[path_name] = tmplist

-- loop listing
for k,v in pairs(scan_tmp[path_name]) do

-- skip ./..
if v.name ~= "." and v.name ~= ".." then

-- is dir
if is_dir(path_name, v.name) then

-- scan dir
scan_dir(path_name, v.name)

-- is file
else

-- add file to scan array
table.insert(scan_files, path_name .. "/" .. v.name)

end

end

end

end

no copien, si se preguntan porque estan en ingles los comentarios esque me gusta mas esa lengua.
Gracias




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 PhAnThOm

creo que en la linea 61 esta

creo que en la linea 61 esta asi:

if file.directory then               y creo que deveria ser asi:

if file.directory() then

 

ai me avisas para ver si es eso...

Saludoss... (Por cierto buen proyecto... tambien tenia pensado hacer uno ya que soi  guitarrista, pero creo que lo hare luego)



PhAnThom...

COBHC...


Imagen de Dante&#039;z

Gracias si me

Gracias si me sirvio. Cuando tenga otro problema les cuento XD, a y gracias por responder a todos

Imagen de moikop

en caso de que esa sea la linea

no es como tu dices. el error es que 'file' no es un array...

Imagen de PhAnThOm

porque dices que estaba

porque dices que estaba mal???...

Imagen de moikop

Menudo FAIL XD

Mal día mio XD

Imagen de Tsukiumi

Para

Para poder entender el código mas fácilmente y poderte ayudar mejor, puedes postear tu código AQUI.

Cuando lo postees, deja el link aquí.

P.D: Cuando pegues tu codigo, en la parte de abajo en Syntax highlighting, dale en Lua.


Imagen de dayron_1379

o en estos cuadros tambien se

o en estos cuadros tambien se puede 

--Aqui puedes poner tu codigo para failitar el entendimiento
 
while true do
 
end

Imagen de moikop

debes decirnos cual es la

debes decirnos cual es la linea 61.
de todos modos, si sabes ingles, deberias poder interpretar el error. lo mas probable es que estes pasando una variable en vez de un array.


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

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.