加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 RaidenInfinity 于 2017-5-5 12:44 编辑
本教程献给所有想学习RMVA脚本的游戏制作者,祝你们可以靠所学到的知识成功编制梦想世界。
展开折叠
前言
RGSS3,全名Ruby Game Scripting System 3(Ruby游戏脚本系统3)。它基于Ruby 1.9.2 编程语言,是RPGMaker VX Ace所采用的游戏系统。
至于为什么叫3嘛…RGSS的第一代是XP的,第二代是VX的,那么VA的就是第三代了。(MV用的语言是JavaScript,那就是另一回事了)
既然是第三代,那么它的功能当然比前二代强得多,默认脚本的结构也成熟得多。
想当年我参加XP区R考场的时候,我的天啊写XP脚本的我好佩服你们可以忍受那么紊乱的结构和那超级多余让强迫症无所适从的写法啊!(碎碎念中)
那么说到脚本(Script)。啥?不就是一堆代码吗?为啥叫脚本呢?
百度百科中对“脚本”这个词的解释是:脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。
没错,脚本就像戏剧的剧本(小知识:剧本的英文也叫Script)那样,是给“解释器”(可以理解为演员)看的,按照里面所描述的行为来运行而达成演出效果。
这个解释器包含在RGSS300.dll里面,而它的“舞台”是Game.exe。脚本数据则存在Data文件夹里的Scripts.rvdata2,可由脚本编辑器修改。
由此可见,脚本构成了RMVA游戏的血肉,是非常重要的事物。通过深入地研究脚本,你甚至可以抛弃数据库,直接在脚本里面定义数据。(说实话,这个我干过也很推荐这么做)
就连事件指令,也是由“事件解释系统”进一步转换成脚本调用而实现的。通过事件指令第三页的脚本指令(按了会看到一个白框),很多原本做不到的事情都可以像施展魔法那样弄出来。
当然,事件脚本指令这个部分,我们在接下来有机会会说到。
脚本技术是非常重要的。本教程的目标不止是要让读者能改默认脚本,而且是要能自制系统,也能自行检查和排除插件脚本冲突的问题。
我认为,每个游戏都是一个个案,应该是独一无二的。滥用插件脚本(尤其是成配套的战斗系统)会造成玩家因为审美疲劳而产生排斥感,这是很明显的。
对脚本技术的知识缺乏甚至会扼杀很多天马行空的想法,导致制作者屈服于现有的插件脚本,与自己理想中的效果有巨大的落差。
因此,我希望可以透过这个教程,以图文并茂的方式,为读者们讲解RGSS3的基础和实践运用。
预习
在开始教学之前,我建议先阅读一些资源,预习一下。这可以垫下一下关于编程的基础,让学习变得更有效率。
当然,在阅读本教程时遇到的一些问题或不理解的深奥词汇(希望是没有啦…),可以参考这些资源,或直接去百度/谷歌搜索。
毕竟,读这个教程就是为了不求助于他人,对吧?
首先是taroxd所发布的,由6R一群大触所翻译的,本区一直以来都有置顶但大概是被无视的,F1 帮助文档汉化版 。
链接:https://rpg.blue/forum.php?mod=viewthread&tid=369922
(注:对这个资源有什么疑问请在该帖回复,毕竟解铃还须系铃人)
这么说好了。你买了个洗衣机,你总得看说明书才知道怎么组装怎么用,对吧?那么F1帮助文档,就是RMVA的说明书。
无奈的是,汉化版的RMVA并未附上汉化版的帮助文档,导致很多制作者只能自己摸索,遇到诸多不便。
因此,这个资源可说是必读的。本区的版规(A-10-b项)就有规定,帮助文档内可以查询到的提问将视为违规,这是有明显原因的。
所以不管你是新手还是老手,在继续阅读本教程之前,还请从头到尾过目这个帮助文档。可能有你所遗漏的知识也说不定。
本教程默认你已经看过这个帮助文档了,所以如果你没看过的话,也许会遇上一些问题(所以去看啊啊啊啊!)。
接下来是 @QQ蚊子湯 同学所建议的 Ruby菜鸟教程 (中文)。
链接:http://www.runoob.com/ruby/ruby-tutorial.html
既然是中文版的教程,那就没有理由不看了啊。见多识广啊,你说是吧?
这个网站里面简略地说明了Ruby的默认系统提供了什么样的功能,和基本语法。
当然在本教程也会粗略地再提及一次,所以就算没看…喂!去看啊!不会损你一管血的吧!
如果你看得懂英文,我推荐阅读Tutorials Point 的Ruby教程(英文)。
链接:https://www.tutorialspoint.com/ruby/
(注:我不知道需不需要“魔法”,需要的话就用咯)
比起中文版的,我个人是觉得英文版的比较齐全和详细,使用的例子也比较好。
看得懂英文可以阅读,就算不会…嘛也可以尝试一下啦。百度机翻不知道可不可靠呢。
最后是Ruby 1.9.2的官方帮助文档 RubyDoc (英文)。
链接:https://ruby-doc.org/core-1.9.2/
(注:我不知道需不需要“魔法”,需要的话就用咯)
RMVA有官方帮助文档,Ruby当然也有官方帮助文档。
这个网站里面列出了Ruby所提供的核心方法和它的调用参数,也有很多范例。
我个人呢,如果我忘记了一个核心方法怎么用,我常翻阅的是这个资源。
线上解释器
当今的科技非常发达,程序员们想要测试一些灵机一闪时想到的算法的时候,直接开浏览器找个线上解释器就行了。
在阅读本教程前段(关于Ruby基础)的时候,没有关系到RM本身的一些代码可以直接开个解释器测试运行。这可以省去很多功夫,也比较容易能调试。
这里会介绍几个Ruby语言的线上解释器。要注意的是,这些解释器的Ruby版本可能比较高 (有些方法RMVA自带的没有),不过应该没有太大的问题。
1. 书村网提供的Ruby在线解释器(中文)
链接:http://www.shucunwang.com/RunCode/ruby/
2. Repl.it提供的Ruby在线解释器(英文,可能需要“魔法”)
链接:https://repl.it/languages/ruby
3. Tutorials Point提供的Ruby在线解释器(英文,可能需要“魔法”)
链接:http://www.tutorialspoint.com/execute_ruby_online.php
展开折叠