Skip to content
56K

56K

La web de Fanta

Menu
  • Unix/Linux
  • Cacharreo
  • Games
  • Streaming
  • Notas
  • /dev/null
Menu

FCEUX – 0x01 – Alterando Legend of Zelda con Lua

Posted on 23/03/202116/01/2023 by fanta

Hola. En este post vamos a ver como programar scripts en Lua para alterar juegos tan míticos como el Legend of Zelda.

En el primer post (0x00) ya hablamos de como se puede montar el tinglado para poder comenzar con estos «trasteos». Concretamente aquí: 56k.es/fanta/fceux-0x00-compilar-la-ultima-version/

Vamos al turrón.

Mostrar en pantalla la posición de Link

Link es el nombre del Heroe. Zelda es la princesa.

Una forma de hacer esto es ejecutar fceux y cargar la rom (el zip). Luego cargar el script lua y mover a link por el escenario.
Tendriamos que ver en pantalla como la posición cambia cuando vamos desplazandonos.

$ wget -q "http://fanta.56k.es/00-Games/03-Nes/Legend_of_Zelda-English.nes" -O Zelda-The_legend_of_Zelda-English.zip
$ touch Zelda-The_legend_of_Zelda-English.lua
while true do
    link = {}
    link.x = memory.readbyte("0x0070"); -- Link posición x
    link.y = memory.readbyte("0x0084"); -- Link posicion y

    gui.text(10,10,"x: " .. link.x .. " y: " .. link.y);
    -- print("x: " .. link.x .. " y: " .. link.y);
    emu.frameadvance();
end

 

Esto nos permite por ejemplo poder mover a Link de forma automatizada.

 

Moviendo a Link por zonas en las que no es posible

Podemos cargar un script como este para que se mueva.

while true do
    link = {}
    link.x = memory.readbyte("0x0070"); -- Link posición x
    link.y = memory.readbyte("0x0084"); -- Link posicion y
    gui.text(10,10,"x: " .. link.x .. " y: " .. link.y);
    memory.writebyte("0x0070",(link.x - 1))
    memory.writebyte("0x0084",(link.y + 1))
    emu.frameadvance();
end

Es un ejemplo amigo de modo que relaja la paja un poco si no le ves el sentido.

Y eso es por tanto un ejemplo de cosas que podemos hacer con este «emulador».

En futuros fascículos veremos como hacer más cosas y con otros juegos.
Espero que esto le gustase.

Saludos cordiales.

2 thoughts on “FCEUX – 0x01 – Alterando Legend of Zelda con Lua”

  1. Puppet dice:
    26/03/2021 a las 13:52

    Un lujazo de artículo como siempre 🙂

  2. Rotietip dice:
    08/04/2021 a las 14:37

    Lo de moverlo por encima de cualquier cosa me recuerda a cuando en un juego descubrieron la manera de hacer que el personaje se pudiera meter dentro de las paredes en un mapa y seguir jugando como si nada (aunque como era un juego online lo arreglaron muy rápido, creo que al día siguiente).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Comentarios recientes

  • fanta en i3wm en el ordenador del trabajo con 3 pantallas
  • Punk en i3wm en el ordenador del trabajo con 3 pantallas
  • Twicsy en Eliminar kernels viejos en redhat y liberar espacio en /boot
  • fanta en Capturar el audio de Firefox en archivos ogg en GNU+Linux
  • Jorge en Capturar el audio de Firefox en archivos ogg en GNU+Linux
  • fanta en Capturar el audio de Firefox en archivos ogg en GNU+Linux
  • Camilo en Capturar el audio de Firefox en archivos ogg en GNU+Linux
  • eovoltio en Mastodon.madrid se apaga el 12 de Octubre
  • fanta en Time Machine – Las Nuevas Aventuras de la Maquina del Tiempo sobre GNU+Linux
  • Alberto Salvia Novella en Time Machine – Las Nuevas Aventuras de la Maquina del Tiempo sobre GNU+Linux
©2023 56K | Built using WordPress and Responsive Blogily theme by Superb