幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2686|回复: 9

[NS] NS相关问题?

[复制链接]

10

主题

93

帖子

1065

积分

⑥精研

积分
1065
QQ
发表于 2006-5-12 17:25:51 | 显示全部楼层 |阅读模式
为什么测试存档的时候会说return和gosub没有正确对应?朋友们帮忙看看
还有自己想做右键点击的设置。是用textbtnwait吧~但点右键还是关闭文字框?
另外全局变量非要从200开始?可以设置从多少开始是全局变量吗?


*define
deletemenu
savenumber 17
effect 2,10,2000
effect 3,10,500
globalon

game
*start

;标题
*kaishi
csp -1
if %200=1 goto *biaoti0
mp3loop "bgm\kaishi.mp3"
bg "bgd\biaoticg.bmp",3
btndef ""
lsp 10,":c/2,0,3;Icon\NEW GAME.bmp",258,282
spbtn 10,15
lsp 11,":c/2,0,3;icon\LOAD GAME.bmp",254,310
spbtn 11,16
lsp 12,":c/2,0,3;icon\APPENDIX.bmp",265,340
lsp 13,":c/2,0,3;icon\EXIT.bmp",289,367
spbtn 12,18
*biaoti1
btnwait2 %0
if%0<=0 goto*biaoti1
if%0==15 goto*newgame
if%0==16 goto*load
if%0==18 goto*jieshu

*biaoti0
mp3loop "bgm\kaishi.mp3"
bg "bgd\biaoticg.bmp",3
btndef ""
lsp 10,":c/2,0,3;icon\NEW GAME.bmp",258,282
spbtn 10,15
lsp 11,":c/2,0,3;icon\LOAD GAME.bmp",254,310
spbtn 11,16
lsp 12,":c/2,0,3;icon\APPENDIX.bmp",265,340
spbtn 12,17
lsp 13,":c/2,0,3;icon\EXIT.bmp",289,367
spbtn 13,18
*biaoti
btnwait2 %0
if%0<=0 goto*biaoti
if%0==15 goto*newgame
if%0==16 goto*load
if%0==17 goto*cg
if%0==18 goto*jieshu

*load
textoff
stop
mp3loop "bgm\save load.mp3"
gosub *load0
*load1
btnwait2 %0
if %0<0 goto*kaishi
if %0=0 goto*load1
if %0>=1 loadgame %0

*load0
csp -1
bg "bgd\load.bmp",3

btndef ""
lsp 20,":a/2,0,3;icon\loadlsp1.bmp",53,37
lsp 21,":a/2,0,3;icon\loadlsp2.bmp",53,98
lsp 22,":a/2,0,3;icon\loadlsp3.bmp",53,162
lsp 23,":a/2,0,3;icon\loadlsp4.bmp",53,223
lsp 24,":a/2,0,3;icon\loadlsp5.bmp",53,287
lsp 25,":a/2,0,3;icon\loadlsp6.bmp",53,349
lsp 26,":a/2,0,3;icon\loadlsp7.bmp",53,410
lsp 27,":a/2,0,3;icon\loadlsp8.bmp",350,37
lsp 28,":a/2,0,3;icon\loadlsp9.bmp",350,98
lsp 29,":a/2,0,3;icon\loadlsp10.bmp",350,162
lsp 30,":a/2,0,3;icon\loadlsp11.bmp",350,223
lsp 31,":a/2,0,3;icon\loadlsp12.bmp",350,287
lsp 32,":a/2,0,3;icon\loadlsp13.bmp",350,349
lsp 33,":a/2,0,3;icon\loadlsp14.bmp",350,410

savefileexist %1,1:if %1=1 spbtn 20,1
savefileexist %1,2:if %1=1 spbtn 21,2
savefileexist %1,3:if %1=1 spbtn 22,3
savefileexist %1,4:if %1=1 spbtn 23,4
savefileexist %1,5:if %1=1 spbtn 24,5
savefileexist %1,6:if %1=1 spbtn 25,6
savefileexist %1,7:if %1=1 spbtn 26,7
savefileexist %1,8:if %1=1 spbtn 27,8
savefileexist %1,9:if %1=1 spbtn 28,9
savefileexist %1,10:if %1=1 spbtn 29,10
savefileexist %1,11:if %1=1 spbtn 30,11
savefileexist %1,12:if %1=1 spbtn 31,12
savefileexist %1,13:if %1=1 spbtn 32,13
savefileexist %1,14:if %1=1 spbtn 33,14
return

*save
textoff
stop
mp3loop "bgm\save load.mp3"
gosub *save0
*save1
btnwait2 %0
if %0<0 goto*kaishi
if %0=0 goto*save1
if %0>=1 savegame %0

*save0
csp -1
bg "bgd\save.bmp",3

btndef ""
lsp 30,":a/2,0,3;icon\savelsp1.bmp",52,37
lsp 31,":a/2,0,3;icon\savelsp2.bmp",52,98
lsp 32,":a/2,0,3;icon\savelsp3.bmp",52,162
lsp 33,":a/2,0,3;icon\savelsp4.bmp",52,223
lsp 34,":a/2,0,3;icon\savelsp5.bmp",52,287
lsp 35,":a/2,0,3;icon\savelsp6.bmp",52,349
lsp 36,":a/2,0,3;icon\savelsp7.bmp",52,410
lsp 37,":a/2,0,3;icon\savelsp8.bmp",348,37
lsp 38,":a/2,0,3;icon\savelsp9.bmp",348,98
lsp 39,":a/2,0,3;icon\savelsp10.bmp",348,162
lsp 40,":a/2,0,3;icon\savelsp11.bmp",348,223
lsp 41,":a/2,0,3;icon\savelsp12.bmp",348,287
lsp 42,":a/2,0,3;icon\savelsp13.bmp",348,349
lsp 43,":a/2,0,3;icon\savelsp14.bmp",348,410

spbtn 30,1
spbtn 31,2
spbtn 32,3
spbtn 33,4
spbtn 34,5
spbtn 35,6
spbtn 36,7
spbtn 37,8
spbtn 38,9
spbtn 39,10
spbtn 40,11
spbtn 41,12
spbtn 42,13
spbtn 43,14
return

*jieshu
end

*newgame
csp -1
stop
bg #ffffff,10,1000
wait 500
erasetextwindow 0
setwindow 40,352,28,4,20,20,0,2,20,1,1,":a;frame\0001.bmp",25,340
;序章

郁闷@
goto *save

更郁闷@
textbtnwait %11
if%11=-1 goto *kaishi

mov %200,1
textoff
csp -1
goto *biaoti0
回复

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-5-12 17:52:13 | 显示全部楼层
1
有gosub就要在跳转的地方有相应的return命令。
同样的,在之前没有gosub命令的情况下,出现return命令就会出错。
简单的说,在你的save1标签执行完以后,会继续执行save0部分的指令。这时候已经不是通过gosub调用的,而是顺着程序往下执行的。
请把save0部分的代码内容放到非跳转就不会执行到的位置吧。
例如说,放到goto *biaoti0的后面来。
2
在textbtnwait后面设置当右键点下时,不做任何操作直接返回textbtnwait之前的标签就行了。
3
用value命令。
和mode系列命令一样,作为注释使用在0.txt的第一行。
像这样:
;value500
如果需要和mode系列命令同时使用
;mode800,value500
value后面的最大数值我没有详细测试过。但是2000左右还是有效的。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

10

主题

93

帖子

1065

积分

⑥精研

积分
1065
QQ
 楼主| 发表于 2006-5-12 18:14:03 | 显示全部楼层
多谢!搞定了
还想问下按键反映怎么做?
比如按F5进入SAVE一样

这个textbtnwait还没弄明白。可以举个例子说明下吗!
回复 支持 反对

使用道具 举报

10

主题

93

帖子

1065

积分

⑥精研

积分
1065
QQ
 楼主| 发表于 2006-5-12 18:15:37 | 显示全部楼层
[s:5]
标题这里居然还有错误。我刚才发现。。
lsp 12,":c/2,0,3;icon\\APPENDIX.bmp",265,340
lsp 13,":c/2,0,3;icon\\EXIT.bmp",289,367
spbtn 12,18
应该是
spbtn 13,18 [s:5]
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-5-12 22:01:01 | 显示全部楼层
按键反应参考新指令(完整包里的TXT文件)里的get系列命令,虽然是日文但是只要看得懂命令和返回值就行了……
使用于btndef 和 btnwait之间。
根据按下的键不同会有不同的返回值。

textbtnwait的使用方式也在完整包里有范例。右键的返回值是-1
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

10

主题

93

帖子

1065

积分

⑥精研

积分
1065
QQ
 楼主| 发表于 2006-5-13 18:51:30 | 显示全部楼层
[s:8] 新问题~~~
怎么存档存到是和否上去了。。。

;value1000
*define
caption "AIR"
deletemenu
savenumber 17
effect 2,10,2000
effect 3,10,500
globalon
textgosub *youjian

game
*start

;标题
*kaishi
csp -1
if %1000=1 goto *biaoti0
mp3loop "bgm\\kaishi.mp3"
bg "bgd\\biaoti.bmp",2
csp -1
btndef ""
lsp 10,":c/2,0,3;Icon\\NEW GAME.bmp",258,282
spbtn 10,15
lsp 11,":c/2,0,3;icon\\LOAD GAME.bmp",254,310
spbtn 11,16
lsp 12,":c/2,0,3;icon\\APPENDIX.bmp",265,340
lsp 13,":c/2,0,3;icon\\EXIT.bmp",289,367
spbtn 13,18
bg "bgd\\biaoticg.bmp",1
*biaoti1
btnwait2 %0
if%0<=0 goto*biaoti1
if%0==15 goto*newgame
if%0==16 goto*load
if%0==18 goto*jieshu

*biaoti0
mp3loop "bgm\\kaishi.mp3"
bg "bgd\\biaoti.bmp",2
csp -1
btndef ""
lsp 10,":c/2,0,3;icon\\NEW GAME.bmp",258,282
spbtn 10,15
lsp 11,":c/2,0,3;icon\\LOAD GAME.bmp",254,310
spbtn 11,16
lsp 12,":c/2,0,3;icon\\APPENDIX.bmp",265,340
spbtn 12,17
lsp 13,":c/2,0,3;icon\\EXIT.bmp",289,367
spbtn 13,18
bg "bgd\\biaoticg.bmp",1
*biaoti
btnwait2 %0
if%0<=0 goto*biaoti
if%0==15 goto*newgame
if%0==16 goto*load
if%0==17 goto*cg
if%0==18 goto*jieshu

*load
stop
mp3loop "bgm\\save load.mp3"
gosub *load0
*load1
btnwait2 %0
if %0<0 goto*kaishi
if %0=0 goto*load1
if %0>=1 loadgame %0

*save
stop
mp3loop "bgm\\save load.mp3"
gosub *save0
*save1
btnwait2 %0
if %0<0 goto*kaishi
if %0=0 goto*save1
if %0>=1 savegame %0

*youjian
btndef clear
*youjian0
textbtnwait %0
if %0=0 goto *jixu
if %0=-1 gosub *youbiaoti
goto *youjian0

*youload
stop
mp3loop "bgm\\save load.mp3"
gosub *load0
*load2
btnwait2 %0
if %0<0 goto*youbiaoti
if %0=0 goto*load2
if %0>=1 loadgame %0:gosub *saveyesno

*yousave
stop
mp3loop "bgm\\save load.mp3"
gosub *save0
*save2
btnwait2 %0
if %0<0 goto*youbiaoti
if %0=0 goto*save2
if %0>=1 savegame %0:gosub *saveyesno

*youfanhuei
stop
csp -1
repaint
texton
return

*jieshu
end

*newgame
csp -1
stop
bg #ffffff,10,1000
wait 5000
erasetextwindow 0
setwindow 40,352,28,4,20,20,0,2,20,1,1,":a;frame\\0001.bmp",25,340
;序章
bg "bgd\\00002.bmp",3
郁闷@

还是郁闷@
mov %1000,1
textoff
csp -1
goto *biaoti0

*load0
csp -1
lsp 82,":c/1,0,3;bgd\\load.bmp",0,0

btndef ""
lsp 20,":a/2,0,3;icon\\loadlsp1.bmp",53,37
lsp 21,":a/2,0,3;icon\\loadlsp2.bmp",53,98
lsp 22,":a/2,0,3;icon\\loadlsp3.bmp",53,162
lsp 23,":a/2,0,3;icon\\loadlsp4.bmp",53,223
lsp 24,":a/2,0,3;icon\\loadlsp5.bmp",53,287
lsp 25,":a/2,0,3;icon\\loadlsp6.bmp",53,349
lsp 26,":a/2,0,3;icon\\loadlsp7.bmp",53,410
lsp 27,":a/2,0,3;icon\\loadlsp8.bmp",350,37
lsp 28,":a/2,0,3;icon\\loadlsp9.bmp",350,98
lsp 29,":a/2,0,3;icon\\loadlsp10.bmp",350,162
lsp 30,":a/2,0,3;icon\\loadlsp11.bmp",350,223
lsp 31,":a/2,0,3;icon\\loadlsp12.bmp",350,287
lsp 32,":a/2,0,3;icon\\loadlsp13.bmp",350,349
lsp 33,":a/2,0,3;icon\\loadlsp14.bmp",350,410

savefileexist %1,1:if %1=1 spbtn 20,1
savefileexist %1,2:if %1=1 spbtn 21,2
savefileexist %1,3:if %1=1 spbtn 22,3
savefileexist %1,4:if %1=1 spbtn 23,4
savefileexist %1,5:if %1=1 spbtn 24,5
savefileexist %1,6:if %1=1 spbtn 25,6
savefileexist %1,7:if %1=1 spbtn 26,7
savefileexist %1,8:if %1=1 spbtn 27,8
savefileexist %1,9:if %1=1 spbtn 28,9
savefileexist %1,10:if %1=1 spbtn 29,10
savefileexist %1,11:if %1=1 spbtn 30,11
savefileexist %1,12:if %1=1 spbtn 31,12
savefileexist %1,13:if %1=1 spbtn 32,13
savefileexist %1,14:if %1=1 spbtn 33,14
return

*save0
csp -1
lsp 83,":c/1,0,3;bgd\\save.bmp",0,0

btndef ""
lsp 30,":a/2,0,3;icon\\savelsp1.bmp",52,37
lsp 31,":a/2,0,3;icon\\savelsp2.bmp",52,98
lsp 32,":a/2,0,3;icon\\savelsp3.bmp",52,162
lsp 33,":a/2,0,3;icon\\savelsp4.bmp",52,223
lsp 34,":a/2,0,3;icon\\savelsp5.bmp",52,287
lsp 35,":a/2,0,3;icon\\savelsp6.bmp",52,349
lsp 36,":a/2,0,3;icon\\savelsp7.bmp",52,410
lsp 37,":a/2,0,3;icon\\savelsp8.bmp",348,37
lsp 38,":a/2,0,3;icon\\savelsp9.bmp",348,98
lsp 39,":a/2,0,3;icon\\savelsp10.bmp",348,162
lsp 40,":a/2,0,3;icon\\savelsp11.bmp",348,223
lsp 41,":a/2,0,3;icon\\savelsp12.bmp",348,287
lsp 42,":a/2,0,3;icon\\savelsp13.bmp",348,349
lsp 43,":a/2,0,3;icon\\savelsp14.bmp",348,410

spbtn 30,1
spbtn 31,2
spbtn 32,3
spbtn 33,4
spbtn 34,5
spbtn 35,6
spbtn 36,7
spbtn 37,8
spbtn 38,9
spbtn 39,10
spbtn 40,11
spbtn 41,12
spbtn 42,13
spbtn 43,14
return

*jixu
texec
return

*youbiaoti
textoff
stop
csp -1
mp3loop "bgm\\youbiaoti.mp3"
print 3
lsp 59,":c/1,0,3;bgd\\youbiaoti.bmp",0,0
btndef ""
lsp 50,":c/2,0,3;icon\\youlsp1.bmp",31,22
lsp 51,":c/2,0,3;icon\\youlsp2.bmp",31,50
lsp 52,":c/2,0,3;icon\\youlsp3.bmp",31,78
lsp 53,":c/2,0,3;icon\\youlsp4.bmp",31,106
spbtn 50,55
spbtn 51,56
spbtn 52,57
spbtn 53,58
*youbiaoti0
btnwait2 %0
if %0==-1 goto *youfanhuei
if %0==0  goto *youbiaoti0
if %0==55 goto *kaishi
if %0==56 goto *yousave
if %0==57 goto *youload
if %0==58 goto *jieshu
return

*saveyesno

lsp 70,":c;icon\\saveyesno.bmp",241,203,100
lsp 71,":s/16,16,1;#FFFFFF#FF0000确定存档?",270,215
lsp 72,":s/16,16,1;#FFFFFF#FF0000是",290,245
lsp 73,":s/16,16,1;#FFFFFF#FF0000否",320,245
spbtn 72,74
spbtn 73,75
goto *save2
return

*loadyesno
lsp 76,":c;icon\\saveyesno.bmp",241,203,100
lsp 77,":s/16,16,1;#FFFFFF#FF0000确定读档?",270,215
lsp 78,":s/16,16,1;#FFFFFF#FF0000是",290,245
lsp 79,":s/16,16,1;#FFFFFF#FF0000否",320,245
spbtn 78,80
spbtn 79,81
goto *load2
return
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-5-13 19:42:09 | 显示全部楼层
[s:5] 除了通过textgosub和textbtnwait指令,及系统默认时的存储会读取到进入选单前的对话,一般的自制存档,在读取的时候,会连整个存档画面一起读取啊(因为存档画面就是普通的图片和按钮而已)...这点和RMXP的自制菜单是完全一样的...
解决办法:在存档指令前先将存档画面消除就可以.
缺点就是存储后就只能返回普通界面而不是返回存档画面了.这个问题目前尚没有办法解决...至少我是还没找到.
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

10

主题

93

帖子

1065

积分

⑥精研

积分
1065
QQ
 楼主| 发表于 2006-5-14 01:58:10 | 显示全部楼层
汗~问题更严重了~~~ [s:8]
还是上面的代码
对话时按右键后在按右键返回。原来对话的背景音乐没了。。。。。
另外是存档。怎么我在“更郁闷”那里存档,
取挡的时候怎么是从“郁闷”那里开始??? [s:8]
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-5-14 12:41:34 | 显示全部楼层
对话时按右键后是做了什么?……
最好不要用mp3loop,用bgm命令。
我可能没时间去测试那些没注释的代码,所以请尽量自己解决DEBUG问题。
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

10

主题

93

帖子

1065

积分

⑥精研

积分
1065
QQ
 楼主| 发表于 2006-5-14 18:29:21 | 显示全部楼层
[s:6]
如果我知道错那的话~~~~ [s:8]
我去研究下其他游戏的存档好了。看看自己到底错在那~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-25 15:53 , Processed in 0.025782 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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