FCEUX金手指加强版 - 使用Lua脚本语言编写FC/NES金手指脚本
一直觉得大部分的FC/NES模拟器的作弊码金手指不是那么方便使用, 比如魂斗罗1代, 玩家的武器可以通过修改0xAA的值来改变:
0x11为M弹(重机枪),0x12为F弹(圈圈),0x13为S弹(散弹),0x14为L弹(激光束), 于是金手指就像下面这样:
00AA-01-11 M弹
00AA-01-12 F弹
.......
这种修改的方式显得比较死板, 而且大部分的模拟器金手指没有分类, 全部写在一起, 没有分类, 不友好.
下面看看我增加的脚本功能吧(双击就可以执行指定的脚本):


首先可以看到, 有几点被增强了:
1.呈现在玩家面前的不再是00AA-01-12这样的一串代码了, 有详细的描述
2.同一个金手指下面可以有多个不同的选项, 便于查看与管理
3.金手指与金手还可以用目录分类, 便于集中类似的金手指
总之, 我觉得是要比以前的金手指功能方便友好多了..............
简单说一下软件形成吧:
软件基于FCEUX源代码修改而成, 金手指通过lua脚本语言来书写, 就像下面这样:

就算你不会lua语言, 也没有关系, 其实上面的两行代码看起来其实也不那么难以理解, 不是吗?
软件保存每个游戏的金手指为xml数据库文件并储存到Sqlite3数据库中, 所有我发布的版本中会多带一个sqlite3.dll.
利益于xml的强大的自我描述性, 金手指文件的金手指以及各目录均采用xml描述(玩家不用过多地了解内部实现).
一个金手指可以通过导出为XML数据库文件:

一个导出的XML的文件就像下面这样的格式:

更多的代码书写相关的细节, 可以参看软件目录下面的cheats_new.txt, 也可以随时联系我.
测试下载:http://share.weiyun.com/ee25ab5b57d84cb39252b10eaae7ecf1
BTW:这是我这个寒假写的, 大三了, 时间真心少, 近期不会再弄FC相关的东西了.
不过对于这个软件, 任何问题, 请联系我 (Email:anhbk#qq.com)
女孩不哭 @ cnblogs.com/memset @ 2014-03-04
FCEUX金手指加强版 - 使用Lua脚本语言编写FC/NES金手指脚本的更多相关文章
- [改善Java代码]易变业务使用脚本语言编写
建议16: 易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP.Ruby.Groovy.JavaScript等,这些“入侵者”都有一个共同特征:全是同一类语言—脚本语言,它们 ...
- 提高java编程质量 - (一)易变业务使用脚本语言编写
脚本语言的3大特征: 1.灵活:脚本语言一般是动态类型,可以不声明变量类型直接使用,也可以在运行期改变类型:2.便捷:脚本语言是解释性语言,在运行期变更非常方便,而不用重启服务3.简单:脚本语言语法比 ...
- Java之戳中痛点 - (1)易变业务使用脚本语言编写
脚本语言的3大特征: 1.灵活:脚本语言一般是动态类型,可以不声明变量类型直接使用,也可以在运行期改变类型:2.便捷:脚本语言是解释性语言,在运行期变更非常方便,而不用重启服务3.简单:脚本语言语法比 ...
- 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本
一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...
- L#脚本语言,直接把DLL当脚本执行(图解说明)
L#是什么:Run DLL as a Script. A Pure C# IL Runner,直接解析执行IL的脚本引擎. 从原理上讲是模拟执行了CLR的工作,从表现上讲就是把DLL作为资源直接加载执 ...
- C#最良心脚本语言C#Light/Evil,Xamarin\WP8\Unity热更新最良心方案,再次进化.
C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 ...
- Java SE 6 新特性: 对脚本语言的支持
2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...
- Java学习笔记--脚本语言支持API
Java语言的动态性之脚本语言支持API 随着Java平台的流行,很多的脚本语言(scripting language)都可以运行在Java虚拟机啊上,其中比较流行的有JavaScript.JRuby ...
- FPGA开发中的脚本语言
多数FPGA开发者都习惯图形化界面(GUI).GUI方式简单易学,为小项目提供了一键式流程.然而,随着FPGA项目越来越复杂,在很多情况下GUI工具就阻碍了工作效率.因为GUI工具不能对整个开发过程提 ...
随机推荐
- [Canvas]计时表/秒表
欲观看效果请点击下载,然后用浏览器打开index.html查看. 本作 Github地址:https://github.com/horn19782016/StopWatch 图例: 代码: <! ...
- Xcode missing file or .png is missing from working copy
当不小心在工程文件中删掉文件时.有可能会提示 .xxx is missing from working copy 有可能是SVN引起的.删掉这个文件就好了 如果是单个文件.进入Terminal 相 ...
- dynamic(2) – ExpandoObject的使用
一,ExpandoObject使用场合 在传递对象,但是又不想创建一个class或者struct的时候,ExpandoObject就是一个非常好的选择. 假如我们有一个SendMail的函数,功能是发 ...
- struts.xml文件中package元素的各大属性讲解
Struts2中的包: Struts2使用包来组织Action,将Action放在包下来定义,通过package元素配置一个包,通过package的子元素action来定义一个Action: Stru ...
- 解决Maven报Plugin execution not covered by lifecycle configuration
来自:http://blog.csdn.net/xxd851116/article/details/25197373 环境 eclipse 4.3.0 maven 3.0.4 ...
- Javascript中怎样获取统一管理的Java提示语
项目开发中,各个页面.各个业务操作都会使用提示语.面对这么多message,更好的方式是统一管理这些消息. 这样在做国际化的时候进行统一处理也变的方便. 推荐方案使用数据库来管理全部提示语,在项目启动 ...
- AndroidAnnotations库的使用
AndroidAnnotations(Code Diet) android高速开发框架简单介绍: 项目地址:https://github.com/excilys/androidannotations ...
- cgroup 分析之CPU和内存部分
https://ggaaooppeenngg.github.io/zh-CN/2017/05/07/cgroups-%E5%88%86%E6%9E%90%E4%B9%8B%E5%86%85%E5%AD ...
- Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理 2017年01月04日 08:52:12 阅读数:18366 基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB ...
- 【Linux】将一个命令的输出发送给另外一个命令
一个命令的输出可以作为下一个命令的输入,下一个命令的输出又会传递给下一个命令 我们通常使用管道和子shell的方法来组合多个命令的输出 格式 $ cmd1 |cmd2 | cmd3 这里的3个组合命令 ...