幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
123
返回列表 发新帖
楼主: CountD

[NS] 【原创纯技术】恋2高手Nscripter速成讲座☆含NSCR版"LM2指令

 关闭 [复制链接]

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2005-3-10 23:47:01 | 显示全部楼层
总之,我可是申请过内测了啊^^
[em05]加油加油~~~~
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2005-3-23 10:23:40 | 显示全部楼层
顶上来...更新第五篇,在

http://blgame.net/bbs2/cgi-bin/leobbs.cgi

打个广告^^

[此贴子已经被作者于2005-3-29 18:15:14编辑过]
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

3

主题

34

帖子

1483

积分

⑥精研

积分
1483
发表于 2005-5-4 23:37:27 | 显示全部楼层
这么重要的帖子因该置顶才是嘛!让我们找了这么久,才从地底挖出来!![em26][em26][em26][em26]
[此贴子已经被作者于2005-5-4 23:38:18编辑过]
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2005-5-20 08:42:16 | 显示全部楼层
教学游戏更新在发布区...因此顶上来....

顺便把第五篇贴出去...



华丽的系统是我们的追求。^^那种什么简陋的右键菜单什么限制存档次数。一律无视!


第五篇 进阶 对话时系统按钮的制作

对LM2来说,系统按钮的功能甚至大小都受到限制.对此感到郁闷的应该不止我一个.

系统按钮的原理是在显示文章时显示按钮,在玩家做出点选,储存等操作之后再继续下一对话(命令).NScripter对应的命令是在define中定义的textgosub *事件名.即”每次显示对话就执行的公共事件”.制作系统按钮,就是制作这个公共事件,并且在return之后能继续下一句对话.
流程是
显示对话-
在适当位置显示换行图示,等待-(对话显示完毕后的等待使用textbtnwait命令)
玩家点选判断-A任意位置左键 B任意位置右键 C各个按钮
A-继续下一对话
B-消除栏框-再点一次栏框显示,并继续等待
C-进入系统事件-返回后继续等待

接下来给出的一个范例加了详细的注释.^ ^希望我拙劣的说明你能看懂

*define
mode_saya;消除栏框的时候,1-9号sp图片一起消失.使1-9号可用做系统按钮
textgosub *text_lb
game
;游戏定义结束

*start

goto *newgame
;-------------------------------------------------------------
*text_lb;对话系统按钮公共事件
erasetextwindow 0
btndef clear;清除按钮定义,并重新定义系统按钮.
spbtn 1,1
spbtn 2,2
spbtn 3,3

*textbtnloop
getcursorpos %1,%2;换行图示显示位置取得(假如图示需要紧跟在文字后面的)
amsp 0,%1,%2:vsp 0,1; 移动图示到显示位置,显示图示
print 1

textbtnwait %0 ;等待玩家点选
repaint
if %0==-1 systemcall windowerase:goto *textbtnloop ;当右键点选后消除栏框
if %0==0 goto *end_textbtn;点左键继续对话
if %0>=1 goto *systembtn ;假如点选按钮,进入系统选项
goto *textbtnloop

*end_textbtn
texec;消除文字
vsp 0,0;消除图示
print 1
saveon
erasetextwindow 1 ;假如下一命令不是显示文字,则消除文字栏框
return ;返回,继续对话

*systembtn
if %0==1 systemcall save:goto *textbtnloop ;点按钮1,叫出存储画面,返回时回到对话继续等待
if %0==2 systemcall load:goto *textbtnloop ;不用说了吧…
;这后面当然可以写一百多条,只要你不嫌烦。
;-------------------------------------------------------------
*newgame
lsph 0,\\\":l/3,300,2;pic\\cursor.bmp\\\",550,423 ;定义换行图示
lsph 1,\\\":a/2,0,3;textbtn\\lookback.jpg\\\",588,308
lsph 2,\\\":a/2,0,3;textbtn\\system.jpg\\\",565,373
lsph 3,\\\":a/2,0,3;textbtn\\skip1.jpg\\\",588,439
spbtn 1,1
spbtn 2,2
spbtn 3,3
vsp 1,1:vsp 2,1:vsp 3,1:print 1;以上,定义系统按钮并显示
setwindow 195,345,17,4,21,21,0,2,%205,1,1,\\\":a;pic\\frame1.jpg\\\",0,289;定义对话框
【欧米】
表以为正太就不会拍。\\
end


另外,按钮点选后可以跳出各种各样的界面,也可以自制存档系统,但是千万记得返回的时候要重新定义系统按钮。清晰的思路,为制作更复杂的系统做好准备哦。

补充,不想老点鼠标按空格,使用快速略过对话又嫌那种前进速度影响心情的话要如何解决呢...
是否还记得\\\"btntime 数字\\\"这条命令?假如在textbtnwait命令前加入这条命令,然后加入当%0=-2时继续对话的指令,就可以享受到坐在电脑前一动不动看着角色演舞台剧的快感了...呼哈哈...我真是懒人啊...
如果设计“自动前进为条件式,自动前进时显示按钮4,而按钮4对应的事件是停止自动前进”,那么就可以做出以下和圣书外典完全一样的效果。^^


[此贴子已经被作者于2005-5-20 8:44:46编辑过]
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-27 23:18 , Processed in 0.023047 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表