Ver.2.48【定义部分・执行部分两用】
-
NUM'-'NUM
数值要计算的数
数值要计算的数
从前一个数字中减去一个后一个数值。
计算结果一般用作命令的参数。
sub /
page top /
list /
mainVer.2.48 [特殊文字]
!d
!dNUM
数值等待的时间(毫秒)
等待数字X1ms的时间。鼠标点击则会跳过。
数字必须是普通数字。若想使用变量,
请使用delay命令。
/
page top /
list /
mainVer.2.48 [特殊文字]
!s
!sNUM
数值每个文字的显示速度(毫秒)
以毫秒为单位指定每个文字的显示速度。
数字必须是普通数字。若想使用变量,
请使用textspeed命令。
/
page top /
list /
mainVer.2.48 [特殊文字]
!sd
!sd
上方的文字速度菜单中有“低速”、“普通”、“高速”三个对应的文字速度。对应的文字速度可以用defaultspeed命令来设定。
/
page top /
list /
mainVer.2.48 [特殊文字]
!w
!wNUM
数值等待的时间(毫秒)
等待数字x1毫秒的时间。鼠标点击无法跳过。
数字必须是普通数字。若想使用变量,
请使用wait命令。
/
page top /
list /
mainVer.2.48 [特殊文字]
#
#rrggbb
更改字符的颜色。和HTML的颜色形式相同。
(即每两个十六进制数字表示一种颜色值构成的六个十六进制数
#000000为黑色,#ffffff为白色,#ffffaa为浅黄色。)
注意改变颜色之后会保持改变后的状态。
/
page top /
list /
mainVer.2.48 [特别定义语]
$
'$'NUM
数字变量编号(0~4095)
文字变量为$0~$999一共1000个。
从0到199是普通变量,200到999是全局变量。
当你结束游戏或者用reset命令重置游戏的时候普通变量会回复初值,而全局变量则不会。
普通变量的值会在保存时写入存档文件中,载入时从存档文件中恢复其值,而全局变量则不会这样。
具体来说,比如用普通变量储存好感度,用全局变量储存清除标志。这样不失一个好方法。
但是,要使用全局变量的话,必须在定义部分执行globalon命令。
文字变量的初值为""。(空字符串)
例)mov $0,"字符串"
例)lsp 0,":s;#ffffff" + $0,0,0
% /
value /
page top /
list /
mainVer.2.48 [特殊文字]
$
$NUM
数值变量编号
通常情况下是一个文字变量,但是在显示文字中会显示文字变量的内容。
/
page top /
list /
mainVer.2.48 [特别定义语]
%
'%'NUM
数字变量编号(0~4095)
数字变量为%0~%999一共1000个。
从0到199是普通变量,200到999是全局变量。
当你结束游戏或者用reset命令重置游戏的时候普通变量会回复初值,而全局变量则不会。
普通变量的值会在保存时写入存档文件中,载入时从存档文件中恢复其值,而全局变量则不会这样。
具体来说,比如用普通变量储存好感度,用全局变量储存清除标志。这样不失一个好方法。
但是,要使用全局变量的话,必须在定义部分执行globalon命令。
数字变量的初值为0。
例)mov %0,1
例)lsp %0,":s;#ffffff文字列",0,0
$ /
value /
page top /
list /
mainVer.2.48 [特殊文字]
%
%NUM
数值变量编号
通常情况下是一个数字变量,但是在显示文字中会显示数字变量的内容。
/
page top /
list /
mainVer.2.48 [特殊文字]
()
'('STR'/'STR')'
字符串要注音的文字
字符串注音
表示有注音文字
例)*define
rubyon
game
*start
setwindow 10,10,20,20,24,24,0,12,0,1,1,#ffffff,0,0,639,479
ルビ機能の(暫定仕様/ざんていしよう)です。@
rubyon時、(文字/もじ)は(下詰/したづめ)で表示されます。@
(縦/たて)の(字間/じかん)を、ルビが入る分とって下さい。@
「(承/うけたまわ)」る、とか、「(論理的/ロジカル)」みたいに、文字幅をあわせようとする機能がついてます。
注意(注音/中二)功能不会自动换行。\
end
rubyoff /
rubyon /
page top /
list /
mainVer.2.48 [特别定义语]
*
'*'NAME
名称标签名
以*开始的文字是标签名。是goto等命令的跳转目的地。
标签名的一个字符必须是半角字母或者"_"(下划线),之后的字符可以为字母、"_"(下划线)、数字的组合。
正确例子) *HAJIMARI
*Mike_Tom
*day01
错误例子) *开始 (使用了全角文字)
*Mike&Tom (使用了除了下划线以外的符号)
*01day (首字符是数字)
※
连字符"-"也不能使用。"_"称为下划线或者下横线。
此外,大小写并没有区别即*HAJIMARI和*hajimari被认为是相同的。(by senzogawa)
gosub /
goto /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
*
NUM'*'NUM
数值要计算的数
数值要计算的数
前面的数乘以后面的数。
计算结果一般用作命令的参数。
mul /
page top /
list /
mainVer.2.48 [特别定义语]
*customsel
*customsel
执行csel命令之后,自动跳转到这个标签。这个标签之后是实现处理选择支的部分。
例)*customsel
skipoff
*csel_st
btndef clear
getcselnum %0
getcursorpos %1,%2
cselbtn 0,500,%1,%2
add %2,21
cselbtn 1,501,%1,%2
if %0>2 add %2,21:cselbtn 2,502,%1,%2
if %0>3 add %2,21:cselbtn 3,503,%1,%2
if %0>4 add %2,21:cselbtn 4,504,%1,%2
*csel_loop
selectbtnwait %0
if %0=-2 systemcall lookback:goto *csel_loop
if %0=-1 gosub *rclk:goto *csel_st
if %0>=500 & %0<=504 saveon:sub %0,500:cselgoto %0
goto *csel_loop
csel /
cselbtn /
cselgoto /
getcselnum /
getcselstr /
selectbtnwait /
page top /
list /
mainVer.2.48 [特别定义语]
*define
*define
Ver.2.48 [特别定义语]
*start
*start
表示执行部分开始的特殊标签。
game /
page top /
list /
mainVer.2.48 [特殊文字]
/
/
如果在此符号后紧跟一个换行,这个换行会被忽略。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
/
NUM'/'NUM
数值要计算的数
数值要计算的数
前一个数除以后一个数。
计算结果一般用作命令的参数。
div /
page top /
list /
mainVer.2.48 [特别定义语]
:
通过:(冒号)连接语句,能够在一行中同时书写多个命令。在if语句中使用有很好的效果。
例)btnwait %0
if %0=-1 allsphide:systemcall lookback
/
page top /
list /
mainVer.2.48 [特别定义语]
;
;
以;开始的文字是注释。NScripter会跳过这些文字。
例)defsub abs ; 对传入的变量取绝对值
/
page top /
list /
mainVer.2.96【特别定义语】
;$
'V'NUM'G'NUM'S'NUM,NUM'L'NUM
数值变量总数(从0到该数值-1,初始值为4096)
数值全局变量的总数(初始值200)
数值画面宽度(初始值640)
数值画面高度(初始值480)
数值标签数的最大值(记录文件的最大值,初始值10000)
以下的设定,不区分大小写。
这一行以;$开始,表示这一行用于设定模式。
V值 设定变量的个数。这个值可以从0开始,-1表示使用最大的变量个数。
G编号 设定全局变量的起始编号。
S宽,高 指定画面的大小。宽屏幕也适用。
L值 设定标签个数的最大值。这个值同时也是标签访问记录的最大值。初始值为10000,没有特殊情况的话没有必要更改这个上限。
※
格式不正确的时候会保持初始值而不会报错。
「VGSL」和数值之间或者「,」之间有半角空格等符号的话会报错,但是像「V2000 G1000 S800,600」这样的格式则是可行的。
标签个数的最大值包含了*define和*start标签,实际上设置成-2就能够任意定义了。
当改变画面大小时,文本区域并不会跟着改变 (by senzogawa)
例);$V2000G1000S800,600L10000
mode320 /
mode400 /
mode640 /
mode800 /
value /
page top /
list /
mainVer.2.48 [特别定义语]
?
'?'NUM
数字变量编号(0~199)
使用数组变量请用dim命令。
数组变量为?0~?199一共能定义200个。
不能用作全局变量。
/
page top /
list /
mainVer.2.48 [特殊文字]
@
@
Ver.2.48 [特殊文字]
[]
'['STR']'
字符串之前要显示的信息。用’/‘分割。
指定某些信息,可由紧跟其后的gettag命令所获得。
gettag /
pretextgosub /
page top /
list /
mainVer.2.48 [特殊文字]
_
_
此符号后紧跟的换行符会被忽略掉。
/
page top /
list /
mainVer.2.48 [特殊文字]
{}
'{'$VAR|%VAR,STR|NUM[,...]'}'
变量需要赋值的文字变量或者数字变量
特殊前面是文字变量则为文字,数字变量则为数值
用于将字符串或数值赋值到对应的变量中。
用{}括起来变量名和对应值,即可完成赋值。
但是,这里无法使用别名(alias)。
格式为{变量名,值,变量名,值},只有在偶数个值的时候,所有的赋值才能成功。
/
page top /
list /
mainVer.2.48 [特别定义语]
~
~
jumpf和jumpb命令的跳转目的地。
请不要在jumpf和~之间,以及jumpb和~之间放置要显示的文字。
jumpb /
jumpf /
page top /
list /
mainVer.2.48 [特殊文字]
\
\
等待换页标记。会无视之后的换行。
@ /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
+
NUM'+'NUM
数值要计算的数
数值要计算的数
STR'+'STR
字符串被连接的字符串
字符串连接的字符串
将后面的数值或者字符串,加到前面的数字或字符串上。
不同时为数值或者同时为字符串则会报错。
计算结果一般用作命令的参数。
例)mov ?0[0],?0[0]+1
例)mov $1,"●"
mov $2,"あいうえお"+$1+"さしすせそ"
;这时$2内容变成了"あいうえお●さしすせそ"。
例)mov $0,"テスト"
mov $0,$0+"あいうえお"
;这时$0内容变成了"テストあいうえお"。
add /
page top /
list /
mainVer.2.48 [特殊文字]
<>
'<'[INT]STR'>'
数值文字按钮的编号
字符串文字按钮上显示的文字
Ver.2.48【仅执行部分】
abssetcursor
abssetcursor NUM,STR,NUM,NUM
数值光标编号 (0:等待单击、1:等待换行)
字符串光标图像文件
数值光标显示位置右偏移量
数值光标显示位置下偏移量
和setcursor命令相似。只是此命令偏移坐标不是对文字的偏移坐标,而是对画面的绝对坐标。
setcursor /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
add
add %VAR,NUM
数字变量要被运算的数值
数值运算数值
add $VAR,STR
文字变量要被连接的字符串
字符串要连接的字符串
将后一个变量加到前一个上。是文字的情况则连接他们。
例)add %0,6
例)add $5,"ああああ"
/
page top /
list /
mainVer.2.70【仅定义部分】
addkinsoku
addkinsoku STR,STR
字符串行头禁止字符
字符串行尾禁止字符
用两个字符串指定行头禁止文字以及行末禁止文字,
向现有的禁止文字里追加新的规则。define部分专用命令。
可以只设置一个字符,如果使用多个字符的话,
则这些字符全部都是禁止字符。
setkinsoku /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
addnsadir
addnsadir STR
字符串要增加的目录名
增加nsa压缩文件的读取目录。
nsadir /
page top /
list /
mainVer.2.80【仅执行部分】
allsp2hide
allsp2hide
可以用来暂时隐藏所有的扩展按钮。与allsphide以及allspresume的用法是相同的。
allsp2resume /
allsphide /
allspresume /
page top /
list /
mainVer.2.80【仅执行部分】
allsp2resume
allsp2resume
可以用来暂时遮住所有的扩展精灵。和allsphide以及allspresume的使用方法是相同的。
allsp2hide /
allsphide /
allspresume /
page top /
list /
mainVer.2.48【仅执行部分】
allsphide
allsphide
Ver.2.48【仅执行部分】
allspresume
allspresume
显示所有由allsphide隐藏的精灵。
allsphide /
page top /
list /
mainVer.2.48【仅执行部分】
amsp
amsp NUM,NUM,NUM[,NUM]
数值精灵编号(0~255)
数值左上x坐标
数值左上y坐标
数值不透明度(0~255)
与msp命令类似,但此命令的坐标是绝对坐标。
msp /
page top /
list /
mainVer.2.80【仅执行部分】
amsp2
amsp2 NUM,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
扩展精灵移动命令。msp2是根据现在值相对移动,而amsp2是根据绝对值移动。
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsph2 /
lsph2add /
vsp2 /
page top /
list /
mainVer.2.48【仅定义部分】
arc
arc STR
字符串指定的插件
指定解析压缩包的插件。
格式为,"压缩包文件名|关联的dll名称"。
对于已经对应好的图像、声音,不需要再次在脚本里指定。
通过和读取注册表的命令相结合,可以实现各种方式的读取。
例)arc "arc.sar|scrunarc.dll"
例)getreg $0,"software\leaf\toheart","datadir"
add $0,"\lvns3dat.pak|axlfpak.spi"
arc $0
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
atoi
atoi %VAR,STR
数字变量随机数储存变量
字符串要转换的字符串
将字符串转换为数字。和C语言的同名函数功能相同。
例)atoi %0,"123"
atoi %3,$0
/
page top /
list /
mainVer.2.48【仅执行部分】
autoclick
autoclick NUM
数值点击等待时间(毫秒)
等待指定的时间后会自动前进,对于DEMO来说是非常方便的命令。
数值为0时,此命令无效。
/
page top /
list /
mainVer.2.48【仅定义部分】
automode
automode
这是为商用游戏「銀色」所开发的命令。
执行了这个命令之后,「自动模式」会加入到菜单中。
自动模式是类似于「跳到下一个选择支」,但语音未播放完之前
并不会前进。当没有语音的时候,可以根据之后的automode_time命令
决定等待多少时间。
这便是所谓的阅读模式。
菜单中的音量变更命令
现在能够使用。 (MP3(BGM) voice(DWAVE 0) SE(DWAVE 1~)的音量
现在已经可以使用。 )
对于此命令扩展功能的增加,预定计划是增加更清晰的命令。
(现在是一个有效的命令,将来也会继续使用。)
/
page top /
list /
mainVer.2.48【仅定义部分】
automode_time
automode_time NUM
数值自动前进时的等待时间(毫秒)
在mode_ext增加的「自动模式中」,指定没有语音时,应该等待的时间。
/
page top /
list /
mainVer.2.93【仅定义部分】
autosaveoff
autosaveoff
停止更新除了显示文字起始处的自动更新点。
(在定义部分)
autosaveoff
执行了此命令之后,saveon/saveoff命令将被无视。
(输出文字的开始的savepoint永远都是一直起作用的。)。
在显示文字起始部分以外的地方保存的话(比如click map等),请使用savepoint命令。由于执行时机的原因,有可能无法重现之前的数据。所以在需要将之前读入的画面全部恢复出来需要耗费一定的精力。
saveoff /
saveon /
savepoint /
page top /
list /
mainVer.2.48【仅执行部分】
avi
avi STR,NUM
字符串文件名
数值可否中断标志(0:播放到最后、1:点击中断)
播放指定的AVI文件。
数字为1时,单击会使播放停止,继续以下的处理。
为0的时候,会播放到最后,而不会跳出到脚本中。
/
page top /
list /
mainVer.2.48【仅执行部分】
bar
bar NUM,NUM,NUM,NUM,NUM,NUM,NUM,COLOR
数值长条编号
数值现在值
数值显示位置的左上x坐标
数值显示位置的左上y坐标
数值长条宽
数值长条高
数值长条最大长度
颜色值长条的颜色
指定长条的显示。宽和高,是长条为最大值的时候的宽和高。
不足最大值的时候,会根据对应的值缩短长度。
长条是以左对齐形式显示的。因为只会绘制满足长条长度的部分,
而值不足的部分的颜色需要预先绘制好。
此外,在指定之后如果不使用print命令等显示出来,是不会出现在画面上的。
/
page top /
list /
mainVer.2.48【仅执行部分】
barclear
barclear
清除色块的设定。色块一般可以用来做格斗游戏的血条之类的东西。
/
page top /
list /
mainVer.2.93【仅执行部分】
bclear
bclear
Ver.2.94【仅执行部分】
bcursor
bcursor
默认情况下在执行bexec时可以使用光标键来选择和用空格/回车键来决定。
想获得光标键输入的时候,请在bclear和bexec命令之间使用bcursor命令。
getcursor /
page top /
list /
mainVer.2.93【仅执行部分】
bdef
bdef STR
字符串默认控制字符串
指定和任意一个精灵都不重合时的处理。控制字符串和exbtn与spstr所指定的是一样的。
例)bdef "C0" ;和任意一个精灵都不重合的时候隐藏0号精灵。
exbtn_d /
page top /
list /
mainVer.2.94【仅执行部分】
bdown
bdown
在bclear和bexec之间插入bdown命令的话,在左键单击的时候或进行处理。
btndown /
page top /
list /
mainVer.2.93【仅执行部分】
bexec
bexec $VAR[,%VAR]
文字变量输入内容
数字变量输入内容(0以上:精灵、-1:除此之外)
此命令用于执行按钮的处理。变量为文字变量和者数字变量,或者两者中的一个。
设置会一直保持到使用bclear命令清除。
超时时间会保持到使用btime命令更改超时时间。
返回给文字变量的值:
左键单击在没有精灵的地方的时候……返回"LCLICK"。
左键单击精灵的时候……返回"S(精灵编号)"。例如单击12号精灵会返回"S12"这个值。
超时的时候……返回"TIMEOUT"。
右键点击的时候……返回"RCLICK"。
中键点击的时候……返回"MCLICK"。
滚轮上滚/下滚的时候……返回"WHEELUP" "WHEELDOWN"。
每按下一个键……都会返回对应的字符串。英文会返回大写字母。
・英文和数字都会原样返回。
・"SPACE" 空格键
・"RETURN" 返回键
・"CTRL" 控制键
・"UP" "DOWN" "LEFT" "RIGHT" 光标键上下左右
・"F1"~"F12" 功能键
・"PAGEUP" "PAGEDOWN" 翻页键
・"SHIFT"上档键
返回给数字变量的值:
点击到某个精灵的时候返回精灵编号。其他情况均返回-1。
接受到上述任何一个值都会返回,但是接收到之外的值会继续执行bexec命令。
※
2009/04/22版之后,可以获得中键点击。
ver.2.93中不是MCLICK而是CCLICK。
ver2.94中默认是用光标键改变选择,空格/回车决定。
btnwait /
page top /
list /
mainVer.2.48【仅执行部分】
bg
bg STR,EFFECT
字符串文件名
效果显示背景时的效果
bg COLOR,EFFECT
颜色值背景色
效果显示背景时的效果
bg {black,white},EFFECT
列举背景为黑色或者白色
效果显示背景时的效果
加载背景图像。第一种用法是从文件中读取,第二种用法是用某一种颜色覆盖,第三种是用黑色或者白色覆盖。
bgalia /
effect /
page top /
list /
mainVer.2.48【仅定义部分】
bgalia
bgalia NUM,NUM,NUM,NUM
数值左上x坐标
数值左上y坐标
数值图像宽
数值图像高
使用特殊大小的背景时所用命令。
从x,y处开始,以width x height的大小绘制图像。
bg /
page top /
list /
mainVer.2.50【仅执行部分】
bgcopy
bgcopy
bgcpy等同于此命令。抓取现在的画面作为背景图像。
和ofscpy以及ofscopy命令不同的地方在于,抓取背景图像的同时会抓取保存文本窗口。
※
ver.2.51中,此命令已经可以很好的保存抓取下来的图像了。
画 /
page top /
list /
mainVer.2.48【仅执行部分】
bgm
bgm STR
字符串需要播放的文件名
循环播放压缩音乐文件。和mp3loop命令是同一命令。
※
在ver 2.93中,使用此命令播放ogg volvis格式的时候需要nsogg2.dll文件。(by senzogawa)
使用nsogg.dll,nsogg2.dll的时候。可以通过bgm "(从音乐中间某个时间)文件名" 这种格式指定循环时重新开始的地方。
单位为秒。也可以指定为小数。
bgmonce /
bgmvol /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
bgmdownmode
bgmdownmode NUM
数值为1则开启
语音播放的时候降低BGM的音量。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
bgmfadein NUM
数值效果时间(毫秒)
与bgmfadeout格式相同,指定淡入淡出效果的时间。
bgmfadeout /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
bgmfadeout
bgmfadeout NUM
数值效果时间(毫秒)
指定BGM淡出的时间。
定义部分和执行部分都可以使用。
bgmfadein /
page top /
list /
mainVer.2.48【仅执行部分】
bgmonce
bgmonce STR
字符串需要播放的文件名
只播放一次压缩后的音乐文件。和mp3命令相同。
※
在ver 2.93中,使用此命令播放ogg volvis格式的时候需要nsogg2.dll文件。(by senzogawa)
bgm /
bgmvol /
page top /
list /
mainVer.2.48【仅执行部分】
bgmstop
bgmstop
停止播放压缩音乐文件。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
bgmvol
bgmvol NUM
数值音量(0~100)
改变bgm的音量。对bgm命令和mp3命令均有效。
※
音量值不会自动保存,请手动管理。
play命令不受此影响。(by senzogawa)
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
chvol /
mp3vol /
sevol /
voicevol /
page top /
list /
mainVer.2.48【仅执行部分】
blt
blt NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数值画面上显示位置的X坐标
数值画面上显示位置的Y坐标
数值画面上的显示宽度
数值画面上的显示高度
数值按钮图像的X坐标
数值按钮图像的Y坐标
数值按钮图像宽
数值按钮图像高
在画面上高速显示图像的时候(例如AIR的OP的动画效果处理)使用的命令。
因为要使用按钮图像缓存的缘故,所以请预先用btndef命令读取图像。
当读取的图像的宽度和画面窗口的宽度不匹配的时候,会根据画面大小扩大或者缩小。
(例如,预先载入全屏XY大小一半的图像,在高速扩大的同时显示完整画面,以像素单位渐隐残像的动画效果。在AIR的OP多次中使用。)
此命令不经过缓冲区,而是直接将图像输出到屏幕上。因此,结束之后offscreen中的图像是不确定的,于是在使用ofscpy命令之后,一定要使用普通的bg命令等,来确定offscreen中的画像。
即使保存,此命令的结果图像并不会一起保存。
因此,能够使用的地方受到限制。(DEMO示例,以及SLG游戏中的小窗动画,保存动画或者计数器跳动等动作的处理。)
ofscpy /
page top /
list /
mainVer.2.48【仅执行部分】
bmpcut
bmpcut STR,NUM,NUM
字符串图像文件名
数值横向分割数
数值纵向分割数
将图像文件以指定的分割数分割后以bmp形式保存。
/
page top /
list /
mainVer.2.48【仅执行部分】
br
br
此命令用于显示文字时的换行。请在想要显示一个空行的时候使用此命令。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
break
break
从最内部的一重循环中跳出。
会寻找下一个NEXT命令,跳出循环执行下一条命令。
无法一次性地跳出二重循环。
在跳出一重循环后,请再次写上break命令。
【不推荐的使用方式】
BREAK *标签名
如果该标签存在的话,会跳转到指定的标签。
但是,如果是从二重循环中跳出,
只会解除最内部一重循环的循环状态。
正如前面所说的一样,这样的用法不仅会浪费堆栈,
而且让代码阅读起来很困难,所以不推荐。
例)*define
game
*start
for %0=1 to 8
for %1=6 to 2 step -2
%0,%1
if %0=4 & %1=4 break
next
next
click
end
/
page top /
list /
mainVer.2.93【仅执行部分】
bsp
bsp NUM[,STR,STR,STR]
名称命令名
设定精灵为一个按钮。
省略参数的话,鼠标重叠时转到分格1,不重叠的时候转到分格0,鼠标点击的时候转到分格2(仅限于分格数大于3的情况)。
可以指定三个参数。三个参数都是和exbtn和spstr命令指定相同的字符串,依次为「鼠标不与精灵重叠时的处理」「鼠标和精灵重叠时的处理」「鼠标点击时的处理」。
当字符串为""的时候,什么都不做。
※
指定控制字符串的时候有bug。20090417版之后进行了修正。
例)bsp 1 ;设置1号精灵为按钮。
bsp 2,"P3,0","P3,1","P4,1" ;设置2号精灵为按钮。设置鼠标未重叠,重叠,鼠标按下的三个时候的处理指令。
exbtn /
spbtn /
page top /
list /
mainVer.2.93【仅执行部分】
btime
btime NUM[,NUM]
字符串超时时间(毫秒)
字符串为1的时候等待语音结束
指定开始按钮处理算起超时所需的时间。
第二个参数指定1的话,即使时间结束也会等待语音(dwave的通道0)的播放结束。此参数在automode中才能使用。
例)btime 2000 ;2秒后超时。
btime 1000,1 ;一秒后超时。如果此时语音未结束的话会等待语音结束。
btntime /
page top /
list /
mainVer.2.48【仅执行部分】
btn
btn NUM,NUM,NUM,NUM,NUM,NUM,NUM
数值按钮编号
数值显示位置的左上X坐标
数值显示位置的左上Y坐标
数值按钮图像宽
数值按钮图像高
数值从原图像抽出图像的左上角X坐标
数值从原图像抽出图像的左上角Y坐标
从左至右,参数为按钮编号,x,y,wd,ht,x3,y3。
此为按钮的定义命令。按钮编号应大于0。
从游戏的画面上(x,y)处抽取大小为wd * ht的图像作为按钮,
当鼠标移动到上面时,以(x3,y3)作为左上角显示按钮图像文件。
欲了解更多信息,请参考文件夹btndemo中的说明.txt。
/
page top /
list /
mainVer.2.48【仅执行部分】
btnarea
btnarea NUM
数值区域Y坐标
请在btndef命令后使用。
如果为负值则取绝对值,取大于此数的区域,如果为正则取小于次数的区域。当鼠标移动到这个区域时,返回-4。
※
当指定了多个btnarea的时候,似乎只有最后一个命令有效。by senzogawa)
例)btndef clear
btnarea -400
btndef /
page top /
list /
mainVer.2.48【仅执行部分】
btndef
btndef STR
字符串按钮图像文件名
btndef clear
列举清除按钮化的图像
设定按钮图像文件。使用此命令会清除之前的按钮定义。
欲了解更多信息,请参考文件夹btndemo中的说明.txt。
/
page top /
list /
mainVer.2.48【仅执行部分】
btndown
btndown NUM
数值设定标志(0:解除,1:设定)
请在btndef和btnwait命令之间使用这个命令。
使用了此命令之后,只需在按下按钮的情况下就取得按键返回值。
btndef /
btnwait /
isdown /
page top /
list /
mainVer.2.48【仅定义部分】
btnnowindowerase
btnnowindowerase
显示按钮时不会消去文本窗口。
/
page top /
list /
mainVer.2.48【仅执行部分】
btntime
btntime %VAR
数值btnwait或者btnwait2的限制时间(毫秒)
指定下一次btmwait或者btnwait2命令的等待时间。使用了此命令之后,在等待按钮的时,若超时返回-2。
※
指定了使用usewheel的时候,返回值为-5。
/
page top /
list /
mainVer.2.48【仅执行部分】
btntime2
btntime2 NUM
数值超时的时间(单位:毫秒)
和btntime命令相同,会等待语音结束。
btntime /
page top /
list /
mainVer.2.48【仅执行部分】
btnwait
btnwait %VAR
数字变量输入结果
实际处理按钮按下。将结果返回到数字变量中。
返回值:
0…没有点击到任何按钮上
-1…右键点击
其他…按钮编号
返回值小于0(没有按下任何按钮)时,如果立即再一次调用btnwait命令,按钮会保持原状。
返回值大于等于1(实际上按下了某个按钮)时,按下的瞬间保持图像,实际上清除了所有的按钮定义。(为节省内存)
欲了解更多信息,请参考文件夹btndemo中的说明.txt。
/
page top /
list /
mainVer.2.48【仅执行部分】
btnwait2
btnwait2 %VAR
数字变量输入结果
实际处理按钮按下。将结果返回到数字变量中。
返回值:
0…没有点击到任何按钮上
-1…右键点击
其他…按钮编号
和btnwait命令不同,不会清除按钮定义。因此,按钮图像保持着读入的状态。
当按钮处理结束时,不再需要按钮的时候,为了给其他处理腾出内存,建议使用btndef ""来清除按钮定义,释放按钮图像。
/
page top /
list /
mainVer.2.94【仅执行部分】
btrans
btrans
在bclear和bexec命令之间使用btrans的话,则对按钮图像的透明部分不作任何反应。
transbtn /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
bw2a
bw2a STR
字符串图像文件名(不含拓展名)
由"参数字符串_w.bmp"和"参数字符串_b.bmp"生成一个NScr形式的透明图像。
和附带的bw2aconv.exe功能相同。
<豆知识>
从命令提示符中
dir /b > filelist.txt
可以获得文件列表。
最好与这个列表组合进行批量变换。
/
page top /
list /
mainVer.2.49【定义部分・执行部分两用】
bw2a3
bw2a3 STR
字符串图像文件名(不含拓展名)
抽取白色和黑色,生成NScr形式的透明图像。
量产用的命令。
nscripter会从同样一个位置的b文件夹中和w文件夹中,分别提取白色和黑色(有关白色提取和黑色提取请参阅bw2a的说明。)
文件名和原来的文件名一样。如果使用Photoshop的话作业效率也许会更高。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
caption
caption STR
字符串作为窗口标题显示的字符串
更改窗口的标题。
/
page top /
list /
mainVer.2.48【仅定义部分】
cdfadeout
cdfadeout NUM
数值播放CD淡出的时间(毫秒)
以毫秒为单位指定CD播放的淡出时间。
/
page top /
list /
mainVer.2.48【仅执行部分】
cell
cell NUM,NUM
数值精灵编号(0~255)
数值单元编号(0~单元数-1)
手动指定精灵的分格。因为只是在内部状态上进行了切换,所以之后请使用print命令在画面上反应出来。
/
page top /
list /
mainVer.2.49【仅执行部分】
cellcheckexbtn
cellcheckexbtn NUM,NUM,STR
数值精灵编号
数值按钮编号
字符串光标相关的控制字符串
cellcheckspbtn的exbtn版本。参数和exbtn相同。
当精灵被加载时,具有两个或以上分格的精灵会被定义为复合按钮。否则会被忽略。
此外,也请参照和exbtn相关的「样本」「自定义菜单时的复合按钮」。增加了新功能S(音频播放)和M(精灵一定)。
例)cellcheckexbtn 1,100,"P1,1P2"
cellcheckspbtn /
exbtn /
page top /
list /
mainVer.2.48【仅执行部分】
cellcheckspbtn
cellcheckspbtn NUM,NUM
数值精灵编号(0~999)
数值按钮编号
基本上和spbtn功能相同,但是分格不足两个图像的精灵会被无视。
这个命令在CG模式很有用。
(也就是说,略缩图的分格只有1的话,
spbtn的注册会一直循环下去。)
例)for %0=0 to 9
cellcheckspbtn %0,%0+1
next
spbtn /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
chainbmp
chainbmp STR
字符串图像文件名
在out.bmp的旁边附加上该图像文件。
没有则生成out.bmp。
/
page top /
list /
mainVer.2.92【仅执行部分】
checkkey
checkkey %VAR,STR
数字变量结果(0:按下、1:为按下)
字符串按键种类
获得键的按下状态。
字符串可以被指定为英文字符,数字,空格等等。
也可以用"SPACE"获得空格键。
"RETURN" "ENTER" 回车键
"CTRL" ctrl键
"UP" "DOWN" "LEFT" "RIGHT" 方向键上下左右
"F1"~"F12" 功能键
"PAGEUP" "PAGEDOWN" 向上向下翻页
"SHIFT" shift键
也可以如此指定。
btnwait /
selectbtnwait /
textbtnwait /
textgosub /
page top /
list /
mainVer.2.49【定义部分・执行部分两用】
checkpage
checkpage %VAR,NUM
数字变量结果的保存变量
数值检查之前多少页(0为当前页)
检查能否获取回想文字。
第一个参数指定为储存结果的数字变量,第二个参数指定获得多少页之前的内容。
1为可能值,0为不可能值。第二个参数请指定在1之上。
0为现在的页面,不使用这个函数也能处理。
/
page top /
list /
mainVer.2.48【仅定义部分】
chkcdfile
chkcdfile STR,STR
字符串要判断的文件名
字符串/0}判定失败时候的消息
此命令用于检查“文件名”对应的文件是否存在于CD驱动器中。
如果判定失败的话会弹出一个指定字符串的对话框。
并有“重试”和“取消”按钮。
例)chkcdfile "file.dat","没有CD"
chkcdfile_ex /
page top /
list /
mainVer.2.48【仅定义部分】
chkcdfile_ex
chkcdfile_ex %VAR,STR
数字变量储存判定结果的变量
字符串要判断的文件名
此命令用于检查“文件名”对应的文件是否存在于CD驱动器中。
如果文件存在于CD中返回1,没有的话返回0。
例)chkcdfile_ex %0,"file.dat"
Chkcdfile /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
chvol
chvol NUM,NUM
数值dwave音轨编号
数值音量(0~100)
改变dwave音轨的音量。
※
此值不会被保存,需要手动管理。
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
/
page top /
list /
mainVer.2.48【仅执行部分】
cl
cl {l,c,r,a},EFFECT
列举清除立绘的位置(l:左、c:中央、r:右、a:全部)
效果清除立绘时所用效果
清除指定位置的立绘。
a意味着清除所有的立绘。
effect /
ld /
page top /
list /
mainVer.2.48【仅执行部分】
click
click
Ver.2.48【仅执行部分】
clickpos
clickpos %VAR,%VAR
数字变量点击位置的X坐标
数字变量点击位置的Y坐标
等待鼠标点击,然后获得点击的位置。位置为X坐标和Y坐标。
/
page top /
list /
mainVer.2.60【仅定义部分】
clickskippage
clickskippage
通常,单击之后会瞬时显示文字知道下一次等待点击的位置。使用了此命令之后,通常需要等待点击的地方会被跳过,知道换页等待的时候才会停下来。
定义部分专用命令。
/
page top /
list /
mainVer.2.48【仅定义部分】
clickstr
clickstr STR,NUM
字符串等待点击时的全角文字的集合
数值等待换页所需行数
增加强制等待点击的功能。这样做的话,当特定的文字显示出来的时候则会等待鼠标点击。
但是,在一些本来有等待点击字符的情况中,如果等待点击字符前面有一个_(半角下划线)的时候,强制点击不会起作用。
强制等待点击的时候,单纯地等待点击还是换页,由第二个参数决定。(最大行数-数字)小于零的时候,则会换页。
此功能以使作业简单化为目的,但是不能防止当某一行非常长,超过了数字上设定的值而跳到下一行以至于超出显示范围的现象出现。
这种情况下,可以再使用此命令,然后只改变数字的值。字符串只允许全角字符。
@ /
\ /
page top /
list /
mainVer.2.48【仅定义部分】
clickvoice
clickvoice STR,STR
字符串等待点击时的点击声音
字符串换页时等待点击声音
指定等待点击的时候的WAVE文件。
参数依次为,普通的等待点击,换页等待点击的声音。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
cmp
cmp %VAR,STR,STR
数字变量储存结果的变量
字符串要比较的字符串
字符串要比较的字符串
比较两个字符串,相等则将0,不等则将其他变量代入到数值变量中。
右边比较大时范虎负值,左边比较大时返回正值。
※
由于现在NScripter的字符串比较可以使用=(或者==)符号的缘故,单纯的相等比较则没有使用此命令的必要。(by senzogawa)
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
cos
cos %VAR,NUM
数字变量储存计算结果的变量
数值角度(单位为度)
计算三角函数cosθ。
值为返回值的1000倍。
sin /
tan /
page top /
list /
mainVer.2.48【仅定义部分】
createdummy
createdummy STR
字符串虚拟图像文件名
创建一个指定名字的虚拟图像文件(640.480)。
内容为在白色背景上写着黑色的文件名字。
※
即使使用mode800等命令变更分辨率但是还是生成640x480的图像。by senzogawa)
/
page top /
list /
mainVer.2.48【仅执行部分】
csel
csel STR,LABEL[,STR,LABEL[,...]]
字符串选项字符串
标签选择时的跳转标签
自定义系统的时候的选择命令。用于调用*customsel。格式和select相同。
例)csel "选择支1",*s1,"选择支2",*s2,"选择支3",*s3
*customsel /
cselbtn /
cselgoto /
getcselnum /
getcselstr /
selectbtnwait /
page top /
list /
mainVer.2.48【仅执行部分】
cselbtn
cselbtn NUM,NUM,NUM,NUM
数值作为选项的字符串的索引标签
数值按钮编号
数值选项显示时的左上X坐标
数值选项显示时的左上Y坐标
以选项文字生成一个按钮。不必指定字符串和精灵编号。
※
指定位置不在文本窗口上的话,会引发错误。想在画面中央等文本窗口之外的地方的时候有必要使用getcselstr命令。 (by senzogawa)
*customsel /
csel /
cselgoto /
getcselnum /
getcselstr /
selectbtnwait /
page top /
list /
mainVer.2.48【仅执行部分】
cselgoto
cselgoto NUM
数值选择的选择支的索引
Ver.2.48【仅执行部分】
csp
csp NUM
数值精灵编号(0~255)-1表示全部清除
清除指定的精灵。
如果指定-1的话,清除所有的精灵。
/
page top /
list /
mainVer.2.80【仅执行部分】
csp2
csp2 NUM
数值扩展精灵编号
Ver.2.63【定义部分・执行部分两用】
csvclose
csvclose
关闭csv文件。如果不使用此命令的话会保持打开状态,当使用完毕的时候请使用此命令关闭文件。
csvopen /
page top /
list /
mainVer.2.63【定义部分・执行部分两用】
csveof
csveof %VAR
数字变量判定结果的储存变量(0:未到达结尾,1:已到达结尾)
(读取模式专用)
如果读取到了CSV文件的最后返回1,未读到最后返回0。
csvread /
page top /
list /
mainVer.2.63【定义部分・执行部分两用】
csvopen
csvopen STR,STR
字符串CSV文件名
字符串指定模式
打开csv文件。第一个字符串是CSV文件名。
nsa中包含的文件也可以读取出来。
第二个字符串是用于指定模式。指定的方法如下。
"r"……读取模式。读取普通的csv文件。
"rc"……加密csv读取模式。读取以wc写入模式生成的csv文件。
"w"……写入模式。写入csv文件。
"wc"……加密写入模式。加密写入csv文件。
※
执行reset之后会自动执行close命令。 (by senzogawa)
例)csvopen "test.csv","r"
例)csvopen "angou.csv","wc"
csvclose /
csveof /
csvread /
csvwrite /
page top /
list /
mainVer.2.63【定义部分・执行部分两用】
csvread
csvread %VAR|$VAR[,...]
变量读入数据的储存变量
(读取模式专用)
从csv文件中读取数据。会按指定的顺序读取。
csvopen /
page top /
list /
mainVer.2.63【定义部分・执行部分两用】
csvwrite
csvwrite STR|NUM[,...]
特殊写入值
(写入模式专用)
向CSV文件中写入数据。按指定的顺序写入。
例)csvwrite 12,"test",%1,$2
csvopen /
page top /
list /
mainVer.2.48【仅执行部分】
date
date %VAR,%VAR,%VAR
数字变量获得年的变量
数字变量获得月的变量
数字变量获得天的变量
获得当前机器的年月日时间。
/
page top /
list /
mainVer.2.61【定义部分・执行部分两用】
debuglog
debuglog NUM
数值获取日志标志(0:关、1:开)
开启将debug窗口中的显示文字写入debuglog.txt的文本文件的功能的命令。
debuglog 1打开,debuglog 0关闭。既可以在define部分使用,也可以在start之后使用。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
dec
dec %VAR
数字变量作为自减对象的变量
对变量的值减1。
/
page top /
list /
mainVer.2.48【仅定义部分】
defaultfont
defaultfont STR
字符串字体名
指定默认的字体。
没有指定的情况下使用MS ゴシック字体。
※
这属于之后增加记录的情况,只有删除envdata之后才能反映出来。 (by senzogawa)
/
page top /
list /
mainVer.2.48【仅定义部分】
defaultspeed
defaultspeed NUM,NUM,NUM
数值与TEXTSLOW对应的速度
数值与TEXTMIDDLE对应的速度
数值与TEXTFAST对应的速度
指定调用特殊显示文字命令!sd或者textspeeddefault命令的时候的速度文字。
从左至右分别为在菜单中选择「低速」「普通」「高速」的时候的速度。
!sd /
textspeeddefault /
page top /
list /
mainVer.2.48【仅定义部分】
defbgmvol
defbgmvol NUM
数值默认音量(0~100)
设置BGM的默认音量。默认值为100(0~100)
/
page top /
list /
mainVer.2.48【仅执行部分】
definereset
definereset
重置定义部分的命令。重新读取*define部分。
*define /
page top /
list /
mainVer.2.48【仅定义部分】
defmp3vol
defmp3vol NUM
数值默认音量(0~100)
定义mp3(BGM)的默认音量。默认值为100(0~100)
/
page top /
list /
mainVer.2.48【仅定义部分】
defsevol
defsevol NUM
数值默认音量(0~100)
定义SE(DWAVE 1~)的默认音量。默认值为100(0~100)
/
page top /
list /
mainVer.2.48【仅定义部分】
defsub
defsub NAME
名称子程序的标签名
定义指定的名称的子程序的命令。
在后文中需要实现该子程序。
命令的名称和变量的命名方式相同,但是第一个字符不允许是_。
※
此外,允许定义和NScripter的原有命令名相同的子程序。
此时,用户定义的子程序有更高的优先级。
若想使用原来的命令,请在命令前加上_(下划线)。
例)
*define
defsub *texton
game
*start
texton ;相当于gosub *texton命令
_texton ;调用原来的texton命令
例)defsub subname
之后的脚本中
subname
被执行后
*subname
会跳转到这个位置。
getparam /
page top /
list /
mainVer.2.48【仅定义部分】
defvoicevol
defvoicevol NUM
数值默认音量(0~100)
定义voice(DWAVE 0)的默认音量。默认值为100(0~100)
/
page top /
list /
mainVer.2.48【仅执行部分】
delay
delay NUM
数值等待的时间(毫秒)
等待指定毫秒数的时间。鼠标点击则会跳过。
功能和特殊显示文字命令d相同,但是可以使用变量。
/
page top /
list /
mainVer.2.48【仅定义部分】
deletemenu
deletemenu
Ver.2.48【仅执行部分】
deletescreenshot
deletescreenshot
Ver.2.48【仅定义部分】
dim
dim '?'NUM'['NUM']'['['NUM']'...]
数值数组变量编号(0~199)
数值数组的元素个数(实际元素个数会+1)
数组变量类似于BASIC语言。也就是说,这个声明?0作为
一维数组的话使用0~10,二维数组的话0~20的元素可以使用。
如例子中所述,迄今为止使用「数字」的位置
都可以使用数组变量。
※
因为数组的起始元素是从0开始,声明一个数组的长度时
数组的实际元素个数会比这个数多1。请注意这一点。
例)mov ?0[2][5],20
;将20代入?0[2][5]。
mov %4,?0[3][1]
;将%4代入?0[3][1]。
?0[2][3]=?0[2][3]@
;输出值
例)numalias enemyparam,10
dim ?enemyparam[10]
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
div
div %VAR,NUM
数字变量要被运算的数值
数值运算数值
将该变量除以数字。输出截断小数部分的答案。
/
page top /
list /
mainVer.2.48【仅执行部分】
draw
draw
将draw类命令绘制的图像呈现到屏幕上。
不使用此命令则不显示。
例)*test
saveoff
;执行DEMO处理的时候saveoff会提高速度。之后不要忘记saveon
mov %0,0
bg "bg.bmp",1
*lp
resettimer
drawclear
drawbg2 320,240,100,100,%0*2
draw
wait 5
;等待时间过长的话,会引起消息处理的延迟。
gettimer %1
if %1>=50 add %0,%1/50
if %1<50 waittimer 50:inc %0
;根据花费的处理时间成比例地改变变量的值。
goto *lp
/
page top /
list /
mainVer.2.48【仅执行部分】
drawbg
drawbg
绘制bg画面。
/
page top /
list /
mainVer.2.48【仅执行部分】
drawbg2
drawbg2 NUM,NUM,NUM,NUM,NUM
数值画面的位置中心X坐标
数值画面的位置的中心Y坐标
数值横向扩大率(单位为%)
数值纵向扩大率(单位为%)
数值旋转角度(单位为度)
绘制背景画面。根据(x,y)的位置指定。
x_scale和y_scale分别为纵向和横向的扩大率。单位为%。
rot为回转角度。方向逆时针,单位为度。
此外,超出的部分不会被绘制,以致于之前的图像会残留下来。
所以在这些情况下,请事先使用drawclear命令清除。
※
此命令不能显示精灵立绘以及文本框,请注意。
此命令是以画面位置的中心作为坐标指定的,请注意。
(和其他以左上角的坐标为基准的命令不同)
例)drawbg2 320,240,200,300,15
/
page top /
list /
mainVer.2.48【仅执行部分】
drawclear
drawclear
Ver.2.48【仅执行部分】
drawfill
drawfill NUM,NUM,NUM
数值红色值。R的RGB。0~255
数值绿色值。G的RGB。0~255
数值蓝色值。B的RGB。0~255
以此颜色填充屏幕。
RGB值分别可以指定为0~255的数。
/
page top /
list /
mainVer.2.48【仅执行部分】
drawsp
drawsp NUM,NUM,NUM,NUM,NUM
数值精灵编号
数值分格编号
数值透明度
数值显示位置的左上x坐标
数值显示位置的左上y坐标
绘制精灵。
分别制定精灵编号,分格号,透明度,显示位置的左上角x坐标,显示位置的左上角y坐标。
通常模式下,精灵的位置,显示和不显示的状态是无关的。
精灵和文字窗口的重叠取决于谁是最后绘制的。
/
page top /
list /
mainVer.2.48【仅执行部分】
drawsp2
drawsp2 NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数值精灵编号
数值分格编号
数值透明度
数值显示位置的中心x坐标
数值显示位置的中心y坐标
数值横向扩大率(单位为%)
数值纵向扩大率(单位为%)
数值旋转角度(单位为度)
绘制精灵。
依次指定了精灵编号,分格编号,透明度,显示位置中心x坐标,y坐标。
通常模式下,精灵的位置,显示和不显示的状态是无关的。
精灵和文字窗口的重叠取决于谁是最后绘制的。
※
注意此命令指定的坐标是中心坐标。
ver.2.51或之前的NS的drawsp2命令的α值有一个将0作为完全不透明,255作为完全透明的bug。
ver.2.52之后得到了修正,所以需要将旧版本脚本中的drawsp2的第三个个参数修改过来。
例)drawsp2 2,1,128,20,40,150,60,-10
/
page top /
list /
mainVer.2.60【仅执行部分】
drawsp3
drawsp3 NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数值精灵编号
数值分格编号
数值不透明度
数值描绘处左上X坐标
数值描绘处左上Y坐标
数值矩阵左上角值
数值矩阵右上角值
数值矩阵左下角值
数值矩阵右下角值
此命令是drawsp系命令中用于实现线性变换的命令。
绘制精灵。
参数顺序为精灵编号,分格编号,透明度,α值,显示位置的中心x坐标,显示位置的中心y坐标,行列式左上值,右上值,左下值,右下值。
矩阵值为实际值的1000倍。
例)drawsp3 2,1,128,20,40,1500,3000,8000,1200
drawsp /
drawsp2 /
page top /
list /
mainVer.2.48【仅执行部分】
drawtext
drawtext
绘制文本窗口。
这样的话之前绘制的精灵会在文本窗口下方,之后的会在文本窗口上方。
/
page top /
list /
mainVer.2.48【仅执行部分】
dsound
dsound
在define部分使用。声明使用DirectSound播放声音。要使用此命令,必须满足DirectX2或者更高。(此命令现在的版本已无使用必要。)
/
page top /
list /
mainVer.2.48【仅执行部分】
dv
'dv'NUM':'
数字声音文件的文件名编号
便于播放语音的命令。
相当于dwave 0,"wav\数字.wav"。
dwave /
v /
page top /
list /
mainVer.2.48【仅执行部分】
dwave
dwave NUM,STR
数值通道编号(0~49)
字符串WAVE文件名
使用DirectSound播放wav文件。
数字为通道数,从0到49。
不同音轨的声音可以混合播放。
此外,在automode下会等待直到通道0的声音播放结束。
只能播放PCM格式。
也可以和wave系命令同时使用,例如使用waveloop命令播放MP3编码的BGM的同时,此命令也能播放声音。
※
使用wave命令播放nsa压缩包的wave文件之后,在不使用wavestop或者stop命令的情况下,使用此命令播放同一个文件时会出错。(直到ver.2.54均存在)(by senzogawa)
/
page top /
list /
mainVer.2.48【仅执行部分】
dwaveload
dwaveload NUM,STR
数值通道编号(0~49)
字符串WAVE文件名
在播放之前读取wav到内存中,以便用dwaveplay和dwaveplayloop命令播放。
※
不预先载入就播放的话会引发错误。
另外,ogg格式不能使用此命令。(by senzogawa)
在使用nsogg.dll的情况下不会引发错误。(by senzogawa)
例)dwaveload 0,"test.wav"
dwaveplay 0
/
page top /
list /
mainVer.2.48【仅执行部分】
dwaveloop
dwaveloop NUM,STR
数值通道编号(0~49)
字符串WAVE文件名
和dwave的命令格式相同,此命令会循环播放。
※
使用wave命令播放nsa压缩包的wave文件之后,在不使用wavestop或者stop命令的情况下,使用此命令播放同一个文件时会出错。(直到ver.2.54均存在)(by senzogawa)
在使用nsogg2.dll的时候,命令dwaveloop 通道编号,“(从开始算起的起始时间)文件名"可以指定循环的起始点。
单位为秒。也可以指定为小数。
/
page top /
list /
mainVer.2.48【仅执行部分】
dwaveplay
dwaveplay NUM
数值通道编号(0~49)
播放一次已经用dwaveload命令载入的wav文件。
※
尝试播放未载入内存的声音文件会导致错误。
另外,ogg格式不能使用此命令。(by senzogawa)
在使用nsogg.dll的情况下不会引发错误。(by senzogawa)
要改变音量的话,在此命令后需要用chvol命令。 (by senzogawa)
/
page top /
list /
mainVer.2.48【仅执行部分】
dwaveplayloop
dwaveplayloop NUM
数值通道编号(0~49)
循环播放使用dwaveload命令载入的wav文件。
/
page top /
list /
mainVer.2.48【仅执行部分】
dwavestop
dwavestop
停止播放当前的音轨。
/
page top /
list /
mainVer.2.48【仅定义部分】
effect
effect NUM,NUM[,NUM[,STR]
数值效果编号
数值预设效果编号(1~18)
数值时间(毫秒)
字符串掩模图像文件名
将效果分配到对应的效果编号上。
图像显示命令中,请使用这里指定的效果编号。
参数从左至右为效果编号,内置效果编号,耗费时间(单位毫秒),掩模图像文件名称。
根据效果编号的不同,后两个参数是可选的。
效果编号0意味着「不显示,和下一个图像命令一起显示」,所以请使用1号以及以后的编号。
此外,使用效果0的话,请尽快使用图像显示命令显示图像。
默认设置为1的瞬时显示效果。
<效果编号一览表>
1 瞬间显示。不需要指定时间。
2 左百叶窗
3 右百叶窗
4 上百叶窗
5 下百叶窗
6 左帷幕
7 右帷幕
8 上帷幕
9 下帷幕
10 像素级别的交叉淡出
11 左边滚动
12 右边滚动
13 上方滚动
14 下方滚动
15 使用掩模淡入或淡出
第三个参数为字符串形式的掩模图像名。
掩模图像的形式为256色或者全彩色均可。
尝试例子中的m1.bmp,m2.bmp的话就能够明白。
掩模上白的地方以慢速度,黑的地方以快速度显示
出来。
当掩模文件比较小的时候,会像壁纸一样以640x480的大小
平铺排列。
16 马赛克淡出。此效果之后和使用效果0号
之后相同,处于不确定的状态。请在之后
使用例如print的命令,重新显示画面。
17 马赛克淡入。
18 根据掩模文件的交叉淡出
15号的效果是根据掩模的浓度决定的时间差来对像素进行复制。
这个的效果则是根据时间差进行渐入渐出。
根据各个制作单位的使用效果来看,此效果是各效果中对机器负担最大的。
在速度慢的机器上,有可能会造成些许的延迟。
※
可以指定的编号编号为2~255。(by senzogawa)
例)effect 2,4,1000
例)effect 3,15,2000,"m3.bmp"
/
page top /
list /
mainVer.2.48【仅定义部分】
effectblank
effectblank NUM
数值执行下一个命令之前的等待时间
以毫秒为单位,指定效果结束之后,到下一条命令之间的时间间隔。
当使用效果1瞬时显示的情况下,这个设定不起作用,会瞬时显示。
/
page top /
list /
mainVer.2.48【仅定义部分】
effectcut
effectcut
「跳到下一个选择支」时,跳过所有的效果。
/
page top /
list /
mainVer.2.92【仅执行部分】
effectskip
effectskip NUM
数值可否跳过标志(0:不可跳过、1:允许跳过)
指定是否允许在显示效果的时候跳过效果。
这个值默认为1(允许跳过)。为0则不可跳过。
effect /
print /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
end
end
结束程序,清除窗口。
例)yesnobox %0,"结束程序?","退出确认"
if %0==1 end
game /
page top /
list /
mainVer.2.82【仅定义部分】
english
english
将NScripter开启英文模式。使之能够正确地显示半角英文文章。
使用此模式时,请在行头加上>。
※
从2007.11.04之后的版本添加此命令。在使用此命令时,#ffffff以及!sd等显示文字相关命令无法使用。代替的命令已记录在相关命令中。 (by senzogawa)
例)*define
english
game
*start
>Peter Piper picked a peck of pickled peppers;@
end
delay /
textcolor /
textspeed /
textspeeddefault /
wait /
page top /
list /
mainVer.2.65【仅执行部分】
erasetextbtn
erasetextbtn
当点击一个按钮退出按钮等待模式的时候,如果这个按钮仍保持按下状态,此命令可以将其恢复到未按下状态。
<> /
page top /
list /
mainVer.2.48【仅执行部分】
erasetextwindow
erasetextwindow NUM
数值标志(0:保持不变、1:显示效果时隐藏文字窗口)
数值为0的时候,在显示效果的时候,文本窗口会保持不动。
1是默认值,在显示效果的时候,会隐藏文字窗口。
/
page top /
list /
mainVer.2.48【仅定义部分】
errorsave
errorsave
出错时自动保存至999号存档。
/
page top /
list /
mainVer.2.48【仅执行部分】
exbtn
exbtn NUM,NUM,STR
数值精灵编号
数值按钮编号
字符串精灵控制字符串
最后的控制字符串除了附加的两条以外和spbtn命令相同。功能是相同的。
只是在鼠标光标和按钮重合的时候不仅仅能产生按钮的变化,
还能根据控制字符串进行指定的精灵控制。
控制字符串请按下列形式书写。
"C数字" 不显示指定的精灵编号
"P数字" 显示指定的精灵编号
"P数字1,数字2" 显示数字1的精灵和数字2的分格
控制字符串可以为上述三种的连接组合。
对于复合按钮,需要指定「光标未和任何按钮重叠」的情况。
可以通过exbtn_d命令实现。
按钮和其他的是相同的,不管是文字精灵还是普通的图像精灵都是OK的。
另外,下列功能已经被添加。
可以使用 S通道,(文件名) 播放声音。
可以使用 M精灵编号,X,Y 来移动精灵。
例)"C10"
例)"C11P10"
例)"C11P10,2P9"
例)"S1,(se.wav)"
例)"M4,20,30"
exbtn_d /
spbtn /
page top /
list /
mainVer.2.48【仅执行部分】
exbtn_d
exbtn_d STR
字符串精灵控制字符串
当光标不在任何一个复合按钮上的时候控制显示。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
exec_dll
exec_dll STR
字符串用‘/’分割的dll文件名和参数
将指定的参数传递给指定的dll文件进行调用。
例)exec_dll "execdll.dll/テストですよー。"
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
fchk
fchk STR
字符串想要确认读入的文件名
通过文件日志检查图像标签是否记录在其中。
在if语句中使用。如果该图像的标签成功读取了的话会返回true。
标签不同的情况下,即使同一个文件也会被认为是不同的。
例)ld c,":a;test.bmp",1
if fchk ":a;test.bmp" ;真
if fchk "test.bmp" ;假
/
page top /
list /
mainVer.2.48【仅执行部分】
fileexist
fileexist %VAR,STR
数字变量储存结果的变量(0:无、1:有)
字符串文件名
文件存在返回1,否则返回0。也会搜索nsa压缩文件。
fileremove /
page top /
list /
mainVer.2.48【仅定义部分】
filelog
filelog
指定访问日志文件。
凡是读取过的图像标签,都会记录其中。
此外,标签不同,即使文件名相同也会被认为不同。
如果既不使用此命令也不使用globalon命令,NS将不会写入文件,因此可以从CD中启动。
/
page top /
list /
mainVer.非正式【仅执行部分】
fileremove
fileremove STR
字符串文件名
Ver.2.48【仅执行部分】
flushout
flushout NUM
数值效果的时间(毫秒)
特殊效果命令。效果为中心扩大+模糊。
之后请务必载入别的背景。
/
page top /
list /
mainVer.2.67【定义部分・执行部分两用】
font
font STR
字符串字体名
改变文字的显示字体。
效果将由清空文字之后下一次显示文字时才能起作用。
最好在没有文字显示在画面上的时候使用。
setwindow /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
for
for %VAR=NUM to NUM[ step NUM]
数字变量计数器
数值计数器初始值
数值计数器终值
数值每次的增加量
基本上和basic语言相同。从指定的变量循环到TO指定的数字
(STEP为负值时,会根据此值减少),并进行循环。
每次循环都会在指定的变量上加上step。
step省略的情况下默认为1。
(注意)
如果for循环中使用goto和select命令跳出,因为是在内部循环中跳出,
这样会浪费NScr的堆栈资源。
只要循环不是无限循环,则不要这样使用。
这样的代码就是所谓的”意大利面条式代码“,
只会是既难以阅读,又难以理解的代码。
建议for和next一一对应地缩进,这样代码会更容易阅读。
另外,如果想在中间安全退出循环,请使用break语句。
(循环内从gosub跳出后会回来也是OK的。
推荐从循环开始到结束,外部和内部应该清晰的分开。)
例)for %0=1 to 10
add %1,%0
next
next /
page top /
list /
mainVer.2.48【仅定义部分】
game
game
Ver.非正式【仅执行部分】
getbgmvol
getbgmvol %VAR
数字变量音量(0~100)
获得bgm的音量。对bgm命令和mp3命令均有效。
bgm /
bgmvol /
page top /
list /
mainVer.2.48【仅执行部分】
getbtntimer
getbtntimer %VAR
数字变量btnwait耗费的秒数
例如,在点击右键等操作跳出后,想再次回到btnwait进行处理的时候使用。在这种情况下,btnwait命令实际上运行了多少时间可以通过getbtntimer命令返回得到,于是重新执行btnwait的时候的超时时间可以通过减去这个时间计算出来。
/
page top /
list /
mainVer.2.48【仅执行部分】
getcselnum
getcselnum %VAR
数字变量储存选择支编号的变量
获得csel命令所获得的选择支的编号。
※
不能对cselbtn命令指定比这个命令所获得的数值更大的数。(by senzogawa)
*customsel /
csel /
cselbtn /
cselgoto /
getcselstr /
selectbtnwait /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
getcselstr
getcselstr $VAR,NUM
文字变量字符串储存变量
数值哪个选择支
获取在csel中指定编号选择支的文本。
csel /
page top /
list /
mainVer.2.48【仅执行部分】
getcursor
getcursor
Ver.2.48【仅执行部分】
getcursorpos
getcursorpos %VAR,%VAR
数字变量储存文本光标的X坐标
数字变量储存文本光标的Y坐标
Ver.2.92【仅执行部分】
getcursorpos2
getcursorpos2 %VAR,%VAR
数字变量左上角X坐标
数字变量左上角Y坐标
类似于getcursorpos命令,但是这个命令是获得「最后显示的文字的左上角坐标」。
getcursorpos /
texec /
texec2 /
textbtnwait /
textgosub /
page top /
list /
mainVer.2.48【仅执行部分】
getenter
getenter
Ver.2.48【仅执行部分】
getfunction
getfunction
Ver.2.48【定义部分・执行部分两用】
getini
getini $VAR,STR,STR,STR
文字变量储存值的变量
字符串ini文件名
字符串小节名
字符串键值名
打开ini文件,读取数据到变量中。
参数依次为ini文件名,区块名,键名。
/
page top /
list /
mainVer.2.48【仅执行部分】
getinsert
getinsert
Ver.2.49【仅执行部分】
getlog
getlog $VAR,NUM
文字变量储存获得的记录的变量
数值多少页之前
获得回想模式的文字。换行和注音都会包含在其中。
第一个参数为储存文字的变量,第二个参数和checkpage相同,指定的是获取多少页之前的文字。
logsp /
page top /
list /
mainVer.2.70【仅执行部分】
getlogtext
getlogtext $VAR,NUM
文字变量储存获得的记录的变量
数值多少页之前
功能几乎和getlog相同,当和strsp组合使用的情况下使用此命令。
今后的版本会将strsp和getlog组合使用。
getlog /
strsp /
page top /
list /
mainVer.2.94【仅执行部分】
getmclick
getmclick
根据之前的btnwait命令,开发的getmclick命令。请像使用getfunction命令相同的形式在btndef和btnwait之间使用。返回值为-70。
btndef /
btntime /
btntime2 /
btnwait /
getcursor /
getenter /
getfunction /
getinsert /
getpage /
gettab /
getzxc /
spclclk /
useescspc /
usewheel /
page top /
list /
mainVer.2.49【仅执行部分】
getmouseover
getmouseover NUM,NUM
数值精灵编号最小值
数值精灵编号最大值
请在btndef和textbtnwait命令之间使用此命令。
当鼠标悬停在指定范围中的按钮上时,会跳出等待按钮的循环。
例)btndef clear
getmouseover 0,9
textbtnwait %0
btndef /
textbtnwait /
page top /
list /
mainVer.2.48【仅执行部分】
getmousepos
getmousepos %VAR,%VAR
数字变量储存鼠标光标X坐标的变量
数字变量储存鼠标光标Y坐标的变量
获得鼠标光标的坐标储存到指定的变量中。
和clickpos不同,能在不必等待鼠标单击的情况下获得坐标。
clickpos /
page top /
list /
mainVer.非正式【仅执行部分】
getmp3vol
getmp3vol %VAR
数字变量音量(0~100)
获得mp3的音量。对bgm命令和mp3命令均有效。
mp3 /
mp3vol /
page top /
list /
mainVer.2.48【仅执行部分】
getnextline
getnextline %VAR,%VAR
数字变量下一行行首位置的X坐标储存变量
数字变量下一行行首位置的Y坐标储存变量
获得文字窗口要显示的下一行的行首位置。
/
page top /
list /
mainVer.2.48【仅执行部分】
getpage
getpage
Ver.2.48【定义部分・执行部分两用】
getparam
getparam %VAR|$VAR|s%VAR|i%VAR[,...]
特殊储存参数的变量
如果指定一个标签作为跳转的目的地,可以将这个标签名作为字符串参数读取到子程序中。
在NScripter的任何命令中,标签名都是当做字符串来处理的。可以方便地利用这一点。
例如,
*define
defsub usergoto
game
*label
执行了跳转。\
end
*start
usergoto *label
*usergoto
getparam $0
;执行了该语句之后,$0的值为"*label"。
goto $0
;此时,goto "*label"和goto *label是相同的。
※
由于getparam获取的变量以及储存他们的值的变量很容易搞混,
最好将由defsub定义的子程序中的变量和调用他们的脚本中使用的变量分开。
比如%0-&49是在普通脚本中使用的,而%50和%99是在defsub定义的子程序中使用的。
例)*define
defsub sub
*sub
getparam $50,%50
;$50变量代入"字符串",%50变量代入值12
return
*start
sub "字符串",12
例)*define
defsub kakeru_4
game
*kakeru_4
getparam i%50,%51
;i%这种写法,可以获得调用的最初的数字变量的变量编号。这里为「3」
mov %%50,%51*4
;%%50这种写法,会将「%50」作为变量编号代入到数字变量中。也就是说和mul %3,4是相同的
return
*start
kakeru_4 %3,10
;%3为10*4=40
例)*define
defsub renketu
game
*renketu
getparam s%50,$51
;文字变量的情况为s%
add $%50,$51
;$%50这种写法,会将「%50」作为变量编号代入到文字变量中。
return
*start
mov $1,"れんけつ"
renketu $1,"てすと"
;$1的值为"れんけつてすと"。
defsub /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
getreg
getreg $VAR,STR,STR
文字变量储存注册表信息的变量
字符串键名
字符串值名
从注册表中读取数据,保存到文字变量中。
这能选择HKEY_CURRENT_USER下面的键值。
例)getreg $0,"software\leaf\toheart","datadir"
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
getret
getret %VAR
数字变量接收从dll返回值的变量
getret $VAR
文字变量接收从dll返回值的变量
用于获得以exec_dll命令执行的dll里的返回值。能够获得一个数值或者字符串的值。
也可以用来获得textfield等命令的返回值。
exec_dll /
textfield /
page top /
list /
mainVer.2.60【仅执行部分】
getsavestr
getsavestr $VAR,NUM
文字变量储存读取的字符串的变量
数值存档编号
获得savegame2命令保存的字符串。
savegame2 /
page top /
list /
mainVer.2.48【仅执行部分】
getscreenshot
getscreenshot NUM,NUM
数值横向大小
数值纵向大小
截取屏幕。只会将画面保存到内存中,所以必须要使用savescreenshot命令保存成文件。
deletescreenshot /
savescreenshot /
savescreenshot2 /
page top /
list /
mainVer.非正式【仅执行部分】
getsevol
getsevol %VAR
数字变量音量(0~100)
Ver.2.49【仅执行部分】
getskipoff
getskipoff
请在btndef和textbtnwait命令之间使用此命令。
skipoff的情况下返回-60,automode的情况下返回-61。
例)btndef clear
getskipoff
textbtnwait %0
if %0=-60 gosub *clearskipicon
btndef /
textbtnwait /
page top /
list /
mainVer.2.61【仅执行部分】
getspmode
getspmode %VAR,NUM
数字变量储存结果的变量
数值精灵编号
精灵为显示状态返回1,不显示状态返回0。
lsp /
lsph /
page top /
list /
mainVer.2.53【仅执行部分】
getspsize
getspsize NUM,%VAR,%VAR[,%VAR]
数值精灵编号
数字变量储存宽的变量
数字变量储存高的变量
数字变量储存分格数的变量
获得精灵的大小。
第三个获得分格数的变量可以省略。
/
page top /
list /
mainVer.2.48【仅执行部分】
gettab
gettab
Ver.2.49【定义部分・执行部分两用】
gettag
gettag $VAR|%VAR[,...]
变量储存tag信息的变量
此命令多用于指定*pretextgosub的子程序跳转而来,来获得标签的内容。
和split命令类似,但是没有使用""的必要。使用/作为分隔符。
省略的内容会被填充为""或者0。
当标签本身被省略的时候,变量会全部赋值为""或者0。
例)gettag $0,$1 的情况
[太郎/0001.wav]这里是台词。;→$0="太郎" $1="0001.wav"
省略了标签的时候。 ;→$0="" $1=""
可以在处理名字和语音的时候使用。
pretextgosub /
page top /
list /
mainVer.2.72【仅执行部分】
gettaglog
gettaglog $VAR,NUM
文字变量日志标签字符串的储存变量
数值记录的页码
和getlog命令用法相同,用于获得指定数字前的页数的标签。
当回想记录中记录了标签以及回想记录标签是自定义的情况下。如果预先指定名字和声音的话,这样就能够方便地读取这些数据了。
没有标签的时候返回""。
此处,gettag命令可以根据/分割变量,但是gettaglog命令不行。
像下面的例子一样使用的话,可以实现和gettag一样的分离效果
例)gettaglog $0,2
split $0,"/",$1,$2
gettag /
page top /
list /
mainVer.2.48【仅执行部分】
gettext
gettext $VAR
文字变量储存文字窗口的文字的变量
获得现在在文本窗口中显示的文字。
/
page top /
list /
mainVer.2.65【仅执行部分】
gettextbtnstr
gettextbtnstr $VAR,NUM
文字变量储存文字按钮的内容的变量
数值文字按钮的编号
获得对应编号的文字按钮的字符串。
没有内容的时候会用""代替。
<> /
page top /
list /
mainVer.2.48【仅执行部分】
gettimer
gettimer %VAR
数字变量经过的时间(毫秒)
这是用来获得内部计时器的值的命令。
返回从上一次运行resettimer命令之后,经过的毫秒数。
/
page top /
list /
mainVer.2.48【仅执行部分】
getversion
getversion %VAR
数字变量版本转换为整数后所储存的变量
版本号会返回一个三位的整数。
实际上是版本号100倍的整数。
也就是说,如果是1.90版的话会返回190。
/
page top /
list /
mainVer.非正式【仅执行部分】
getvoicevol
getvoicevol %VAR
数字变量音量(0~100)
Ver.2.54【仅执行部分】
getwindowsize
getwindowsize %VAR,%VAR
数字变量储存窗口宽度的变量
数字变量储存窗口高度的变量
获得窗口的client区域(除去菜单和边框,显示图像的部分)。默认值为640和480。
/
page top /
list /
mainVer.2.48【仅执行部分】
getzxc
getzxc
Ver.2.48【仅定义部分】
globalon
globalon
Ver.2.48【定义部分・执行部分两用】
gosub
gosub LABEL
标签跳转目的地
会调用标签指定的子程序。
通过return语句从子程序返回后,继续执行gosub后面一条语句。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
goto
goto LABEL
标签跳转目的地
跳转到相应的标签。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
humanorder
humanorder STR,NUM[,NUM]
字符串例如"rcl",则指定了"r","c","l"的顺序
数值效果编号效果数字超过2的话需要根据情况增加参数
指定立绘之间的优先顺序。
humanz /
page top /
list /
mainVer.非正式【定义部分・执行部分两用】
humanpos
humanpos NUM,NUM,NUM
数值指定了左立绘的基准x坐标
数值指定了中央立绘时的基准x坐标
数值指定了右立绘时的基准x坐标
设置立绘的基准x坐标。
这个命令设定的坐标是和立绘的正中对齐的。
默认值大约是160,320,480。
ld /
page top /
list /
mainVer.2.48【仅定义部分】
humanz
humanz NUM
数值立绘显示层的上层的精灵编号
指定立绘和精灵重叠的时候的优先顺序(Z轴顺序)。
指定编号的精灵将被绘制在立绘的上面。
默认值为25。
ld /
windowback /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
if
if CONDITION[{&&,&} CONDITION[...]] SENTENCE
条件表达式比较操作符、检查命令、返回布尔值的表达式
执行语句条件表达式为真的情况下执行的语句。
条件判断命令。使用格式如下。
if 条件式 ({&&,&} 条件式) 执行语句。
if命令对应条件成立的情况,notif对应条件不成立的情况,执行下面的命令。
对于不满足上面的条件的情况,这一行将被跳过。
&&和&意义相同,用于进一步缩小条件。
条件式以及数字,还有fchk函数都可以使用。
<条件式>
数字 {>,<,=,>=,<=,==,!=,<>} 数字
或者,
fchk 字符串
<,>,=,>=,<=如字面意思。
==和=是相同的意思,意味着「相等」!=和<>是相同的意思,意味着「不等」。
如果字符串指定的图像能够被读取的话fchk返回真。
※
ver.2.93中,仅有&运算没有|运算(OR运算)是允许的。但是&和|混合使用是不可以的。
例)if %0=1 quakex 2,500 ; 基本用法
例)if %0=1 && %2=5 end ; 两个条件均成立则执行
例)if %0=2 mov %1,1:skip 2 ; 使用:(冒号)执行两个指令
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
inc
inc %VAR
数字变量作为自增对象的变量
Ver.2.49【定义部分・执行部分两用】
indent
indent NUM
数值缩进的文字数
换行时文字会根据指定文字数向右缩进。
和pretextgosub组合起来的话,对话的时候换行时可以使用使文本向右进行缩进。
pretextgosub /
page top /
list /
mainVer.2.48【仅执行部分】
input
input $VAR,STR,STR,NUM,NUM
字符串获得输入结果的变量
字符串要显示的信息
字符串默认字符串
数值最大字符数
数值强制全角文字标志(0:允许半角,1:强制全角)
和inputstr一样显示一个输入文字的文本框。input命令可以设置默认的字符串。
最后一个数字是0或者1,为是否强制全角标志。
inputnum /
inputstr /
textfield /
page top /
list /
mainVer.非正式【仅执行部分】
inputnum
inputnum %VAR,NUM,NUM,NUM,NUM
数字变量储存输入结果的变量
字符串要显示的信息
数值窗口的宽度
数值窗口的高度
数值输入区域的宽度
数值输入区域的高度
显示一个输入数值的对话框。
字符串为要显示在对话框上的消息。
后四个参数可选,分别为窗口大小X,Y,文字输入框的大小X,Y。
input /
inputstr /
textfield /
page top /
list /
mainVer.2.48【仅执行部分】
inputstr
inputstr $VAR,STR,NUM,NUM[,NUM,NUM,NUM,NUM]
文字变量储存输入结果的变量
字符串要显示的信息
数值最大字符数
数值全角文字强制标志(0:允许半角文字,1:强制全角)
数值窗口的宽度
数值窗口的高度
数值输入区域的宽度
数值输入区域的高度
显示一个输入字符串的对话框。
字符串为要显示在对话框上的消息。
第一个参数为最大文字数,最后一个参数为全角标志,为1则强制全角文字。
后四个参数可选,分别为窗口大小X,Y,文字输入框的大小X,Y。
input /
inputnum /
textfield /
page top /
list /
mainVer.2.48【仅定义部分】
insertmenu
insertmenu STR,NAME[,NUM]
字符串作为菜单显示出来的字符串
名称预定功能代码
数值菜单的阶层
插入菜单。插入位置总是在开头。
例)insertmenu "结束",END
insertmenu "版本信息",VERSION
insertmenu "跳到下一个选择支",SKIP
insertmenu "自动模式",AUTO
insertmenu "环境设定",SUB
;SUB表示这个可以打开子菜单。。
insertmenu "字体",FONT,1
insertmenu "WAVE声音",SUB,1
insertmenu "ON",WAVEON,2
insertmenu "OFF",WAVEOFF,2
insertmenu "音量",DWAVEVOLUME,2
insertmenu "文字速度",SUB,1
insertmenu "慢速",TEXTSLOW,2
insertmenu "普通",TEXTMIDDLE,2
insertmenu "快速",TEXTFAST,2
insertmenu "画面",SUB,1
insertmenu "全屏",FULL,2
insertmenu "窗口模式",WINDOW,2
insertmenu "CD-DA",SUB,1
insertmenu "ON",CDON,2
insertmenu "OFF",CDOFF,2
insertmenu "单击设定",SUB,1
insertmenu "普通",CLICKDEF,2
insertmenu "翻页",CLICKPAGE,2
deletemenu /
killmenu /
resetmenu /
page top /
list /
mainVer.2.48【仅定义部分】
intlimit
intlimit NUM,NUM,NUM
数值数值变量编号
数值最小值
数值最大值
限制数字变量的值。超过最大值会被改为最大值,超过最小值会被改为最小值。
参数依次为数字变量编号,最小值,最大值。
/
page top /
list /
mainVer.2.48【仅执行部分】
isdown
isdown %VAR
数字变量储存判定结果的变量
将按键是否按下的结果写入到指定的变量中。
未按下返回0,按下则返回1。
例)*waitloop
btnwait %0
if %0=0 goto *onlclick
end
*onlclick
isdown %1
if %1=1 puttext "0/":goto *onlclick
puttext ""
goto *waitloop
Btndown /
page top /
list /
mainVer.2.48【仅执行部分】
isfull
isfull %VAR
数字变量结果的储存变量(0:通常,1:全屏)
获得当前是否处于全屏状态。
※
因为可以通过Alt+Enter键切换是否全屏,所以除此命令无法获得是否全屏。
例)isfull %0
if %0==0 menu_full
notif %0==0 menu_window
menu_full /
menu_window /
page top /
list /
mainVer.2.49【仅执行部分】
ispage
ispage %VAR
数字变量储存判定结果的变量
在textgosub命令被调用时,如果调用它的文字是处于换页等待的话返回1,
如果只是单纯地等待点击的话返回0。
textgosub /
page top /
list /
mainVer.2.48【仅执行部分】
isskip
isskip %VAR
数字变量储存结果的变量
现在为skipmode返回1,automode返回2,通常模式返回0。
※
在跳过已读文字打开时,在未读的文章部分会返回0。(by senzogawa)
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
itoa
itoa $VAR,NUM
文字变量代入结果的变量
数值要转换成字符串的数字
将数字转换为字符串。但是只是半角字符。
/
page top /
list /
mainVer.2.49【定义部分・执行部分两用】
itoa2
itoa2 $VAR,NUM
文字变量全角数字的储存变量
数值要转换的数值
和itoa命令相同都是把数值转换为字符串,但是此命令会转换成全角数字。显示的时候会变得方便。
itoa /
page top /
list /
mainVer.2.48【仅执行部分】
jumpb
jumpb
返回到上一个~记号处。
※
虽然脚本中没有~符号,但是如果注释中有~符号的时候,会跳转到该处,请注意。(by senzogawa)
(原文此处为乱码)
/
page top /
list /
mainVer.2.48【仅执行部分】
jumpf
jumpf
跳转到下一个~记号处。用于使用标签名太麻烦的场合。但是,由于不能用于构造多层结构,所以最好只用于能够预见跳转位置的情况。
※
虽然脚本中没有~符号,但是如果注释中有~符号的时候,会跳转到该处,请注意。(by senzogawa)
(原文此处为乱码)
例)jumpf
这句话将被跳过。
~
这句话将被显示。
/
page top /
list /
mainVer.2.48【仅执行部分】
kidokumode
kidokumode NUM
数值0:强制跳过、1:跳过已读
在跳过已读和强制跳过所有的模式之间切换。
kidokuskip /
page top /
list /
mainVer.2.48【仅定义部分】
kidokuskip
kidokuskip
使用此命令的话,「跳到下一个选项处」的时候会变成跳过已读文章。已读文章数据会被保存在文件中,如果改变了脚本的话,改变部分之后都会发生偏移。
已读文章的数据会被保存在「kidoku.dat」中。
kidokumode /
page top /
list /
mainVer.2.48【仅定义部分】
killmenu
killmenu NUM
数值要删去的菜单的位置
从左开始算,删除该位置的菜单。
然而,当第二次调用此命令时,由于之前的某一个菜单已经被删除,所以之后要根据新的位置来删除。
0为最左边的菜单,每向右前进一个增加1。
※
对于CD-DA,必须指定7才能删除它。
版本信息和结束编号为8和9。
中文版的NS删除字体菜单会导致字体信息溢出。
例)killmenu 7
killmenu 5
killmenu 4
killmenu 3
killmenu 2
killmenu 1
killmenu 0
deletemenu /
insertmenu /
resetmenu /
page top /
list /
mainVer.2.73【仅执行部分】
kinsoku
kinsoku {on,off}
列举on:进行禁止处理、off:不作禁止处理
kinsoku on则执行禁止处理。kinsoku off则不作禁止处理。
※
对正常文字显示和strsp均会起作用。 (by senzogawa)
strsp /
page top /
list /
mainVer.2.48【仅执行部分】
labelexist
labelexist %VAR,LABEL
数字变量确认结果(0:无、1:有)
标签要确认的标签
该标签存在的话则返回1,不存在则返回0.
例)labelexist %0,*message
if %0==1 gosub *message
gosub /
goto /
page top /
list /
mainVer.2.48【仅定义部分】
labellog
labellog
和文件记录相同的形式,获得标签的记录。
除了goto gosub等命令跳转的目的标签,脚本读取的标签全部都会记忆在其中。
/
page top /
list /
mainVer.2.48【仅执行部分】
layermessage
layermessage NUM,STR
数值在setlayer中指定的层数编号
字符串向layer发送的消息
向指定的layer发送任意的字符串消息。
layer可以通过此命令实现不同的效果。
以BOOL Message (char *message,int *returnint,char *returnstr);
的形式接收。
setlayer /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
lchk
lchk LABEL
标签欲读入确认的标签
和fchk命令相同、在if命令中使用。如果读取了此标签则返回真。
因为NScr的标签名(除此之外其他地方也是)可以用文字变量代替,所以
lchk *test
lchk "*test"
lchk $0
上述三者均为正确用法。
/
page top /
list /
mainVer.2.48【仅执行部分】
ld
ld {l,c,r},STR,EFFECT
列举立绘的显示位置(l:左、c:中央、r:右)
字符串文件名
效果显示立绘时所用效果
用于加载立绘。需要从左(l),右(r),正中(c)中选择一个。
请以字符串形式指定图像文件名。也可以使用标记。
cl /
effect /
humanz /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
len
len %VAR,STR
数字变量储存长度的变量
字符串待测字符串
Ver.2.48【仅定义部分】
linepage
linepage
将行末没有\的显示文章的换行视为换页。
在AVG中每次只想显示一行的时候可以省略最后的换行标志。
将此命令和@,\以及clickstr同时使用时候需要多多注意。
@ /
\ /
clickstr /
page top /
list /
mainVer.2.65【定义部分・执行部分两用】
linkcolor
linkcolor COLOR,COLOR
颜色值文字按钮的通常颜色
颜色值鼠标悬停时的颜色
linkcolor 鼠标离开时颜色,鼠标悬停时颜色
用于设定文字按钮的颜色。
默认是黄色和淡蓝色。
例)linkcolor #FFFF88,#88FF88
<> /
page top /
list /
mainVer.2.48【仅执行部分】
loadgame
loadgame NUM
数值存档编号
从对应编号的存档读取游戏。注意此命令并不会进行确认。
读取失败时不会有任何反应,而是直接执行下一条语句。
loadgosub /
page top /
list /
mainVer.2.48【仅定义部分】
loadgosub
loadgosub LABEL
标签紧接着读取后调用的子程序
指定读取存档后执行的子程序。
这个子程序会在恢复到保存状态之后立即被调用。
也就是说,这个子程序会在任何可以保存的情况下被调用,所以请仔细地设计这个子程序的脚本。
使用插件播放音乐的时候,读取存档后只能通过手动方式才能恢复到保存时状态,此命令是为应对这种情况而设置的。
/
page top /
list /
mainVer.2.48【仅执行部分】
locate
locate NUM,NUM
数值横位置(字符单位)
数值纵位置(字符单位)
改变文字的显示位置。单位是一个字符。而不是一个像素。
/
page top /
list /
mainVer.2.49【仅执行部分】
logsp
logsp NUM,STR,NUM,NUM[,COLOR[,COLOR[,...]]]
数值精灵编号
字符串使用getlog获得的字符串
数值显示位置的左上x坐标
数值显示位置的左上y坐标
颜色值日志文字颜色(默认值#FFFFFF)
颜色值鼠标悬停时的日志文字颜色(不指定:单分格)
从getlog获得文字中,将回想日志中的文字图像转化为精灵。
暂时将文字进行处理,作为以便之后的加工的考虑。
第一个参数是精灵编号,第二参数是回想日志的文字,第三第四参数为左上坐标,第五参数为指定的文字颜色(和原文字颜色无关的单色)。省略的话则为#FFFFFF,指定多个颜色的话,分别创建颜色数的分格。
例)logsp 8,$0,60,90
例)logsp 8,$0,60,90
例)logsp 8,$0,60,90,#888888,#FFFF88
getlog /
logsp2 /
page top /
list /
mainVer.2.49【仅执行部分】
logsp2
logsp2 NUM,STR,NUM,NUM,NUM,NUM,NUM,NUM[,COLOR[,COLOR[,...]]]
数值精灵编号
字符串使用getlog获得的字符串
数值显示位置的左上x坐标
数值显示位置的左上y坐标
数值显示文字宽度
数值显示文字高度
数值显示文字横向间隔
数值显示文字纵向间隔
颜色值日志文字颜色(默认值#FFFFFF)
颜色值鼠标悬停时的日志文字颜色(不指定:单分格)
logsp的升级版,能够指定文字的大小。
※
最后两个颜色制定并未得到官方确认。 (by senzogawa)
例)logsp2 2,$0,150,20,17,17,0,1
getlog /
logsp /
page top /
list /
mainVer.2.48【仅定义部分】
lookbackbutton
lookbackbutton STR,STR,STR,STR
字符串上方向选择状态的按钮图像
字符串上方向未选择状态的按钮图像
字符串下方向选择状态的按钮图像
字符串下方向未选择状态的按钮图像
加载回想模式用的按钮。
参数从左到右依次为上方向选择状态,上方向未选择状态,下方向选择状态,下方向未选择状态。
默认值为"uoncur.bmp","uoffcur.bmp","doncur.bmp","doffcur.bmp"。
图像大小不同的话会引发错误操作。
回想按钮无法执行动画效果。
回想按钮会贴近文本窗口的右端上下部分。
因为没办法调整位置,所以请使用透明的部分调整位置。
/
page top /
list /
mainVer.2.48【仅定义部分】
lookbackcolor
lookbackcolor
颜色值文字颜色
用于指定回想模式的文字颜色。
请指定HTML格式的颜色。
/
page top /
list /
mainVer.2.48【仅执行部分】
lookbackflush
lookbackflush
清空回想缓冲区。
/
page top /
list /
mainVer.2.48【仅执行部分】
lookbackoff
lookbackoff
停止向回想缓存中写入数据。
lookbackon命令用于再次开启写入。
lookbackon /
page top /
list /
mainVer.2.48【仅执行部分】
lookbackon
lookbackon
开始向回想缓存中写入数据。
此命令用于执行了lookbackoff后的复原。
lookbackoff /
page top /
list /
mainVer.2.48【仅定义部分】
lookbacksp
lookbacksp NUM,NUM
数值上方按钮的精灵编号
数值下方按钮的精灵编号
Ver.2.48【仅定义部分】
lookbackvoice
lookbackvoice
字符串翻页声音的WAVE文件名
在回想模式中,指定翻页时的wave文件名。
/
page top /
list /
mainVer.2.48【仅执行部分】
loopbgm
loopbgm STR,STR
字符串bgm开始部分的文件名
字符串循环部分的文件名
先播放起始部分的的文件,之后一直循环播放指定的循环部分的文件。
例)loopbgm "bgm_s.wav","bgm_l.wav"
/
page top /
list /
mainVer.2.48【仅执行部分】
loopbgmstop
loopbgmstop
停止循环演奏。
/
page top /
list /
mainVer.2.48【仅执行部分】
lr_trap
lr_trap LABEL
标签点击左键或者右键时跳转到的标签
lr_trap off
列举解除trap
同时对左右键起作用的trap命令。
/
page top /
list /
mainVer.2.48【仅执行部分】
lr_trap2
lr_trap2 LABEL
标签左右键点击和「跳到下一个选择支」时跳转的标签
lr_trap2 off
列举解除trap
对左右键点击和「跳到下一个选择支」起作用的trap命令。
/
page top /
list /
mainVer.2.49【仅执行部分】
lrclick
lrclick
等待左键点击或者右键点击。
返回的是左键点击或是右键点击可以使用getret来获得。
getret %0
0表示是右键点击,1为左键点击。
click /
getret /
page top /
list /
mainVer.2.48【仅执行部分】
lsp
lsp NUM,STR,NUM,NUM[,NUM]
数值精灵编号(0~255)
字符串图像文件或者精灵字符串
数值左上x坐标
数值左上y坐标
数值不透明度(0~255)
用于显示精灵。精灵的编号为0到49。
数字参数从第三个开始依次是X,Y坐标,字符串用于指定图像文件名。
lsp和lsph的不同点在于,最初精灵的显示状态不同。
最后一个数字为精灵的透明度。此参数可以省略。
lsp为显示状态,lsph为不显示状态。
※
实际上精灵的编号从0~999均可使用。(by senzogawa)
ver.2.93之后,在没有动画情况下,可以使用":c/2,0,3;"代替":c/2;"。
此外,文件名可以使用"宽,高,#颜色"指定的矩形代替。
lsph /
page top /
list /
mainVer.2.80【仅执行部分】
lsp2
lsp2 NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsp2命令是以显示状态,通常渲染
的方式读取到内存中。传递的参数是相同的。
lsp2 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。
例)lsp2 0,":c;test.bmp",320,240,100,200,36
amsp2 /
csp2 /
lsp2add /
lsph2 /
lsph2add /
msp2 /
vsp2 /
page top /
list /
mainVer.2.80【仅执行部分】
lsp2add
lsp2add NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsp2add是以显示状态,叠加渲染
的方式读取到内存中。传递的参数是相同的。
lsp2add 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。
例)lsp2add 0,":c;test.bmp",320,240,100,200,36
amsp2 /
csp2 /
lsp2 /
lsph2 /
lsph2add /
msp2 /
vsp2 /
page top /
list /
mainVer.2.93【仅执行部分】
lsp2sub
lsp2sub NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
这是一个扩展精灵载入命令。扩展指令,可以减去共混除了α值的变化和移动类似的正常子画面的中心旋转的图像,缩放和左和右颠倒。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行减去渲染。
lsp2sub为显示状态,以减去渲染
的方式读取到内存中。传递的参数是相同的。
lsp2sub 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。
例)lsp2sub 0,":c;test.bmp",320,240,100,200,36
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsph2 /
lsph2add /
lsph2sub /
msp2 /
vsp2 /
page top /
list /
mainVer.2.48【仅执行部分】
lsph
lsph NUM,STR,NUM,NUM[,NUM]
数值精灵编号(0~255)
字符串图像文件或者精灵字符串
数值左上x坐标
数值左上y坐标
数值不透明度(0~255)
用于显示精灵。精灵的编号为0到49。
数字参数从第三个开始依次是X,Y坐标,字符串用于指定图像文件名。
lsp和lsph的不同点在于,最初精灵的显示状态不同。
最后一个数字为精灵的透明度。此参数可以省略。
lsp为显示状态,lsph为不显示状态。
※
实际上精灵的编号可以从0~999均可使用。(by senzogawa)
LSP /
page top /
list /
mainVer.2.80【仅执行部分】
lsph2
lsph2 NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsph2是不显示状态,以通常
的方式读取到内存中。传递的参数是相同的。
lsp2 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。
例)lsph2 0,":c;test.bmp",320,240,100,200,36
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsph2add /
msp2 /
vsp2 /
page top /
list /
mainVer.2.80【仅执行部分】
lsph2add
lsph2add NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsph2add是以不显示状态,叠加渲染
的方式读取到内存中。传递的参数是相同的。
lsp2 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。
例)lsph2add 0,":c;test.bmp",320,240,100,200,36
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsph2 /
msp2 /
vsp2 /
page top /
list /
mainVer.非正式【仅执行部分】
lsph2sub
lsph2sub NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度
这是一个扩展精灵载入命令。扩展指令,可以减去共混除了α值的变化和移动类似的正常子画面的中心旋转的图像,缩放和左和右颠倒。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行减去渲染。
lsp2sub为显示状态,以减去渲染
的方式读取到内存中。传递的参数是相同的。
lsp2sub 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。
例)lsph2sub 0,":c;test.bmp",320,240,100,200,36
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsp2sub /
lsph2 /
lsph2add /
msp2 /
vsp2 /
page top /
list /
mainVer.2.93【仅定义部分】
luacall
luacall NAME
名称功能名(tag,text0,text,animation,close,end,savepoint,save,load)
NScripter的大多数默认动作,都可以用Lua函数来代替。
除了脚本中显示文字的功能,系统自定义也可以用Lua来实现。
指定的字符串不需要用""包含起来。此外,大写小写没有区别。
Lua方面的函数名为NSCALL_(指定字符串)。
Lua函数的参数和字符串,都分别和对应的功能的形式相同。
luasub /
page top /
list /
mainVer.2.93【仅定义部分】
luasub
luasub NAME
名称任意的命令名
用于define节的命令。
接受命令的名称,然后绑定到一个Lua函数NSCOM_(命令名称)上。
在执行了此命令之后,在以后的脚本中(00.txt~)使用func命令的话,
会调用Lua函数NSCOM_func()。
luasub定义的Lua函数既没有参数也没有返回值。
参数和返回值请参照手册中的函数配套使用。
※
此外,允许覆盖当前存在的指令。
例如执行了luasub bg命令之后,和原来的bg命令比起来,Lua的NSCOM_bg函数更为优先。
如果想使用原来的bg命令,请像对于使用defsub命令的时候一样用_bg来指明。
luacall /
page top /
list /
mainVer.2.49【仅定义部分】
maxkaisoupage
maxkaisoupage NUM
数值回想模式的最大页数
用于*define节的命令。设置回想模式的最大页数。
/
page top /
list /
mainVer.2.48【仅执行部分】
menu_click_def
menu_click_def
回到默认的文字显示模式。
/
page top /
list /
mainVer.2.48【仅执行部分】
menu_click_page
menu_click_page
回到一页显示模式。
/
page top /
list /
mainVer.2.48【仅执行部分】
menu_dwavvol
menu_dwavvol
Ver.2.48【仅执行部分】
menu_full
menu_full
调整至全屏模式。
例)isfull %0
if %0==0 menu_full
notif %0==0 menu_window
isfull /
menu_window /
page top /
list /
mainVer.2.48【仅执行部分】
menu_window
menu_window
调整为窗口模式。
例)isfull %0
if %0==0 menu_full
notif %0==0 menu_window
isfull /
menu_full /
page top /
list /
mainVer.2.48【仅定义部分】
menuselectcolor
menuselectcolor COLOR,COLOR,COLOR
颜色值鼠标悬停在项目时的颜色
颜色值鼠标未悬停在项目时的颜色
颜色值没有存档文件时的颜色
指定右键弹出菜单模式时菜单的颜色。
参数依次为,鼠标悬停颜色,鼠标未悬停颜色,没哟存档文件时的颜色。
/
page top /
list /
mainVer.2.48【仅定义部分】
menuselectvoice
menuselectvoice STR,STR,STR,STR,STR,STR,STR
字符串打开菜单的声音
字符串取消菜单的声音
字符串鼠标和菜单选项重叠的时候声音
字符串点击菜单选项时的声音
字符串无法执行的操作时的声音
字符串选择「是」时的声音
字符串选择「否」时的声音
指定菜单选项以及其他系统音的声音文件。
参数依次为,打开菜单,取消菜单,鼠标和菜单选项重叠,点击菜单选项,无法执行操作,选择是,选择否,时候的声音。
此外,如果应该为wave文件的地方为""的话,什么声音都不会播放。
默认值全部都是""。
/
page top /
list /
mainVer.2.48【仅定义部分】
menusetwindow
menusetwindow NUM,NUM,NUM,NUM,NUM,NUM,COLOR
数值文字宽度
数值文字高度
数值文字X方向间隔
数值文字Y方向间隔
数字粗体标志(0:普通,1:粗体)
数值阴影标志(0:无阴影、1:阴影)
颜色值窗口颜色
设置菜单的窗口。
菜单的窗口总是填满窗口,降低后面的元素的亮度。
从左至右依次为,文字大小X,文字大小Y,字间距X,字间距Y,粗体标志(1(粗体)0(普通)),阴影标志(1(阴影)0(无)),最后一个参数为窗口颜色。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mesbox
mesbox STR,STR
字符串要显示的信息
字符串标题
显示一个消息框。
第一个参数为内容,第二个参数为窗口标题。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mid
mid $VAR,STR,NUM,NUM
文字变量结果字符串储存变量
字符串待处理的字符串
数值要截取的字符串的首字符位置
数值截取的字符数
截取某个字符串的子串。
例)mid $0,$1,%0,%1
例)mid $0,$1,0,5
len /
page top /
list /
mainVer.2.48【仅执行部分】
minimizewindow
minimizewindow
Ver.2.48【定义部分・执行部分两用】
mod
mod
数字变量要被运算的数值
数值运算数值
求此变量除以此数的余数。
※
在表达式中使用这个命令的时候空格需使用半角。
mov %0,%1 mod 2
/
page top /
list /
mainVer.2.48【仅定义部分】
mode_ext
mode_ext
这是为商用游戏「銀色」所开发的命令。
执行了这个命令之后,「自动模式」会加入到菜单中。
自动模式是类似于「跳到下一个选择支」,但语音未播放完之前
并不会前进。当没有语音的时候,可以根据之后的automode_time命令
决定等待多少时间。
这便是所谓的阅读模式。
菜单中的音量变更命令
现在能够使用。 (MP3(BGM) voice(DWAVE 0) SE(DWAVE 1~)的音量
现在已经可以使用。 )
对于此命令扩展功能的增加,预定计划是增加更清晰的命令。
(现在是一个有效的命令,将来也会继续使用。)
/
page top /
list /
mainVer.2.48【仅定义部分】
mode_saya
mode_saya
为同人游戏「莢~背徳の迷宮~」开发所增加的命令。执行此命令后,会启动莢模式。在"莢"模式下,当文字窗口消失的时候,0~9号精灵无论显示与否都会变成不显示状态。•在文字窗口关闭的时候,下面声明的长条和显示的数字都会隐藏。这两点可以用于想隐藏文字窗口的同时隐藏「状态窗口」。
/
page top /
list /
mainVer.2.48【仅定义部分】
mode_wave_demo
mode_wave_demo
通常情况下,跳到下一个选择支时,是不会播放声音的,但是执行了mode_wave_demo命令之后则会播放声音。
/
page top /
list /
mainVer.2.48【仅定义部分】
mode320
mode320
设置画面大小为320X240。
此命令比较特殊,必须在0.txt的第一行(*define标签之前)的内容之前书写。
※
使用此命令更改窗口大小时,文本窗口会保持640x480的大小。
有必要使用setwindow命令调整文字窗口的大小以匹配窗口大小。
mode400 /
mode800 /
value /
page top /
list /
mainVer.2.48【仅定义部分】
mode400
mode400
设置画面大小为400X300。
此命令比较特殊,必须在0.txt的第一行(*define标签之前)的内容之前书写。
※
使用此命令更改窗口大小时,文本窗口会保持640x480的大小。
有必要使用setwindow命令调整文字窗口的大小以匹配窗口大小。
mode320 /
mode800 /
value /
page top /
list /
mainVer.2.48【仅定义部分】
mode800
mode800
设置画面大小为800X600。
此命令比较特殊,必须在0.txt的第一行(*define标签之前)的内容之前书写。
此外可以指定为400,320。
※
使用此命令更改窗口大小时,文本窗口会保持640x480的大小。
有必要使用setwindow命令调整文字窗口的大小以匹配窗口大小。
mode320 /
mode400 /
value /
page top /
list /
mainVer.2.48【仅执行部分】
monocro
monocro COLOR
颜色值基调色
monocro off
列举用于解除状态
以设定的颜色为基调让画面成为单色模式。
但是,文本窗口和光标不受此影响。
monocro off命令用于退出单色状态。
/
page top /
list /
mainVer.2.96【仅执行部分】
mosaicin
mosaicin NUM,NUM,NUM
数值马赛克的最大尺寸
数值分割数
数值时间(毫秒)
马赛克效果的新版本,和已有的马赛克变换效果相比,更加精细,修正了全屏时的bug。
和变换效果不同是一个单独实现的命令。
执行此命令之后VRAM的不稳定状态这一作用依旧,所以有必要转移到其他的画面上。
※
很遗憾貌似effectcut(跳过效果)对此命令无效。(by senzogawa)
effectcut /
mosaicout /
page top /
list /
mainVer.2.96【仅执行部分】
mosaicout
mosaicout NUM,NUM,NUM
数值马赛克的最大尺寸
数值分割数
数值时间(毫秒)
马赛克效果的新版本,和已有的马赛克变换效果相比,更加精细,修正了全屏时的bug。
和变换效果不同是一个单独实现的命令。
执行此命令之后VRAM的不稳定状态这一作用依旧,所以有必要转移到其他的画面上。
※
很遗憾貌似effectcut(跳过效果)对此命令无效。(by senzogawa)
effectcut /
mosaicin /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mousecursor
mousecursor STR
字符串鼠标光标文件
读取Windows的光标文件(*.cur),作为游戏的鼠标光标。
/
page top /
list /
mainVer.2.93【仅执行部分】
mousemode
mousemode NUM
字符串鼠标光标显示标志(0:不显示,1:显示)
mousemode 0为消除鼠标光标,mousemode 1为显示鼠标光标。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov
mov %VAR,NUM
数字变量要代入的变量
数值代入的数值
mov $VAR,STR
文字变量要代入的变量
字符串代入的字符串
将值代入到变量中。
※
在定义部分代入的局部变量的值在执行部分会因为初始化而丢失,无法使用。
除了在执行部分代入值到相应变量中,也可以使用全局变量。by senzogawa
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov10
mov10 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让10个值赋值到连续10个变量的简便方法。
※
此命令对文字变量不适用。(by senzogawa)
例)mov10 %3,2,4,6,8,10,12,14,16,18,20
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;mov %7,10
;mov %8.12
;mov %9,14
;mov %10.16
;mov %11,18
;mov %12,20
;等效
mov /
mov3 /
mov4 /
mov5 /
mov6 /
mov7 /
mov8 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov3
mov3 %VAR,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让3个值赋值到连续3个变量的简便方法。
类似的命令有,"mov4" "mov5" "mov6" "mov7" "mov8" "mov9" "mov10" 。
分别是方便为4,,5,6,7,8,9,10个变量赋值用。
※
此命令对文字变量不适用。(by senzogawa)
例)mov3 %3,2,4,6
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;等效
mov /
mov10 /
mov4 /
mov5 /
mov6 /
mov7 /
mov8 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov4
mov4 %VAR,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让4个值赋值到连续4个变量的简便方法。
※
此命令对文字变量不适用。(by senzogawa)
例)mov4 %3,2,4,6,8
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;等效
mov /
mov10 /
mov3 /
mov5 /
mov6 /
mov7 /
mov8 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov5
mov5 %VAR,NUM,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让5个值赋值到连续5个变量的简便方法。
※
此命令对文字变量不适用。(by senzogawa)
例)mov5 %3,2,4,6,8,10
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;mov %7,10
;等效
mov /
mov10 /
mov3 /
mov4 /
mov6 /
mov7 /
mov8 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov6
mov6 %VAR,NUM,NUM,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让6个值赋值到连续6个变量的简便方法。
※
此命令对文字变量不适用。(by senzogawa)
例)mov6 %3,2,4,6,8,10,12
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;mov %7,10
;mov %8.12
;等效
mov /
mov10 /
mov3 /
mov4 /
mov5 /
mov7 /
mov8 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov7
mov7 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让7个值赋值到连续7个变量的简便方法
※
此命令对文字变量不适用。(by senzogawa)
例)mov7 %3,2,4,6,8,10,12,14
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;mov %7,10
;mov %8.12
;mov %9,14
;等效
mov /
mov10 /
mov3 /
mov4 /
mov5 /
mov6 /
mov8 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov8
mov8 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
只是方便将8个值依次赋值到变量中的命令。
※
此命令对文字变量不适用。(by senzogawa)
例)mov8 %3,2,4,6,8,10,12,14,16
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;mov %7,10
;mov %8.12
;mov %9,14
;mov %10.16
;等效
mov /
mov10 /
mov3 /
mov4 /
mov5 /
mov6 /
mov7 /
mov9 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mov9
mov9 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM
数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
从最初的数字变量开始依次代入数值。
简单的说,这是一个让9个值赋值到连续9个变量的简便方法。
※
此命令对文字变量不适用。(by senzogawa)
例)mov9 %3,2,4,6,8,10,12,14,16,18
;这个和
;mov %3,2
;mov %4.4
;mov %5,6
;mov %6,8
;mov %7,10
;mov %8.12
;mov %9,14
;mov %10.16
;mov %11,18
;等效
mov /
mov10 /
mov3 /
mov4 /
mov5 /
mov6 /
mov7 /
mov8 /
page top /
list /
mainVer.2.48【仅执行部分】
movemousecursor
movemousecursor NUM,NUM
数值移动目的地的x坐标
数值移动目的地的y坐标
将鼠标移动到画面的任意位置。
/
page top /
list /
mainVer.2.49【仅执行部分】
movie
movie 'stop'|STR[,'pos',NUM,NUM,NUM,NUM][,'click'][,'loop'][,'async']
字符串文件名
数值动画的左上坐标
数值动画的右上坐标
数字动画显示的宽
数值动画显示的高
这是代替mpegplay命令,预定成为下一代主要预定的动画播放命令。
可以使用以下的组合。
movie "文件名" ;单纯地播放到结尾。点击无法跳过。
movie "文件名",pos,10,20,320,240 ;以左上角坐标10,20 大小为320x240的模式播放
movie "文件名",click ;点击的时候会停止播放(async时无效)
movie "文件名",loop ;循环播放(请注意指定为async或是没有指定click的时候动画将无法停止。)
movie "文件名",async ;异步播放。此命令会在开始播放动画之后,回到NScripter中,继续处理脚本动作,同时播放动画。动画通常会在最前面。所以字不会出现在上面(不可能用这个来做字幕)。
movie stop ;使用async的时候,停止异步播放的动画
※
播放停止之后图像会残留在画面上。
之后,残留图像会作为无效区域,使用print命令可以从残留图像变化到视频播放之前的图像去。
例)movie "test.mpg",pos,10,20,320,240,async,loop
wait 30*1000
movie stop
例)movie "test.mpg",click
print 10,1000
mpegplay /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
movl
movl ARRAY,NUM[,NUM[,...]]
数组要代入的数组
数值代入的数值
将值代入一个数组。
例)dim ?10[4]
movl ?10,0,1,2,3,4
例)dim ?20[2][3]
movl ?20[0],0,1,2,3
movl ?20[1],0,2,4,6
movl ?20[2],0,3,6,9
/
page top /
list /
mainVer.2.48【仅执行部分】
mp3
mp3 STR
字符串MP3文件名
在有mp3dec.dll的情况下,可以使用此命令来播放mp3文件。
mp3只会播放一次。
和wave命令同时使用并不会出现问题。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mp3fadein
mp3fadein NUM
数值效果时间(毫秒)
与bgmfadeout格式相同,指定淡入淡出效果的时间。
bgmfadeout /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mp3fadeout
mp3fadeout NUM
数值效果时间(毫秒)
指定BGM淡出的时间。
定义部分和执行部分都可以使用。
bgmfadein /
page top /
list /
mainVer.2.48【仅执行部分】
mp3loop
mp3loop STR
字符串MP3文件名
在有mp3dec.dll的情况下,可以使用此命令来播放mp3文件。
mp3loop命令会循环播放声音。
和wave命令同时使用并不会出现问题。
/
page top /
list /
mainVer.2.48【仅执行部分】
mp3save
mp3save
和mp3命令一次播放类似,只是播放中可以暂停然后继续播放。
/
page top /
list /
mainVer.2.48【仅执行部分】
mp3stop
mp3stop
停止播放压缩音乐文件。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mp3vol
mp3vol NUM
数值音量(0~100)
改变bgm的音量。对bgm命令和mp3命令均有效。
※
音量值不会自动保存,请手动管理。
play命令不受此影响。(by senzogawa)
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
bgmvol /
chvol /
sevol /
voicevol /
page top /
list /
mainVer.2.48【仅执行部分】
mpegplay
mpegplay STR,NUM
字符串文件名
数值可否中断标志(0:播放到最后、1:点击中断)
用DirectShow方式播放指定的文件。
当中断标志为0的时候即使单击鼠标也不会停止播放。
当该标志为1时,点击画面的时候会停止播放。
要使用这个命令,系统需要支持DirectX8.0a或者更高。
(低版本的DirectX也许能够播放,但不在支持范围之内。)
/
page top /
list /
mainVer.2.48【仅执行部分】
msp
msp NUM,NUM,NUM[,NUM]
数值精灵编号(0~255)
数值X方向增量
数值Y方向增量
数值不透明度增量
移动指定的精灵。参数依次为,X方向,Y方向,透明度的增加值。
此外,所有的精灵处理的命令,只是内在地重新改变图像,并未反映在画面上。(这样是为了高速化的处理图像)
在使用其他图像命令,或者文字显示命令之前,一定要使用print命令将他们实际显示出来。
amsp /
page top /
list /
mainVer.2.80【仅执行部分】
msp2
msp2 NUM,NUM,NUM,NUM,NUM,NUM[,NUM]
数值扩展精灵编号
数值中心X增量
数值中心Y增量
数值X扩大率增量
数值Y扩大率增量
数值旋转角增量
数值不透明度增量
扩展精灵移动命令。msp2命令是根据当前值变化,而amsp2是指定绝对值。
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsph2 /
lsph2add /
vsp2 /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
mul
mul %VAR,NUM
数字变量要被运算的数值
数值运算数值
将变量乘上数值。
/
page top /
list /
mainVer.2.48【仅执行部分】
mv
mvNUM:
数值声音文件编号
播放voice\指定的数字.mp3的语音文件。
/
page top /
list /
mainVer.2.48【仅执行部分】
nega
nega NUM
数值显示方式标志(0:取消反转、1:monocro优先、2:nega优先)
指定1和2的话,颜色会反转。
1的话是以monocro优先。试验一下就能明白。
数字0的话则不会反转颜色。
nega命令和monocro命令并不会更改实际的画面。
请在之后使用print命令变换实际画面。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
next
next
表明for语句块的结束。详细情况请参看for命令的说明。
for /
page top /
list /
mainVer.2.80【仅执行部分】
nextcsel
nextcsel %VAR
数字变量接受结果变量(0:下一行不是csell,1:csel)
下一条指令为csel则返回1。在不清除文字的情况下显示选择支的时候使用。
*customsel /
csel /
page top /
list /
mainVer.非正式【仅定义部分】
noloaderror
noloaderror
bg或者bgm命令不存在对应文件的情况下不会强制停止,而是单纯的无视这条命令。
bg /
bgm /
ld /
page top /
list /
mainVer.2.48【仅定义部分】
noteraseman
noteraseman
Ver.2.48【定义部分・执行部分两用】
notif
notif CONDITION[{&&,&} CONDITION[...]] SENTENCE
条件表达式比较操作符、检查命令、返回布尔值的表达式
执行语句条件表达式为真的情况下执行的语句。
条件判断命令。使用格式如下。
notif 条件式 ({&&,&} 条件式) 执行部分
if命令对应条件成立的情况,notif对应条件不成立的情况,执行下面的命令。
对于不满足上面的条件的情况,这一行将被跳过。
&&和&意义相同,用于进一步缩小条件。
条件式以及数字,还有fchk函数都可以使用。
<条件式>
数字 {>,<,=,>=,<=,==,!=,<>} 数字
或者,
fchk 字符串
例)notif %0=1 quakex 2,500
/
page top /
list /
mainVer.2.48【仅定义部分】
nsa
nsa
使用NSA存档模式。
用于读取读取用nsaarc.exe压缩而成的arc.nsa内的文件。dll等不会被包含其中。
nsa文件请和NScripter放在同一个文件夹中。
bmp文件会在存档化的时候进行压缩。所以可以直接使用未压缩的bmp文件。
NScripter在处理NSA中的bmp文件的过程经过了优化,能够提高性能。在NSA中以bmp形式处理图像文件的时候,不要插入中间的其他文件。
为了减少压缩时间将巨大的存档文件分割管理的话会比较方便。可以将分割成arc.nsa,arc1.nsa,arc2.nsa~arc9.nsa一共10个压缩包。
在这种情况下会按照上面的顺序搜索。
/
page top /
list /
mainVer.2.48【仅定义部分】
nsadir
nsadir STR
字符串读取nsa文件的目录名
指定读取nsa文件的目录。
/
page top /
list /
mainVer.2.48【仅定义部分】
numalias
numalias NAME,NUM
名称代替数值的名称
数值被代替的数值
为数字设置别名。此后,需要代替这个数字的时候,可以用此别名来实现。
此外,将别名代入变量的时候,此值会保持不变。之后尽管变量的值会改变,但是别名的值并不会改变。
别名的名称,和C语言的变量命名方式是相同的。也就是说,第一个字符为英文或者_(半角下划线),第二个字符之后可以为数字,英文,或者_。但是,不区分大小写。
例)numalias ef_lshutter,2
; 至此之后,ef_lshutter代替了2。
; 比如bg "test.bmp",ef_lshutter中,和bg "test.bmp",2相同。
例)numalias akari_love,0
; 之后%akari_love和%0具有相同意义。
; 例如,add %akari_love,10等同于%0加上10。
/
page top /
list /
mainVer.2.48【仅执行部分】
ofscpy
ofscpy
将blt命令绘制的图像传送到offscreen缓存中。
解释:
blt命令处理完成之后想进行任何效果的时候,使用此命令将现在的状态
复制到offscreen缓存中。
执行了这个命令之后,后面的效果才能够正确地执行。
保存或者载入存档并不会保留或恢复缓存内容。用于到最后的连接的命令。
无论是blt命令,还是ofscpy命令,都是为了进行高速DEMO处理(AIR使用的)
而设计出来的特殊命令,使用方式稍微有些难,请见谅。
例)btndef "~"
;预先读入动画图像。
bg ~
ld c,~
;至此为止为普通的图像命令,普通地运动。
resettimer
blt ~
waittimer 100
blt ~
waittimer 100
;如此,可以高速地处理图像。
;从blt处理切换到普通图像命令的时候,需要在之前使用ofscpy命令。
ofscpy
bg ~
;之后是普通处理方式。
bg ~
ld c,~
blt /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
okcancelbox
okcancelbox %VAR,STR,STR
数字变量1为确定ok,0为取消cancel
字符串显示的文字
字符串对话框的标题
显示一个Windows的OK/Cancel对话框,获得用户输入并代入到变量中。
例)okcancelbox %0,"要保存吗?","保存确认"
yesnobox /
page top /
list /
mainVer.2.48【仅执行部分】
play
play STR
字符串MIDI文件名,或者CD音轨编号
播放MIDI文件或者CD。
指定文件名则播放对应midi文件,指定"*数字"的形式则播放对应的CD音轨。
play会循环播放文件。
/
page top /
list /
mainVer.2.48【仅执行部分】
playonce
playonce STR
字符串MIDI文件名,或者CD音轨编号
播放MIDI文件或者CD。
指定文件名则播放对应midi文件,指定"*数字"的形式则播放对应的CD音轨。
playonce只会播放一次。
/
page top /
list /
mainVer.2.48【仅执行部分】
playstop
playstop
停止CD或者midi的播放。
/
page top /
list /
mainVer.2.49【仅定义部分】
pretextgosub
pretextgosub LABEL
标签显示文字之前调用的子程序的标签
在显示文字之前调用相应的子程序。
通过使用pretextgosub命令,可以将显示文字之前的「标签」提取出来。
「标签」为「[」和「]」括起来的部分。
例)
[太郎/0001.wav]要显示的文字。
例)pretextgosub *pretext_lb
例)pretextgosub *pretext_lb
*pretext_lb
dwavestop 0
gettag $0,$1
if $0="" indent 0:goto *next_tag
mov $2,$0
add $2,"/"
puttext $2
;↑只有单独的名称的话puttext输出文字则会换行,
;在末尾加上/的话则不会换行。
indent 3
;指定台词的缩进
*next_tag
if $1="" return
dwave 0,$2
;播放语音
return
gettag /
indent /
page top /
list /
mainVer.2.48【仅执行部分】
print
print EFFECT
效果显示的效果
以某种效果重绘屏幕。
要指定效果,有下面两种方法。
1)只有一个参数
0…没有任何效果,直接显示内存中的效果
1…瞬时显示
其他…调用在effect命令中定义的效果。
2)直接指定效果
指定的参数与传给effect的参数相同。
例)bg "test.jpg",0
ld c,"testman.jpg",1
cl c,3
例)bg "test.jpg",10,1000
ld l,"testman.jpg",15,2000,"mask.bmp"
effect /
page top /
list /
mainVer.2.48【仅执行部分】
prnum
prnum NUM,NUM,NUM,NUM,NUM,NUM,COLOR
数值数值标签编号
数值现在值
数值显示位置的左上x坐标
数值显示位置的左上y坐标
数值文字宽度
数值文字高度
颜色值文字颜色
设定数值标签显示。会以指定的形式和指定的位置显示这个数字。
值为三位数字,也就是说预订是从0~999。
在指定了之后如果不使用print命令执行显示处理的话,是不会反应到画面上的。
bar和prnum是为「莢」这款游戏增加的命令,即使不处于mode_saya下也可以使用。
将来有可能增加其他容易使用的命令。
※
ver.2.93之后不推荐使用。似乎使用时的效果取决于当前的版本。
/
page top /
list /
mainVer.2.48【仅执行部分】
prnumclear
prnumclear
清除数值标签的设定。
/
page top /
list /
mainVer.2.48【仅执行部分】
puttext
puttext STR
字符串要显示的字符串
显示这个字符串。仅限于在if命令中,想显示文字的时候可以使用这个命令。
使用puttext的时候,无法使用显示变量(使用特殊字符$和%)的功能。
/
page top /
list /
mainVer.2.48【仅执行部分】
quake NUM,NUM
数值振幅(像素)
数值时间(毫秒)
由于之前的quakex以及quakey命令对电脑性能消耗大,在之前的配有独立显卡的笔记本上运行有延迟现象的原因,新制作这个命令。应该能在速度比较慢的机器上良好运行。
/
page top /
list /
mainVer.2.48【仅执行部分】
quakex
quakex NUM,NUM
数值振幅(像素)
数值时间(毫秒)
横向摇动画面。参数依次为振幅和执行时间(毫秒)。
/
page top /
list /
mainVer.2.48【仅执行部分】
quakey
quakey NUM,NUM
数值振幅(像素)
数值时间(毫秒)
纵向摇动画面。参数依次为振幅和执行时间(毫秒)。
/
page top /
list /
mainVer.2.55【仅执行部分】
r_trap
r_trap LABEL
标签点击右键时的跳转标签
r_trap off
列举解除trap
监视右键点击,如果点击了右键的话会跳转到指定标签。
跳转至后会自动解除trap。
使用r_trap命令可以解除trap。
对右键点击做出反应的命令还有trap和lrtrap。
※
在ver2.75版本中,对左键单击也会起作用。
(by senzogawa)
lr_trap /
trap /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
readfile
readfile $VAR,STR
文字变量储存文件内容的变量
字符串读取对象文件名
将文件内容读取到文字变量中。
※
也会读取CRLF(\x0d\x0a)(换行回车符)。
此外由于不能使用必要运算符的缘故,在读取多行文字时,需要舍去最后两个字节的内容。
此外,因为此命令读取的文件并不会记录到日志中,所以fchk命令无法判断是否读取。
(by senzogawa)
split /
page top /
list /
mainVer.2.48【仅执行部分】
repaint
repaint
重绘画面。如果画面变得异常,可以使用这个命令重绘。
/
page top /
list /
mainVer.2.48【仅执行部分】
reset
reset
重置游戏,返回到最开始。
例)yesnobox %0,"确定要重置所有的一切吗?","确认重置"
if %0==1 reset
*start /
page top /
list /
mainVer.2.48【仅定义部分】
resetmenu
resetmenu
声明使用自定义菜单。之后可以通过insertmenu来插入新的菜单。
deletemenu /
insertmenu /
killmenu /
page top /
list /
mainVer.2.48【仅执行部分】
resettimer
resettimer
将内部计时器置0。此计时器使用毫秒作为单位。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
return
return [LABEL]
标签返回时到达标签
从子程序返回。
请和gosub命令配合使用。
※
return允许指定返回标签功能从Ver.2.67开始加入。
/
page top /
list /
mainVer.非正式【仅定义部分】
rgosub
rgosub LABEL
标签右键单击时跳转到的子程序标签
设置右键点击时调用的子程序。
进行游戏的时候玩家点击右键的时候,会用gosub命令跳转到设定好的标签。
使用return命令后,会回到原来的等待点击的状态。
※
systemcall功能不起作用。(by BBS)
rmenu /
page top /
list /
mainVer.2.48【仅定义部分】
rlookback
rlookback
点击右键的时候,进入回想模式。
/
page top /
list /
mainVer.2.48【仅定义部分】
rmenu
rmenu STR,{skip,reset,save,load,lookback,windowerase}[,...]
字符串显示在右键菜单中的字符串
列举与上一个字符串对应的功能的名称
按下右键的话,会打开一个菜单。
字符串表示显示的选项,功能是从定义好的功能中选择。
固定的系统菜单功能
skip…和「跳到下一个选择支」功能相同
reset…重设游戏。
save…出现一个保存菜单。
load…出现一个读取菜单。
lookback…进入回想模式。
windowerase…清除窗口。
例)rmenu "保存",save,"读取",load,"回想",lookback
/
page top /
list /
mainVer.2.48【仅执行部分】
rmode
rmode NUM
数值右键单击有效标志(0:无效,1:有效)
可以暂时设置右键无效或者有效。
数字为1(ON)0(OFF)的标志。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
rnd
rnd %VAR, NUM
数字变量随机数储存变量
数值随机数的最大值加1的值
为变量分配一个随机数。
生成从0~(第二个参数-1)的数。
※
第二个参数为0的时候会引发强制退出。(by senzogawa)
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
rnd2
rnd2 %VAR,NUM,NUM
数字变量随机数储存变量
数值随机数的最小值
数值随机数的最大值
产生一个从数字1到数字2的随机数,赋值到变量中。
/
page top /
list /
mainVer.2.48【仅定义部分】
roff
roff
按下右键时不做任何反应。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
rubyoff
rubyoff
Ver.2.48【定义部分・执行部分两用】
rubyon
rubyon [NUM,NUM[,STR]]
数值注音的横向大小(默认为文字大小一半)
数值注音的纵向大小(默认为文字大小一半)
字符串注音的字体
开启注音模式。可以给文字注音。
例)rubyon
例)rubyon 10,8
例)rubyon 14,12,"MS ゴシック"
rubyoff /
page top /
list /
mainVer.2.80【仅执行部分】
rubyon2
rubyon2 NUM,NUM
数值注音大小X
数值注音大小Y
仅在某一行需要注音的情况下转为注音模式。(ADV形式でのclickpageとの併用を想定してます)。
rubyoff /
rubyon /
page top /
list /
mainVer.2.49【仅定义部分】
savedir
savedir STR
字符串保存数据的目录名称
指定存档数据的保存目录。
※
只能建立在与nscr.exe和envdata相同的目录中。
储存文件夹需要预先建立。
savegame /
page top /
list /
mainVer.2.48【仅执行部分】
savefileexist
savefileexist %VAR,NUM
数字变量储存结果的变量(0:不存在,1:存在)
数值存档编号
存档文件存在的话返回1,否则返回0。
/
page top /
list /
mainVer.2.48【仅执行部分】
savegame
savegame NUM
数值存档编号
保存游戏到指定的编号。注意此命令不会有任何确认。
/
page top /
list /
mainVer.2.60【仅执行部分】
savegame2
savegame2 NUM,STR
数值存档编号
字符串需要一起保存的字符串
在保存存档时将固定的字符串保存至其中。
之后和savegame命令相同。
例)savegame2 12,"8月5日 女主A线"
getsavestr /
savegame /
page top /
list /
mainVer.2.48【仅定义部分】
savename
savename STR,STR,STR
字符串保存菜单的标题
字符串读取菜单的标题
字符串存档的名字
可以指定存档文件的名字。
从左至右,分别为保存菜单顶部文字,读取菜单顶部文字,以及存档名字。
默认情况下,这三个值分别为"<保存>""<读取>""<书签>"
这些值请全部设定为全角文字。
/
page top /
list /
mainVer.2.48【仅定义部分】
savenumber
savenumber NUM
数值最大存档数
修改存档的最大值。最大值可为20。默认值是9。
当使用menusetwindow改变菜单,从画面跳转到存档界面时,如果存档个数超过了屏幕高度,可能会导致程序崩溃。
menusetwindow /
page top /
list /
mainVer.2.48【仅执行部分】
saveoff
saveoff
关闭保存模式。
并不是意味着无法保存,只是将读取之后的位置作为了最后使用saveon命令的位置。
在处于saveon的时候,NS会将精灵工作的数据写入到存档数据中,有时候可能会影响程序的性能。
当进行毫秒单位级的精灵动画操作的时候,使用saveoff命令可以使命令执行得更快。
/
page top /
list /
mainVer.2.48【仅执行部分】
saveon
saveon
开启由saveoff命令关闭的保存模式。
/
page top /
list /
mainVer.2.93【仅执行部分】
savepoint
savepoint
更新保存点。
(在定义部分)
autosaveoff
执行了此命令之后,saveon/saveoff命令将被无视。
(输出文字的开始的savepoint永远都是一直起作用的。)。
在显示文字起始部分以外的地方保存的话(比如click map等),请使用savepoint命令。由于执行时机的原因,有可能无法重现之前的数据。所以在需要将之前读入的画面全部恢复出来需要耗费一定的精力。
autosaveoff /
saveoff /
saveon /
page top /
list /
mainVer.2.48【仅执行部分】
savescreenshot
savescreenshot STR
字符串要保存的文件名
以指定的文件名保存屏幕截图。
与此同时,会删除内存中记录的图像。
想要继续使用内存中的图像的话请使用savescreenshot2命令。
例)savescreenshot "thumb01.bmp"
deletescreenshot /
getscreenshot /
savescreenshot2 /
page top /
list /
mainVer.2.48【仅执行部分】
savescreenshot2
savescreenshot2 STR
字符串要保存的文件名
以指定的文件名保存屏幕截图。
不会删除内存中的图像。
如果想删除获得的内存中的截图的话,请使用deletescreenshot命令。
例)savescreenshot "thumb01.bmp"
deletescreenshot /
getscreenshot /
savescreenshot /
page top /
list /
mainVer.2.48【仅执行部分】
savetime
savetime NUM,%VAR,%VAR,%VAR,%VAR
数值存档编号
数字变量保存时获得月数的变量
数字变量保存时获得日数的变量
数字变量保存时获得小时数的变量
数字变量保存时获得分钟数的变量
从存档中获得保存时的月,日,小时,分。
存档文件不存在时会月的值会被写为0。
例)savetime 3,%0,%1,%2,%3
if %0=0 goto *non
存档3时间为%0月%1日%2时%3分@
end
*non
存档3不存在。@
end
/
page top /
list /
mainVer.2.48【仅执行部分】
select
select STR,LABEL[,STR,LABEL[,...]]
字符串要显示的选择支
标签选择时要跳到的位置
显示选项,然后跳转到对应选项的标签。
如果某个选项的字符串是"",则该选项不会出现。
(这在selnum和selgosub中也是相同的)
但是如果一个字符串都没有的话会导致程序终止,这一点请注意。
/
page top /
list /
mainVer.2.48【仅执行部分】
selectbtnwait
selectbtnwait %VAR
数字变量储存按钮编号的变量
Ver.2.48【仅定义部分】
selectcolor
selectcolor COLOR,COLOR
颜色值鼠标悬停时的颜色
颜色值鼠标未悬停时的颜色
指定普通选项的颜色。
两个参数依次为鼠标悬停的时候,鼠标移开的时候的颜色。
/
page top /
list /
mainVer.2.48【仅定义部分】
selectvoice
selectvoice STR,STR,STR
字符串展开选择支的时候播放的声音文件名
字符串鼠标悬停于某个选择支时播放的声音文件名
字符串鼠标点击某个选择支时播放的声音文件名
指定普通选项的相关的wave声音。
三个参数依次为展开选项的时候,指向某个选项的时候,选择某个选项的时候的声音。
/
page top /
list /
mainVer.2.48【仅执行部分】
selgosub
selgosub STR,LABEL[,STR,LABEL[,...]]
字符串要显示的选择支
标签选择时要跳到的位置
和select命令的跳转不同,会跳到某个子程序中。
关于子程序的调用,请参照gosub命令。
/
page top /
list /
mainVer.2.48【仅执行部分】
selnum
selnum %VAR,STR[,STR[,...]]
数字变量储存结果的变量
字符串要显示的选择支
将选项的结果代入到数字变量中。最左边的选项为0,后面的选项依次增加1。
※
和select,selgosub不同、不允许指定一个空字符串""。(by senzogawa)
/
page top /
list /
mainVer.2.48【仅执行部分】
setcursor
setcursor NUM,STR,NUM,NUM
数值光标编号 (0:等待单击、1:等待换行)
字符串光标图像文件
数值光标显示位置右偏移量
数值光标显示位置下偏移量
读取等待点击时的光标图像文件。
字符串参数依次为普通等待点击,换行等待点击的图像。
数字参数依次为下一个显示的字符的左上角算起X,Y方向上要偏移的X量和Y量。
默认情况是 ":l/3,160,2;cursor0.bmp"(":l/3,160,2;cursor1.bmp"),0,0。
abssetcursor /
page top /
list /
mainVer.非正式【仅执行部分】
seteffectspeed
seteffectspeed NUM
数值指定效果(0:通常(默认),1:高速(1/2速度),2:瞬时(没有效果))
指定效果的显示速度。
※
只对指定了效果编号的命令有效。by 幻惑卿
仅在官方手册「あどばんすどNScripter」上提到。by NScripter覚え書き
effect /
effectcut /
page top /
list /
mainVer.2.70【仅定义部分】
setkinsoku
setkinsoku STR,STR
字符串行头禁止字符
字符串行尾禁止字符
字符串按顺序为行首禁止字符串,行末禁止字符串。
重新修正设定禁止字符。define部分专用命令。
addkinsoku /
page top /
list /
mainVer.2.48【仅定义部分】
setlayer
setlayer NUM,NUM,STR
数值层编号
数值更新间隔(毫秒)
字符串dll文件名
以指定的layer编号注册插件。
之后可以用layermessage向layer编号对应的dll文件发送消息。
layermessage /
page top /
list /
mainVer.2.48【仅执行部分】
setwindow
setwindow NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,STR,NUM,NUM
数值文字显示位置的左上角x坐标
数值文字显示位置的左上角y坐标
数值横向文字数
数值纵向文字书
数值文字横向大小
数值文字纵向大小
数值横向文字间隔
数值纵向文字间隔
数值默认显示速度
数值粗体标志(0普通1粗体)
数值阴影标志(0普通1阴影)
字符串窗口的背景图像文件
数值窗口显示位置左上坐标x
数值窗口显示位置左上坐标y
setwindow NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,COLOR,NUM,NUM,NUM,NUM
数值文字显示位置的左上角x坐标
数值文字显示位置的左上角y坐标
数值横向文字数
数值纵向文字书
数值文字横向大小
数值文字纵向大小
数值横向文字间隔
数值纵向文字间隔
数值默认显示速度
数值粗体标志(0普通1粗体)
数值阴影标志(0普通1阴影)
颜色值窗口的颜色
数值窗口显示位置左上坐标x
数值窗口显示位置左上坐标y
数值窗口的横向大小(仅在指定了颜色之后)
数值窗口纵向大小(仅在指定了颜色之后)
指定文本窗口。(下面两个用法的位置原文似乎写反了)
第二种用法是半透明式的。(以指定的颜色作为半透明的颜色。)
第一种用法是以指定的图像文件作为背景式的。
最开始的11个参数分别为,文字左上坐标X,Y,横向文字数,纵向文字数,字体大小X,Y,字间距X,Y,默认显示速度,粗体标志(0普通1粗体),阴影标志(0普通1阴影)。
第二种用法接下来是窗口颜色,窗口左上角X,Y,右下角X,Y
第一种用法接下来为图像文件名,窗口左上角X,Y。
可以使用标签形式的图像的文件名。
默认情况下是全屏幕半透明式,字体大小为26x26像素,字间距0,2,左上坐标8,16,横向23个文字,纵向16个文字,默认速度为20,透过颜色为#999999。
翻译成命令的话,是这样。
setwindow 8,16,20,23,26,26,0,2,20,1,1,#999999,0,0,639,479
例)setwindow 8,16,20,23,26,26,0,2,20,1,1,"bg1.bmp",0,0
例)setwindow 8,16,23,16,26,26,0,2,20,1,1,#999999,0,0,639,479
setwindow2 /
setwindow3 /
page top /
list /
mainVer.2.48【仅执行部分】
setwindow2
setwindow2 STR
字符串窗口CG文件名名(可以使用标签形式)
setwindow2 COLOR
颜色值#颜色标记
此命令不清除回想缓存,也不清除正在显示的窗口中的文字,只改变文字窗口的背景或者颜色。
setwindow的标签指定模式只会改变CG指定的部分。不会改变其他的东西。
例)setwindow2 ":c;twindow2.bmp"
例)
setwindow /
setwindow3 /
page top /
list /
mainVer.2.48【仅执行部分】
setwindow3
setwindow3 NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,STR,NUM,NUM
数值文字显示位置的左上角x坐标
数值文字显示位置的左上角y坐标
数值横向文字数
数值纵向文字书
数值文字横向大小
数值文字纵向大小
数值横向文字间隔
数值纵向文字间隔
数值默认显示速度
数值粗体标志(0普通1粗体)
数值阴影标志(0普通1阴影)
字符串窗口的背景图像文件
数值窗口显示位置左上坐标x
数值窗口显示位置左上坐标y
setwindow3 NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,COLOR,NUM,NUM,NUM,NUM
数值文字显示位置的左上角x坐标
数值文字显示位置的左上角y坐标
数值横向文字数
数值纵向文字书
数值文字横向大小
数值文字纵向大小
数值横向文字间隔
数值纵向文字间隔
数值默认显示速度
数值粗体标志(0普通1粗体)
数值阴影标志(0普通1阴影)
颜色值窗口的颜色
数值窗口显示位置左上坐标x
数值窗口显示位置左上坐标y
数值窗口的横向大小(仅在指定了颜色之后)
数值窗口纵向大小(仅在指定了颜色之后)
除了不清除回想缓存以外其余和setwindow相同。
※
如果和原有的命令宽和高不相同的话,进入回想模式会出错。
例)setwindow3 8,16,20,23,26,26,0,2,20,1,1,"bg1.bmp",0,0
例)setwindow3 8,16,20,23,26,26,0,2,20,1,1,#999999,0,0,639,479
setwindow /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
sevol
sevol NUM
数值音量(0~100)
调节音量。
※
音量值不会自动保存,请手动管理。
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
bgmvol /
chvol /
mp3vol /
voicevol /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
shadedistance
shadedistance NUM,NUM
数值阴影横向伸长大小(单位:px)
数值阴影纵向伸长大小(单位:px)
指定阴影的位置。
※
Ver.2.62之后才能在执行部分使用。
与此同时,一旦设定,之后无法通过重设更改。(by senzogawa)
/
page top /
list /
mainVer.2.48【仅执行部分】
shell
shell STR
文字串执行文件名
从资源管理器执行指定的文件。
由于使用的是ShellExecute API,不能做到同步执行。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
sin
sin %VAR,NUM
数字变量储存计算结果的变量
数值角度(单位为度)
计算三角函数sin的值。
值为返回值的1000倍。
cos /
tan /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
skip
skip NUM
数值要跳过的行数
数字为要移动的行数。
数值为0则跳到下一行。否则跳过指定数字的行数,这个数字可以用(-)向前、(+)向后移动。
/
page top /
list /
mainVer.2.48【仅执行部分】
skipoff
skipoff
停止「跳到下一个选择支」或「自动模式」或者其他模式。
※
打开skip模式使用systemcall skip命令。
可以这样利用defsub定义子程序的方式创建一个skipon命令。(by senzogawa)
*skipon
systemcall skip
return
systemcall /
page top /
list /
mainVer.2.48【仅定义部分】
soundpressplgin
soundpressplgin STR
字符串指定的插件
指定音乐压缩格式的插件。格式为"文件名|关联文件拓展名"
例)soundpressplgin "nbzplgin.dll|nbz"
/
page top /
list /
mainVer.2.48【仅执行部分】
spbtn
spbtn NUM,NUM
数值精灵编号
数值按钮编号
和btn指令的使用方式相同,此命令是将精灵指定为按钮。透明部分也会起作用。未按下状态为分格0,按下状态为分格1。按下按钮时,会返回按钮的编号。
/
page top /
list /
mainVer.2.48【仅执行部分】
spclclk
spclclk
请在btndef和btnwait命令之间使用这个命令。
执行了这个命令后,会将空格键视为和左键点击时同样的动作。
btndef /
btnwait /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
spfont
spfont STR,NUM,NUM,NUM,NUM,NUM,NUM
字符串字体名
数值字体宽
数值字符高
数值文字横向间隔
数值文字纵向间隔
数值粗体标志(0:普通,1:粗体)
数值阴影标志(0:普通,1:阴影)
spfont 'clear'
枚举clear:返回到setwindow的设定
spfont "字体名",宽,高,横向字间距,纵向字间距,粗体标志,阴影标志
设定字符串精灵的字体。
spfont clear
清除字体设置,返回到由setwindow字体的模式。
spfont "字体名"
仅仅在不适用如:s形式的时候才能省略除字体名以外的所有参数。
※
Ver.2.62之后才能在执行部分使用。
Ver.2.66将setwindow的设定会覆盖的bug进行了修正。
clear功能在Ver.2.67中增加。
例)spfont "MS ゴシック",16,16,0,0,1,1
例)spfont clear
lsp /
page top /
list /
mainVer.2.48【仅定义部分】
spi
spi STR
字符串指定的插件
指定图像压缩的插件。格式为"文件名|关联文件拓展名"
例)spi "jpgplgin.dll|jpg"
spi "iflf2.spi|lf2"
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
split
split STR,STR,$VAR|%VAR,$VAR|%VAR[,...]
字符串要切分的字符串
字符串切分标志(只能是一个字符)
变量最终保存的变量
用指定的字符记号分割字符串,并代入到指定的变量中。
请使用此命令处理从插件返回的值以及用readfile从文件读取的字符串。
※
具有相同变量的情况下会代入最后的一个值。(by eiji8pou)
没有切分出来的值的情况时,数字变量会代入0,文字变量会代入""。 (by senzogawa)
例)mov $0,"あいうえお/かきくけこ/15/25/さしすせそ"
split $0,"/",$1,$2,%0,%1,$3
$1=$1 ; あいうえお
$2=$2 ; かきくけこ
%0=%0 ; 15
%1=%1 ; 25
$3=$3 ; さしすせそ
\
readfile /
page top /
list /
mainVer.2.48【仅执行部分】
spstr
spstr STR
单独执行根据精灵指定的复合按钮的控制字符串的命令。
可以控制字符串来执行。
只不过和csp以及lsp以及vsp相同,需要在后面使用print命令显示。
/
page top /
list /
mainVer.2.48【仅执行部分】
spwait
spwait NUM
数值精灵编号
等待指定编号的精灵的动画。(回到最初头部或者停止动画。)结束。
/
page top /
list /
mainVer.2.48【仅执行部分】
stop
stop
停止所有的音乐。
/
page top /
list /
mainVer.2.48【仅定义部分】
stralias
stralias NAME,STR
名称要表示的字符串的名称
字符串用别名表示的字符串
创建一个文件名的别名。之后要代替这个文件名的时候,
可以使用这个别名来代替。
例)stralias man_a0,":a/10,20,2;man_alpha.bmp"
; 之后,想指定这个文件的时候就可以用man_a0这个别名来代替。
; 例如 ld c,man_a0,1和ld c,":a/10,20,2;man_alpha.bmp"是相同的。
/
page top /
list /
mainVer.2.62【仅执行部分】
strsp
strsp NUM,STR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM[,COLOR[,...]]
数值精灵编号
字符串需要精灵化的字符串
数值精灵左上角的x坐标
数值精灵左上角y坐标
数值横排文字数
数值竖排文字数
数值文字宽度
数值文字高度
数值文字X方向间隔
数值文字Y方向间隔
数値粗体标志(0:无、1:有)
数值阴影标志(0:无、1:有)
颜色值文字颜色
strsp 精灵编号,字符串,左上X,左上Y,横向文字数,纵向文字数,字宽,字高,字间距X,字间距Y,粗体(0or1),阴影(0or1)(,指定颜色)...
将多行文字指定为精灵。在没有禁止文字的情况下,到达横向的末端则会自动换行。如果想手动换行请指定\符号。
spfont命令的设置会体现出来。指定颜色可以是一个或者多个参数,分格的个数根据颜色的个数决定(也就是说会生成颜色的个数个的分格)。
※
最初是logsp2命令的同名命令,从Ver.2.65之后,成为了独立的命令。
spfont /
strsph /
page top /
list /
mainVer.2.81【仅执行部分】
strsph
strsph NUM,STR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM[,COLOR[,...]]
数值精灵编号
字符串需要精灵化的字符串
数值精灵左上角的x坐标
数值精灵左上角y坐标
数值横排文字数
数值竖排文字数
数值文字宽度
数值文字高度
数值文字X方向间隔
数值文字Y方向间隔
数値粗体标志(0:无、1:有)
数值阴影标志(0:无、1:有)
颜色值文字颜色
strsp命令的不显示版本。详细请参考strsp命令。
spfont /
strsp /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
sub
sub %VAR,NUM
数字变量要被运算的数值
数值运算数值
从数字变量中减去一个数。
/
page top /
list /
mainVer.2.48【仅执行部分】
systemcall
systemcall NAME
名称表示功能的名称
执行和系统菜单相同的动作。
在select,selgosub等命令的跳转位置使用的话,可以将标题菜单等显示出来。
(在这种情况下,最好使用rmode命令将本来的rmenu暂时关闭比较好。)
可以指定的功能和rmenu是相通的。
systemcall rmenu和右键弹出菜单的效果是相同的。
比如在按钮模式的时候希望点击右键弹出右键菜单的情况下使用此命令。从右键菜单中退出后,会继续执行这个命令的下一句。
(不好好预测画面的状态使用此命令的话,会造成奇怪的效果。
最好应该在此命令之后清除文本窗口的内容。
)
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
tablegoto
tablegoto %VAR,LABEL[,LABEL[,...]]
数字变量储存跳转的目的地索引的变量
ラベル要跳转到的标签有必要限制变量的最大值。
构造一个跳转表。
变量的值为0则跳转到第一个,1则跳转到第二个……如此这般,
跳转到罗列出来的标签。
例)tablegoto %0,*label0,*label1,*label2,*label3
goto /
page top /
list /
mainVer.2.48【仅执行部分】
tal
tal {l,c,r},NUM,EFFECT
列挙变换透明度的位置(l:左、c:中央、r:右)
数值不透明度(0~255)
效果显示立绘时所用效果
修改所选位置的立绘的透明度为指定数。
※
没有指定正式手册中的效果编号的话会导致出错。(by senzogawa via はう)
ld /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
tan
tan %VAR,NUM
数字变量储存计算结果的变量
数值角度(单位为度)
获得三角函数tanθ的值。
值为返回值的1000倍。
cos /
sin /
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
tateyoko
tateyoko NUM
数值1为竖排文字模式,0为正常模式
转换为竖排文字模式。详细情况请查看例子。
※
这个命令属于系统自定义命令,在系统自定义的例子里面有解说。
转换到竖排文字模式。
/
page top /
list /
mainVer.2.48【仅执行部分】
texec
texec
Ver.2.82【仅执行部分】
texec2
texec2
几乎和texec命令相同,只是不清除上面的文字。而是在显示下一行的同时清除。
(比如,在进行选择的时候不希望清除文字则可以使用此命令。)
getcursorpos /
texec /
textbtnwait /
textgosub /
page top /
list /
mainVer.2.74【仅执行部分】
textbtnoff
textbtnoff
默认情况下,文字按钮会在btnwait命令的时候自动注册。
如果在btndef和btnwait命令之间使用textbtnoff命令的话,会暂时关闭文字按钮功能。
例如在处理文字按钮的途中需要处理其他的按钮,则可以使用此命令暂时关闭文字按钮。
例)btndef clear
textbtnoff
textbtnwait %0
btnwait /
btnwait2 /
textbtnwait /
page top /
list /
mainVer.2.65【仅执行部分】
textbtnstart
textbtnstart NUM
数值作为起始文字按钮的编号的数字(默认为1)
指定省略文字按钮编号时的起始值。
默认值为1。
<> /
page top /
list /
mainVer.2.48【仅执行部分】
textbtnwait
textbtnwait %VAR
数字变量储存按钮编号的变量
Ver.2.48【仅执行部分】
textclear
textclear
清除文本窗口的内容。
/
page top /
list /
mainVer.非正式【仅执行部分】
textcolor
textcolor COLOR
更改字符的颜色。和HTML的颜色形式相同。
(即每两个十六进制数字表示一种颜色值构成的六个十六进制数
#000000为黑色,#ffffff为白色,#ffffaa为浅黄色。)
注意改变颜色之后会保持改变后的状态。
※
从2007.11.04之后的版本添加此命令。使用english命令的时候,想改变文字颜色必须用这个命令。因为在手册中并没有记载此命令,所以一律为非正式命令。(by senzogawa)
例)*define
english
game
*start
textcolor #0000ff
>blue font@
end
english /
page top /
list /
mainVer.2.65【仅执行部分】
textexbtn
textexbtn NUM,STR
数值文字按钮的编号
字符串复合按钮用的控制字符串
textexbtn 文字按钮编号,控制字符串
此命令用于对文字按钮执行exbtn同样的处理。
exbtn /
page top /
list /
mainVer.2.49【仅执行部分】
textfield
textfield $VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM
文字变量保存默认字符串以及输入结果的变量
数值窗口左上X坐标
数值窗口左上Y坐标
数值窗口右下X坐标
数值窗口右下Y坐标
数值文字宽度(1byte)
数值文字高度
数值全角标志(1:限定全角文字)
在窗口上打开一个文字输入框,等待用户输入(不是对话框)。
此时,指定的字符串变量的值会作为输入框的默认内容。
当在输入框以外的部分点击左键,或者按下Enter键,ESC键,TAB键,函数会返回。
可以通过getret命令判断是否按下了Tab键。
在此指令之后,
getret %0
如果%0为0的话表示按下了Tab键以外的键,1的话表明是按下的Tab键。
例)textfield $0,100,50,320,70,10,20,1
input /
inputnum /
inputstr /
page top /
list /
mainVer.2.48【仅定义部分】
textgosub
textgosub LABEL
标签等待点击的时候跳转到的标签
自定义系统时显示文字的等待点击时跳转到的标签。此标签需要实例化系统按钮以及处理用户的输入。
getcursorpos /
texec /
textbtnwait /
page top /
list /
mainVer.2.49【仅执行部分】
texthide
texthide
在保持文本窗口显示的情况下,隐藏文字。
可以用于使用回想模式的时候。
textshow /
page top /
list /
mainVer.2.48【仅执行部分】
textoff
textoff
Ver.2.48【仅执行部分】
texton
texton
Ver.2.49【仅执行部分】
textshow
textshow
恢复由texthide消除的文字。
texthide /
page top /
list /
mainVer.2.48【仅执行部分】
textspeed
textspeed NUM
数值一个文字的显示速度(毫秒)
修改文字的显示速度。
和!s命令相同,但是可以使用变量。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
textspeeddefault
textspeeddefault
设置文字显示速度为默认。
在不显示文字的时候,即可以在没有出现文字窗口未显示文字的时候执行此命令。
!sd /
page top /
list /
mainVer.2.48【仅执行部分】
time
time %VAR,%VAR,%VAR
数字变量储存小时数的变量
数字变量储存分钟数的变量
数字变量储存秒数的变量
获得系统当前的时间。
/
page top /
list /
mainVer.2.48【仅执行部分】
transbtn
transbtn
请在btndef和btnwait命令之间使用这个命令。
执行这个命令之后,按钮图像的透明部分将不起作用。
btndef /
btnwait /
page top /
list /
mainVer.2.48【仅定义部分】
transmode
transmode {leftup,copy,alpha}
列举leftup:左上角颜色作为透明色,copy:无透过,alpha:alpha模式
更改透过颜色的默认设定。默认情况下为leftup。
/
page top /
list /
mainVer.2.48【仅执行部分】
trap
trap LABEL
标签左键单击时跳转到的标签
trap off
列举解除trap
监视左键单击,左键单击则跳转到指定的标签。
跳转至后会自动解除trap。
使用trap_off命令关闭trap。
/
page top /
list /
mainVer.2.48【仅执行部分】
trap2
trap2 LABEL
标签左键单击或者「跳到下一个选择支」的时候跳转到的标签
trap2 off
列举解除trap
对左键单击或者「跳到下一个选择支」做出反应的trap命令。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
underline
underline NUM
数值作为最低线的坐标
决定立绘的最低线。默认值为479。
ld /
page top /
list /
mainVer.2.48【仅定义部分】
useescspc
useescspc
Ver.2.48【仅定义部分】
usewheel
usewheel
Ver.2.48【仅执行部分】
v
'v'NUM':'
数字声音文件的文件名编号
便于播放语音的命令。
与wave "wav\数字.wav"等价。
dv /
wave /
page top /
list /
mainVer.2.48 [特别定义语]
value
'value'NUM
变量全局变量的边界
必须写在脚本第一行。
;value500
全局变量将从500号开始。
(这个数字可以是0-4000之间的任意数字)
如果想同时使用800x600的窗口大小,请使用
;mode800,value500
命令。
※
像;mode640,value500
这样的命令的话,因为;mode640是不支持的命令,之后的value会被无视掉。
(by BBS)
;$ /
mode320 /
mode400 /
mode640 /
mode800 /
page top /
list /
mainVer.2.48【仅定义部分】
versionstr
versionstr STR,STR
字符串第一行显示的文字
字符串第二行显示的文字
改变在版本信息里显示的文字。
第一个参数是第一行,第二个是第二行。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
voicevol
voicevol NUM
数值音量(0~100)
设置语音的音量。
※
音量值不会自动保存,请手动管理。
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
bgmvol /
chvol /
mp3vol /
sevol /
page top /
list /
mainVer.2.48【仅执行部分】
vsp
vsp NUM,NUM
数值精灵编号(0~255)
数值显示标志(0:不显示、1:显示)
改变精灵的显示/不显示状态。
数字0为不显示,1为显示。
/
page top /
list /
mainVer.2.80【仅执行部分】
vsp2
vsp2 NUM,NUM
数值扩展精灵编号
数值显示标志(0:不显示/1:显示)
切换扩展精灵的显示/不显示状态。和vsp的使用方式相同。
amsp2 /
csp2 /
lsp2 /
lsp2add /
lsph2 /
lsph2add /
msp2 /
page top /
list /
mainVer.2.48【仅执行部分】
wait
wait NUM
数值等待的时间(毫秒)
等待指定毫秒数的时间。鼠标点击则会跳过。
功能和特殊显示文字命令d相同,但是可以使用变量。
※
因为在ver.2.96之后发生过CPU占用过高的问题,所以最好在ver2.95之前使用此命令。(by BBS)
/
page top /
list /
mainVer.2.48【仅执行部分】
waittimer
waittimer NUM
数值等待的时间(毫秒)
等待内部计时器等于或者超过这个时间。
此命令为NScripter中最精确的测定等待时间的方法。
像图像效果等等的时间设定,都不如这个精确。
※
有些版本中,因为指定值-经过时间未达到0就不会执行精灵动画的原因,有必要再使用wait 0的命令。by BBS)
/
page top /
list /
mainVer.2.48【仅执行部分】
wave
wave STR
字符串WAVE文件名
播放wave文件。
只循环一次。
/
page top /
list /
mainVer.2.48【仅执行部分】
waveloop
waveloop STR
字符串WAVE文件名
播放wave文件。
此命令会让音乐循环播放。
/
page top /
list /
mainVer.2.48【仅执行部分】
wavestop
wavestop
停止播放wave声音。
/
page top /
list /
mainVer.2.48【仅定义部分】
windowback
windowback
将文字窗口插入到立绘同样的位置。
※
Z轴上的位置是在立绘之前,也可以使立绘像精灵一样让窗口在其之后。
方法是指定比humanz的值小的值,则可以出现在窗口之前。 (by senzogawa)
humanz /
page top /
list /
mainVer.2.48【仅定义部分】
windowchip
windowchip NUM
数值要同步的精灵编号
将指定的编号的精灵和文本窗口绑定,一起出现或者消失。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
windoweffect
windoweffect EFFECT
效果指定的效果
指定文本窗口显示/消失的时候的效果。
参数除了效果编号以外,和effect命令相同。
effect /
page top /
list /
mainVer.2.48【仅执行部分】
winexec
winexec STR,NUM
文字串执行文件名
数值同步标志(0:异步、!0:同步)
执行一个外部可执行文件。使用WinExec API来执行。
全屏时使用SW_MAXIMIZE参数启动,通常时使用SW_SHOWNORMAL参数启动。
数字如果指定0之外的数字和此程序同步。
程序重新执行会向NScripter窗口发送WM_USER+10消息,程序终止则会发送WM_USER+20。
如果指定的数字为0,则只会启动程序。
作为和Dolls Antique的DEMO程序通信的命令而使用。
/
page top /
list /
mainVer.2.48【定义部分・执行部分两用】
yesnobox
yesnobox %VAR,STR,STR
数字变量是为1,否为0
字符串显示的文字
字符串对话框的标题
弹出一个Windows的是否对话框,根据玩家的选择来为变量赋值。
例)yesnobox %0,"载入这个存档吗","载入存档"
okcancelbox /
page top /
list /
mainVer.非正式【仅定义部分】
zenkakko
zenkakko
使用全角粗体的括弧来指定tag。
※
不支持最新版本。到达【】的时候会出错强制终止。ver.2.82之前都能正常工作。(by senzogawa)
分割的文字为半角「/」,必须是这个字符。
例)*define
pretextgosub *pretextproc
zenkakko
game
*start
【名称/语音】「台词」
click
end
*pretextproc
gettag $0,$1
mesbox $0,$1 ; 題名が"音声"、本文が"名前"のダイアログを表示
return
gettag /
pretextgosub /
page top /
list /
main