游戏开始・重置・结束命令
*define定义部分的开始标签
*start执行部分的开始标签
definereset重新执行剧本
end结束游戏,关闭窗口
game结束定义部分,执行游戏
reset重置游戏
脚本格式相关命令
$文字变量前缀
数字变量前缀
*标签前缀
/忽略换行
在一行中连接多个命令
;这个记号之后的一行被视为注释
?数组变量前缀
{}括起文字串中的变量值
~jumpf和jumpb命令的中止点
文字窗口命令
btnnowindowerase显示按钮的时候,不消除文字窗口的显示
erasetextwindow显示效果的时候不会消除文字窗口
font改变文字窗口的字体
gettext获得文字窗口现在显示的文字
noteraseman消除窗口时,不消除立绘。
setwindow文字窗口和文字的表示方式设定
setwindow2仅变更窗口的显示方式
setwindow3不清除回想模式的缓冲区的setwindow
tateyoko竖行文字模式
textoff消除文字窗口
texton显示文字窗口
textspeeddefault将文字的显示速度设为默认
windowchip指定和文字窗口一起出现和消失的精灵
windoweffect指定文字窗口的效果
文字显示命令
!s指定文字的显示速度
#改变文字颜色
br在显示文章中插入空行
defaultfont指定字体类型
locate不改变文字窗口设定的情况下改变文字显示位置
puttext在if或其他命令之后显示文字
shadedistance指定阴影的位置
textclear清楚显示的文字
textspeed改变文字的显示速度
等待点击相关命令
@等待点击
_无视下一个鼠标点击
\等待换页
autoclick无需点击鼠标自动在剧本上前进
click不显示等待点击的光标,等待一次点击
clickstr特定的文字出现时等待鼠标点击
clickvoice点击时播放声音
linepage每一行等待一次鼠标点击
lrclick等待一次左键点击或者右键点击
光标相关命令
abssetcursor在一个固定位置显示一个等待点击的光标
getnextline获得即将显示的下一行的行头位置
mousecursor设定鼠标光标图像
mousemode切换鼠标光标的显示
movemousecursor将鼠标移动图像上任意某个位置
setcursor设定等待时的光标的图像文件
图像显示命令
allsphide隐藏所有的精灵
allspresume显示allsphide命令隐藏的精灵
amsp改变精灵的显示位置(方法2)
bg显示背景图像
bgalia显示特殊大小的背景图像
bgcopy取得现在的画面上的背景图像
blt快速地在画面上显示图像
cell直接指定精灵的分格
cl消去显示的立绘
csp从内存上删除精灵
effectskip指定是否跳过效果
getspmode检查精灵的显示状态
getspsize获得精灵的大小
humanorder指定立绘之间的优先顺序
humanpos设定立绘的基准位置
humanz当立绘和精灵重叠时,指定优先顺序
ld显示立绘
lsp将精灵以显示的状态从内存中读出
lsph将精灵以不显示的状态从内存中读出
msp改变精灵的显示位置(方法1)
ofscpy用blt命令将绘制的图像转移至offscreen buffer中
print显示状态为可以显示的图像消除状态为不能显示的图像
repaint重新绘制画面
spfont指定精灵上的字符串的字体
spstr切换复合按键文字串的动画显示与隐藏
strsp从内存中调出复数行文字串的动画
strsph以隐藏状态从内存中调出复数行文字串的动画
tal更改立绘的透明度
transmode将alpha混合的透明部分的默认设定改变
underline确定立绘的最低线
vsp在精灵的显示和不显示状态中切换
windowback 将文本窗口与立绘插入同一位置
图像效果
effect设定效果
effectblank指定效果结束后的等待时间
effectcut「跳至下一选择支」时、瞬间显示所有的效果
flushout特殊效果
monocro画面单色化
mosaicin表现马赛克消失的效果
mosaicout表现马赛克化的效果
nega显示颜色反转
quake摇动画面
quakex横向摇动画面
quakey纵向摇动画面
seteffectspeed指定效果的显示速度
文字・数字・色块显示
$文字变量的首字符
%数字变量的首字符
bar设置要显示的色块
barclear清除色块的设定
prnum设置一个显示的数值
prnumclear清除显示的数值
音乐・音效命令
bgm循环播放背景音乐
bgmdownmode语音时降低背景音乐音量
bgmfadein指定背景音乐渐入时间
bgmfadeout指定背景音乐渐出时间
bgmonce只播放一次背景音乐
bgmstop停止播放背景音乐
bgmvol改变背景音乐的音量
cdfadeout指定CD-DA的淡出时间
chkcdfile检查CD驱动器中是否有指定的文件存在
chkcdfile_ex检查CD驱动器中是否有指定的文件存在
chvol改变dwave音轨的音量
dsound声明使用DirectSound(现在很少使用这个命令)
dv播放dwave声音的省略写法
dwave使用DirectSound播放wav文件
dwaveload将wave文件读取到内存中
dwaveloop使用DirectSound循环播放wav文件
dwaveplay播放已经载入的wave文件
dwaveplayloop循环播放已经载入的wave文件
dwavestop停止播放wav文件
getbgmvol获得背景音乐的音量
getmp3vol获得mp3的音量
getsevol获得音效的音量
getvoicevol获得语音的音量
loopbgm循环播放背景音乐
loopbgmstop停止循环播放背景音乐
mp3只播放一次压缩音乐文件
mp3fadein指定背景音乐的渐入时间
mp3fadeout指定背景音乐的渐出时间
mp3loop循环播放压缩音乐文件
mp3save保存播放中的音乐以便以后读取播放
mp3stop停止播放压缩音乐
mp3vol改变背景音乐的音量
mv播放MP3格式的语音
play循环播放CD-DA或MIDI
playonce只播放一次CD-DA或MIDI
playstop停止播放CD-DA和MIDI
sevol改变音效的音量
stop停止所有声音的播放
v播放语音命令的省略写法(wave)
voicevol改变语音的音量
wave播放WAVE
waveloop循环播放WAVE
wavestop停止WAVE
视频播放命令
avi播放avi文件
movie播放电影
mpegplay播放mpeg文件
选项命令
select显示选项
selectcolor指定选项文字的颜色
selectvoice选择选项时播放声音
selgosub显示跳转到子程序的选项
selnum将选项的选择结果作为数值赋值到数值变量中
跳转命令
gosub调用子程序
goto跳到指定标签
jumpb跳到前一个~记号处
jumpf跳到下一个~记号处
return从子程序返回
skip跳过指定行数的剧本文件
tablegoto根据变量值跳转
点击标志检查跳转
lr_trap左右单击时跳跃至指定标签
lr_trap2左右单击时弹出“前往下一个选项”跳跃到指定标签
r_trap右键单击时跳跃到指定标签
trap左键单击时跳跃到指定标签
trap2左键单击时弹出“前往下一个选项”跳跃到指定标签
图像按钮
btn将图像设置为按钮(方法1)
btndef将按钮图像预先读取到内存中
btntime设定计时按钮的时间
btntime2与btntime功能相同,只是会等到语音结束
btnwait显示图像按钮并等待鼠标点击(方法1)
btnwait2显示图像按钮并等待鼠标点击(方法2)
cellcheckexbtn精灵有两个及以上图像的情况下指定为复合按钮
cellcheckspbtn精灵有两个及以上图像的情况下指定为按钮图像
exbtn复合按钮的按钮设定
exbtn_d使用复合按钮时鼠标指针不在任何一个之上的时候指定按钮的显示
getbtntimer获得btnwait的等待时间
spbtn将精灵指定为按钮图像
transbtn将按钮图像的透明部分设为无效
等待・定时器
!d等待指定的时间
!w无视鼠标点击等待指定的时间
delay等待一定时间(方法1)
gettimer得到内部计时器的值
resettimer重置内部计时器
spwait等待指定精灵动画的结束
wait等待一定时间(方法2)
waittimer等待内部计时器超过某个指定时间
算式・变量命令
-执行减法
*执行乘法
/执行除法
+执行加法
add加法运算
atoi将文字串转换为数值
cos余弦函数
dec减1
dim定义数组变量
div除法运算
inc加1
intlimit设定变量的最大值和最小值
itoa将数值转换为文字串
itoa2将数值转换为全角文字
len得到文字串的长度
mid从文字串中取得部分文字
mod取余数
mov数字变量・文字变量赋值
mov10为多个数字变量・文字变量赋值
mov3为多个数字变量・文字变量赋值
mov4为多个数字变量・文字变量赋值
mov5为多个数字变量・文字变量赋值
mov6为多个数字变量・文字变量赋值
mov7为多个数字变量・文字变量赋值
mov8为多个数字变量・文字变量赋值
mov9为多个数字变量・文字变量赋值
movl为数组变量赋值
mul乘法运算
numalias为数值设置别名
rnd生成随机数(方法1)
rnd2生成随机数(方法2)
sin正弦函数
stralias为文字串・文件名设置别名
sub减法运算
tan正切函数
条件表达式・循环语句命令
break从for循环中退出
cmp文字比较
fchk检查指定图像标签是否已经读入
forfor循环
if条件判断
lchk检查指定的标签是否已经读入
next结束循环
notif条件判断
右键点击功能设定命令
menuselectcolor 右键菜单中的文本文字颜色
menuselectvoice右键菜单的声音设定
menusetwindow右键菜单的窗口设定
rgosub设定右键菜单的时候要运行的子程序
rlookback右键单击时进入回想模式
rmenu右键单击时进入菜单&菜单设定
rmode右键菜单有效・无效切换
roff右键无效
savename指定右键菜单中存档文件的文件名
回想模式
lookbackbutton指定回想模式中箭头的图像
lookbackcolor指定回想模式的文字颜色
lookbackflush清除回想模式的缓冲区
lookbackoff停止回想模式文字的记录
lookbackon开始回想模式文字的记录
lookbacksp用精灵按钮代替默认的回想模式按钮
lookbackvoice指定回想模式中翻页的声音
maxkaisoupage设定回想模式的最大记录页数
跳过已读文字命令
kidokumode在跳过已读和强制跳过模式之间切换
kidokuskip打开跳过已读功能
mode_wave_demo「跳到下一个选择支」的时候仍然播放WAVE声音
skipoff解除skip模式
文件访问日志・全局变量
filelog获得文件访问记录
globalon设定允许使用全局变量
labellog获得标签访问记录
保存・读取命令
autosaveoff停止更新定义
errorsave出错时自动保存至999号存档
getsavestr获得savegame2命令中的文字串
loadgame从指定编号的存档载入游戏
loadgosub载入游戏后跳转执行子程序
savedir指定存档的文件夹
savefileexist确认存档文件是否存在
savegame保存到指定编号的存档文件
savegame2保存文件时同时保存固定的字符串
savenumber更改存档的最大数量
saveoff关闭保存模式
saveon打开保存模式
savepoint更新保存点
追加功能
addkinsoku添加禁止字符
addnsadir增加nsa压缩包读取目录
clickpos点击时取得鼠标的坐标
clickskippage点击时显示全部页面
defsub定义指定名字的子程序
english显示英文
fileexist检查文件是否存在
fileremove删除文件
getparam从调用子程序处获得参数
input获得玩家输入的字符串(方法2)
inputnum获得玩家输入的数字
inputstr获得玩家输入的字符串(方法1)
kinsoku禁止文字的开启与关闭的切换
labelexist检查标签的存在
menu_dwavvol显示音量调节对话框
mesbox显示一个消息框
minimizewindow最小化窗口
noloaderror忽略图像音乐读取失败的错误
okcancelbox显示有ok/cancel按钮的对话框
readfile从文件中读取文字变量
setkinsoku设置禁止文字
split将字符串用指定的记号切分
systemcall执行弹出右键菜单的动作
textcolor更改名字颜色
textfield在窗口上生成一个文字输入框
yesnobox显示有是否按钮的对话框
特殊模式设置命令
;$指定变量・标签的最大值,以及画面大小
automode设定使用「自动模式」
automode_time使用「自动模式」时,指定没有语音时等待的时间
defbgmvol设置BGM的默认音量
defmp3vol设置MP3的默认音量
defsevol设置音效的默认音量
defvoicevol设置语音的默认音量(新增命令)
mode_ext设定使用「银色模式(自动模式)」
mode_saya设定使用「莢模式」
mode320将画面设定为320x240
mode400将画面设定为400x300
mode800将画面设定为800x600
value改变全局变量和局部变量的边界
插件・压缩包
arc使用压缩包
exec_dll调用dll
getret取得从dll返回的值
layermessage向某层发送消息
nsa使用NSA压缩包模式
nsadir指定NSA压缩包的存放目录(增加用)
setlayer设定图层
soundpressplgin指定音乐压缩的插件(现在用DirectX命令代替)
spi指定图像压缩插件
信息显示命令
caption改变窗口标题
versionstr版本信息的文字修改
获得各种信息命令
date取得年、月、日
getini从ini文件获得参数
getreg从注册表取得参数
getversion得到执行中的NScripter的版本
getwindowsize得到窗口的显示区域
savetime从指定的存档中获得保存日期和时间
time取得时、分、秒
窗口菜单相关命令
!sd定义由defaultspeed命令设定的文字显示速度
defaultspeed指定菜单中可选择的文字速度选项
deletemenu去掉NS窗口上的菜单栏
insertmenu插入菜单
isfull判断是否全屏
killmenu去掉某个菜单
menu_click_def普通显示模式
menu_click_page页显示模式
menu_full全屏模式
menu_window窗口模式
resetmenu自定义菜单
系统自定义相关命令
*customsel与csel对应的标签
checkkey获得键盘的按下状态
csel系统自定义时的选择支命令
cselbtn生成选择支的文字按钮
cselgoto跳转到csel设定的选择支
getcselnum获得csel选择支的数量
getcselstr获得csel中指定的字符串
getcursorpos获得文字光标的位置
getcursorpos2获得最后显示的文字的左上角坐标
getmouseover检查鼠标指针是否和精灵重叠
getskipoff检查是否处于skip或者automode状态
ispage是否处于等待换页状态
isskip是否处于skip状态
luacall以Lua函数执行NScripter的默认动作
luasub定义调用Lua函数的NSCOM_
nextcsel下一条命令是csel时返回1
selectbtnwait执行customsel时等待鼠标点击
texec等待换页时清除所有文字
texec2等待换页时清除所有文字
textbtnwait执行customwait时等待鼠标点击
textgosub指定自定义系统时点击普通文字时跳转到的标签
截图命令
deletescreenshot删除截图
getscreenshot获得截图
savescreenshot保存截图
savescreenshot2保存截图
键盘按键扩展
btnarea检查光标是否进入了特定区域
btndown按键按下未弹起时立即获得按键消息
getcursor对光标键上右下左分别返回-40,-41,-42,-43
getenterEnter键被按下时返回-19
getfunctionF1~F12被按下时返回-21~-32
getinsertInsert键被按下时获取按键
getmclick获得鼠标中键点击
getmousepos得到鼠标光标坐标
getpagePageUp PageDown被按下时获取按键
gettabtab键被按下时返回-20
getzxcz,x,c键被按下时获取按键
isdown判定按键是否被按下
spclclk将空格键视按下为左键单击
useescspc设定使用Esc键和Spc键(截屏)
usewheel设定使用鼠标滚轮
注音相关
()表示是注音文字
rubyoff关闭注音模式
rubyon开启注音模式
rubyon2仅在某一行有注音文字时转成注音模式
DEMO命令
draw将draw一类命令绘制的图像显示到屏幕上
drawbg绘制背景画面
drawbg2绘制背景画面
drawclear画面全黑
drawfill以某种色彩填充画面
drawsp绘制精灵
drawsp2绘制精灵
drawsp3以一次变换绘制精灵
drawtext绘制文本窗口
自定义回想模式
checkpage检查是否能够获得回想文字
getlog获得回想模式的文字
getlogtext获得回想模式的文字(用于strsp)
gettaglog获得指定个数页面内的tag
logsp将回想模式使用的文字和图像创建为精灵
logsp2将回想模式使用的文字和图像创建为精灵
texthide显示文本窗口的情况下消去文字
textshow显示由texthide消去的文字
文本标签相关
[]指定某些信息,可由紧跟其后的gettag命令所获得。
gettag从pretextgosub指定的子程序获得tag
indent换行时向右缩进指定格数
pretextgosub根据之前的tag跳转到相应的子程序
zenkakko用【】对tag进行指定
开发支持命令
bmpcut将图像分割并以bmp形式保存
bw2a生成NScripter形式的透明图像
bw2a3生成NScripter形式的透明图像
chainbmp组合图像文件
createdummy生成傀儡图像文件
debuglog保存调试日志
外部程序执行命令
shell从资源管理器中执行文件
winexec执行外部可执行文件
CSV文件操作
csvclose关闭CSV文件
csveof判断是否到达了CSV文件的末尾
csvopen打开csv文件
csvread从csv文件中读出数据
csvwrite向csv文件中写入数据
文字按钮命令
<>设定文字按钮
erasetextbtn解除文字按钮的按下状态
gettextbtnstr获得对应文字按钮编号的文字串
linkcolor设定文字按钮的颜色
textbtnoff禁用文字按钮的按钮定义
textbtnstart指定省略文字按钮编号时按钮编号的初值
textexbtn将文字按钮与exbtn进行同样的处理
扩展精灵相关命令
allsp2hide暂时隐藏所有的扩展精灵
allsp2resume解除所有扩展精灵的隐藏
amsp2对扩展精灵进行绝对移动
csp2清除扩展精灵
lsp2以显示的状态加载扩展精灵
lsp2add将扩展精灵以显示状态相加渲染方式加载
lsp2sub将扩展精灵以显示转台相减渲染方式加载
lsph2以不显示的状态加载扩展精灵
lsph2add将扩展精灵以不显示相加渲染方式加载
lsph2sub将扩展精灵以不显示相减渲染方式加载
msp2相对移动扩展精灵
vsp2扩展精灵显示/不显示的切换
新图像按钮
bclear清除按钮的定义
bcursor由按钮得到鼠标和键盘的输入
bdef指定和任何一个精灵都不重叠时的处理方法
bdown按钮按下还未谈起时就获取返回消息
bexec执行按钮处理
bsp将一个精灵设定成按钮
btime指定开始执行按钮功能的延时
btrans按钮图像的透明部分无效

Ver.2.48【定义部分・执行部分两用】

-

算式・变量命令

NUM'-'NUM

数值要计算的数
数值要计算的数

从前一个数字中减去一个后一个数值。
计算结果一般用作命令的参数。

例)

sub /
page top / list / main

Ver.2.48 [特殊文字]

!d

等待・定时器

!dNUM

数值等待的时间(毫秒)

等待数字X1ms的时间。鼠标点击则会跳过。
数字必须是普通数字。若想使用变量,
请使用delay命令。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

!s

文字显示命令

!sNUM

数值每个文字的显示速度(毫秒)

以毫秒为单位指定每个文字的显示速度。
数字必须是普通数字。若想使用变量,
请使用textspeed命令。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

!sd

窗口菜单相关命令

!sd

上方的文字速度菜单中有“低速”、“普通”、“高速”三个对应的文字速度。对应的文字速度可以用defaultspeed命令来设定。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

!w

等待・定时器

!wNUM

数值等待的时间(毫秒)

等待数字x1毫秒的时间。鼠标点击无法跳过。
数字必须是普通数字。若想使用变量,
请使用wait命令。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

#

文字显示命令

#rrggbb

更改字符的颜色。和HTML的颜色形式相同。
(即每两个十六进制数字表示一种颜色值构成的六个十六进制数
#000000为黑色,#ffffff为白色,#ffffaa为浅黄色。)
注意改变颜色之后会保持改变后的状态。

例)

/
page top / list / main

Ver.2.48 [特别定义语]

$

脚本格式相关命令

'$'NUM

数字变量编号(0~4095)

文字变量为$0~$999一共1000个。
从0到199是普通变量,200到999是全局变量。
当你结束游戏或者用reset命令重置游戏的时候普通变量会回复初值,而全局变量则不会。
普通变量的值会在保存时写入存档文件中,载入时从存档文件中恢复其值,而全局变量则不会这样。
具体来说,比如用普通变量储存好感度,用全局变量储存清除标志。这样不失一个好方法。
但是,要使用全局变量的话,必须在定义部分执行globalon命令。
文字变量的初值为""。(空字符串)

例)
将“字符串”代入变量0
mov $0,"字符串"
例)
用变量0的值定义精灵
lsp 0,":s;#ffffff" + $0,0,0

% / value /
page top / list / main

Ver.2.48 [特殊文字]

$

文字・数字・色块显示

$NUM

数值变量编号

通常情况下是一个文字变量,但是在显示文字中会显示文字变量的内容。

例)

/
page top / list / main

Ver.2.48 [特别定义语]

%

脚本格式相关命令

'%'NUM

数字变量编号(0~4095)

数字变量为%0~%999一共1000个。
从0到199是普通变量,200到999是全局变量。
当你结束游戏或者用reset命令重置游戏的时候普通变量会回复初值,而全局变量则不会。
普通变量的值会在保存时写入存档文件中,载入时从存档文件中恢复其值,而全局变量则不会这样。
具体来说,比如用普通变量储存好感度,用全局变量储存清除标志。这样不失一个好方法。
但是,要使用全局变量的话,必须在定义部分执行globalon命令。
数字变量的初值为0。

例)
变量0赋值为1
mov %0,1
例)
用变量0的值定义精灵
lsp %0,":s;#ffffff文字列",0,0

$ / value /
page top / list / main

Ver.2.48 [特殊文字]

%

文字・数字・色块显示

%NUM

数值变量编号

通常情况下是一个数字变量,但是在显示文字中会显示数字变量的内容。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

()

注音相关

'('STR'/'STR')'

字符串要注音的文字
字符串注音

表示有注音文字

例)
脚本例子(运行一下这段代码就知道注音功能大概是什么了。by yyd)
*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 / main

Ver.2.48 [特别定义语]

*

脚本格式相关命令

'*'NAME

名称标签名

以*开始的文字是标签名。是goto等命令的跳转目的地。
标签名的一个字符必须是半角字母或者"_"(下划线),之后的字符可以为字母、"_"(下划线)、数字的组合。

  正确例子)  *HAJIMARI
         *Mike_Tom
         *day01

  错误例子)  *开始   (使用了全角文字)
         *Mike&Tom  (使用了除了下划线以外的符号)
         *01day   (首字符是数字)

连字符"-"也不能使用。"_"称为下划线或者下横线。
此外,大小写并没有区别即*HAJIMARI和*hajimari被认为是相同的。(by senzogawa)
例)
定义一个asterisk标签
*asterisk

gosub / goto /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

*

算式・变量命令

NUM'*'NUM

数值要计算的数
数值要计算的数

前面的数乘以后面的数。
计算结果一般用作命令的参数。

例)

mul /
page top / list / main

Ver.2.48 [特别定义语]

*customsel

系统自定义相关命令

*customsel

执行csel命令之后,自动跳转到这个标签。这个标签之后是实现处理选择支的部分。

例)
实现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 / main

Ver.2.48 [特别定义语]

*define

游戏开始・重置・结束命令

*define

表示定义部分的特殊标签。

例)
表示空的定义部分
*define
game

definereset / game /
page top / list / main

Ver.2.48 [特别定义语]

*start

游戏开始・重置・结束命令

*start

表示执行部分开始的特殊标签。

例)
表现空的执行部分。
*start
end

game /
page top / list / main

Ver.2.48 [特殊文字]

/

脚本格式相关命令

/

如果在此符号后紧跟一个换行,这个换行会被忽略。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

/

算式・变量命令

NUM'/'NUM

数值要计算的数
数值要计算的数

前一个数除以后一个数。
计算结果一般用作命令的参数。

例)

div /
page top / list / main

Ver.2.48 [特别定义语]

:

脚本格式相关命令

通过:(冒号)连接语句,能够在一行中同时书写多个命令。在if语句中使用有很好的效果。

例)
右键点击时,将所有的精灵隐藏,调用回想模式。
btnwait %0
if %0=-1 allsphide:systemcall lookback

/
page top / list / main

Ver.2.48 [特别定义语]

;

脚本格式相关命令

;

以;开始的文字是注释。NScripter会跳过这些文字。

例)
为abs命令编写相关的注释
defsub abs ; 对传入的变量取绝对值

/
page top / list / main

Ver.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)
例)
设定变量总数为2000,1000开始为全局变量,画面大小为800x600
;$V2000G1000S800,600L10000

mode320 / mode400 / mode640 / mode800 / value /
page top / list / main

Ver.2.48 [特别定义语]

?

脚本格式相关命令

'?'NUM

数字变量编号(0~199)

使用数组变量请用dim命令。
数组变量为?0~?199一共能定义200个。
不能用作全局变量。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

@

等待点击相关命令

@

等待一次点击。

例)

\ /
page top / list / main

Ver.2.48 [特殊文字]

[]

文本标签相关

'['STR']'

字符串之前要显示的信息。用’/‘分割。

指定某些信息,可由紧跟其后的gettag命令所获得。

例)
设定在台词显示之前,用gettag能获得「太郎」,「0001.wav」两条信息。
[太郎/0001.wav]「太郎の台詞」

gettag / pretextgosub /
page top / list / main

Ver.2.48 [特殊文字]

_

等待点击相关命令

_

此符号后紧跟的换行符会被忽略掉。

例)

/
page top / list / main

Ver.2.48 [特殊文字]

{}

脚本格式相关命令

'{'$VAR|%VAR,STR|NUM[,...]'}'

变量需要赋值的文字变量或者数字变量
特殊前面是文字变量则为文字,数字变量则为数值

用于将字符串或数值赋值到对应的变量中。
用{}括起来变量名和对应值,即可完成赋值。
但是,这里无法使用别名(alias)。
格式为{变量名,值,变量名,值},只有在偶数个值的时候,所有的赋值才能成功。

例)

/
page top / list / main

Ver.2.48 [特别定义语]

~

脚本格式相关命令

~

jumpf和jumpb命令的跳转目的地。
请不要在jumpf和~之间,以及jumpb和~之间放置要显示的文字。

例)

jumpb / jumpf /
page top / list / main

Ver.2.48 [特殊文字]

\

等待点击相关命令

\

等待换页标记。会无视之后的换行。

例)

@ /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

+

算式・变量命令

NUM'+'NUM

数值要计算的数
数值要计算的数

STR'+'STR

字符串被连接的字符串
字符串连接的字符串

将后面的数值或者字符串,加到前面的数字或字符串上。
不同时为数值或者同时为字符串则会报错。
计算结果一般用作命令的参数。

例)
对数组变量0的下标为0的元素加1。
mov ?0[0],?0[0]+1
例)
将"●"赋值给$1,将"あいうえお"、$1、"さしすせそ"按顺序连接赋值给$2。
mov $1,"●"
mov $2,"あいうえお"+$1+"さしすせそ"
;这时$2内容变成了"あいうえお●さしすせそ"。
例)
将"テスト"赋值给$0,再将$0和"あいうえお"连接起来赋值给$0。
mov $0,"テスト"
mov $0,$0+"あいうえお"
;这时$0内容变成了"テストあいうえお"。

add /
page top / list / main

Ver.2.48 [特殊文字]

<>

文字按钮命令

'<'[INT]STR'>'

数值文字按钮的编号
字符串文字按钮上显示的文字

设置<和>括起来的文字成为文字按钮。
文字按钮编号参数是可选的。

例)

erasetextexbtn / gettextbtnstr / linkcolor / textbtnstart / textexbtn /
page top / list / main

Ver.2.48【仅执行部分】

abssetcursor

光标相关命令

abssetcursor NUM,STR,NUM,NUM

数值光标编号 (0:等待单击、1:等待换行)
字符串光标图像文件
数值光标显示位置右偏移量
数值光标显示位置下偏移量

和setcursor命令相似。只是此命令偏移坐标不是对文字的偏移坐标,而是对画面的绝对坐标。

例)

setcursor /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

add

算式・变量命令

add %VAR,NUM

数字变量要被运算的数值
数值运算数值

add $VAR,STR

文字变量要被连接的字符串
字符串要连接的字符串

将后一个变量加到前一个上。是文字的情况则连接他们。

例)
给%0变量加6.
add %0,6
例)
在$5变量后连接"ああああ"字符串。
add $5,"ああああ"

/
page top / list / main

Ver.2.70【仅定义部分】

addkinsoku

追加功能

addkinsoku STR,STR

字符串行头禁止字符
字符串行尾禁止字符

用两个字符串指定行头禁止文字以及行末禁止文字,
向现有的禁止文字里追加新的规则。define部分专用命令。

可以只设置一个字符,如果使用多个字符的话,
则这些字符全部都是禁止字符。

例)

setkinsoku /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

addnsadir

追加功能

addnsadir STR

字符串要增加的目录名

增加nsa压缩文件的读取目录。

例)

nsadir /
page top / list / main

Ver.2.80【仅执行部分】

allsp2hide

扩展精灵相关命令

allsp2hide

可以用来暂时隐藏所有的扩展按钮。与allsphide以及allspresume的用法是相同的。

例)

allsp2resume / allsphide / allspresume /
page top / list / main

Ver.2.80【仅执行部分】

allsp2resume

扩展精灵相关命令

allsp2resume

可以用来暂时遮住所有的扩展精灵。和allsphide以及allspresume的使用方法是相同的。

例)

allsp2hide / allsphide / allspresume /
page top / list / main

Ver.2.48【仅执行部分】

allsphide

图像显示命令

allsphide

暂时隐藏所有的精灵。

例)
暂时隐藏所有的精灵。
allsphide

allspresume /
page top / list / main

Ver.2.48【仅执行部分】

allspresume

图像显示命令

allspresume

显示所有由allsphide隐藏的精灵。

例)
显示所有由allsphide隐藏的精灵。
allspresume

allsphide /
page top / list / main

Ver.2.48【仅执行部分】

amsp

图像显示命令

amsp NUM,NUM,NUM[,NUM]

数值精灵编号(0~255)
数值左上x坐标
数值左上y坐标
数值不透明度(0~255)

与msp命令类似,但此命令的坐标是绝对坐标。

例)
将2号精灵移动到(5,2),不透明度设为100。
amsp 2,5,2,100

msp /
page top / list / main

Ver.2.80【仅执行部分】

amsp2

扩展精灵相关命令

amsp2 NUM,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度

扩展精灵移动命令。msp2是根据现在值相对移动,而amsp2是根据绝对值移动。

例)
将0号扩展精灵的中心坐标移动到10,20,x和y方向扩大10%,旋转5度。
amsp2 0,10,20,10,10,5

amsp2 / csp2 / lsp2 / lsp2add / lsph2 / lsph2add / vsp2 /
page top / list / main

Ver.2.48【仅定义部分】

arc

插件・压缩包

arc STR

字符串指定的插件

指定解析压缩包的插件。
格式为,"压缩包文件名|关联的dll名称"。
对于已经对应好的图像、声音,不需要再次在脚本里指定。

通过和读取注册表的命令相结合,可以实现各种方式的读取。

例)
指定压缩包文件为"arc.sar",关联的处理文件为"scrunarc.dll"。
arc "arc.sar|scrunarc.dll"
例)
在安装了To Heart的系统中,读取注册表,指定压缩包文件。
getreg $0,"software\leaf\toheart","datadir"
add $0,"\lvns3dat.pak|axlfpak.spi"
arc $0

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

atoi

算式・变量命令

atoi %VAR,STR

数字变量随机数储存变量
字符串要转换的字符串

将字符串转换为数字。和C语言的同名函数功能相同。

不能转换全角数字。(by senzogawa)
例)
将"123"数值内容储存到%0中,将$0的内容代入到%3中。
atoi %0,"123"
atoi %3,$0

/
page top / list / main

Ver.2.48【仅执行部分】

autoclick

等待点击相关命令

autoclick NUM

数值点击等待时间(毫秒)

等待指定的时间后会自动前进,对于DEMO来说是非常方便的命令。
数值为0时,此命令无效。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

automode

特殊模式设置命令

automode

这是为商用游戏「銀色」所开发的命令。
执行了这个命令之后,「自动模式」会加入到菜单中。
自动模式是类似于「跳到下一个选择支」,但语音未播放完之前
并不会前进。当没有语音的时候,可以根据之后的automode_time命令
决定等待多少时间。
这便是所谓的阅读模式。

菜单中的音量变更命令
现在能够使用。 (MP3(BGM) voice(DWAVE 0) SE(DWAVE 1~)的音量
现在已经可以使用。 )
对于此命令扩展功能的增加,预定计划是增加更清晰的命令。
(现在是一个有效的命令,将来也会继续使用。)

例)

/
page top / list / main

Ver.2.48【仅定义部分】

automode_time

特殊模式设置命令

automode_time NUM

数值自动前进时的等待时间(毫秒)

在mode_ext增加的「自动模式中」,指定没有语音时,应该等待的时间。

例)

/
page top / list / main

Ver.2.93【仅定义部分】

autosaveoff

保存・读取命令

autosaveoff

停止更新除了显示文字起始处的自动更新点。
(在定义部分)
autosaveoff
执行了此命令之后,saveon/saveoff命令将被无视。
(输出文字的开始的savepoint永远都是一直起作用的。)。
在显示文字起始部分以外的地方保存的话(比如click map等),请使用savepoint命令。由于执行时机的原因,有可能无法重现之前的数据。所以在需要将之前读入的画面全部恢复出来需要耗费一定的精力。

例)

saveoff / saveon / savepoint /
page top / list / main

Ver.2.48【仅执行部分】

avi

视频播放命令

avi STR,NUM

字符串文件名
数值可否中断标志(0:播放到最后、1:点击中断)

播放指定的AVI文件。
数字为1时,单击会使播放停止,继续以下的处理。
为0的时候,会播放到最后,而不会跳出到脚本中。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

bar

文字・数字・色块显示

bar NUM,NUM,NUM,NUM,NUM,NUM,NUM,COLOR

数值长条编号
数值现在值
数值显示位置的左上x坐标
数值显示位置的左上y坐标
数值长条宽
数值长条高
数值长条最大长度
颜色值长条的颜色

指定长条的显示。宽和高,是长条为最大值的时候的宽和高。
不足最大值的时候,会根据对应的值缩短长度。
长条是以左对齐形式显示的。因为只会绘制满足长条长度的部分,
而值不足的部分的颜色需要预先绘制好。
此外,在指定之后如果不使用print命令等显示出来,是不会出现在画面上的。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

barclear

文字・数字・色块显示

barclear

清除色块的设定。色块一般可以用来做格斗游戏的血条之类的东西。

例)

/
page top / list / main

Ver.2.93【仅执行部分】

bclear

新图像按钮

bclear

清除定义的按钮。

例)
清除定义的按钮。
bclear

btndef /
page top / list / main

Ver.2.94【仅执行部分】

bcursor

新图像按钮

bcursor

默认情况下在执行bexec时可以使用光标键来选择和用空格/回车键来决定。
想获得光标键输入的时候,请在bclear和bexec命令之间使用bcursor命令。

例)

getcursor /
page top / list / main

Ver.2.93【仅执行部分】

bdef

新图像按钮

bdef STR

字符串默认控制字符串

指定和任意一个精灵都不重合时的处理。控制字符串和exbtn与spstr所指定的是一样的。

例)
指定和任意一个精灵都不重合时的处理。
bdef "C0" ;和任意一个精灵都不重合的时候隐藏0号精灵。

exbtn_d /
page top / list / main

Ver.2.94【仅执行部分】

bdown

新图像按钮

bdown

在bclear和bexec之间插入bdown命令的话,在左键单击的时候或进行处理。

例)

btndown /
page top / list / main

Ver.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中默认是用光标键改变选择,空格/回车决定。
例)
执行按钮处理,文字变量和数字变量储存相应的结果。
bexec $0,%0

btnwait /
page top / list / main

Ver.2.48【仅执行部分】

bg

图像显示命令

bg STR,EFFECT

字符串文件名
效果显示背景时的效果

bg COLOR,EFFECT

颜色值背景色
效果显示背景时的效果

bg {black,white},EFFECT

列举背景为黑色或者白色
效果显示背景时的效果

加载背景图像。第一种用法是从文件中读取,第二种用法是用某一种颜色覆盖,第三种是用黑色或者白色覆盖。

例)
例)
例)

bgalia / effect /
page top / list / main

Ver.2.48【仅定义部分】

bgalia

图像显示命令

bgalia NUM,NUM,NUM,NUM

数值左上x坐标
数值左上y坐标
数值图像宽
数值图像高

使用特殊大小的背景时所用命令。
从x,y处开始,以width x height的大小绘制图像。

例)

bg /
page top / list / main

Ver.2.50【仅执行部分】

bgcopy

图像显示命令

bgcopy

bgcpy等同于此命令。抓取现在的画面作为背景图像。
和ofscpy以及ofscopy命令不同的地方在于,抓取背景图像的同时会抓取保存文本窗口。

ver.2.51中,此命令已经可以很好的保存抓取下来的图像了。
例)

/
page top / list / main

Ver.2.48【仅执行部分】

bgm

音乐・音效命令

bgm STR

字符串需要播放的文件名

循环播放压缩音乐文件。和mp3loop命令是同一命令。

在ver 2.93中,使用此命令播放ogg volvis格式的时候需要nsogg2.dll文件。(by senzogawa)
使用nsogg.dll,nsogg2.dll的时候。可以通过bgm "(从音乐中间某个时间)文件名" 这种格式指定循环时重新开始的地方。
单位为秒。也可以指定为小数。
例)
循环播放"bgm01.mp3"。
bgm "bgm01.mp3"

bgmonce / bgmvol /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

bgmdownmode

音乐・音效命令

bgmdownmode NUM

数值为1则开启

语音播放的时候降低BGM的音量。

例)
语音播放的时候降低BGM的音量。
bgmdownmode 1

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

音乐・音效命令

bgmfadein NUM

数值效果时间(毫秒)

与bgmfadeout格式相同,指定淡入淡出效果的时间。

例)

bgmfadeout /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

bgmfadeout

音乐・音效命令

bgmfadeout NUM

数值效果时间(毫秒)

指定BGM淡出的时间。
定义部分和执行部分都可以使用。

例)

bgmfadein /
page top / list / main

Ver.2.48【仅执行部分】

bgmonce

音乐・音效命令

bgmonce STR

字符串需要播放的文件名

只播放一次压缩后的音乐文件。和mp3命令相同。

在ver 2.93中,使用此命令播放ogg volvis格式的时候需要nsogg2.dll文件。(by senzogawa)
例)
播放一次"bgm01.mid"。
bgm "bgm01.mid"

bgm / bgmvol /
page top / list / main

Ver.2.48【仅执行部分】

bgmstop

音乐・音效命令

bgmstop

停止播放压缩音乐文件。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

bgmvol

音乐・音效命令

bgmvol NUM

数值音量(0~100)

改变bgm的音量。对bgm命令和mp3命令均有效。

音量值不会自动保存,请手动管理。
play命令不受此影响。(by senzogawa)
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
例)
将bgm的音量设为100。(0-100)
bgmvol 100

chvol / mp3vol / sevol / voicevol /
page top / list / main

Ver.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 / main

Ver.2.48【仅执行部分】

bmpcut

开发支持命令

bmpcut STR,NUM,NUM

字符串图像文件名
数值横向分割数
数值纵向分割数

将图像文件以指定的分割数分割后以bmp形式保存。

注意不要漏掉文件名。
例)
将test.bmp以横向3,纵向2分割并以bmp形式保存。
bmpcut "test.bmp",3,2

/
page top / list / main

Ver.2.48【仅执行部分】

br

文字显示命令

br

此命令用于显示文字时的换行。请在想要显示一个空行的时候使用此命令。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

break

条件表达式・循环语句命令

break

从最内部的一重循环中跳出。
会寻找下一个NEXT命令,跳出循环执行下一条命令。

无法一次性地跳出二重循环。
在跳出一重循环后,请再次写上break命令。

【不推荐的使用方式】
BREAK *标签名
如果该标签存在的话,会跳转到指定的标签。
但是,如果是从二重循环中跳出,
只会解除最内部一重循环的循环状态。
正如前面所说的一样,这样的用法不仅会浪费堆栈,
而且让代码阅读起来很困难,所以不推荐。

例)
%0从1以1为步长增加到8,%1以-2为步长从6减少到2,输出%0和%1。仅当%0为4,%1为4的时候,不再减少%1,而是回到上一个循环中。
*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 / main

Ver.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 / main

Ver.2.93【仅执行部分】

btime

新图像按钮

btime NUM[,NUM]

字符串超时时间(毫秒)
字符串为1的时候等待语音结束

指定开始按钮处理算起超时所需的时间。
第二个参数指定1的话,即使时间结束也会等待语音(dwave的通道0)的播放结束。此参数在automode中才能使用。

例)
指定开始按钮处理算起超时所需的时间。
btime 2000 ;2秒后超时。
btime 1000,1 ;一秒后超时。如果此时语音未结束的话会等待语音结束。

btntime /
page top / list / main

Ver.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 / main

Ver.2.48【仅执行部分】

btnarea

键盘按键扩展

btnarea NUM

数值区域Y坐标

请在btndef命令后使用。
如果为负值则取绝对值,取大于此数的区域,如果为正则取小于次数的区域。当鼠标移动到这个区域时,返回-4。

当指定了多个btnarea的时候,似乎只有最后一个命令有效。by senzogawa)
例)
设定为鼠标光标到达窗口400Y坐标以下的时候返回-4。
btndef clear
btnarea -400

btndef /
page top / list / main

Ver.2.48【仅执行部分】

btndef

图像按钮

btndef STR

字符串按钮图像文件名

btndef clear

列举清除按钮化的图像

设定按钮图像文件。使用此命令会清除之前的按钮定义。
欲了解更多信息,请参考文件夹btndemo中的说明.txt。

例)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

btndown

键盘按键扩展

btndown NUM

数值设定标志(0:解除,1:设定)

请在btndef和btnwait命令之间使用这个命令。
使用了此命令之后,只需在按下按钮的情况下就取得按键返回值。

例)
设定为按钮为按下而不必等待恢复就起作用。
btndown 1

btndef / btnwait / isdown /
page top / list / main

Ver.2.48【仅定义部分】

btnnowindowerase

文字窗口命令

btnnowindowerase

显示按钮时不会消去文本窗口。

例)
设定为显示按钮时不会消去文本窗口。
btnnowindowerase

/
page top / list / main

Ver.2.48【仅执行部分】

btntime

图像按钮

btntime %VAR

数值btnwait或者btnwait2的限制时间(毫秒)

指定下一次btmwait或者btnwait2命令的等待时间。使用了此命令之后,在等待按钮的时,若超时返回-2。

指定了使用usewheel的时候,返回值为-5。
例)

/
page top / list / main

Ver.2.48【仅执行部分】

btntime2

图像按钮

btntime2 NUM

数值超时的时间(单位:毫秒)

和btntime命令相同,会等待语音结束。

例)
设置下一个btnwait命令1秒后超时。
btntime2 1000

btntime /
page top / list / main

Ver.2.48【仅执行部分】

btnwait

图像按钮

btnwait %VAR

数字变量输入结果

实际处理按钮按下。将结果返回到数字变量中。

返回值:
0…没有点击到任何按钮上
-1…右键点击
其他…按钮编号

返回值小于0(没有按下任何按钮)时,如果立即再一次调用btnwait命令,按钮会保持原状。
返回值大于等于1(实际上按下了某个按钮)时,按下的瞬间保持图像,实际上清除了所有的按钮定义。(为节省内存)
欲了解更多信息,请参考文件夹btndemo中的说明.txt。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

btnwait2

图像按钮

btnwait2 %VAR

数字变量输入结果

实际处理按钮按下。将结果返回到数字变量中。

返回值:
0…没有点击到任何按钮上
-1…右键点击
其他…按钮编号

和btnwait命令不同,不会清除按钮定义。因此,按钮图像保持着读入的状态。
当按钮处理结束时,不再需要按钮的时候,为了给其他处理腾出内存,建议使用btndef ""来清除按钮定义,释放按钮图像。

例)

/
page top / list / main

Ver.2.94【仅执行部分】

btrans

新图像按钮

btrans

在bclear和bexec命令之间使用btrans的话,则对按钮图像的透明部分不作任何反应。

例)

transbtn /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

bw2a

开发支持命令

bw2a STR

字符串图像文件名(不含拓展名)

由"参数字符串_w.bmp"和"参数字符串_b.bmp"生成一个NScr形式的透明图像。
和附带的bw2aconv.exe功能相同。

<豆知识>
从命令提示符中
dir /b > filelist.txt
可以获得文件列表。
最好与这个列表组合进行批量变换。

例)
由test_w.bmp和test_b.bmp组合成α值形式的bmp文件。
bw2a "test"

/
page top / list / main

Ver.2.49【定义部分・执行部分两用】

bw2a3

开发支持命令

bw2a3 STR

字符串图像文件名(不含拓展名)

抽取白色和黑色,生成NScr形式的透明图像。
量产用的命令。
nscripter会从同样一个位置的b文件夹中和w文件夹中,分别提取白色和黑色(有关白色提取和黑色提取请参阅bw2a的说明。)
文件名和原来的文件名一样。如果使用Photoshop的话作业效率也许会更高。

例)
b\test.bmp和w\test.bmp生成out\test.bmp。
bw2a3 "test.bmp"

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

caption

信息显示命令

caption STR

字符串作为窗口标题显示的字符串

更改窗口的标题。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

cdfadeout

音乐・音效命令

cdfadeout NUM

数值播放CD淡出的时间(毫秒)

以毫秒为单位指定CD播放的淡出时间。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

cell

图像显示命令

cell NUM,NUM

数值精灵编号(0~255)
数值单元编号(0~单元数-1)

手动指定精灵的分格。因为只是在内部状态上进行了切换,所以之后请使用print命令在画面上反应出来。

例)

/
page top / list / main

Ver.2.49【仅执行部分】

cellcheckexbtn

图像按钮

cellcheckexbtn NUM,NUM,STR

数值精灵编号
数值按钮编号
字符串光标相关的控制字符串

cellcheckspbtn的exbtn版本。参数和exbtn相同。
当精灵被加载时,具有两个或以上分格的精灵会被定义为复合按钮。否则会被忽略。
此外,也请参照和exbtn相关的「样本」「自定义菜单时的复合按钮」。增加了新功能S(音频播放)和M(精灵一定)。

例)
因为精灵1号有两个以上的分格,所有定义为100号按钮,鼠标移动到按钮上时显示精灵1的分格1和精灵2。
cellcheckexbtn 1,100,"P1,1P2"

cellcheckspbtn / exbtn /
page top / list / main

Ver.2.48【仅执行部分】

cellcheckspbtn

图像按钮

cellcheckspbtn NUM,NUM

数值精灵编号(0~999)
数值按钮编号

基本上和spbtn功能相同,但是分格不足两个图像的精灵会被无视。
这个命令在CG模式很有用。
(也就是说,略缩图的分格只有1的话,
spbtn的注册会一直循环下去。)

例)
对于编号为0~9的精灵,将分格超过2的图像定义为按钮。
for %0=0 to 9
  cellcheckspbtn %0,%0+1
next

spbtn /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

chainbmp

开发支持命令

chainbmp STR

字符串图像文件名

在out.bmp的旁边附加上该图像文件。
没有则生成out.bmp。

图像的纵向高度必须相同。
并不是那么的好用。
例)

/
page top / list / main

Ver.2.92【仅执行部分】

checkkey

系统自定义相关命令

checkkey %VAR,STR

数字变量结果(0:按下、1:为按下)
字符串按键种类

获得键的按下状态。
字符串可以被指定为英文字符,数字,空格等等。
也可以用"SPACE"获得空格键。
"RETURN" "ENTER" 回车键
"CTRL" ctrl键
"UP" "DOWN" "LEFT" "RIGHT" 方向键上下左右
"F1"~"F12" 功能键
"PAGEUP" "PAGEDOWN" 向上向下翻页
"SHIFT" shift键
也可以如此指定。

例)
如果空格键被按下则给%1变量赋值为1否则赋值为0。
checkkey %1," "

btnwait / selectbtnwait / textbtnwait / textgosub /
page top / list / main

Ver.2.49【定义部分・执行部分两用】

checkpage

自定义回想模式

checkpage %VAR,NUM

数字变量结果的保存变量
数值检查之前多少页(0为当前页)

检查能否获取回想文字。
第一个参数指定为储存结果的数字变量,第二个参数指定获得多少页之前的内容。
1为可能值,0为不可能值。第二个参数请指定在1之上。
0为现在的页面,不使用这个函数也能处理。

例)
检查是否能够获得1页之前的回想文字,将结果储存到%5中。
checkpage %5,1

/
page top / list / main

Ver.2.48【仅定义部分】

chkcdfile

音乐・音效命令

chkcdfile STR,STR

字符串要判断的文件名
字符串/0}判定失败时候的消息

此命令用于检查“文件名”对应的文件是否存在于CD驱动器中。
如果判定失败的话会弹出一个指定字符串的对话框。
并有“重试”和“取消”按钮。

例)
判定CD中是有"file.dat"存在,判定失败的话弹出"对应CD不存在"的对话框。
chkcdfile "file.dat","没有CD"

chkcdfile_ex /
page top / list / main

Ver.2.48【仅定义部分】

chkcdfile_ex

音乐・音效命令

chkcdfile_ex %VAR,STR

数字变量储存判定结果的变量
字符串要判断的文件名

此命令用于检查“文件名”对应的文件是否存在于CD驱动器中。
如果文件存在于CD中返回1,没有的话返回0。

例)
检查CD驱动器中是否存在"file.dat",将结果存入%0中。
chkcdfile_ex %0,"file.dat"

Chkcdfile /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

chvol

音乐・音效命令

chvol NUM,NUM

数值dwave音轨编号
数值音量(0~100)

改变dwave音轨的音量。

此值不会被保存,需要手动管理。
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
例)
将通道3的音量设置为100(0-100)
chvol 3,100

/
page top / list / main

Ver.2.48【仅执行部分】

cl

图像显示命令

cl {l,c,r,a},EFFECT

列举清除立绘的位置(l:左、c:中央、r:右、a:全部)
效果清除立绘时所用效果

清除指定位置的立绘。
a意味着清除所有的立绘。

例)

effect / ld /
page top / list / main

Ver.2.48【仅执行部分】

click

等待点击相关命令

click

等待鼠标单击。

例)

lrclick /
page top / list / main

Ver.2.48【仅执行部分】

clickpos

追加功能

clickpos %VAR,%VAR

数字变量点击位置的X坐标
数字变量点击位置的Y坐标

等待鼠标点击,然后获得点击的位置。位置为X坐标和Y坐标。

例)

/
page top / list / main

Ver.2.60【仅定义部分】

clickskippage

追加功能

clickskippage

通常,单击之后会瞬时显示文字知道下一次等待点击的位置。使用了此命令之后,通常需要等待点击的地方会被跳过,知道换页等待的时候才会停下来。
定义部分专用命令。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

clickstr

等待点击相关命令

clickstr STR,NUM

字符串等待点击时的全角文字的集合
数值等待换页所需行数

增加强制等待点击的功能。这样做的话,当特定的文字显示出来的时候则会等待鼠标点击。
但是,在一些本来有等待点击字符的情况中,如果等待点击字符前面有一个_(半角下划线)的时候,强制点击不会起作用。
强制等待点击的时候,单纯地等待点击还是换页,由第二个参数决定。(最大行数-数字)小于零的时候,则会换页。
此功能以使作业简单化为目的,但是不能防止当某一行非常长,超过了数字上设定的值而跳到下一行以至于超出显示范围的现象出现。
这种情况下,可以再使用此命令,然后只改变数字的值。字符串只允许全角字符。

例)
'」'、'。'、'!'、'?'出现的时候等待鼠标点击。
clickstr "」。!?",2

@ / \ /
page top / list / main

Ver.2.48【仅定义部分】

clickvoice

等待点击相关命令

clickvoice STR,STR

字符串等待点击时的点击声音
字符串换页时等待点击声音

指定等待点击的时候的WAVE文件。
参数依次为,普通的等待点击,换页等待点击的声音。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

cmp

条件表达式・循环语句命令

cmp %VAR,STR,STR

数字变量储存结果的变量
字符串要比较的字符串
字符串要比较的字符串

比较两个字符串,相等则将0,不等则将其他变量代入到数值变量中。
右边比较大时范虎负值,左边比较大时返回正值。

由于现在NScripter的字符串比较可以使用=(或者==)符号的缘故,单纯的相等比较则没有使用此命令的必要。(by senzogawa)
例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

cos

算式・变量命令

cos %VAR,NUM

数字变量储存计算结果的变量
数值角度(单位为度)

计算三角函数cosθ。
值为返回值的1000倍。

例)
计算cos60°的值,保存到%1中。
cos %1,60
;%0=1000

sin / tan /
page top / list / main

Ver.2.48【仅定义部分】

createdummy

开发支持命令

createdummy STR

字符串虚拟图像文件名

创建一个指定名字的虚拟图像文件(640.480)。
内容为在白色背景上写着黑色的文件名字。

即使使用mode800等命令变更分辨率但是还是生成640x480的图像。by senzogawa)
例)
创建一个test.bmp的虚拟图像文件。
createdummy "test.bmp"

/
page top / list / main

Ver.2.48【仅执行部分】

csel

系统自定义相关命令

csel STR,LABEL[,STR,LABEL[,...]]

字符串选项字符串
标签选择时的跳转标签

自定义系统的时候的选择命令。用于调用*customsel。格式和select相同。

例)
设定为选择"选择支1"时跳向*s1,选择"选择支2"时跳向*s2,选择"选择支3"跳向*s3
csel "选择支1",*s1,"选择支2",*s2,"选择支3",*s3

*customsel / cselbtn / cselgoto / getcselnum / getcselstr / selectbtnwait /
page top / list / main

Ver.2.48【仅执行部分】

cselbtn

系统自定义相关命令

cselbtn NUM,NUM,NUM,NUM

数值作为选项的字符串的索引标签
数值按钮编号
数值选项显示时的左上X坐标
数值选项显示时的左上Y坐标

以选项文字生成一个按钮。不必指定字符串和精灵编号。

指定位置不在文本窗口上的话,会引发错误。想在画面中央等文本窗口之外的地方的时候有必要使用getcselstr命令。 (by senzogawa)
例)
将第一个选项的字符串,在%1,%2处显示为按钮。
cselbtn 0,500,%1,%2

*customsel / csel / cselgoto / getcselnum / getcselstr / selectbtnwait /
page top / list / main

Ver.2.48【仅执行部分】

cselgoto

系统自定义相关命令

cselgoto NUM

数值选择的选择支的索引

跳转到csel设置的标签。

例)
跳转到索引为%0的选择支标签
cselgoto %0

*customsel / csel / cselbtn / getcselnum / getcselstr / selectbtnwait /
page top / list / main

Ver.2.48【仅执行部分】

csp

图像显示命令

csp NUM

数值精灵编号(0~255)-1表示全部清除

清除指定的精灵。
如果指定-1的话,清除所有的精灵。

例)

/
page top / list / main

Ver.2.80【仅执行部分】

csp2

扩展精灵相关命令

csp2 NUM

数值扩展精灵编号

清除扩展精灵。

例)
清除0号扩展精灵。
csp2 0

amsp2 / lsp2 / lsp2add / lsph2 / lsph2add / msp2 / vsp2 /
page top / list / main

Ver.2.63【定义部分・执行部分两用】

csvclose

CSV文件操作

csvclose

关闭csv文件。如果不使用此命令的话会保持打开状态,当使用完毕的时候请使用此命令关闭文件。

例)
关闭CSV文件。
csvclose

csvopen /
page top / list / main

Ver.2.63【定义部分・执行部分两用】

csveof

CSV文件操作

csveof %VAR

数字变量判定结果的储存变量(0:未到达结尾,1:已到达结尾)

(读取模式专用)
如果读取到了CSV文件的最后返回1,未读到最后返回0。

例)
判断是否读取到CSV文件的结尾,放到%1中。
csveof %1

csvread /
page top / list / main

Ver.2.63【定义部分・执行部分两用】

csvopen

CSV文件操作

csvopen STR,STR

字符串CSV文件名
字符串指定模式

打开csv文件。第一个字符串是CSV文件名。
nsa中包含的文件也可以读取出来。
第二个字符串是用于指定模式。指定的方法如下。
"r"……读取模式。读取普通的csv文件。
"rc"……加密csv读取模式。读取以wc写入模式生成的csv文件。
"w"……写入模式。写入csv文件。
"wc"……加密写入模式。加密写入csv文件。

执行reset之后会自动执行close命令。 (by senzogawa)
例)
以读取模式打开"test.csv"。
csvopen "test.csv","r"
例)
以加密写入模式写入"angou.csv"。
csvopen "angou.csv","wc"

csvclose / csveof / csvread / csvwrite /
page top / list / main

Ver.2.63【定义部分・执行部分两用】

csvread

CSV文件操作

csvread %VAR|$VAR[,...]

变量读入数据的储存变量

(读取模式专用)
从csv文件中读取数据。会按指定的顺序读取。

例)
以逗号分隔的顺序按照$0,$1,%0,%2的顺序读取csv文件。
csvread $0,$1,%0,%2

csvopen /
page top / list / main

Ver.2.63【定义部分・执行部分两用】

csvwrite

CSV文件操作

csvwrite STR|NUM[,...]

特殊写入值

(写入模式专用)
向CSV文件中写入数据。按指定的顺序写入。

例)
向一个CSV文件中按顺序写入"test",%1,$2。
csvwrite 12,"test",%1,$2

csvopen /
page top / list / main

Ver.2.48【仅执行部分】

date

获得各种信息命令

date %VAR,%VAR,%VAR

数字变量获得年的变量
数字变量获得月的变量
数字变量获得天的变量

获得当前机器的年月日时间。

例)

/
page top / list / main

Ver.2.61【定义部分・执行部分两用】

debuglog

开发支持命令

debuglog NUM

数值获取日志标志(0:关、1:开)

开启将debug窗口中的显示文字写入debuglog.txt的文本文件的功能的命令。
debuglog 1打开,debuglog 0关闭。既可以在define部分使用,也可以在start之后使用。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

dec

算式・变量命令

dec %VAR

数字变量作为自减对象的变量

对变量的值减1。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

defaultfont

文字显示命令

defaultfont STR

字符串字体名

指定默认的字体。
没有指定的情况下使用MS ゴシック字体。

这属于之后增加记录的情况,只有删除envdata之后才能反映出来。 (by senzogawa)
例)

/
page top / list / main

Ver.2.48【仅定义部分】

defaultspeed

窗口菜单相关命令

defaultspeed NUM,NUM,NUM

数值与TEXTSLOW对应的速度
数值与TEXTMIDDLE对应的速度
数值与TEXTFAST对应的速度

指定调用特殊显示文字命令!sd或者textspeeddefault命令的时候的速度文字。
从左至右分别为在菜单中选择「低速」「普通」「高速」的时候的速度。

例)
将菜单中的「低速」「普通」「高速」对应设置为50,20,0。
defaultspeed 50,20,0

!sd / textspeeddefault /
page top / list / main

Ver.2.48【仅定义部分】

defbgmvol

特殊模式设置命令

defbgmvol NUM

数值默认音量(0~100)

设置BGM的默认音量。默认值为100(0~100)

例)

/
page top / list / main

Ver.2.48【仅执行部分】

definereset

游戏开始・重置・结束命令

definereset

重置定义部分的命令。重新读取*define部分。

例)
将1代入到变量200后重新读取*define部分。
mov %200,1
definereset

*define /
page top / list / main

Ver.2.48【仅定义部分】

defmp3vol

特殊模式设置命令

defmp3vol NUM

数值默认音量(0~100)

定义mp3(BGM)的默认音量。默认值为100(0~100)

例)

/
page top / list / main

Ver.2.48【仅定义部分】

defsevol

特殊模式设置命令

defsevol NUM

数值默认音量(0~100)

定义SE(DWAVE 1~)的默认音量。默认值为100(0~100)

例)

/
page top / list / main

Ver.2.48【仅定义部分】

defsub

追加功能

defsub NAME

名称子程序的标签名

定义指定的名称的子程序的命令。
在后文中需要实现该子程序。
命令的名称和变量的命名方式相同,但是第一个字符不允许是_。

此外,允许定义和NScripter的原有命令名相同的子程序。
此时,用户定义的子程序有更高的优先级。
若想使用原来的命令,请在命令前加上_(下划线)。
例)
*define
defsub *texton
game

*start
texton ;相当于gosub *texton命令
_texton ;调用原来的texton命令
例)
定义一个*subname的子程序。
defsub subname

之后的脚本中
subname
被执行后
*subname
会跳转到这个位置。

getparam /
page top / list / main

Ver.2.48【仅定义部分】

defvoicevol

特殊模式设置命令

defvoicevol NUM

数值默认音量(0~100)

定义voice(DWAVE 0)的默认音量。默认值为100(0~100)

例)

/
page top / list / main

Ver.2.48【仅执行部分】

delay

等待・定时器

delay NUM

数值等待的时间(毫秒)

等待指定毫秒数的时间。鼠标点击则会跳过。
功能和特殊显示文字命令d相同,但是可以使用变量。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

deletemenu

窗口菜单相关命令

deletemenu

从NScr中删除菜单栏。

例)
从NScr中删除菜单栏。
deletemenu

insertmenu / killmenu / resetmenu /
page top / list / main

Ver.2.48【仅执行部分】

deletescreenshot

截图命令

deletescreenshot

删除内存中的屏幕截图。
可以和savescreenshot2命令组合使用。

例)
删除获得的屏幕快照
deletescreenshot

getscreenshot / savescreenshot / savescreenshot2 /
page top / list / main

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]@
;输出值
例)
声明一个以enemyparam为别名,元素数为11个的一维数组变量。
numalias enemyparam,10
dim ?enemyparam[10]

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

div

算式・变量命令

div %VAR,NUM

数字变量要被运算的数值
数值运算数值

将该变量除以数字。输出截断小数部分的答案。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

draw

DEMO命令

draw

将draw类命令绘制的图像呈现到屏幕上。
不使用此命令则不显示。

例)
逆时针旋转背景图像“bg.bmp”,然后显示出来。
*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 / main

Ver.2.48【仅执行部分】

drawbg

DEMO命令

drawbg

绘制bg画面。

此命令不能显示精灵立绘以及文本框,请注意。
例)
绘制bg画面。
drawbg

/
page top / list / main

Ver.2.48【仅执行部分】

drawbg2

DEMO命令

drawbg2 NUM,NUM,NUM,NUM,NUM

数值画面的位置中心X坐标
数值画面的位置的中心Y坐标
数值横向扩大率(单位为%)
数值纵向扩大率(单位为%)
数值旋转角度(单位为度)

绘制背景画面。根据(x,y)的位置指定。
x_scale和y_scale分别为纵向和横向的扩大率。单位为%。
rot为回转角度。方向逆时针,单位为度。
此外,超出的部分不会被绘制,以致于之前的图像会残留下来。
所以在这些情况下,请事先使用drawclear命令清除。

此命令不能显示精灵立绘以及文本框,请注意。
此命令是以画面位置的中心作为坐标指定的,请注意。
(和其他以左上角的坐标为基准的命令不同)
例)
以(320,240)为中心,横向2倍纵向3被,逆时针旋转15度绘制背景。
drawbg2 320,240,200,300,15

/
page top / list / main

Ver.2.48【仅执行部分】

drawclear

DEMO命令

drawclear

将屏幕涂黑。

例)
将屏幕涂黑。
drawclear

/
page top / list / main

Ver.2.48【仅执行部分】

drawfill

DEMO命令

drawfill NUM,NUM,NUM

数值红色值。R的RGB。0~255
数值绿色值。G的RGB。0~255
数值蓝色值。B的RGB。0~255

以此颜色填充屏幕。
RGB值分别可以指定为0~255的数。

例)
使用#FF0080填充屏幕
drawfill 255,0,128

/
page top / list / main

Ver.2.48【仅执行部分】

drawsp

DEMO命令

drawsp NUM,NUM,NUM,NUM,NUM

数值精灵编号
数值分格编号
数值透明度
数值显示位置的左上x坐标
数值显示位置的左上y坐标

绘制精灵。
分别制定精灵编号,分格号,透明度,显示位置的左上角x坐标,显示位置的左上角y坐标。
通常模式下,精灵的位置,显示和不显示的状态是无关的。
精灵和文字窗口的重叠取决于谁是最后绘制的。

例)
在(20,40)处,以128的透明度,显示编号2精灵的分格1。
drawsp 2,1,128,20,40

/
page top / list / main

Ver.2.48【仅执行部分】

drawsp2

DEMO命令

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的第三个个参数修改过来。
例)
以(20,40)为中心坐标,绘制2号精灵的1号分格,以横向1.5倍,纵向60%,顺时针10度旋转,透明度128来显示。
drawsp2 2,1,128,20,40,150,60,-10

/
page top / list / main

Ver.2.60【仅执行部分】

drawsp3

DEMO命令

drawsp3 NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM

数值精灵编号
数值分格编号
数值不透明度
数值描绘处左上X坐标
数值描绘处左上Y坐标
数值矩阵左上角值
数值矩阵右上角值
数值矩阵左下角值
数值矩阵右下角值

此命令是drawsp系命令中用于实现线性变换的命令。
绘制精灵。
参数顺序为精灵编号,分格编号,透明度,α值,显示位置的中心x坐标,显示位置的中心y坐标,行列式左上值,右上值,左下值,右下值。
矩阵值为实际值的1000倍。

例)
在坐标(20,40),对于编号2的精灵的分格1,使用线性变换矩阵 {1.500 3.00} {8.00 1.200} 进行变换,并显示出来。
drawsp3 2,1,128,20,40,1500,3000,8000,1200

drawsp / drawsp2 /
page top / list / main

Ver.2.48【仅执行部分】

drawtext

DEMO命令

drawtext

绘制文本窗口。
这样的话之前绘制的精灵会在文本窗口下方,之后的会在文本窗口上方。

例)
绘制文本窗口。
drawtext

/
page top / list / main

Ver.2.48【仅执行部分】

dsound

音乐・音效命令

dsound

在define部分使用。声明使用DirectSound播放声音。要使用此命令,必须满足DirectX2或者更高。(此命令现在的版本已无使用必要。)

例)

/
page top / list / main

Ver.2.48【仅执行部分】

dv

音乐・音效命令

'dv'NUM':'

数字声音文件的文件名编号

便于播放语音的命令。
相当于dwave 0,"wav\数字.wav"。

例)
当显示"「这里是第0001条台词哟~」"的时候,用dwave命令播放"wav\0001.wav"的0号音轨。
dv0001:「这里是第0001条台词哟~」

dwave / v /
page top / list / main

Ver.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)
例)
在通道0播放一次"test.wav"。
dwave 0,"test.wav"

/
page top / list / main

Ver.2.48【仅执行部分】

dwaveload

音乐・音效命令

dwaveload NUM,STR

数值通道编号(0~49)
字符串WAVE文件名

在播放之前读取wav到内存中,以便用dwaveplay和dwaveplayloop命令播放。

不预先载入就播放的话会引发错误。
另外,ogg格式不能使用此命令。(by senzogawa)
在使用nsogg.dll的情况下不会引发错误。(by senzogawa)
例)
载入"test.wav"的0号音轨,播放一次。
dwaveload 0,"test.wav"
dwaveplay 0

/
page top / list / main

Ver.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 / main

Ver.2.48【仅执行部分】

dwaveplay

音乐・音效命令

dwaveplay NUM

数值通道编号(0~49)

播放一次已经用dwaveload命令载入的wav文件。

尝试播放未载入内存的声音文件会导致错误。
另外,ogg格式不能使用此命令。(by senzogawa)
在使用nsogg.dll的情况下不会引发错误。(by senzogawa)
要改变音量的话,在此命令后需要用chvol命令。 (by senzogawa)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

dwaveplayloop

音乐・音效命令

dwaveplayloop NUM

数值通道编号(0~49)

循环播放使用dwaveload命令载入的wav文件。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

dwavestop

音乐・音效命令

dwavestop

停止播放当前的音轨。

例)

/
page top / list / main

Ver.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)
例)
分配效果编号2给1秒的向上百叶窗效果。
effect 2,4,1000
例)
定义3号效果
effect 3,15,2000,"m3.bmp"

/
page top / list / main

Ver.2.48【仅定义部分】

effectblank

图像效果

effectblank NUM

数值执行下一个命令之前的等待时间

以毫秒为单位,指定效果结束之后,到下一条命令之间的时间间隔。
当使用效果1瞬时显示的情况下,这个设定不起作用,会瞬时显示。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

effectcut

图像效果

effectcut

「跳到下一个选择支」时,跳过所有的效果。

例)

/
page top / list / main

Ver.2.92【仅执行部分】

effectskip

图像显示命令

effectskip NUM

数值可否跳过标志(0:不可跳过、1:允许跳过)

指定是否允许在显示效果的时候跳过效果。
这个值默认为1(允许跳过)。为0则不可跳过。

例)
显示效果的时候允许跳过。
effectskip 1

effect / print /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

end

游戏开始・重置・结束命令

end

结束程序,清除窗口。

例)
在退出确认之后退出程序。
yesnobox %0,"结束程序?","退出确认"
if %0==1 end

game /
page top / list / main

Ver.2.82【仅定义部分】

english

追加功能

english

将NScripter开启英文模式。使之能够正确地显示半角英文文章。
使用此模式时,请在行头加上>。

从2007.11.04之后的版本添加此命令。在使用此命令时,#ffffff以及!sd等显示文字相关命令无法使用。代替的命令已记录在相关命令中。 (by senzogawa)
例)
显示Peter Piper picked a peck of pickled peppers。
*define
english
game
*start
>Peter Piper picked a peck of pickled peppers;@
end

delay / textcolor / textspeed / textspeeddefault / wait /
page top / list / main

Ver.2.65【仅执行部分】

erasetextbtn

文字按钮命令

erasetextbtn

当点击一个按钮退出按钮等待模式的时候,如果这个按钮仍保持按下状态,此命令可以将其恢复到未按下状态。

例)

<> /
page top / list / main

Ver.2.48【仅执行部分】

erasetextwindow

文字窗口命令

erasetextwindow NUM

数值标志(0:保持不变、1:显示效果时隐藏文字窗口)

数值为0的时候,在显示效果的时候,文本窗口会保持不动。
1是默认值,在显示效果的时候,会隐藏文字窗口。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

errorsave

保存・读取命令

errorsave

出错时自动保存至999号存档。

例)
设定为出错时自动保存到999号存档
errorsave

/
page top / list / main

Ver.2.48【仅执行部分】

exbtn

图像按钮

exbtn NUM,NUM,STR

数值精灵编号
数值按钮编号
字符串精灵控制字符串

最后的控制字符串除了附加的两条以外和spbtn命令相同。功能是相同的。
只是在鼠标光标和按钮重合的时候不仅仅能产生按钮的变化,
还能根据控制字符串进行指定的精灵控制。

控制字符串请按下列形式书写。
"C数字" 不显示指定的精灵编号
"P数字" 显示指定的精灵编号
"P数字1,数字2" 显示数字1的精灵和数字2的分格

控制字符串可以为上述三种的连接组合。

对于复合按钮,需要指定「光标未和任何按钮重叠」的情况。
可以通过exbtn_d命令实现。

按钮和其他的是相同的,不管是文字精灵还是普通的图像精灵都是OK的。

另外,下列功能已经被添加。

可以使用 S通道,(文件名) 播放声音。
可以使用 M精灵编号,X,Y 来移动精灵。

S,M符号适用于ver.2.49之后。
例)
隐藏10号精灵。
"C10"
例)
隐藏11号精灵,显示10号精灵。
"C11P10"
例)
隐藏11号精灵,显示10号精灵的2号分格,显示9号精灵。
"C11P10,2P9"
例)
播放se.wav的1号音轨。
"S1,(se.wav)"
例)
将4号精灵移动到(20,30)。
"M4,20,30"

exbtn_d / spbtn /
page top / list / main

Ver.2.48【仅执行部分】

exbtn_d

图像按钮

exbtn_d STR

字符串精灵控制字符串

当光标不在任何一个复合按钮上的时候控制显示。

例)
当鼠标光标不在任何一个按钮上的时候,显示3号精灵和7号精灵的分格0,隐藏4,5,6号精灵。
exbtn_d "P3C4C5C6P7,0"

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

exec_dll

插件・压缩包

exec_dll STR

字符串用‘/’分割的dll文件名和参数

将指定的参数传递给指定的dll文件进行调用。

例)
将「テストですよー。」作为参数传递给「execdll.dll」进行调用。
exec_dll "execdll.dll/テストですよー。"

/
page top / list / main

Ver.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 / main

Ver.2.48【仅执行部分】

fileexist

追加功能

fileexist %VAR,STR

数字变量储存结果的变量(0:无、1:有)
字符串文件名

文件存在返回1,否则返回0。也会搜索nsa压缩文件。

例)

fileremove /
page top / list / main

Ver.2.48【仅定义部分】

filelog

文件访问日志・全局变量

filelog

指定访问日志文件。
凡是读取过的图像标签,都会记录其中。
此外,标签不同,即使文件名相同也会被认为不同。
如果既不使用此命令也不使用globalon命令,NS将不会写入文件,因此可以从CD中启动。

例)

/
page top / list / main

Ver.非正式【仅执行部分】

fileremove

追加功能

fileremove STR

字符串文件名

删除文件。

例)

fileexist /
page top / list / main

Ver.2.48【仅执行部分】

flushout

图像效果

flushout NUM

数值效果的时间(毫秒)

特殊效果命令。效果为中心扩大+模糊。
之后请务必载入别的背景。

例)
一秒内执行flushout命令。
flushout 1000

/
page top / list / main

Ver.2.67【定义部分・执行部分两用】

font

文字窗口命令

font STR

字符串字体名

改变文字的显示字体。
效果将由清空文字之后下一次显示文字时才能起作用。
最好在没有文字显示在画面上的时候使用。

例)
将显示文字的字体改为"MS 明朝"
font "MS 明朝"

setwindow /
page top / list / main

Ver.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的。
推荐从循环开始到结束,外部和内部应该清晰的分开。)

例)
将1加到10的结果储存到%1中
for %0=1 to 10
add %1,%0
next

next /
page top / list / main

Ver.2.48【仅定义部分】

game

游戏开始・重置・结束命令

game

结束定义部分,执行游戏部分。

例)
结束定义部分,执行游戏。
game

*define / *start /
page top / list / main

Ver.非正式【仅执行部分】

getbgmvol

音乐・音效命令

getbgmvol %VAR

数字变量音量(0~100)

获得bgm的音量。对bgm命令和mp3命令均有效。

例)
获得bgm的音量,储存到%0变量中。
getbgmvol %0

bgm / bgmvol /
page top / list / main

Ver.2.48【仅执行部分】

getbtntimer

图像按钮

getbtntimer %VAR

数字变量btnwait耗费的秒数

例如,在点击右键等操作跳出后,想再次回到btnwait进行处理的时候使用。在这种情况下,btnwait命令实际上运行了多少时间可以通过getbtntimer命令返回得到,于是重新执行btnwait的时候的超时时间可以通过减去这个时间计算出来。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

getcselnum

系统自定义相关命令

getcselnum %VAR

数字变量储存选择支编号的变量

获得csel命令所获得的选择支的编号。

不能对cselbtn命令指定比这个命令所获得的数值更大的数。(by senzogawa)
例)
将选择支的编号储存到%0中
getcselnum %0

*customsel / csel / cselbtn / cselgoto / getcselstr / selectbtnwait /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

getcselstr

系统自定义相关命令

getcselstr $VAR,NUM

文字变量字符串储存变量
数值哪个选择支

获取在csel中指定编号选择支的文本。

例)
将第0个(最初)选择支的文字,储存到$0变量中
getcselstr $0,0

csel /
page top / list / main

Ver.2.48【仅执行部分】

getcursor

键盘按键扩展

getcursor

用在btndef和btnwait命令之间。方向键的上右下左分别返回-40,-41,-42,-43。

例)
设置为能够获取方向键
getcursor

btndef / btntime / btntime2 / btnwait / getenter / getfunction / getinsert / getpage / gettab / getzxc / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.48【仅执行部分】

getcursorpos

系统自定义相关命令

getcursorpos %VAR,%VAR

数字变量储存文本光标的X坐标
数字变量储存文本光标的Y坐标

获得文本光标,也就是文本窗口中文字的显示位置。

例)
获取文本光标到储存到%0和%1变量中
getcursorpos %0,%1

texec / textbtnwait / textgosub /
page top / list / main

Ver.2.92【仅执行部分】

getcursorpos2

系统自定义相关命令

getcursorpos2 %VAR,%VAR

数字变量左上角X坐标
数字变量左上角Y坐标

类似于getcursorpos命令,但是这个命令是获得「最后显示的文字的左上角坐标」。

例)
获得最后显示的文字的左上角的坐标保存到%0和%1中。
getcursorpos2 %0,%1

getcursorpos / texec / texec2 / textbtnwait / textgosub /
page top / list / main

Ver.2.48【仅执行部分】

getenter

键盘按键扩展

getenter

用在btndef和btnwait命令之间。按下Enter键时,返回-19。

例)
设置为能够检测Enter键
getenter

btndef / btntime / btntime2 / btnwait / getcursor / getfunction / getinsert / getpage / gettab / getzxc / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.48【仅执行部分】

getfunction

键盘按键扩展

getfunction

用在btndef和btnwait命令之间。按下F1到F12时,返回-21~-32之间的值。

例)
设置为能够检测功能键
getfunction

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getinsert / getpage / gettab / getzxc / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

getini

获得各种信息命令

getini $VAR,STR,STR,STR

文字变量储存值的变量
字符串ini文件名
字符串小节名
字符串键值名

打开ini文件,读取数据到变量中。
参数依次为ini文件名,区块名,键名。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

getinsert

键盘按键扩展

getinsert

请在btndef和btnwait类命令中使用此命令。
设置为能够检测到Insert键被按下。
返回值为-50。

例)
设置为能够检测Insert键
getinsert

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getfunction / getpage / gettab / getzxc / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.49【仅执行部分】

getlog

自定义回想模式

getlog $VAR,NUM

文字变量储存获得的记录的变量
数值多少页之前

获得回想模式的文字。换行和注音都会包含在其中。
第一个参数为储存文字的变量,第二个参数和checkpage相同,指定的是获取多少页之前的文字。

例)
获得%5页面前的日志
getlog $0,%5

logsp /
page top / list / main

Ver.2.70【仅执行部分】

getlogtext

自定义回想模式

getlogtext $VAR,NUM

文字变量储存获得的记录的变量
数值多少页之前

功能几乎和getlog相同,当和strsp组合使用的情况下使用此命令。
今后的版本会将strsp和getlog组合使用。

例)

getlog / strsp /
page top / list / main

Ver.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 / main

Ver.2.49【仅执行部分】

getmouseover

系统自定义相关命令

getmouseover NUM,NUM

数值精灵编号最小值
数值精灵编号最大值

请在btndef和textbtnwait命令之间使用此命令。
当鼠标悬停在指定范围中的按钮上时,会跳出等待按钮的循环。

例)
对鼠标移动到0~9号的精灵上的情况作出反应。
btndef clear
getmouseover 0,9
textbtnwait %0

btndef / textbtnwait /
page top / list / main

Ver.2.48【仅执行部分】

getmousepos

键盘按键扩展

getmousepos %VAR,%VAR

数字变量储存鼠标光标X坐标的变量
数字变量储存鼠标光标Y坐标的变量

获得鼠标光标的坐标储存到指定的变量中。
和clickpos不同,能在不必等待鼠标单击的情况下获得坐标。

例)
获得鼠标坐标保存到%0%1中。
getmousepos %0,%1

clickpos /
page top / list / main

Ver.非正式【仅执行部分】

getmp3vol

音乐・音效命令

getmp3vol %VAR

数字变量音量(0~100)

获得mp3的音量。对bgm命令和mp3命令均有效。

例)
获得mp3的音量。
getmp3vol %0

mp3 / mp3vol /
page top / list / main

Ver.2.48【仅执行部分】

getnextline

光标相关命令

getnextline %VAR,%VAR

数字变量下一行行首位置的X坐标储存变量
数字变量下一行行首位置的Y坐标储存变量

获得文字窗口要显示的下一行的行首位置。

例)
将下一行的行首坐标储存到%0和%1中。
getnextline %0,%1

/
page top / list / main

Ver.2.48【仅执行部分】

getpage

键盘按键扩展

getpage

请在btndef和btnwait类命令中使用此命令。
设置为能够检测到PageUp和PageDown两个键的按下。
返回值为-12和-13.

例)
设置为能够检测到PageUp和PageDown两个键
getpage

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getfunction / getinsert / gettab / getzxc / spclclk / useescspc / usewheel /
page top / list / main

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定义的子程序中使用的。
例)
定义一个子程序sub,演示如何获得一个字符串参数和数值参数
*define
defsub sub

*sub
getparam $50,%50
;$50变量代入"字符串",%50变量代入值12
return

*start
sub "字符串",12
例)
定义子程序kakeru_4,获得数字变量和数值作为参数
*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
例)
定义子程序renketu,获得文字变量和字符串作为参数
*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 / main

Ver.2.48【定义部分・执行部分两用】

getreg

获得各种信息命令

getreg $VAR,STR,STR

文字变量储存注册表信息的变量
字符串键名
字符串值名

从注册表中读取数据,保存到文字变量中。
这能选择HKEY_CURRENT_USER下面的键值。

例)
getreg $0,"software\leaf\toheart","datadir"

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

getret

插件・压缩包

getret %VAR

数字变量接收从dll返回值的变量

getret $VAR

文字变量接收从dll返回值的变量

用于获得以exec_dll命令执行的dll里的返回值。能够获得一个数值或者字符串的值。
也可以用来获得textfield等命令的返回值。

例)
例)

exec_dll / textfield /
page top / list / main

Ver.2.60【仅执行部分】

getsavestr

保存・读取命令

getsavestr $VAR,NUM

文字变量储存读取的字符串的变量
数值存档编号

获得savegame2命令保存的字符串。

例)
将用savegame2命令保存的12号存档中的字符串取出放到$1中。
getsavestr $1,12

savegame2 /
page top / list / main

Ver.2.48【仅执行部分】

getscreenshot

截图命令

getscreenshot NUM,NUM

数值横向大小
数值纵向大小

截取屏幕。只会将画面保存到内存中,所以必须要使用savescreenshot命令保存成文件。

例)
以横向160,纵向120的大小截取屏幕。
getscreenshot 160,120

deletescreenshot / savescreenshot / savescreenshot2 /
page top / list / main

Ver.非正式【仅执行部分】

getsevol

音乐・音效命令

getsevol %VAR

数字变量音量(0~100)

得到SE的音量。

例)
获得SE的音量储存到%0。
getsevol %0

chvol / dwave / sevol / wave /
page top / list / main

Ver.2.49【仅执行部分】

getskipoff

系统自定义相关命令

getskipoff

请在btndef和textbtnwait命令之间使用此命令。
skipoff的情况下返回-60,automode的情况下返回-61。

例)
如果处于skipoff状态则调用取消显示skip状态的子程序。
btndef clear
getskipoff
textbtnwait %0
if %0=-60 gosub *clearskipicon

btndef / textbtnwait /
page top / list / main

Ver.2.61【仅执行部分】

getspmode

图像显示命令

getspmode %VAR,NUM

数字变量储存结果的变量
数值精灵编号

精灵为显示状态返回1,不显示状态返回0。

例)
获得10号精灵的显示状态,保存到%2中。
getspmode %2,10

lsp / lsph /
page top / list / main

Ver.2.53【仅执行部分】

getspsize

图像显示命令

getspsize NUM,%VAR,%VAR[,%VAR]

数值精灵编号
数字变量储存宽的变量
数字变量储存高的变量
数字变量储存分格数的变量

获得精灵的大小。
第三个获得分格数的变量可以省略。

第三个参数在Ver.2.54中添加。
例)
将编号0的精灵的宽,高,分格数分别写入到%0,%1,%2中。
getspsize 0,%0,%1,%2

/
page top / list / main

Ver.2.48【仅执行部分】

gettab

键盘按键扩展

gettab

用在btndef和btnwait命令之间。按下tab键是返回-20。

例)
设置为能获得tab键
gettab

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getfunction / getinsert / getpage / getzxc / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.49【定义部分・执行部分两用】

gettag

文本标签相关

gettag $VAR|%VAR[,...]

变量储存tag信息的变量

此命令多用于指定*pretextgosub的子程序跳转而来,来获得标签的内容。
和split命令类似,但是没有使用""的必要。使用/作为分隔符。
省略的内容会被填充为""或者0。
当标签本身被省略的时候,变量会全部赋值为""或者0。
例)gettag $0,$1 的情况

[太郎/0001.wav]这里是台词。;→$0="太郎" $1="0001.wav"
省略了标签的时候。 ;→$0="" $1=""

可以在处理名字和语音的时候使用。

例)
用$0和$1储存tag的信息
gettag $0,$1

pretextgosub /
page top / list / main

Ver.2.72【仅执行部分】

gettaglog

自定义回想模式

gettaglog $VAR,NUM

文字变量日志标签字符串的储存变量
数值记录的页码

和getlog命令用法相同,用于获得指定数字前的页数的标签。
当回想记录中记录了标签以及回想记录标签是自定义的情况下。如果预先指定名字和声音的话,这样就能够方便地读取这些数据了。

没有标签的时候返回""。
此处,gettag命令可以根据/分割变量,但是gettaglog命令不行。
像下面的例子一样使用的话,可以实现和gettag一样的分离效果

例)
想获得和gettag $1,$2 一样的记录的时候
gettaglog $0,2
split $0,"/",$1,$2

gettag /
page top / list / main

Ver.2.48【仅执行部分】

gettext

文字窗口命令

gettext $VAR

文字变量储存文字窗口的文字的变量

获得现在在文本窗口中显示的文字。

例)
获得现在在文本窗口中显示的文字并保存到$0变量中。
gettext $0

/
page top / list / main

Ver.2.65【仅执行部分】

gettextbtnstr

文字按钮命令

gettextbtnstr $VAR,NUM

文字变量储存文字按钮的内容的变量
数值文字按钮的编号

获得对应编号的文字按钮的字符串。
没有内容的时候会用""代替。

例)
获得12号文字按钮的字符串到$0变量中。
gettextbtnstr $0,12

<> /
page top / list / main

Ver.2.48【仅执行部分】

gettimer

等待・定时器

gettimer %VAR

数字变量经过的时间(毫秒)

这是用来获得内部计时器的值的命令。
返回从上一次运行resettimer命令之后,经过的毫秒数。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

getversion

获得各种信息命令

getversion %VAR

数字变量版本转换为整数后所储存的变量

版本号会返回一个三位的整数。
实际上是版本号100倍的整数。
也就是说,如果是1.90版的话会返回190。

例)

/
page top / list / main

Ver.非正式【仅执行部分】

getvoicevol

音乐・音效命令

getvoicevol %VAR

数字变量音量(0~100)

获得语音音量大小。

例)
获得语音音量并保存到%0中
getvoicevol %0

chvol / dv / v / voicevol /
page top / list / main

Ver.2.54【仅执行部分】

getwindowsize

获得各种信息命令

getwindowsize %VAR,%VAR

数字变量储存窗口宽度的变量
数字变量储存窗口高度的变量

获得窗口的client区域(除去菜单和边框,显示图像的部分)。默认值为640和480。

例)
获得窗口的高度和宽度,保存到%0和%1中。
getwindowsize %0,%1

/
page top / list / main

Ver.2.48【仅执行部分】

getzxc

键盘按键扩展

getzxc

请在btndef和btnwait类命令中使用此命令。
设置为能够检测到ZXC键的按下。
返回这为-51,-52,-53。

例)
设置为能够检测Z,X,C键
getzxc

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getfunction / getinsert / getpage / gettab / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.48【仅定义部分】

globalon

文件访问日志・全局变量

globalon

设置为使用全局变量。

例)

value /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

gosub

跳转命令

gosub LABEL

标签跳转目的地

会调用标签指定的子程序。
通过return语句从子程序返回后,继续执行gosub后面一条语句。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

goto

跳转命令

goto LABEL

标签跳转目的地

跳转到相应的标签。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

humanorder

图像显示命令

humanorder STR,NUM[,NUM]

字符串例如"rcl",则指定了"r","c","l"的顺序
数值效果编号效果数字超过2的话需要根据情况增加参数

指定立绘之间的优先顺序。

例)
立绘按照屏幕上的右,中央,左的顺序显示。
humanorder "rcl",1

humanz /
page top / list / main

Ver.非正式【定义部分・执行部分两用】

humanpos

图像显示命令

humanpos NUM,NUM,NUM

数值指定了左立绘的基准x坐标
数值指定了中央立绘时的基准x坐标
数值指定了右立绘时的基准x坐标

设置立绘的基准x坐标。
这个命令设定的坐标是和立绘的正中对齐的。
默认值大约是160,320,480。

ver2.92或更高版本,可用于执行部分
例)

ld /
page top / list / main

Ver.2.48【仅定义部分】

humanz

图像显示命令

humanz NUM

数值立绘显示层的上层的精灵编号

指定立绘和精灵重叠的时候的优先顺序(Z轴顺序)。
指定编号的精灵将被绘制在立绘的上面。
默认值为25。

例)

ld / windowback /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

if

条件表达式・循环语句命令

if CONDITION[{&&,&} CONDITION[...]] SENTENCE

条件表达式比较操作符、检查命令、返回布尔值的表达式
执行语句条件表达式为真的情况下执行的语句。

条件判断命令。使用格式如下。
 if 条件式 ({&&,&} 条件式) 执行语句。
if命令对应条件成立的情况,notif对应条件不成立的情况,执行下面的命令。
对于不满足上面的条件的情况,这一行将被跳过。
&&和&意义相同,用于进一步缩小条件。
条件式以及数字,还有fchk函数都可以使用。
   <条件式>
   数字 {>,<,=,>=,<=,==,!=,<>} 数字
   或者,
   fchk 字符串

   <,>,=,>=,<=如字面意思。
   ==和=是相同的意思,意味着「相等」!=和<>是相同的意思,意味着「不等」。
   如果字符串指定的图像能够被读取的话fchk返回真。

ver.2.93中,仅有&运算没有|运算(OR运算)是允许的。但是&和|混合使用是不可以的。
例)
%0的内容为1的话,以2像素为单位横向摇动500毫秒。
if %0=1 quakex 2,500 ; 基本用法
例)
当%0的值为1,而且%2的值为5的情况下,结束游戏。
if %0=1 && %2=5 end ; 两个条件均成立则执行
例)
当%0的值为2的时候,将1代入%1,然后向后跳两行指令。
if %0=2 mov %1,1:skip 2 ; 使用:(冒号)执行两个指令

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

inc

算式・变量命令

inc %VAR

数字变量作为自增对象的变量

变量值加1。

例)

/
page top / list / main

Ver.2.49【定义部分・执行部分两用】

indent

文本标签相关

indent NUM

数值缩进的文字数

换行时文字会根据指定文字数向右缩进。
和pretextgosub组合起来的话,对话的时候换行时可以使用使文本向右进行缩进。

例)
换行时进行2个文字的缩进。
indent 2

pretextgosub /
page top / list / main

Ver.2.48【仅执行部分】

input

追加功能

input $VAR,STR,STR,NUM,NUM

字符串获得输入结果的变量
字符串要显示的信息
字符串默认字符串
数值最大字符数
数值强制全角文字标志(0:允许半角,1:强制全角)

和inputstr一样显示一个输入文字的文本框。input命令可以设置默认的字符串。
最后一个数字是0或者1,为是否强制全角标志。

例)

inputnum / inputstr / textfield /
page top / list / main

Ver.非正式【仅执行部分】

inputnum

追加功能

inputnum %VAR,NUM,NUM,NUM,NUM

数字变量储存输入结果的变量
字符串要显示的信息
数值窗口的宽度
数值窗口的高度
数值输入区域的宽度
数值输入区域的高度

显示一个输入数值的对话框。
字符串为要显示在对话框上的消息。
后四个参数可选,分别为窗口大小X,Y,文字输入框的大小X,Y。

例)

input / inputstr / textfield /
page top / list / main

Ver.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 / main

Ver.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 / main

Ver.2.48【仅定义部分】

intlimit

算式・变量命令

intlimit NUM,NUM,NUM

数值数值变量编号
数值最小值
数值最大值

限制数字变量的值。超过最大值会被改为最大值,超过最小值会被改为最小值。
参数依次为数字变量编号,最小值,最大值。

例)
限制%0的取值范围在10~20之间。
intlimit 0,10,20

/
page top / list / main

Ver.2.48【仅执行部分】

isdown

键盘按键扩展

isdown %VAR

数字变量储存判定结果的变量

将按键是否按下的结果写入到指定的变量中。
未按下返回0,按下则返回1。

例)
按住左键会一直输出「0」,松开会停止输出,点击右键则结束程序。
*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 / main

Ver.2.48【仅执行部分】

isfull

窗口菜单相关命令

isfull %VAR

数字变量结果的储存变量(0:通常,1:全屏)

获得当前是否处于全屏状态。

因为可以通过Alt+Enter键切换是否全屏,所以除此命令无法获得是否全屏。
例)
判断是否全屏,将结果存到%0中,切换状态。
isfull %0
if %0==0 menu_full
notif %0==0 menu_window

menu_full / menu_window /
page top / list / main

Ver.2.49【仅执行部分】

ispage

系统自定义相关命令

ispage %VAR

数字变量储存判定结果的变量

在textgosub命令被调用时,如果调用它的文字是处于换页等待的话返回1,
如果只是单纯地等待点击的话返回0。

例)
检查是否处于换页等待并储存到%0中
ispage %0

textgosub /
page top / list / main

Ver.2.48【仅执行部分】

isskip

系统自定义相关命令

isskip %VAR

数字变量储存结果的变量

现在为skipmode返回1,automode返回2,通常模式返回0。

在跳过已读文字打开时,在未读的文章部分会返回0。(by senzogawa)
例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

itoa

算式・变量命令

itoa $VAR,NUM

文字变量代入结果的变量
数值要转换成字符串的数字

将数字转换为字符串。但是只是半角字符。

例)
将120转换为字符串代入$0中,再将%2的内容转换为字符串代入$1中。
itoa $0,120
itoa $1,%2

/
page top / list / main

Ver.2.49【定义部分・执行部分两用】

itoa2

算式・变量命令

itoa2 $VAR,NUM

文字变量全角数字的储存变量
数值要转换的数值

和itoa命令相同都是把数值转换为字符串,但是此命令会转换成全角数字。显示的时候会变得方便。

例)
将%4储存的数值转换为全角字符串,储存到$0变量中。
itoa2 $0,%4

itoa /
page top / list / main

Ver.2.48【仅执行部分】

jumpb

跳转命令

jumpb

返回到上一个~记号处。

虽然脚本中没有~符号,但是如果注释中有~符号的时候,会跳转到该处,请注意。(by senzogawa)
(原文此处为乱码)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

jumpf

跳转命令

jumpf

跳转到下一个~记号处。用于使用标签名太麻烦的场合。但是,由于不能用于构造多层结构,所以最好只用于能够预见跳转位置的情况。

虽然脚本中没有~符号,但是如果注释中有~符号的时候,会跳转到该处,请注意。(by senzogawa)
(原文此处为乱码)
例)
jumpf
这句话将被跳过。
~
这句话将被显示。

/
page top / list / main

Ver.2.48【仅执行部分】

kidokumode

跳过已读文字命令

kidokumode NUM

数值0:强制跳过、1:跳过已读

在跳过已读和强制跳过所有的模式之间切换。

例)
关闭跳过已读,开启强制跳过模式
kidokumode 0

kidokuskip /
page top / list / main

Ver.2.48【仅定义部分】

kidokuskip

跳过已读文字命令

kidokuskip

使用此命令的话,「跳到下一个选项处」的时候会变成跳过已读文章。已读文章数据会被保存在文件中,如果改变了脚本的话,改变部分之后都会发生偏移。
已读文章的数据会被保存在「kidoku.dat」中。

例)

kidokumode /
page top / list / main

Ver.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 / main

Ver.2.73【仅执行部分】

kinsoku

追加功能

kinsoku {on,off}

列举on:进行禁止处理、off:不作禁止处理

kinsoku on则执行禁止处理。kinsoku off则不作禁止处理。

对正常文字显示和strsp均会起作用。 (by senzogawa)
例)

strsp /
page top / list / main

Ver.2.48【仅执行部分】

labelexist

追加功能

labelexist %VAR,LABEL

数字变量确认结果(0:无、1:有)
标签要确认的标签

该标签存在的话则返回1,不存在则返回0.

此为非正式命令。(by senzogawa)
例)
*message标签存在的话,则使用gosub命令。
labelexist %0,*message
if %0==1 gosub *message

gosub / goto /
page top / list / main

Ver.2.48【仅定义部分】

labellog

文件访问日志・全局变量

labellog

和文件记录相同的形式,获得标签的记录。
 除了goto gosub等命令跳转的目的标签,脚本读取的标签全部都会记忆在其中。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

layermessage

插件・压缩包

layermessage NUM,STR

数值在setlayer中指定的层数编号
字符串向layer发送的消息

向指定的layer发送任意的字符串消息。
layer可以通过此命令实现不同的效果。
以BOOL Message (char *message,int *returnint,char *returnstr);
的形式接收。

例)

setlayer /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

lchk

条件表达式・循环语句命令

lchk LABEL

标签欲读入确认的标签

和fchk命令相同、在if命令中使用。如果读取了此标签则返回真。
 因为NScr的标签名(除此之外其他地方也是)可以用文字变量代替,所以
lchk *test
lchk "*test"
lchk $0
上述三者均为正确用法。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

ld

图像显示命令

ld {l,c,r},STR,EFFECT

列举立绘的显示位置(l:左、c:中央、r:右)
字符串文件名
效果显示立绘时所用效果

用于加载立绘。需要从左(l),右(r),正中(c)中选择一个。
请以字符串形式指定图像文件名。也可以使用标记。

例)

cl / effect / humanz /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

len

算式・变量命令

len %VAR,STR

数字变量储存长度的变量
字符串待测字符串

返回字符串的长度。

例)
求$0变量字符串的长度。
len %0,$0

mid /
page top / list / main

Ver.2.48【仅定义部分】

linepage

等待点击相关命令

linepage

将行末没有\的显示文章的换行视为换页。
在AVG中每次只想显示一行的时候可以省略最后的换行标志。
将此命令和@,\以及clickstr同时使用时候需要多多注意。

例)

@ / \ / clickstr /
page top / list / main

Ver.2.65【定义部分・执行部分两用】

linkcolor

文字按钮命令

linkcolor COLOR,COLOR

颜色值文字按钮的通常颜色
颜色值鼠标悬停时的颜色

linkcolor 鼠标离开时颜色,鼠标悬停时颜色
用于设定文字按钮的颜色。
默认是黄色和淡蓝色。

例)
设定通常颜色为#FFFF88鼠标悬停颜色为#88FF88。
linkcolor #FFFF88,#88FF88

<> /
page top / list / main

Ver.2.48【仅执行部分】

loadgame

保存・读取命令

loadgame NUM

数值存档编号

从对应编号的存档读取游戏。注意此命令并不会进行确认。
读取失败时不会有任何反应,而是直接执行下一条语句。

例)

loadgosub /
page top / list / main

Ver.2.48【仅定义部分】

loadgosub

保存・读取命令

loadgosub LABEL

标签紧接着读取后调用的子程序

指定读取存档后执行的子程序。
这个子程序会在恢复到保存状态之后立即被调用。
也就是说,这个子程序会在任何可以保存的情况下被调用,所以请仔细地设计这个子程序的脚本。
使用插件播放音乐的时候,读取存档后只能通过手动方式才能恢复到保存时状态,此命令是为应对这种情况而设置的。

使用插件播放音乐的时候有必要使用
例)
读取之后直接调用*loadlb子程序。
loadgosub *loadlb

/
page top / list / main

Ver.2.48【仅执行部分】

locate

文字显示命令

locate NUM,NUM

数值横位置(字符单位)
数值纵位置(字符单位)

改变文字的显示位置。单位是一个字符。而不是一个像素。

例)

/
page top / list / main

Ver.2.49【仅执行部分】

logsp

自定义回想模式

logsp NUM,STR,NUM,NUM[,COLOR[,COLOR[,...]]]

数值精灵编号
字符串使用getlog获得的字符串
数值显示位置的左上x坐标
数值显示位置的左上y坐标
颜色值日志文字颜色(默认值#FFFFFF)
颜色值鼠标悬停时的日志文字颜色(不指定:单分格)

从getlog获得文字中,将回想日志中的文字图像转化为精灵。
暂时将文字进行处理,作为以便之后的加工的考虑。
第一个参数是精灵编号,第二参数是回想日志的文字,第三第四参数为左上坐标,第五参数为指定的文字颜色(和原文字颜色无关的单色)。省略的话则为#FFFFFF,指定多个颜色的话,分别创建颜色数的分格。

例)
将回想日志中的文字绘制为8号精灵,左上角坐标为60,90
logsp 8,$0,60,90
例)
将回想日志中的文字绘制为8号精灵,左上角坐标为60,90,颜色为#FFFF88
logsp 8,$0,60,90
例)
将回想日志中的文字绘制为8号精灵,左上角坐标为60,90,分格0颜色#888888,分格1颜色#FFFF88
logsp 8,$0,60,90,#888888,#FFFF88

getlog / logsp2 /
page top / list / main

Ver.2.49【仅执行部分】

logsp2

自定义回想模式

logsp2 NUM,STR,NUM,NUM,NUM,NUM,NUM,NUM[,COLOR[,COLOR[,...]]]

数值精灵编号
字符串使用getlog获得的字符串
数值显示位置的左上x坐标
数值显示位置的左上y坐标
数值显示文字宽度
数值显示文字高度
数值显示文字横向间隔
数值显示文字纵向间隔
颜色值日志文字颜色(默认值#FFFFFF)
颜色值鼠标悬停时的日志文字颜色(不指定:单分格)

logsp的升级版,能够指定文字的大小。

最后两个颜色制定并未得到官方确认。 (by senzogawa)
例)
将回想记录的文字绘制为为2号精灵,左上角坐标150,20,文字大小17,17,文字间隔0,1
logsp2 2,$0,150,20,17,17,0,1

getlog / logsp /
page top / list / main

Ver.2.48【仅定义部分】

lookbackbutton

回想模式

lookbackbutton STR,STR,STR,STR

字符串上方向选择状态的按钮图像
字符串上方向未选择状态的按钮图像
字符串下方向选择状态的按钮图像
字符串下方向未选择状态的按钮图像

加载回想模式用的按钮。
参数从左到右依次为上方向选择状态,上方向未选择状态,下方向选择状态,下方向未选择状态。
默认值为"uoncur.bmp","uoffcur.bmp","doncur.bmp","doffcur.bmp"。
图像大小不同的话会引发错误操作。
回想按钮无法执行动画效果。
回想按钮会贴近文本窗口的右端上下部分。
因为没办法调整位置,所以请使用透明的部分调整位置。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

lookbackcolor

回想模式

lookbackcolor

颜色值文字颜色

用于指定回想模式的文字颜色。
请指定HTML格式的颜色。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

lookbackflush

回想模式

lookbackflush

清空回想缓冲区。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

lookbackoff

回想模式

lookbackoff

停止向回想缓存中写入数据。
lookbackon命令用于再次开启写入。

例)

lookbackon /
page top / list / main

Ver.2.48【仅执行部分】

lookbackon

回想模式

lookbackon

开始向回想缓存中写入数据。
此命令用于执行了lookbackoff后的复原。

例)

lookbackoff /
page top / list / main

Ver.2.48【仅定义部分】

lookbacksp

回想模式

lookbacksp NUM,NUM

数值上方按钮的精灵编号
数值下方按钮的精灵编号

用精灵代替默认的回想日志按钮。

例)
上方用2号精灵,下方用3号精灵作为回想日志的按钮。
lookbacksp 2,3

lookbackbtn /
page top / list / main

Ver.2.48【仅定义部分】

lookbackvoice

回想模式

lookbackvoice

字符串翻页声音的WAVE文件名

在回想模式中,指定翻页时的wave文件名。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

loopbgm

音乐・音效命令

loopbgm STR,STR

字符串bgm开始部分的文件名
字符串循环部分的文件名

先播放起始部分的的文件,之后一直循环播放指定的循环部分的文件。

例)
bgm.s.wav -> bgm_l.wav -> bgm_l.wav -> ...(之后循环) 按照此模式播放。
loopbgm "bgm_s.wav","bgm_l.wav"

/
page top / list / main

Ver.2.48【仅执行部分】

loopbgmstop

音乐・音效命令

loopbgmstop

停止循环演奏。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

lr_trap

点击标志检查跳转

lr_trap LABEL

标签点击左键或者右键时跳转到的标签

lr_trap off

列举解除trap

同时对左右键起作用的trap命令。

例)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

lr_trap2

点击标志检查跳转

lr_trap2 LABEL

标签左右键点击和「跳到下一个选择支」时跳转的标签

lr_trap2 off

列举解除trap

对左右键点击和「跳到下一个选择支」起作用的trap命令。

例)
例)

/
page top / list / main

Ver.2.49【仅执行部分】

lrclick

等待点击相关命令

lrclick

等待左键点击或者右键点击。
返回的是左键点击或是右键点击可以使用getret来获得。
getret %0
0表示是右键点击,1为左键点击。

例)
等待左键或者右键点击。
lrclick

click / getret /
page top / list / main

Ver.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 / main

Ver.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命令现在不用于动画效果。
例)
将图像"test.bmp"以复制显示形式读入,左上坐标320,240,纵向扩大至2倍,旋转36度。
lsp2 0,":c;test.bmp",320,240,100,200,36

amsp2 / csp2 / lsp2add / lsph2 / lsph2add / msp2 / vsp2 /
page top / list / main

Ver.2.80【仅执行部分】

lsp2add

扩展精灵相关命令

lsp2add NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度

这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsp2add是以显示状态,叠加渲染
的方式读取到内存中。传递的参数是相同的。
lsp2add 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。

例)
将图像"test.bmp"以复制显示叠加渲染的形式读入,左上坐标320,240,纵向扩大至2倍,旋转36度。
lsp2add 0,":c;test.bmp",320,240,100,200,36

amsp2 / csp2 / lsp2 / lsph2 / lsph2add / msp2 / vsp2 /
page top / list / main

Ver.2.93【仅执行部分】

lsp2sub

扩展精灵相关命令

lsp2sub NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度

这是一个扩展精灵载入命令。扩展指令,可以减去共混除了α值的变化和移动类似的正常子画面的中心旋转的图像,缩放和左和右颠倒。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行减去渲染。
lsp2sub为显示状态,以减去渲染
的方式读取到内存中。传递的参数是相同的。
lsp2sub 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。

例)
将图像"test.bmp"以复制显示减去渲染的形式读入,左上坐标320,240,纵向扩大至2倍,旋转36度。
lsp2sub 0,":c;test.bmp",320,240,100,200,36

amsp2 / csp2 / lsp2 / lsp2add / lsph2 / lsph2add / lsph2sub / msp2 / vsp2 /
page top / list / main

Ver.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 / main

Ver.2.80【仅执行部分】

lsph2

扩展精灵相关命令

lsph2 NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度

这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsph2是不显示状态,以通常
的方式读取到内存中。传递的参数是相同的。
lsp2 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。

例)
将图像"test.bmp"以复制显示形式读入,左上坐标320,240,纵向扩大至2倍,旋转36度。
lsph2 0,":c;test.bmp",320,240,100,200,36

amsp2 / csp2 / lsp2 / lsp2add / lsph2add / msp2 / vsp2 /
page top / list / main

Ver.2.80【仅执行部分】

lsph2add

扩展精灵相关命令

lsph2add NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度

这是一个扩展精灵载入命令。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行叠加渲染。
lsph2add是以不显示状态,叠加渲染
的方式读取到内存中。传递的参数是相同的。
lsp2 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。

例)
将图像"test.bmp"以复制显示叠加渲染的形式读入,左上坐标320,240,纵向扩大至2倍,旋转36度。
lsph2add 0,":c;test.bmp",320,240,100,200,36

amsp2 / csp2 / lsp2 / lsp2add / lsph2 / msp2 / vsp2 /
page top / list / main

Ver.非正式【仅执行部分】

lsph2sub

扩展精灵相关命令

lsph2sub NUM,STR,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
字符串图像文件名
数值中心x坐标
数值中心y坐标
数值x方向缩放率
数值y方向缩放率
数值回转角
数值不透明度

这是一个扩展精灵载入命令。扩展指令,可以减去共混除了α值的变化和移动类似的正常子画面的中心旋转的图像,缩放和左和右颠倒。此扩展命令除了可以和通常的精灵一样移动和更改alpha值,还可以以图像中中心进行旋转,放大缩小,左右上下翻转,以及进行减去渲染。
lsp2sub为显示状态,以减去渲染
的方式读取到内存中。传递的参数是相同的。
lsp2sub 扩展精灵编号,图像文件名,中心X坐标,中心Y坐标,X扩大率,Y扩大率,回转角(,初期α值,省略为255)
此外,若扩大率是负值则在该方向进行翻转。单位为百分比。旋转角度是度方向为逆时针。

例)
将图像"test.bmp"以复制显示减去渲染的形式读入,左上坐标320,240,纵向扩大至2倍,旋转36度。
lsph2sub 0,":c;test.bmp",320,240,100,200,36

amsp2 / csp2 / lsp2 / lsp2add / lsp2sub / lsph2 / lsph2add / msp2 / vsp2 /
page top / list / main

Ver.2.93【仅定义部分】

luacall

系统自定义相关命令

luacall NAME

名称功能名(tag,text0,text,animation,close,end,savepoint,save,load)

NScripter的大多数默认动作,都可以用Lua函数来代替。
除了脚本中显示文字的功能,系统自定义也可以用Lua来实现。
指定的字符串不需要用""包含起来。此外,大写小写没有区别。
Lua方面的函数名为NSCALL_(指定字符串)。
Lua函数的参数和字符串,都分别和对应的功能的形式相同。

例)
显示文字的时候,设定为调用Lua函数NSCALL_text。
luacall text

luasub /
page top / list / main

Ver.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来指明。
例)
定义func命令所调用的Lua函数NSCOM_func。
luasub func

luacall /
page top / list / main

Ver.2.49【仅定义部分】

maxkaisoupage

回想模式

maxkaisoupage NUM

数值回想模式的最大页数

用于*define节的命令。设置回想模式的最大页数。

例)
设定回想模式的最大页数为10页。
maxkaisoupage 10

/
page top / list / main

Ver.2.48【仅执行部分】

menu_click_def

窗口菜单相关命令

menu_click_def

回到默认的文字显示模式。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

menu_click_page

窗口菜单相关命令

menu_click_page

回到一页显示模式。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

menu_dwavvol

追加功能

menu_dwavvol

显示音量调节对话框。

例)
显示音量调节对话框
menu_dwavvol

bgmvol / mp3vol / sevol / voicevol /
page top / list / main

Ver.2.48【仅执行部分】

menu_full

窗口菜单相关命令

menu_full

调整至全屏模式。

例)
判断是否全屏,将结果存到%0中,切换状态。
isfull %0
if %0==0 menu_full
notif %0==0 menu_window

isfull / menu_window /
page top / list / main

Ver.2.48【仅执行部分】

menu_window

窗口菜单相关命令

menu_window

调整为窗口模式。

例)
判断是否全屏,将结果存到%0中,切换状态。
isfull %0
if %0==0 menu_full
notif %0==0 menu_window

isfull / menu_full /
page top / list / main

Ver.2.48【仅定义部分】

menuselectcolor

右键点击功能设定命令

menuselectcolor COLOR,COLOR,COLOR

颜色值鼠标悬停在项目时的颜色
颜色值鼠标未悬停在项目时的颜色
颜色值没有存档文件时的颜色

指定右键弹出菜单模式时菜单的颜色。
参数依次为,鼠标悬停颜色,鼠标未悬停颜色,没哟存档文件时的颜色。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

menuselectvoice

右键点击功能设定命令

menuselectvoice STR,STR,STR,STR,STR,STR,STR

字符串打开菜单的声音
字符串取消菜单的声音
字符串鼠标和菜单选项重叠的时候声音
字符串点击菜单选项时的声音
字符串无法执行的操作时的声音
字符串选择「是」时的声音
字符串选择「否」时的声音

指定菜单选项以及其他系统音的声音文件。
参数依次为,打开菜单,取消菜单,鼠标和菜单选项重叠,点击菜单选项,无法执行操作,选择是,选择否,时候的声音。

此外,如果应该为wave文件的地方为""的话,什么声音都不会播放。
默认值全部都是""。

例)

/
page top / list / main

Ver.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 / main

Ver.2.48【定义部分・执行部分两用】

mesbox

追加功能

mesbox STR,STR

字符串要显示的信息
字符串标题

显示一个消息框。
第一个参数为内容,第二个参数为窗口标题。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mid

算式・变量命令

mid $VAR,STR,NUM,NUM

文字变量结果字符串储存变量
字符串待处理的字符串
数值要截取的字符串的首字符位置
数值截取的字符数

截取某个字符串的子串。

第一个字符位置为0。
例)
从字符串$1中的第%0个文字开始截取%1个字符保存到$0中
mid $0,$1,%0,%1
例)
截取$1的前五个字符到$0中
mid $0,$1,0,5

len /
page top / list / main

Ver.2.48【仅执行部分】

minimizewindow

追加功能

minimizewindow

最小化窗口。

例)
最小化窗口。
minimizewindow

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mod

算式・变量命令

mod

数字变量要被运算的数值
数值运算数值

求此变量除以此数的余数。

在表达式中使用这个命令的时候空格需使用半角。
mov %0,%1 mod 2
例)

/
page top / list / main

Ver.2.48【仅定义部分】

mode_ext

特殊模式设置命令

mode_ext

这是为商用游戏「銀色」所开发的命令。
执行了这个命令之后,「自动模式」会加入到菜单中。
自动模式是类似于「跳到下一个选择支」,但语音未播放完之前
并不会前进。当没有语音的时候,可以根据之后的automode_time命令
决定等待多少时间。
这便是所谓的阅读模式。

菜单中的音量变更命令
现在能够使用。 (MP3(BGM) voice(DWAVE 0) SE(DWAVE 1~)的音量
现在已经可以使用。 )
对于此命令扩展功能的增加,预定计划是增加更清晰的命令。
(现在是一个有效的命令,将来也会继续使用。)

例)

/
page top / list / main

Ver.2.48【仅定义部分】

mode_saya

特殊模式设置命令

mode_saya

为同人游戏「莢~背徳の迷宮~」开发所增加的命令。执行此命令后,会启动莢模式。在"莢"模式下,当文字窗口消失的时候,0~9号精灵无论显示与否都会变成不显示状态。•在文字窗口关闭的时候,下面声明的长条和显示的数字都会隐藏。这两点可以用于想隐藏文字窗口的同时隐藏「状态窗口」。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

mode_wave_demo

跳过已读文字命令

mode_wave_demo

通常情况下,跳到下一个选择支时,是不会播放声音的,但是执行了mode_wave_demo命令之后则会播放声音。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

mode320

特殊模式设置命令

mode320

设置画面大小为320X240。
此命令比较特殊,必须在0.txt的第一行(*define标签之前)的内容之前书写。

使用此命令更改窗口大小时,文本窗口会保持640x480的大小。
有必要使用setwindow命令调整文字窗口的大小以匹配窗口大小。
例)
设置画面大小为320X240
;mode320
*define

mode400 / mode800 / value /
page top / list / main

Ver.2.48【仅定义部分】

mode400

特殊模式设置命令

mode400

设置画面大小为400X300。
此命令比较特殊,必须在0.txt的第一行(*define标签之前)的内容之前书写。

使用此命令更改窗口大小时,文本窗口会保持640x480的大小。
有必要使用setwindow命令调整文字窗口的大小以匹配窗口大小。
例)
设置画面大小为400X300
;mode400
*define

mode320 / mode800 / value /
page top / list / main

Ver.2.48【仅定义部分】

mode800

特殊模式设置命令

mode800

设置画面大小为800X600。
此命令比较特殊,必须在0.txt的第一行(*define标签之前)的内容之前书写。
此外可以指定为400,320。

使用此命令更改窗口大小时,文本窗口会保持640x480的大小。
有必要使用setwindow命令调整文字窗口的大小以匹配窗口大小。
例)
设置画面大小为800X600。
;mode800
*define

mode320 / mode400 / value /
page top / list / main

Ver.2.48【仅执行部分】

monocro

图像效果

monocro COLOR

颜色值基调色

monocro off

列举用于解除状态

以设定的颜色为基调让画面成为单色模式。
但是,文本窗口和光标不受此影响。
monocro off命令用于退出单色状态。

例)
例)

/
page top / list / main

Ver.2.96【仅执行部分】

mosaicin

图像效果

mosaicin NUM,NUM,NUM

数值马赛克的最大尺寸
数值分割数
数值时间(毫秒)

马赛克效果的新版本,和已有的马赛克变换效果相比,更加精细,修正了全屏时的bug。
和变换效果不同是一个单独实现的命令。
执行此命令之后VRAM的不稳定状态这一作用依旧,所以有必要转移到其他的画面上。

很遗憾貌似effectcut(跳过效果)对此命令无效。(by senzogawa)
例)
以马赛克最大尺寸80,分割数128,时间1秒的马赛克效果显示。
mosaicin 80,128,1000

effectcut / mosaicout /
page top / list / main

Ver.2.96【仅执行部分】

mosaicout

图像效果

mosaicout NUM,NUM,NUM

数值马赛克的最大尺寸
数值分割数
数值时间(毫秒)

马赛克效果的新版本,和已有的马赛克变换效果相比,更加精细,修正了全屏时的bug。
和变换效果不同是一个单独实现的命令。
执行此命令之后VRAM的不稳定状态这一作用依旧,所以有必要转移到其他的画面上。

很遗憾貌似effectcut(跳过效果)对此命令无效。(by senzogawa)
例)
以马赛克最大尺寸80,分割数128,时间1秒的马赛克效果显示。
mosaicout 80,128,1000

effectcut / mosaicin /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mousecursor

光标相关命令

mousecursor STR

字符串鼠标光标文件

读取Windows的光标文件(*.cur),作为游戏的鼠标光标。

ver.2.93解除非推荐命令
例)

/
page top / list / main

Ver.2.93【仅执行部分】

mousemode

光标相关命令

mousemode NUM

字符串鼠标光标显示标志(0:不显示,1:显示)

mousemode 0为消除鼠标光标,mousemode 1为显示鼠标光标。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mov

算式・变量命令

mov %VAR,NUM

数字变量要代入的变量
数值代入的数值

mov $VAR,STR

文字变量要代入的变量
字符串代入的字符串

将值代入到变量中。

在定义部分代入的局部变量的值在执行部分会因为初始化而丢失,无法使用。
除了在执行部分代入值到相应变量中,也可以使用全局变量。by senzogawa
例)
将24代入到数字变量%3中。
mov %3,24
例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mov10

算式・变量命令

mov10 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
简单的说,这是一个让10个值赋值到连续10个变量的简便方法。

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.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)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【定义部分・执行部分两用】

mov4

算式・变量命令

mov4 %VAR,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
简单的说,这是一个让4个值赋值到连续4个变量的简便方法。

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【定义部分・执行部分两用】

mov5

算式・变量命令

mov5 %VAR,NUM,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
简单的说,这是一个让5个值赋值到连续5个变量的简便方法。

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【定义部分・执行部分两用】

mov6

算式・变量命令

mov6 %VAR,NUM,NUM,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
简单的说,这是一个让6个值赋值到连续6个变量的简便方法。

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【定义部分・执行部分两用】

mov7

算式・变量命令

mov7 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
简单的说,这是一个让7个值赋值到连续7个变量的简便方法

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【定义部分・执行部分两用】

mov8

算式・变量命令

mov8 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
只是方便将8个值依次赋值到变量中的命令。

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【定义部分・执行部分两用】

mov9

算式・变量命令

mov9 %VAR,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM,NUM

数字变量要代入的变量
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值
数值代入的数值

从最初的数字变量开始依次代入数值。
简单的说,这是一个让9个值赋值到连续9个变量的简便方法。

此命令对文字变量不适用。(by senzogawa)
例)
将2代入%3,4代入%4,6代入%5。
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 / main

Ver.2.48【仅执行部分】

movemousecursor

光标相关命令

movemousecursor NUM,NUM

数值移动目的地的x坐标
数值移动目的地的y坐标

将鼠标移动到画面的任意位置。

例)
将鼠标移动到画面上的坐标(100,10)处。
movemousecursor 100,10

/
page top / list / main

Ver.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命令可以从残留图像变化到视频播放之前的图像去。
例)
在10,20,以320x240的大小,非同步模式播放“test.mpg”。在30秒后停止。
movie "test.mpg",pos,10,20,320,240,async,loop
wait 30*1000
movie stop
例)
播放一个可以点击跳过的"test.mpg"影片。播放停止后,渐隐再绘制背景。
movie "test.mpg",click
print 10,1000

mpegplay /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

movl

算式・变量命令

movl ARRAY,NUM[,NUM[,...]]

数组要代入的数组
数值代入的数值

将值代入一个数组。

例)
向右五个元素的数组10代入0,1,2,3,4。
dim ?10[4]
movl ?10,0,1,2,3,4
例)
向3x4的二元数组中分别代入0,1,2,3,4以及0,2,4,6最后0,3,6,9。
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 / main

Ver.2.48【仅执行部分】

mp3

音乐・音效命令

mp3 STR

字符串MP3文件名

在有mp3dec.dll的情况下,可以使用此命令来播放mp3文件。
mp3只会播放一次。
和wave命令同时使用并不会出现问题。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mp3fadein

音乐・音效命令

mp3fadein NUM

数值效果时间(毫秒)

与bgmfadeout格式相同,指定淡入淡出效果的时间。

例)

bgmfadeout /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mp3fadeout

音乐・音效命令

mp3fadeout NUM

数值效果时间(毫秒)

指定BGM淡出的时间。
定义部分和执行部分都可以使用。

例)

bgmfadein /
page top / list / main

Ver.2.48【仅执行部分】

mp3loop

音乐・音效命令

mp3loop STR

字符串MP3文件名

在有mp3dec.dll的情况下,可以使用此命令来播放mp3文件。
mp3loop命令会循环播放声音。
和wave命令同时使用并不会出现问题。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

mp3save

音乐・音效命令

mp3save

和mp3命令一次播放类似,只是播放中可以暂停然后继续播放。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

mp3stop

音乐・音效命令

mp3stop

停止播放压缩音乐文件。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mp3vol

音乐・音效命令

mp3vol NUM

数值音量(0~100)

改变bgm的音量。对bgm命令和mp3命令均有效。

音量值不会自动保存,请手动管理。
play命令不受此影响。(by senzogawa)
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
例)
将bgm的音量设为100。(0-100)
mp3vol 100

bgmvol / chvol / sevol / voicevol /
page top / list / main

Ver.2.48【仅执行部分】

mpegplay

视频播放命令

mpegplay STR,NUM

字符串文件名
数值可否中断标志(0:播放到最后、1:点击中断)

用DirectShow方式播放指定的文件。
当中断标志为0的时候即使单击鼠标也不会停止播放。
当该标志为1时,点击画面的时候会停止播放。
要使用这个命令,系统需要支持DirectX8.0a或者更高。
(低版本的DirectX也许能够播放,但不在支持范围之内。)

例)
播放"test.mpeg",允许中断。
mpegplay "test.mpeg",1

/
page top / list / main

Ver.2.48【仅执行部分】

msp

图像显示命令

msp NUM,NUM,NUM[,NUM]

数值精灵编号(0~255)
数值X方向增量
数值Y方向增量
数值不透明度增量

移动指定的精灵。参数依次为,X方向,Y方向,透明度的增加值。

此外,所有的精灵处理的命令,只是内在地重新改变图像,并未反映在画面上。(这样是为了高速化的处理图像)
在使用其他图像命令,或者文字显示命令之前,一定要使用print命令将他们实际显示出来。

例)

amsp /
page top / list / main

Ver.2.80【仅执行部分】

msp2

扩展精灵相关命令

msp2 NUM,NUM,NUM,NUM,NUM,NUM[,NUM]

数值扩展精灵编号
数值中心X增量
数值中心Y增量
数值X扩大率增量
数值Y扩大率增量
数值旋转角增量
数值不透明度增量

扩展精灵移动命令。msp2命令是根据当前值变化,而amsp2是指定绝对值。

例)
将扩展精灵0号向右移动10,向下移动20,扩大率横向-10%,总行+1,旋转角增加5度。
msp2 0,10,20,-10,10,5

amsp2 / csp2 / lsp2 / lsp2add / lsph2 / lsph2add / vsp2 /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

mul

算式・变量命令

mul %VAR,NUM

数字变量要被运算的数值
数值运算数值

将变量乘上数值。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

mv

音乐・音效命令

mvNUM:

数值声音文件编号

播放voice\指定的数字.mp3的语音文件。

例)
播放voice\00001.mp3。
mv00001:

/
page top / list / main

Ver.2.48【仅执行部分】

nega

图像效果

nega NUM

数值显示方式标志(0:取消反转、1:monocro优先、2:nega优先)

指定1和2的话,颜色会反转。
1的话是以monocro优先。试验一下就能明白。
数字0的话则不会反转颜色。
nega命令和monocro命令并不会更改实际的画面。
请在之后使用print命令变换实际画面。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

next

条件表达式・循环语句命令

next

表明for语句块的结束。详细情况请参看for命令的说明。

例)

for /
page top / list / main

Ver.2.80【仅执行部分】

nextcsel

系统自定义相关命令

nextcsel %VAR

数字变量接受结果变量(0:下一行不是csell,1:csel)

下一条指令为csel则返回1。在不清除文字的情况下显示选择支的时候使用。

例)

*customsel / csel /
page top / list / main

Ver.非正式【仅定义部分】

noloaderror

追加功能

noloaderror

bg或者bgm命令不存在对应文件的情况下不会强制停止,而是单纯的无视这条命令。

例)

bg / bgm / ld /
page top / list / main

Ver.2.48【仅定义部分】

noteraseman

文字窗口命令

noteraseman

清除窗口时,不会清除立绘。

例)
清除窗口时,不会清除立绘。
noteraseman

textoff /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

notif

条件表达式・循环语句命令

notif CONDITION[{&&,&} CONDITION[...]] SENTENCE

条件表达式比较操作符、检查命令、返回布尔值的表达式
执行语句条件表达式为真的情况下执行的语句。

条件判断命令。使用格式如下。
 notif 条件式 ({&&,&} 条件式) 执行部分
if命令对应条件成立的情况,notif对应条件不成立的情况,执行下面的命令。
对于不满足上面的条件的情况,这一行将被跳过。
&&和&意义相同,用于进一步缩小条件。
条件式以及数字,还有fchk函数都可以使用。
   <条件式>
   数字 {>,<,=,>=,<=,==,!=,<>} 数字
   或者,
   fchk 字符串

例)
%0的内容不为1的情况下则横向2像素摇晃500毫秒。
notif %0=1 quakex 2,500

/
page top / list / main

Ver.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 / main

Ver.2.48【仅定义部分】

nsadir

插件・压缩包

nsadir STR

字符串读取nsa文件的目录名

指定读取nsa文件的目录。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

numalias

算式・变量命令

numalias NAME,NUM

名称代替数值的名称
数值被代替的数值

为数字设置别名。此后,需要代替这个数字的时候,可以用此别名来实现。

此外,将别名代入变量的时候,此值会保持不变。之后尽管变量的值会改变,但是别名的值并不会改变。

别名的名称,和C语言的变量命名方式是相同的。也就是说,第一个字符为英文或者_(半角下划线),第二个字符之后可以为数字,英文,或者_。但是,不区分大小写。

例)
用ef_lshutter代替2。
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 / main

Ver.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 / main

Ver.2.48【定义部分・执行部分两用】

okcancelbox

追加功能

okcancelbox %VAR,STR,STR

数字变量1为确定ok,0为取消cancel
字符串显示的文字
字符串对话框的标题

显示一个Windows的OK/Cancel对话框,获得用户输入并代入到变量中。

例)
保存确认
okcancelbox %0,"要保存吗?","保存确认"

yesnobox /
page top / list / main

Ver.2.48【仅执行部分】

play

音乐・音效命令

play STR

字符串MIDI文件名,或者CD音轨编号

播放MIDI文件或者CD。
指定文件名则播放对应midi文件,指定"*数字"的形式则播放对应的CD音轨。
play会循环播放文件。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

playonce

音乐・音效命令

playonce STR

字符串MIDI文件名,或者CD音轨编号

播放MIDI文件或者CD。
指定文件名则播放对应midi文件,指定"*数字"的形式则播放对应的CD音轨。
playonce只会播放一次。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

playstop

音乐・音效命令

playstop

停止CD或者midi的播放。

例)

/
page top / list / main

Ver.2.49【仅定义部分】

pretextgosub

文本标签相关

pretextgosub LABEL

标签显示文字之前调用的子程序的标签

在显示文字之前调用相应的子程序。
通过使用pretextgosub命令,可以将显示文字之前的「标签」提取出来。
「标签」为「[」和「]」括起来的部分。
例)
[太郎/0001.wav]要显示的文字。

例)
指定在显示文字之前调用*pretext_lb子程序
pretextgosub *pretext_lb
例)
pretextgosub的相关命令使用例子
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 / main

Ver.2.48【仅执行部分】

print

图像显示命令

print EFFECT

效果显示的效果

以某种效果重绘屏幕。

要指定效果,有下面两种方法。
1)只有一个参数
    0…没有任何效果,直接显示内存中的效果
    1…瞬时显示
    其他…调用在effect命令中定义的效果。

2)直接指定效果
    指定的参数与传给effect的参数相同。

例)
同时显示背景“test.jpg”和在中央位置显示立绘“testman.jpg”,再使用设定好的效果3隐藏立绘。
bg "test.jpg",0
ld c,"testman.jpg",1
cl c,3
例)
将背景"test.jpg"在1秒之内进行交叉渐隐,立绘"testman.jpg"在左位置以"mask.bmp"作为掩模文件进行2秒的渐隐。
bg "test.jpg",10,1000
ld l,"testman.jpg",15,2000,"mask.bmp"

effect /
page top / list / main

Ver.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 / main

Ver.2.48【仅执行部分】

prnumclear

文字・数字・色块显示

prnumclear

清除数值标签的设定。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

puttext

文字显示命令

puttext STR

字符串要显示的字符串

显示这个字符串。仅限于在if命令中,想显示文字的时候可以使用这个命令。
使用puttext的时候,无法使用显示变量(使用特殊字符$和%)的功能。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

图像效果

quake NUM,NUM

数值振幅(像素)
数值时间(毫秒)

由于之前的quakex以及quakey命令对电脑性能消耗大,在之前的配有独立显卡的笔记本上运行有延迟现象的原因,新制作这个命令。应该能在速度比较慢的机器上良好运行。

例)
以振幅8像素,持续时间1秒摇动屏幕。
quake 8,1000 

/
page top / list / main

Ver.2.48【仅执行部分】

quakex

图像效果

quakex NUM,NUM

数值振幅(像素)
数值时间(毫秒)

横向摇动画面。参数依次为振幅和执行时间(毫秒)。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

quakey

图像效果

quakey NUM,NUM

数值振幅(像素)
数值时间(毫秒)

纵向摇动画面。参数依次为振幅和执行时间(毫秒)。

例)

/
page top / list / main

Ver.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 / main

Ver.2.48【定义部分・执行部分两用】

readfile

追加功能

readfile $VAR,STR

文字变量储存文件内容的变量
字符串读取对象文件名

将文件内容读取到文字变量中。

也会读取CRLF(\x0d\x0a)(换行回车符)。
此外由于不能使用必要运算符的缘故,在读取多行文字时,需要舍去最后两个字节的内容。
此外,因为此命令读取的文件并不会记录到日志中,所以fchk命令无法判断是否读取。
(by senzogawa)
例)
将"file.txt"内容读取到$0中
readfile $0,"file.txt"

split /
page top / list / main

Ver.2.48【仅执行部分】

repaint

图像显示命令

repaint

重绘画面。如果画面变得异常,可以使用这个命令重绘。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

reset

游戏开始・重置・结束命令

reset

重置游戏,返回到最开始。

例)
确认重置后重置游戏
yesnobox %0,"确定要重置所有的一切吗?","确认重置"
if %0==1 reset

*start /
page top / list / main

Ver.2.48【仅定义部分】

resetmenu

窗口菜单相关命令

resetmenu

声明使用自定义菜单。之后可以通过insertmenu来插入新的菜单。

例)
声明使用自定义菜单。
resetmenu

deletemenu / insertmenu / killmenu /
page top / list / main

Ver.2.48【仅执行部分】

resettimer

等待・定时器

resettimer

将内部计时器置0。此计时器使用毫秒作为单位。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

return

跳转命令

return [LABEL]

标签返回时到达标签

从子程序返回。
请和gosub命令配合使用。

return允许指定返回标签功能从Ver.2.67开始加入。
例)
return返回后跳转到*scene2
return *scene2

/
page top / list / main

Ver.非正式【仅定义部分】

rgosub

右键点击功能设定命令

rgosub LABEL

标签右键单击时跳转到的子程序标签

设置右键点击时调用的子程序。
进行游戏的时候玩家点击右键的时候,会用gosub命令跳转到设定好的标签。
使用return命令后,会回到原来的等待点击的状态。

systemcall功能不起作用。(by BBS)
例)

rmenu /
page top / list / main

Ver.2.48【仅定义部分】

rlookback

右键点击功能设定命令

rlookback

点击右键的时候,进入回想模式。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

rmenu

右键点击功能设定命令

rmenu STR,{skip,reset,save,load,lookback,windowerase}[,...]

字符串显示在右键菜单中的字符串
列举与上一个字符串对应的功能的名称

按下右键的话,会打开一个菜单。
字符串表示显示的选项,功能是从定义好的功能中选择。
固定的系统菜单功能
skip…和「跳到下一个选择支」功能相同
reset…重设游戏。
save…出现一个保存菜单。
load…出现一个读取菜单。
lookback…进入回想模式。
windowerase…清除窗口。

例)
分别用“保存”表示保存菜单,“载入”表示读取菜单,“回想”表示回想模式功能。
rmenu "保存",save,"读取",load,"回想",lookback 

/
page top / list / main

Ver.2.48【仅执行部分】

rmode

右键点击功能设定命令

rmode NUM

数值右键单击有效标志(0:无效,1:有效)

可以暂时设置右键无效或者有效。
数字为1(ON)0(OFF)的标志。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

rnd

算式・变量命令

rnd %VAR, NUM

数字变量随机数储存变量
数值随机数的最大值加1的值

为变量分配一个随机数。
生成从0~(第二个参数-1)的数。

第二个参数为0的时候会引发强制退出。(by senzogawa)
例)
在0~99之间产生一个随机数,赋值到%5中。
rnd %5,100

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

rnd2

算式・变量命令

rnd2 %VAR,NUM,NUM

数字变量随机数储存变量
数值随机数的最小值
数值随机数的最大值

产生一个从数字1到数字2的随机数,赋值到变量中。

例)
产生一个10~20的随机数,代入到%3中。
rnd2 %3,10,20

/
page top / list / main

Ver.2.48【仅定义部分】

roff

右键点击功能设定命令

roff

按下右键时不做任何反应。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

rubyoff

注音相关

rubyoff

关闭注音模式。

例)
关闭注音模式。
rubyoff

rubyon /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

rubyon

注音相关

rubyon [NUM,NUM[,STR]]

数值注音的横向大小(默认为文字大小一半)
数值注音的纵向大小(默认为文字大小一半)
字符串注音的字体

开启注音模式。可以给文字注音。

例)
开启注音模式。默认情况下是注音文字的宽和长都是普通文字的一半。
rubyon
例)
指定注音的大小为横10纵8。因为抗锯齿的原因,最低超过13x13的话会看不清。
rubyon 10,8
例)
指定注音的大小为横向14纵向12,字体为“MS ゴシック”。省略的话,默认是和显示文字相同的字体。
rubyon 14,12,"MS ゴシック"

rubyoff /
page top / list / main

Ver.2.80【仅执行部分】

rubyon2

注音相关

rubyon2 NUM,NUM

数值注音大小X
数值注音大小Y

仅在某一行需要注音的情况下转为注音模式。(ADV形式でのclickpageとの併用を想定してます)。

请注意因为注音的原因会使画面狭窄。
例)

rubyoff / rubyon /
page top / list / main

Ver.2.49【仅定义部分】

savedir

保存・读取命令

savedir STR

字符串保存数据的目录名称

指定存档数据的保存目录。

只能建立在与nscr.exe和envdata相同的目录中。
储存文件夹需要预先建立。
例)
设置为把存档数据保存到"savedata"目录中
savedir "savedata"

savegame /
page top / list / main

Ver.2.48【仅执行部分】

savefileexist

保存・读取命令

savefileexist %VAR,NUM

数字变量储存结果的变量(0:不存在,1:存在)
数值存档编号

存档文件存在的话返回1,否则返回0。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

savegame

保存・读取命令

savegame NUM

数值存档编号

保存游戏到指定的编号。注意此命令不会有任何确认。

例)

/
page top / list / main

Ver.2.60【仅执行部分】

savegame2

保存・读取命令

savegame2 NUM,STR

数值存档编号
字符串需要一起保存的字符串

在保存存档时将固定的字符串保存至其中。
之后和savegame命令相同。

例)
将"8月5日 女主A线"作为附加信息保存到12号存档中。
savegame2 12,"8月5日 女主A线"

getsavestr / savegame /
page top / list / main

Ver.2.48【仅定义部分】

savename

右键点击功能设定命令

savename STR,STR,STR

字符串保存菜单的标题
字符串读取菜单的标题
字符串存档的名字

可以指定存档文件的名字。
从左至右,分别为保存菜单顶部文字,读取菜单顶部文字,以及存档名字。
默认情况下,这三个值分别为"<保存>""<读取>""<书签>"
这些值请全部设定为全角文字。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

savenumber

保存・读取命令

savenumber NUM

数值最大存档数

修改存档的最大值。最大值可为20。默认值是9。
当使用menusetwindow改变菜单,从画面跳转到存档界面时,如果存档个数超过了屏幕高度,可能会导致程序崩溃。

例)

menusetwindow /
page top / list / main

Ver.2.48【仅执行部分】

saveoff

保存・读取命令

saveoff

关闭保存模式。
并不是意味着无法保存,只是将读取之后的位置作为了最后使用saveon命令的位置。
在处于saveon的时候,NS会将精灵工作的数据写入到存档数据中,有时候可能会影响程序的性能。
当进行毫秒单位级的精灵动画操作的时候,使用saveoff命令可以使命令执行得更快。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

saveon

保存・读取命令

saveon

开启由saveoff命令关闭的保存模式。

例)

/
page top / list / main

Ver.2.93【仅执行部分】

savepoint

保存・读取命令

savepoint

更新保存点。
(在定义部分)
autosaveoff
执行了此命令之后,saveon/saveoff命令将被无视。
(输出文字的开始的savepoint永远都是一直起作用的。)。
在显示文字起始部分以外的地方保存的话(比如click map等),请使用savepoint命令。由于执行时机的原因,有可能无法重现之前的数据。所以在需要将之前读入的画面全部恢复出来需要耗费一定的精力。

例)

autosaveoff / saveoff / saveon /
page top / list / main

Ver.2.48【仅执行部分】

savescreenshot

截图命令

savescreenshot STR

字符串要保存的文件名

以指定的文件名保存屏幕截图。
与此同时,会删除内存中记录的图像。
想要继续使用内存中的图像的话请使用savescreenshot2命令。

例)
以"thumb01.bmp"为文件名保存获得的截图。
savescreenshot "thumb01.bmp"

deletescreenshot / getscreenshot / savescreenshot2 /
page top / list / main

Ver.2.48【仅执行部分】

savescreenshot2

截图命令

savescreenshot2 STR

字符串要保存的文件名

以指定的文件名保存屏幕截图。
不会删除内存中的图像。
如果想删除获得的内存中的截图的话,请使用deletescreenshot命令。

例)
以"thumb01.bmp"为文件名保存获得的截图。
savescreenshot "thumb01.bmp"

deletescreenshot / getscreenshot / savescreenshot /
page top / list / main

Ver.2.48【仅执行部分】

savetime

获得各种信息命令

savetime NUM,%VAR,%VAR,%VAR,%VAR

数值存档编号
数字变量保存时获得月数的变量
数字变量保存时获得日数的变量
数字变量保存时获得小时数的变量
数字变量保存时获得分钟数的变量

从存档中获得保存时的月,日,小时,分。
存档文件不存在时会月的值会被写为0。

例)
将存档3的月,日,时,分,分别保存到%0,%1,%2,%3中,并显示出来。如果存档不存在,则显示不存在。
savetime 3,%0,%1,%2,%3
if %0=0 goto *non
存档3时间为%0月%1日%2时%3分@
end
*non
存档3不存在。@
end

/
page top / list / main

Ver.2.48【仅执行部分】

select

选项命令

select STR,LABEL[,STR,LABEL[,...]]

字符串要显示的选择支
标签选择时要跳到的位置

显示选项,然后跳转到对应选项的标签。
如果某个选项的字符串是"",则该选项不会出现。
(这在selnum和selgosub中也是相同的)
但是如果一个字符串都没有的话会导致程序终止,这一点请注意。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

selectbtnwait

系统自定义相关命令

selectbtnwait %VAR

数字变量储存按钮编号的变量

执行customsel命令的时候,等待点击。

例)
等待输入,点击按钮编号储存到%0变量中。
selectbtnwait %0

*customsel / csel / cselbtn / cselgoto / getcselnum / getcselstr /
page top / list / main

Ver.2.48【仅定义部分】

selectcolor

选项命令

selectcolor COLOR,COLOR

颜色值鼠标悬停时的颜色
颜色值鼠标未悬停时的颜色

指定普通选项的颜色。
两个参数依次为鼠标悬停的时候,鼠标移开的时候的颜色。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

selectvoice

选项命令

selectvoice STR,STR,STR

字符串展开选择支的时候播放的声音文件名
字符串鼠标悬停于某个选择支时播放的声音文件名
字符串鼠标点击某个选择支时播放的声音文件名

指定普通选项的相关的wave声音。
三个参数依次为展开选项的时候,指向某个选项的时候,选择某个选项的时候的声音。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

selgosub

选项命令

selgosub STR,LABEL[,STR,LABEL[,...]]

字符串要显示的选择支
标签选择时要跳到的位置

和select命令的跳转不同,会跳到某个子程序中。
关于子程序的调用,请参照gosub命令。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

selnum

选项命令

selnum %VAR,STR[,STR[,...]]

数字变量储存结果的变量
字符串要显示的选择支

将选项的结果代入到数字变量中。最左边的选项为0,后面的选项依次增加1。

和select,selgosub不同、不允许指定一个空字符串""。(by senzogawa)
例)

/
page top / list / main

Ver.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 / main

Ver.非正式【仅执行部分】

seteffectspeed

图像效果

seteffectspeed NUM

数值指定效果(0:通常(默认),1:高速(1/2速度),2:瞬时(没有效果))

指定效果的显示速度。

只对指定了效果编号的命令有效。by 幻惑卿
仅在官方手册「あどばんすどNScripter」上提到。by NScripter覚え書き
例)

effect / effectcut /
page top / list / main

Ver.2.70【仅定义部分】

setkinsoku

追加功能

setkinsoku STR,STR

字符串行头禁止字符
字符串行尾禁止字符

字符串按顺序为行首禁止字符串,行末禁止字符串。
重新修正设定禁止字符。define部分专用命令。

例)

addkinsoku /
page top / list / main

Ver.2.48【仅定义部分】

setlayer

插件・压缩包

setlayer NUM,NUM,STR

数值层编号
数值更新间隔(毫秒)
字符串dll文件名

以指定的layer编号注册插件。
之后可以用layermessage向layer编号对应的dll文件发送消息。

例)

layermessage /
page top / list / main

Ver.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

例)
全屏幕,字体为26x26像素,字间距为0,2,左上坐标为8,16,横向23字纵向16字,粗体阴影,显示速度20,背景图像为"bg1.bmp"。
setwindow 8,16,20,23,26,26,0,2,20,1,1,"bg1.bmp",0,0
例)
半透明模式显示文字窗口,字体为26x26像素,字间距为0,2,左上坐标为8,16,横向23字纵向16字,粗体阴影,显示速度20,透明色为#999999。
setwindow 8,16,23,16,26,26,0,2,20,1,1,#999999,0,0,639,479

setwindow2 / setwindow3 /
page top / list / main

Ver.2.48【仅执行部分】

setwindow2

文字窗口命令

setwindow2 STR

字符串窗口CG文件名名(可以使用标签形式)

setwindow2 COLOR

颜色值#颜色标记

此命令不清除回想缓存,也不清除正在显示的窗口中的文字,只改变文字窗口的背景或者颜色。
setwindow的标签指定模式只会改变CG指定的部分。不会改变其他的东西。

例)
指定不透明的"twindow2.bmp"为文字窗口的背景图像。
setwindow2 ":c;twindow2.bmp"
例)

setwindow / setwindow3 /
page top / list / main

Ver.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相同。

如果和原有的命令宽和高不相同的话,进入回想模式会出错。
例)
全屏幕,字体为26x26像素,字间距为0,2,左上坐标为8,16,横向23字纵向16字,粗体阴影,显示速度20,背景图像为"bg1.bmp"。
setwindow3 8,16,20,23,26,26,0,2,20,1,1,"bg1.bmp",0,0
例)
半透明模式显示文字窗口,字体为26x26像素,字间距为0,2,左上坐标为8,16,横向23字纵向16字,粗体阴影,显示速度20,透明色为#999999。
setwindow3 8,16,20,23,26,26,0,2,20,1,1,#999999,0,0,639,479

setwindow /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

sevol

音乐・音效命令

sevol NUM

数值音量(0~100)

调节音量。

音量值不会自动保存,请手动管理。
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
例)
将SE音量设为100。(0-100)
sevol 100

bgmvol / chvol / mp3vol / voicevol /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

shadedistance

文字显示命令

shadedistance NUM,NUM

数值阴影横向伸长大小(单位:px)
数值阴影纵向伸长大小(单位:px)

指定阴影的位置。

Ver.2.62之后才能在执行部分使用。
与此同时,一旦设定,之后无法通过重设更改。(by senzogawa)
例)
阴影的位置为右2像素和下3像素
shadedistance 2,3

/
page top / list / main

Ver.2.48【仅执行部分】

shell

外部程序执行命令

shell STR

文字串执行文件名

从资源管理器执行指定的文件。
由于使用的是ShellExecute API,不能做到同步执行。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

sin

算式・变量命令

sin %VAR,NUM

数字变量储存计算结果的变量
数值角度(单位为度)

计算三角函数sin的值。
值为返回值的1000倍。

例)
求sin90°到%0
sin %0,90
;%0=1000

cos / tan /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

skip

跳转命令

skip NUM

数值要跳过的行数

数字为要移动的行数。
数值为0则跳到下一行。否则跳过指定数字的行数,这个数字可以用(-)向前、(+)向后移动。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

skipoff

跳过已读文字命令

skipoff

停止「跳到下一个选择支」或「自动模式」或者其他模式。

打开skip模式使用systemcall skip命令。
可以这样利用defsub定义子程序的方式创建一个skipon命令。(by senzogawa)
*skipon
systemcall skip
return
例)
强制解除skip状态。
skipoff

systemcall /
page top / list / main

Ver.2.48【仅定义部分】

soundpressplgin

插件・压缩包

soundpressplgin STR

字符串指定的插件

指定音乐压缩格式的插件。格式为"文件名|关联文件拓展名"

例)
将拓展名为"nbz"的音乐用插件"nbzplgin.dll"解析。
soundpressplgin "nbzplgin.dll|nbz"

/
page top / list / main

Ver.2.48【仅执行部分】

spbtn

图像按钮

spbtn NUM,NUM

数值精灵编号
数值按钮编号

和btn指令的使用方式相同,此命令是将精灵指定为按钮。透明部分也会起作用。未按下状态为分格0,按下状态为分格1。按下按钮时,会返回按钮的编号。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

spclclk

键盘按键扩展

spclclk

请在btndef和btnwait命令之间使用这个命令。
执行了这个命令后,会将空格键视为和左键点击时同样的动作。

例)
将空格键视为左键点击。
spclclk

btndef / btnwait /
page top / list / main

Ver.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中增加。
例)
将文字精灵的字体种类设定为「MS ゴシック」,默认大小为横16纵16,字间距横0纵0,再加上粗体阴影
spfont "MS ゴシック",16,16,0,0,1,1
例)
将精灵的字体设定返回到setwindow设定的字体。
spfont clear

lsp /
page top / list / main

Ver.2.48【仅定义部分】

spi

插件・压缩包

spi STR

字符串指定的插件

指定图像压缩的插件。格式为"文件名|关联文件拓展名"

例)
将拓展名jpg和lf2的图像的压缩插件分别指定为"jpgplgin.dll"和"iflf2.spi"。
spi "jpgplgin.dll|jpg"
spi "iflf2.spi|lf2"

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

split

追加功能

split STR,STR,$VAR|%VAR,$VAR|%VAR[,...]

字符串要切分的字符串
字符串切分标志(只能是一个字符)
变量最终保存的变量

用指定的字符记号分割字符串,并代入到指定的变量中。
请使用此命令处理从插件返回的值以及用readfile从文件读取的字符串。

具有相同变量的情况下会代入最后的一个值。(by eiji8pou)
没有切分出来的值的情况时,数字变量会代入0,文字变量会代入""。 (by senzogawa)
例)
将$0的内容用“/”切分到各个指定的变量中。
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 / main

Ver.2.48【仅执行部分】

spstr

图像显示命令

spstr STR

单独执行根据精灵指定的复合按钮的控制字符串的命令。
可以控制字符串来执行。
只不过和csp以及lsp以及vsp相同,需要在后面使用print命令显示。

例)
不显示编号11的精灵,显示10号精灵的2分格和9号精灵。
spstr "C11P10,2P9"

/
page top / list / main

Ver.2.48【仅执行部分】

spwait

等待・定时器

spwait NUM

数值精灵编号

等待指定编号的精灵的动画。(回到最初头部或者停止动画。)结束。

例)
等待直到编号0的精灵的动画循环结束。
spwait 0

/
page top / list / main

Ver.2.48【仅执行部分】

stop

音乐・音效命令

stop

停止所有的音乐。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

stralias

算式・变量命令

stralias NAME,STR

名称要表示的字符串的名称
字符串用别名表示的字符串

创建一个文件名的别名。之后要代替这个文件名的时候,
可以使用这个别名来代替。

例)
当想使用文件":a/10,20,2;man_alpha.bmp"的字符串时使用man_a0这个别名代替。
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 / main

Ver.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 / main

Ver.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 / main

Ver.2.48【定义部分・执行部分两用】

sub

算式・变量命令

sub %VAR,NUM

数字变量要被运算的数值
数值运算数值

从数字变量中减去一个数。

例)
%0减6,再减%2.
sub %0,6
sub %0,%2

/
page top / list / main

Ver.2.48【仅执行部分】

systemcall

追加功能

systemcall NAME

名称表示功能的名称

执行和系统菜单相同的动作。
在select,selgosub等命令的跳转位置使用的话,可以将标题菜单等显示出来。
(在这种情况下,最好使用rmode命令将本来的rmenu暂时关闭比较好。)
可以指定的功能和rmenu是相通的。

systemcall rmenu和右键弹出菜单的效果是相同的。
比如在按钮模式的时候希望点击右键弹出右键菜单的情况下使用此命令。从右键菜单中退出后,会继续执行这个命令的下一句。
(不好好预测画面的状态使用此命令的话,会造成奇怪的效果。
最好应该在此命令之后清除文本窗口的内容。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

tablegoto

跳转命令

tablegoto %VAR,LABEL[,LABEL[,...]]

数字变量储存跳转的目的地索引的变量
ラベル要跳转到的标签有必要限制变量的最大值。

构造一个跳转表。
变量的值为0则跳转到第一个,1则跳转到第二个……如此这般,
跳转到罗列出来的标签。

例)
根据%0的值,跳转到*label0~*label3中的标签。
tablegoto %0,*label0,*label1,*label2,*label3

goto /
page top / list / main

Ver.2.48【仅执行部分】

tal

图像显示命令

tal {l,c,r},NUM,EFFECT

列挙变换透明度的位置(l:左、c:中央、r:右)
数值不透明度(0~255)
效果显示立绘时所用效果

修改所选位置的立绘的透明度为指定数。

没有指定正式手册中的效果编号的话会导致出错。(by senzogawa via はう)
例)

ld /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

tan

算式・变量命令

tan %VAR,NUM

数字变量储存计算结果的变量
数值角度(单位为度)

获得三角函数tanθ的值。
值为返回值的1000倍。

注意tan函数有90度和270两个间断点。
例)
求tan45°到变量%2
tan %2,45
;%2=1000。

cos / sin /
page top / list / main

Ver.2.48【定义部分・执行部分两用】

tateyoko

文字窗口命令

tateyoko NUM

数值1为竖排文字模式,0为正常模式

转换为竖排文字模式。详细情况请查看例子。

这个命令属于系统自定义命令,在系统自定义的例子里面有解说。
转换到竖排文字模式。
例)
转换到竖排文字模式。
tateyoko 1

/
page top / list / main

Ver.2.48【仅执行部分】

texec

系统自定义相关命令

texec

等待换页的情况下清除文字。

例)
清除文字。
texec

getcursorpos / texec2 / textbtnwait / textgosub /
page top / list / main

Ver.2.82【仅执行部分】

texec2

系统自定义相关命令

texec2

几乎和texec命令相同,只是不清除上面的文字。而是在显示下一行的同时清除。
(比如,在进行选择的时候不希望清除文字则可以使用此命令。)

2008/08/10版之后
例)
清除文字。
texec2

getcursorpos / texec / textbtnwait / textgosub /
page top / list / main

Ver.2.74【仅执行部分】

textbtnoff

文字按钮命令

textbtnoff

默认情况下,文字按钮会在btnwait命令的时候自动注册。
如果在btndef和btnwait命令之间使用textbtnoff命令的话,会暂时关闭文字按钮功能。
例如在处理文字按钮的途中需要处理其他的按钮,则可以使用此命令暂时关闭文字按钮。

例)
禁止文字按钮并等待用户输入。
btndef clear
textbtnoff
textbtnwait %0

btnwait / btnwait2 / textbtnwait /
page top / list / main

Ver.2.65【仅执行部分】

textbtnstart

文字按钮命令

textbtnstart NUM

数值作为起始文字按钮的编号的数字(默认为1)

指定省略文字按钮编号时的起始值。
默认值为1。

例)
指定省略的时候文字按钮的起始值为3。
textbtnstart 3

<> /
page top / list / main

Ver.2.48【仅执行部分】

textbtnwait

系统自定义相关命令

textbtnwait %VAR

数字变量储存按钮编号的变量

customwait命令的时候等待点击。

例)
等待输入,点击按钮编号储存到%0变量中。
textbtnwait %0

getcursorpos / texec / textgosub /
page top / list / main

Ver.2.48【仅执行部分】

textclear

文字显示命令

textclear

清除文本窗口的内容。

例)

/
page top / list / main

Ver.非正式【仅执行部分】

textcolor

追加功能

textcolor COLOR

更改字符的颜色。和HTML的颜色形式相同。
(即每两个十六进制数字表示一种颜色值构成的六个十六进制数
#000000为黑色,#ffffff为白色,#ffffaa为浅黄色。)
注意改变颜色之后会保持改变后的状态。

从2007.11.04之后的版本添加此命令。使用english命令的时候,想改变文字颜色必须用这个命令。因为在手册中并没有记载此命令,所以一律为非正式命令。(by senzogawa)
例)
将blue font以蓝色字体显示。
*define
english
game
*start
textcolor #0000ff
>blue font@
end

english /
page top / list / main

Ver.2.65【仅执行部分】

textexbtn

文字按钮命令

textexbtn NUM,STR

数值文字按钮的编号
字符串复合按钮用的控制字符串

textexbtn 文字按钮编号,控制字符串
此命令用于对文字按钮执行exbtn同样的处理。

例)

exbtn /
page top / list / main

Ver.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键。

例)
在窗口坐标100,50到320,70处产生一个10文字宽,20文字高全角限定的文本框,并以$0变量取得输入结果。
textfield $0,100,50,320,70,10,20,1

input / inputnum / inputstr /
page top / list / main

Ver.2.48【仅定义部分】

textgosub

系统自定义相关命令

textgosub LABEL

标签等待点击的时候跳转到的标签

自定义系统时显示文字的等待点击时跳转到的标签。此标签需要实例化系统按钮以及处理用户的输入。

例)
等待单击的时候跳转到「*text_lb」标签
textgosub *text_lb

getcursorpos / texec / textbtnwait /
page top / list / main

Ver.2.49【仅执行部分】

texthide

自定义回想模式

texthide

在保持文本窗口显示的情况下,隐藏文字。
可以用于使用回想模式的时候。

例)
将文本窗口中的文字隐藏。
texthide

textshow /
page top / list / main

Ver.2.48【仅执行部分】

textoff

文字窗口命令

textoff

消除文本窗口。

例)

texton /
page top / list / main

Ver.2.48【仅执行部分】

texton

文字窗口命令

texton

显示文字窗口。

例)

textoff /
page top / list / main

Ver.2.49【仅执行部分】

textshow

自定义回想模式

textshow

恢复由texthide消除的文字。

例)
恢复由texthide消除的文字。
textshow

texthide /
page top / list / main

Ver.2.48【仅执行部分】

textspeed

文字显示命令

textspeed NUM

数值一个文字的显示速度(毫秒)

修改文字的显示速度。
和!s命令相同,但是可以使用变量。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

textspeeddefault

文字窗口命令

textspeeddefault

设置文字显示速度为默认。
在不显示文字的时候,即可以在没有出现文字窗口未显示文字的时候执行此命令。

例)
设置文字显示速度为默认。
textspeeddefault

!sd /
page top / list / main

Ver.2.48【仅执行部分】

time

获得各种信息命令

time %VAR,%VAR,%VAR

数字变量储存小时数的变量
数字变量储存分钟数的变量
数字变量储存秒数的变量

获得系统当前的时间。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

transbtn

图像按钮

transbtn

请在btndef和btnwait命令之间使用这个命令。
执行这个命令之后,按钮图像的透明部分将不起作用。

例)
禁用按钮图像的透明部分,使其点击无效。
transbtn

btndef / btnwait /
page top / list / main

Ver.2.48【仅定义部分】

transmode

图像显示命令

transmode {leftup,copy,alpha}

列举leftup:左上角颜色作为透明色,copy:无透过,alpha:alpha模式

更改透过颜色的默认设定。默认情况下为leftup。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

trap

点击标志检查跳转

trap LABEL

标签左键单击时跳转到的标签

trap off

列举解除trap

监视左键单击,左键单击则跳转到指定的标签。
跳转至后会自动解除trap。
使用trap_off命令关闭trap。

例)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

trap2

点击标志检查跳转

trap2 LABEL

标签左键单击或者「跳到下一个选择支」的时候跳转到的标签

trap2 off

列举解除trap

对左键单击或者「跳到下一个选择支」做出反应的trap命令。

例)
例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

underline

图像显示命令

underline NUM

数值作为最低线的坐标

决定立绘的最低线。默认值为479。

ver2.92或更高版本,可用于执行部分
例)

ld /
page top / list / main

Ver.2.48【仅定义部分】

useescspc

键盘按键扩展

useescspc

(仅在定义部分使用)设定按键命令能够检测到esc和spc按键。
esc返回-10,spc返回-11。

例)
允许使用ESC和SPC(截图按键)键。
useescspc

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getfunction / getinsert / getpage / gettab / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.48【仅定义部分】

usewheel

键盘按键扩展

usewheel

(仅在定义部分使用)配置为使用滚轮。
滚轮将返回-2(上)和-3(下)。
此外,超过btntime的时间会返回-5。

例)
允许使用滚轮
usewheel

btndef / btntime / btntime2 / btnwait / getcursor / getenter / getfunction / getinsert / getpage / gettab / spclclk / useescspc / usewheel /
page top / list / main

Ver.2.48【仅执行部分】

v

音乐・音效命令

'v'NUM':'

数字声音文件的文件名编号

便于播放语音的命令。
与wave "wav\数字.wav"等价。

例)
显示"「これが0001番のせりふだよー」"的时候,使用wave命令播放"wav\0001.wav"。
v0001:「这是第0001号台词哟~」

dv / wave /
page top / list / main

Ver.2.48 [特别定义语]

value

特殊模式设置命令

'value'NUM

变量全局变量的边界

必须写在脚本第一行。
;value500
全局变量将从500号开始。
(这个数字可以是0-4000之间的任意数字)
如果想同时使用800x600的窗口大小,请使用
;mode800,value500
命令。

像;mode640,value500
这样的命令的话,因为;mode640是不支持的命令,之后的value会被无视掉。
(by BBS)
例)
规定500以下的变量都是全局变量
;value500

;$ / mode320 / mode400 / mode640 / mode800 /
page top / list / main

Ver.2.48【仅定义部分】

versionstr

信息显示命令

versionstr STR,STR

字符串第一行显示的文字
字符串第二行显示的文字

改变在版本信息里显示的文字。
第一个参数是第一行,第二个是第二行。

例)

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

voicevol

音乐・音效命令

voicevol NUM

数值音量(0~100)

设置语音的音量。

音量值不会自动保存,请手动管理。
但是使用nsogg.dll或是nsogg2.dll时会恢复存档时的音量。
例)
设定语音的音量为100。(0-100)
voicevol 100

bgmvol / chvol / mp3vol / sevol /
page top / list / main

Ver.2.48【仅执行部分】

vsp

图像显示命令

vsp NUM,NUM

数值精灵编号(0~255)
数值显示标志(0:不显示、1:显示)

改变精灵的显示/不显示状态。
数字0为不显示,1为显示。

例)

/
page top / list / main

Ver.2.80【仅执行部分】

vsp2

扩展精灵相关命令

vsp2 NUM,NUM

数值扩展精灵编号
数值显示标志(0:不显示/1:显示)

切换扩展精灵的显示/不显示状态。和vsp的使用方式相同。

例)
不显示编号为0的扩展精灵。
vsp2 0,0

amsp2 / csp2 / lsp2 / lsp2add / lsph2 / lsph2add / msp2 /
page top / list / main

Ver.2.48【仅执行部分】

wait

等待・定时器

wait NUM

数值等待的时间(毫秒)

等待指定毫秒数的时间。鼠标点击则会跳过。
功能和特殊显示文字命令d相同,但是可以使用变量。

因为在ver.2.96之后发生过CPU占用过高的问题,所以最好在ver2.95之前使用此命令。(by BBS)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

waittimer

等待・定时器

waittimer NUM

数值等待的时间(毫秒)

等待内部计时器等于或者超过这个时间。
此命令为NScripter中最精确的测定等待时间的方法。
像图像效果等等的时间设定,都不如这个精确。

有些版本中,因为指定值-经过时间未达到0就不会执行精灵动画的原因,有必要再使用wait 0的命令。by BBS)
例)

/
page top / list / main

Ver.2.48【仅执行部分】

wave

音乐・音效命令

wave STR

字符串WAVE文件名

播放wave文件。
只循环一次。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

waveloop

音乐・音效命令

waveloop STR

字符串WAVE文件名

播放wave文件。
此命令会让音乐循环播放。

例)

/
page top / list / main

Ver.2.48【仅执行部分】

wavestop

音乐・音效命令

wavestop

停止播放wave声音。

例)

/
page top / list / main

Ver.2.48【仅定义部分】

windowback

图像显示命令

windowback

将文字窗口插入到立绘同样的位置。

Z轴上的位置是在立绘之前,也可以使立绘像精灵一样让窗口在其之后。
方法是指定比humanz的值小的值,则可以出现在窗口之前。 (by senzogawa)
例)

humanz /
page top / list / main

Ver.2.48【仅定义部分】

windowchip

文字窗口命令

windowchip NUM

数值要同步的精灵编号

将指定的编号的精灵和文本窗口绑定,一起出现或者消失。

例)
将编号2的精灵和文本窗口绑定,一起出现或者消失。
windowchip 2

/
page top / list / main

Ver.2.48【定义部分・执行部分两用】

windoweffect

文字窗口命令

windoweffect EFFECT

效果指定的效果

指定文本窗口显示/消失的时候的效果。
参数除了效果编号以外,和effect命令相同。

例)
指定窗口的显示和不显示切换时间为1秒。
windoweffect 10,1000

effect /
page top / list / main

Ver.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 / main

Ver.2.48【定义部分・执行部分两用】

yesnobox

追加功能

yesnobox %VAR,STR,STR

数字变量是为1,否为0
字符串显示的文字
字符串对话框的标题

弹出一个Windows的是否对话框,根据玩家的选择来为变量赋值。

例)
载入存档确认
yesnobox %0,"载入这个存档吗","载入存档"

okcancelbox /
page top / list / main

Ver.非正式【仅定义部分】

zenkakko

文本标签相关

zenkakko

使用全角粗体的括弧来指定tag。

不支持最新版本。到达【】的时候会出错强制终止。ver.2.82之前都能正常工作。(by senzogawa)
分割的文字为半角「/」,必须是这个字符。
例)
全角的粗体括号用于指定tag。
*define
pretextgosub *pretextproc
zenkakko
game
*start
【名称/语音】「台词」
click
end

*pretextproc
gettag $0,$1
mesbox $0,$1 ; 題名が"音声"、本文が"名前"のダイアログを表示
return

gettag / pretextgosub /
page top / list / main