SuperAPI AI 工具集

mgba

编程与开发

查看项目

更新于 10-15 20:13

技能介绍

mGBA 从 0.10 版本起内置脚本功能,目前仅支持 Lua。使用方式:在 Tools 菜单中选择 Scripting...,打开控制台后加载并运行 Lua 脚本。

主要能力:完整内存访问(ROM、RAM、MMIO)、按键输入操作、存档管理、帧与事件回调、TCP socket 网络通信、控制台输出和截图。顶层对象包括 emu(CoreAdapter)、C(常量)、callbacks、console、util、socket。

用法要点:通过 emu.loadFile 加载 ROM,getGameTitle/getGameCode/platform 等读取游戏信息;用 saveStateSlot/loadStateSlot 或 saveStateFile/loadStateFile 管理存档,flags 可组合 SCREENSHOT、SAVEDATA、CHEATS、RTC、METADATA;用 runFrame、step 控制执行;用 setKeys/addKeys/clearKeys 处理输入,键值取自 C.GBA_KEY 或 C.GB_KEY;用 read8/read16/read32/readRange 及 write8/write16/write32 访问内存,也可通过 emu.memory["cart0"] 等内存域读取。callbacks.add 可注册 frame、start、reset、shutdown 等回调。

适用场景:作弊与内存修改、TAS 工具、自动化测试、网络脚本等。

限制与注意事项:脚本仅在游戏加载后相关对象可用;socket 连接是阻塞的,需使用超时或回调;按键需在帧回调中及时清除;不同游戏的内存地址可能有差异,需借助 mGBA 的作弊搜索或内存查看器定位。更多类与寄存器、网络、示例细节见官方文档 https://mgba.io/docs/scripting.html。