Bueno e aqui mi problema soy relativamente nuevo en lua i me gustaria que me revisarais el Código para ver si hay algun error
function cargar_escenario(k) escenario_imagen = image.load("img/escenario/"..k..".png"); escenario_actual = k ini.write("config.ini", "escenario_actual", escenario_actual); end function pintar_escenario() ini.read("config.ini", "escenario_actual", escenario_actual); if escenario_actual == 1 then suelo = Image.create(480,10) image.clear(suelo,verde) personaje1 = Image.create(32,32) image.clear(personaje1,blanco) verde=Color.new(0,255,0) personaje = {} personaje.gravedad = 230 personaje.y = 230 personaje.x = 50 personaje.velocidadSalto = 10 personaje.estadoSalto = "suelo" personaje.y = personaje.gravedad function controlar_heroe() if controls.left() then personaje.x = personaje.x - 2 end if controls.right() then personaje.x = personaje.x + 2 end if controls.cross() and personaje.estadoSalto == "suelo" then personaje.estadoSalto = "saltando" end if personaje.estadoSalto == "saltando" then personaje.velocidadSalto = personaje.velocidadSalto - 0.5 personaje.gravedad = personaje.gravedad - personaje.velocidadSalto end if personaje.velocidadSalto < 0 then personaje.estadoSalto = "cayendo" end if personaje.gravedad < 230 and personaje.estadoSalto == "cayendo" then personaje.velocidadSalto = personaje.velocidadSalto + 0.5 personaje.gravedad = personaje.gravedad + personaje.velocidadSalto end if personaje.gravedad == 230 then personaje.velocidadSalto = 10 personaje.estadoSalto = "suelo" end if personaje.gravedad > 230 then personaje.gravedad = 230 end end function bordes_1() end while true do controls.read() controlar_heroe() image.blit(escenario_imagen) image.blit(personaje.x,personaje.y,personaje1) image.blit(suelo,0,262) screen.flip() end end end function came_over() game_over = image.create(480,272) while true do image.blit(0,0,game_over) controls.read() screen.print(150,30,"GAME OVER") screen.print(90,80, "Pulsa X para reiniciar o Circulo para volver al menu") --if controls.press("circle") then --break --end if controls.press("cross") then reset = 1 ini.write("config.ini", "escenario_actual", reset); pintar_escenario() end screen.flip() end end function selecion_armas() Armas = {Katana,Pistola,Subfusil} ImgArmas = {image.load("img/armas/1.png"),image.load("img/armas/2.png"),image.load("img/armas/3.png")} var = 1; function canviar_arma() if controls.press("up") then var = var-1 elseif controls.press("down") then var = var+1 end end function limites_arma() if var>3 then var=1 elseif var<1 then var=3 end end function pintar_arma() screen.print(10,23,"<-- "..Armas[var].." -->",1,color.new(255,0,0),0x0); image.blit(ImgArmas[var],10,13) end function Todo_arma() canviar_arma() limites_arma() pintar_arma() end while true do controls.read() Todo_arma() screen.flip() end end function vida() rojo = Color.new(255,0,0) blanco = Color.new(255,255,255,155) barraSalud = {} barraSalud.y = 10 personaje = {} personaje.salud = 100 function barra.vida() screen.fillRect(60,13,personaje.salud,barraSalud.y,rojo) screen.print(60,23,personaje.salud,blanco) end if personaje.salud == 0 then came_over() end end while true do controls.read() selecion_armas() vida() pintar_escenario() screen.flip() end
El problema es que usas
El problema es que usas funciones de LuaHM en LuaDEV, acuérdate que en LuaDEV todas las funciones van en minúscula.
...
muchas gracias pero sigo teniendo el mismo error
en que linea esta
en que linea esta?
Pues no sera mejor
que lo pruebes y si da error nos digas cual?
primer error
attempt to concate field ? ( a nil value )
Sale porque estás intentando
Sale porque estás intentando imprimir valores inexistentes, en tu caso en la tabla Armas. Llénala con strings:
Armas = {"arma1", "arma2","arma3"}