Skip to content
56K

56K

Slow IT just 4 fun

Menu
Menu

FCEUX – 0x01 – Alterando Legend of Zelda con Lua

Posted on 23/03/202106/02/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).

Comments are closed.

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
🍅 STREAMING
🍊 LINUX
🥝 GAMES
🥥 THREADS
🧅 SECURITY
🥑 RETRO
🍆 HARDWARE
🍇 MISC
©2023 56K | Built using WordPress and Responsive Blogily theme by Superb