子小说,恋爱冒险游戏,到养成游戏及卡片战斗系统,都可以完成。所以各位大可不必一直忧心忡忡的询问,nscripter能否完成这样那样的功能。答案几乎永远是yes,其关键只在于制作者本身的水平。
但是,ns主要应用范围,是集中在恋爱冒险游戏这一类型的。
从程序方面看,恋爱冒险类型的游戏不要求大量的循环(比如一张地图上七八个乱晃的npc)或数据库处理(比如拥有300件武器的装备系统),结构比较清晰,制作难度比较低。
所以假如要做rpg游戏,还是推荐使用rpgmaker系列来制作比较合适。因为即使能如toz君一样,利用接近bt顶级的思路及耐心完成大部分的功能,也会导致在速度方面非常受限制,制作效率则几乎为零。
—————————————————————————————————-
问题二:
nscripter制作出来的游戏,在发布及出售方面有限制吗?
nscripter为免费软件,因此使用ns制作的游戏,完全不用担心被指责为使用盗版。
打算贩卖的同人游戏也不需要征求作者的同意或者进贡什么的。
如果是商业游戏,才需要与作者联系并取得使用权。
并且如果商业游戏的定价低于一定程度可以获得优惠甚至免费。
实际上中国的一般软件价格是远低于日本的,
因此就算你真打算卖几百rmb,估计玩家会比高桥氏先跳起来。
(回报是,作者可能会根据你的要求为ns增加新的功能,假如,他看得懂你在说什么的话……==)
使用规约原文:
[nscripterで作ったゲームを無料で配布する、あるいは値段をつけて売るとしても同人などの場合では、nscripterの使用料を高橋直樹氏に払う必要は無いということです。]
———————————————————————————————————
问题三:
要使用ns,到底需要什么?
以下是某d被问过的最哭笑不得的问题:
q:我要的是nscripter完整版,为什么只看到汉化补丁?
a:nscripter的主程式仅仅是一个不到400k的exe文件。
因此,你看到的就是完整版,不是什么汉化补丁。
q:我下载了ns,为什么一执行就会出错?我什么都没看到啊?
a:nscripter并不像rm或者lm系列那样拥有图形界面(gui)。
它的执行方法是读取与exe文件同一文件夹内的txt文件(一共可以创建0.txt~99.txt)或者代码压缩包内容,执行里面的命令。
简单的说,在你不写下任何命令之前,它什么也不会做,连脸都不会给你看一下。
实际上,要让nscripter跑起来,只需要两个东西。
1主程式(nscr.exe,名称可以修改/图标可以修改)
2按照规则命名,并且写入正确内容的txt文件。(0.txt~99.txt均可)
把这两样东西塞到同一个文件夹里,这样就准备完毕,可以开始制作了。
而压缩包里的其他内容,就留待之后再说明吧。
好,现在课间休息,大家可以去吃饭了。[某d被听众暴打中……]
本日小贴士:
nscripter使用环境:
win95~xp,推荐directx_8.0以上。
功能扩展性:
支持dll插件。压缩包内附带有使用范例。
(由于这不是ns本身的功能,因此不多加说明。)
画面分辨率:
320x240~800x600
支持鼠标及键盘操作
素材格式一览
图片:bmp、jpg
音乐音效:midi、wav、mp3、ogg(ogg需要dll插件支持,官方提供)
影片:avi、mpeg
其他:光标及动画光标:cur、ani
点击察看图片链接:nscripter运行需要基本文件。
nscripter全攻略:level 1
d的游戏制作教材区 nscripter全攻略:level 1 前:
因为起点系统歧视英文,会自动把英文改变大小写和全角半角,所以在这里特别提醒:
在教程正文(除作业)出现的英文字母,全部为“半角、小写”格式。
============正文分割线=============
邪恶之诅咒:
盗帖者全家死光光
无端转载者出门被狗咬
假如获得转载授权,转载同时请贴出本人签字画押授权五。
本教程已在国家r界专利局申请专利,禁止任何形式的侵犯版权行为。
作者联系方式:
level_1_hello_world!
友情提示:在观看level1教程之前,请先详细读完level0~谢谢合作~
相关指令:
*define
game
*start
end
reset
\
@
br
clickstr
_
;
helloworld。也就是所谓的“自己动手制作的第一个程序”。
似乎,在看过的基本所有程序类“入门到精通”的五里,都有这东西的存在。虽然这个程序既没有乐趣也没多少成就感,而且还没创意,但是,……
首先,打开我们已经建好的0.txt(其实叫2.txt或者99.txt或者别的什么也无所谓),在里面输入以下内容,然后保存。
**********这里是需要复制的内容***********
;—————————-我是分隔线—————————-
*define
game
*start
你好,世界。@
这是我的第一个程序。\
end
;—————————-我是分隔线—————————-
**********需要复制内容结束***********
(效果见附图)
再补充说明一下:
一般来说,nscripter读取指令的时候,是依靠“分行”来辨认的,将每一行视为一条指令。如果有空行,就会被忽略。
还要注意的是“文章(无论中文e文数字都一样)”及“标点符号”必须使用全角,而作为“显示文章”标志的@和\,以及其他的英文部分的指令则是使用半角的。
接下来,是每条指令详细的说明……
*define“define”是e文“定义”的意思。
从*define到game之间的部分,被称为ns的定义区块。这部分的主要功能是对ns的内部设置做一些修改。假如里面什么都不写的话也没关系,ns会全部采用默认设置。(包括我们现在看到的那排写着“画面设定”“字体设定”的菜单栏,内建存档的个数等等,都是可以修改的。)而ns开始执行游戏,也就是从寻找txt文件里的*define标志开始的。(现在知道一开始只有一个exe文件的ns为什么会显示“标签*define不存在”这样的错误信息了吧?)
game表示定义部分已经完成,可以开始正式的游戏了。
*start——当然就是开始游戏的意思。这部分以后,就是“游戏执行区块”了。
因为有定义部分和游戏部分的区别,ns本身的指令也分为三种:只能用在定义区块里的(f类指令),只能用在游戏执行区块里的(e类指令),和在两部分都可以通用的(fe类指令)。
最后,当ns执行到end指令的时候,就会退出。
中间的两行,刚刚已经看到了,就是显示出来的文章。
你好,世界。@
这是我的第一个程序。\
@和\这两个标志的意思都是“显示一段文字,并且等待玩家点鼠标(或者按下enter键)之后,才继续执行下一条指令”。如果不使用这两个标志来表示“等待”的话,这两句话会在屏幕上一闪而过,之后就退出了。
这两个标志的特殊还在于可以在同一行里多次出现。
类似这样的写法“你好,@世界。@这是我的第一个程序。\”也是可以的。
————————————————————————-
问题一:既然同样都是作为“显示文章”的标志,@标志和\标志有什么区别吗?
那么,试看看把程序写成这样……
**********这里是需复制内容**********
;—————————-我是分隔线—————————-
*define
game
*start
你好,世界。\
这是我的第一个程序。\
end
;—————————-我是分隔线—————————-
**********需复制内容结束**********
这一次,在显示“这是我的第一个程序。”的同时,“你好,世界。”消失了。
\标志比@标志多了一条功能,就是在显示它所在的这一行文章的同时,将之前显示的文章消除。在电子小说里,@是接着看下一行,而\就是翻过一页,把之前的一页清掉了。
因为屏幕或者对话框的大小是有限的,如果已经显示的文章字数超过了屏幕可以容纳的范围,ns就会报错,因此在制作电子小说的时候,合理的使用这两个标志是很重要的基础哟。
————————————————————————-
问题二:我想在两行文字间空上一行,但是ns把所有空行都ws了?
因为这样,ns也提供了另外一条指令。“br”其实是html语言里表示空行的命令,在ns里,也是同样的意思。
**********这里是需要复制内容**********
;—————————-我是分隔线—————————-
*define
game
*start
你好,世界。@
br
这是我的第一个程序。\
end
;—————————-我是分隔线—————————-
**********需复制内容结束**********
不用说,自己看看效果吧。
————————————————————————-
问题三:每显示一段文章都一定要用@和\吗?麻烦不说,要是忘了加还容易出错,没有其他办法?
既然每句话结尾多少都有个感叹号句号问号之类的,在制作比较大型的游戏时,还要再为每行文字加一个标志确实很烦。因此,ns也提供了比较简单的方法:clickstr命令。
clickstr就是一个f类指令,也就是说,是只能用在ns的定义区块里的。
**********这里是需复制内容**********
;—————————-我是分隔线—————————-
*define
clickstr‘。‘,1
game
*start
你好,世界。
这是我的第一个程序。
end
;—————————-我是分隔线—————————-
**********需复制内容结束**********
没有使用@和\的情况下,效果和之前的完全一样。
并且,使用clickstr命令之后,ns会根据参数,在文字显示超过屏幕可容纳字数后自动翻页。
clickstr的格式为:
clickstr‘。!?(可以写一个,也可以写n个,必须要是全角)‘,2
clickstr‘等待标志‘,翻页参数
翻页参数为0时候,不会自动翻页,超过字数会出错。
为1时,显示到屏幕(或对话框)满为止,自动翻页。
为2时,到离可容纳字数还有1行时翻页。
为3时,到离可容纳字数还有2行时翻页。
以下类推。
而假如某一行里有句号或其他已经定义的等待符号,比如说问号,但是不想让这部分等待的时候,还有一个“等待失效”的标志“_”。
把“_”标志放在等待符号的前面,执行到这里的时候就不会等待,而会直接继续显示下一句了。
例如:
国家政策,小白要持证上岗_。
补充,假如真的对以上都懒得使用,请在define区内加入linepage命令。
这条命令会把每一行视做一段对话。
缺点是,在使用这个命令之后/命令(换行失效命令)无法使用。
——————————————————————————-
问题四:执行完窗口关掉以后,怎么文件夹里多了一个叫“envdata”的文件?
envdata文件是设置文件,类似一般游戏里的ini文件。作用是记录一些玩家的操作和设定,比如上一次进行游戏时是全屏还是窗口模式,使用的是什么字体之类的信息,都会被记录下来。这当然是很贴心的功能了,对游戏制作者来说却有点头大,修改了一些设定之后再执行游戏,却无论如何都没效果,究其原因,都是这个envdata文件在作怪。因此,保险起见,修改一些设定之后,请记得删除envdata文件再做测试。
———————————————————————————
本日小贴士:
注释符号“;(半角分号)”的使用。
nscripter里,某一行里的“;”符号后面的部