Nscripter指令手册中文不完全版
目录
游戏开始?重置?结束
*define 定义区块开始位置的标签
*start 执行区块开始位置的标签
game 定义区块结束,进入执行区块
reset 复位游戏
definereset スクリプトを読みなおさせる
end 游戏结束,关闭窗口
剧本格式相关
* 标签开头标记
; 注释
: 一行出现多条命令之间的分隔符
% 数字变量的开头标记
$ 文字变量的开头标记
? 队列变量的开头标记
~ jumpf和jumpb的跳跃标记
/ 标记在一行的末尾,表示下一行文字续接在这行显示(忽视脚本上的换行空行或其他不影响文字的命令)。
文字框
setwindow 设置文字框
setwindow 头文字左上角x坐标,y坐标,每行字数,行数,字宽,字高,字间距,行间距,单字显示速度毫秒数,粗体状态,阴影状态,窗体颜色,窗体左上角x坐标,y坐标,右下角x坐标,y坐标
setwindow 头文字左上角x坐标,y坐标,每行字数,行数,字宽,字高,字间距,行间距,单字显示速度毫秒数,粗体状态,阴影状态,"图片路径",窗体左上角x坐标,y坐标
默认的文字框设置为setwindow 8,16,20,23,26,26,0,2,20,1,1,#999999,0,0,639,479
setwindow2 变更文字框的样式。只能对窗体颜色或图片进行更改,不会影响到文字显示。
setwindow2 窗体颜色
setwindow2 "图片路径"
textoff 文字框消失
texton 文字框出现
windoweffect 设定文字框的显示效果。默认为瞬间显示。
windoweffect 显示效果编号{,显示时间毫秒数,遮片图片路径}
erasetextwindow 执行其它效果时文字框消失与否
erasetextwindow 0 不消失
erasetextwindow 1 消失
文章显示
defaultfont 改变文字字体
defaultfont "字体名"
shadedistance 定义区块使用.可以设定文字阴影宽度
shadedistance 横向偏移像素数,纵向偏移像素数
!s 文字显示速度,可以插入文字间
!s 毫秒数
# 改变文字色彩
# rgb值
& 将文字变为黑色
(/) 给文字增加注释,注释会以小号字体在被注释文字上方显示。
(要注释的文字/注释内容)
textclear 清空文字框中的文字。
locate 文字框设定不变,仅改变文字位置,不影响文字显示……就是节省打空格的工夫了……
locate 头文字后移字数,下移行数
puttext 用在if后面显示文字的命令,不能插入变量,似乎可以显示半角字。
if 条件 puttext "文字内容":puttext "另起一行文字内容"……
br 两行文字之间插入空行
textspeed 改变文字显示速度。
textspeed 数字或数字变量
点击等待
@ 等待鼠标点击后继续显示文字
\ 等待鼠标点击后换页显示文字
clickstr 遇到特定文字就自动等待点击。限制和特殊情况,没看懂……后面的数字决定是一般等待还是换页等待。数字大于文字框剩余行数,换页,反之一般等待。
clickstr "指定文字",数字
_ 在clickstr指定的文字前标记_即可忽视本次点击等待。
linepage 一行ごとにクリック待ちするようにする
clickvoice 设定点击时的音效。
clickvoice "一般点击时的音效文件路径","换页点击时的音效文件路径"
autoclick 设定点击等待超过一定时间后自动前进。时间数字为0时无自动前进效果。
autoclick 毫秒数
click 等待一次点击后再继续前进
光标
setcursor 设定等待及换页光标,其后的坐标为0,0时光标和下一个文字位置对齐。图片参数与lsp类似,需要设置动画参数
setcursor 0,"图片路径及参数",
图片显示
transmode 设定透明方式,默认为leftup
transmode {leftup,copy,alpha}
underline 设定人物站立图片底端坐标
underline 底端x坐标
bgalia 设定特殊尺寸的背景
bgalia 背景左上角x坐标,y坐标,背景宽,高
humanz 站立图相对其他对象遮挡的优先顺序(前后顺序),默认顺位是500
humanz 顺位数字
windowback 使文字框与站立图位于同一遮挡顺位。应用于需要让其他对象遮挡文字框的情况。但文字框中的文字是不可遮挡的
bg 显示背景
bg "图片位置",显示效果编号,显示时长毫秒数
bg 颜色,显示效果编号,显示时长毫秒数
ld 显示站立图
ld 位置参数,图片名,显示效果编号
l-左侧;c-中央;r-右侧
cl 清除站立图
cl {l,c,r,a},显示效果
a表示全部清除
tal 改变站立图的透明度
tal {l,c,r},透明度
print 显示画面
print 显示效果编号{,显示时间毫秒数,遮片图片路径}
print 自定义显示效果编号
lsp 预载对象并默认为可见
lsp 图片编号,"{:透明方式}{/划分动画格数,}{动画间隔时间毫秒数,}{动画播放模式}{;}图片路径",左上角x坐标,y坐标,透明度
透明方式:a -alpha透明;l -以图像左上角像素颜色为透明色;r -以图像右上角像素颜色为透明色;c -无透明;#rrggbb -真彩色图片指定透明色;!pal -索引色图片指定透明色(色板位置)
动画模式:1 -播放一次;2 -循环播放;3 -不播放,用于按钮或灵活指定cell的状况。
lsp 图片编号,("图片a路径"),"图片b路径及参数","图片c路径及参数",左上角x坐标,y坐标,透明度
专用于cg一览模式的语法,当图片a被载入过时,显示图片b,否则显示图片c。
lsp 文字编号,":s/字宽,字长,字间距;颜色{次颜色}文字内容",左上角x坐标,y坐标
次颜色:当把文字对象设为按钮时的鼠标悬停变色。
lsph 预载对象并默认为不可见
格式同上
csp 卸载图片
csp 对象编号
csp -1 ;清除所有对象
画面效果
effect 画面效果设定,自定义编号从2开始
effect 自定义效果编号,显示效果编号{,显示时间毫秒数,遮片图片路径}
显示效果:
0-依下一个显示命令显示……不太理解,总之尽量别用……
1 -瞬间显示
2 -左快门
3 -右快门
4 -上快门
5 -下快门
6 -左窗帘
7 -右窗帘
8 -上窗帘
9 -下窗帘
10 -透明渐变
11 -左卷动
12 -右卷动
13 -上卷动
14 -下卷动
15,18 -遮片/ALPHA遮片
16,17 -马塞克效果
effectblank 显示效果实施后等待一段时间再继续执行命令。当显示效果为瞬间显示(1)时此设定不执行。
effectblank 毫秒数
effectcut 快速略过时所有显示效果都为瞬间显示
quake 画面晃动效果,单次不规律晃动
quake 位移像素数,晃动时长毫秒数
quakex 画面横向晃动
quakex 晃动次数,晃动总时长毫秒数
quakey 画面纵向晃动
quakey 晃动次数,晃动总时长毫秒数
monocro 画面褪色效果,画面变为以指定颜色为主色调的单色图。需配合print命令使用
monocro 颜色
monocro off ;结束退色效果
nega 底片效果,参数为1表示和monocro并用时与褪色效果指定的色调统一,2表示和monocro并用时与褪色效果指定的色调反相(但我使用nega 2命令时若保持底片效果至end,ns窗口会在关闭时弹出错误报告,不知是否为bug),0表示还原为原图色彩。也需要配合print使用。
nega 效果参数
文字?数字?条块
% 显示数字变量
$ 显示文字变量
bar 设定条块对象,需要用print来显示
bar 条块编号,当前长度比例,左上角x坐标,y坐标,长度,高度,总长度比例,颜色
barclear 清除条块对象的设定。要配合repaint才有效果
prnum 显示0-999之间的数值
prnum 数字编号,欲显示的数值,左上角x坐标,y坐标,字宽,字高,颜色
prnumclear 清除数字标签的设定。要配合repaint才有效果
音乐与音效
cdfadein cd音轨淡入效果时间指定
cdfadein 淡入时间毫秒数
cdfadeout cd音轨淡出效果时间指定
cdfadeout 淡出时间毫秒数
mp3fadein mp3及midi淡入效果时间指定
mp3fadein 淡入时间毫秒数
mp3fadeout mp3及midi淡出效果时间指定,以上会应用于单次播放的音乐头尾,循环播放的单曲头尾,音乐切换时的切出部分。
mp3fadeout 淡出时间毫秒数
play 循环播放midi及cd上的音轨
play "midi文件路径"
play "*音轨序号"
playonce 同上,只播放一次
playstop 停止MIDI或者CD
wave 播放wave文件(单次)
wave "wave文件路径"
waveloop 同上,循环播放wave文件
wavestop 停止播放wave文件
mp3 播放mp3文件(单次)
mp3 "mp3文件路径"
mp3loop 同上,循环播放mp3文件
mp3save mp3再生中にセーブするとロード后もを再生
bgm 循环播放所有格式声音文件
bgm "文件路径"
dsound 在定义区块表明使用DirectSound,需要DirectX2或更高版本支持。现在已经没有必要了。
dwave 使用DirectSound播放wave文件,可以实现多个wave文件重叠播放。也可以和以上播放命令重叠使用。
dwave 音效编号,"wave文件路径"
dwaveloop 同上,循环播放
dwavestop 停止播放
dwavestop 音效编号
dwaveload 预载wave文件
dwaveload 音效编号,"wave文件路径"
dwaveplay 播放预载的wave文件
dwaveplay 音效编号
dwaveplayloop 同上,循环播放
chvol 调解音效音量
chvol 音效编号,音量
满值为100
stop 停止播放全部音乐
播放动画
avi 播放avi文件
avi "文件路径",播放参数
1 -鼠标点击时中止播放,执行后面的命令;0 -无视点击强制播放到结尾
mpegplay 播放mpeg文件,参数同上
mpegplay "文件路径",播放参数
选项
selectcolor 指定选项文字的颜色,
selectcolor 悬停变色颜色,普通状态颜色
默认为selectcolor #ffffff,#999999
selectvoice 指定选项的音效
selectvoice "选项展开时的音效文件路径","悬停时的音效文件路径","点击时的音效文件路径"
select 显示选项,选项将会以一行一个方式顺序排列,超出文字框行数会报错。
select "第一个选项内容",要跳转到的标签名,"第二个选项内容",要跳转到的标签名,……
selgosub 选择后跳转到某标签,执行结束后回到selgosub,即将选项跳转到的标签作为公共事件。要配合return使用。
写法同上
selnum 根据选项给变量赋值,即把选项作为按钮设置。
selum 数字变量,"第一个选项内容","第二个选项内容",……
跳跃
goto 跳跃到指定的标签
goto 标签名
skip 跳过若干行命令,如果行数为负即为向上跳过几行执行。
skip 行数
gosub 跳跃到公共事件,要配合return使用
return 从公共事件返回,标记在公共事件的末尾。
jumpf 跳跃到下方最近的~标记
jumpb 跳跃到上方最近的~标记
监视点击跳跃
trap 鼠标左点击后跳跃到指定标签。
trap *标签名
trap off ;取消监视点击的状态
lr_trap 鼠标左右点击同时被监视,效果与写法同上。
trap2 左クリックと「次の选択肢に进む」に反応して指定ラベルへジャンプする
lr_trap2 左右クリックと「次の选択肢に进む」に反応して指定ラベルへジャンプする
图像按钮
btndef 预载按钮悬停图片
btndef "图片路径"
btn 设置按钮,编号从1开始
btn 按钮编号,按钮范围左上角x坐标,y坐标,宽,?悬停图像截取左上角x坐标,y坐标
btnwait 等待点击并根据点击位置给变量赋值。点击按钮以外区域返回值0;点击按钮返回值为按钮编号;右键点击返回值-1。btnwait执行后会清空按钮定义的内容。
btnwait 数字变量
btnwait2 同上,执行后不会清空按钮定义的内容。
spbtn 将对向指定为按钮,对象按钮没接触时cell为0,悬停后为1
spbtn 对象编号,按钮编号
getbtntimer 取得在btnwait状态下停留的时间。此期间如果点了鼠标右键或空白处,返回了btnwait上面的标签的话,就重新开始计时。
getbtntimer 数字变量
btntime 给按钮设置时间限制。写在btnwait前一行,此期间如果点了鼠标右键或空白处,返回了btnwait上面的标签的话,就重新开始计时。
btntime 数字或数字变量或计算式
exbtn 复合按钮的状态设置。可以给按钮附加音效,也可以以复合控制文字列设置鼠标悬停时的一系列sp变化,具体可参考spstr命令。附加音效的写法似乎还有其他参数……不明……
exbtn 对象编号,按钮编号,"音效文件路径"
exbtn 对象编号,按钮编号,"控制文字列"
exbtn_d 复合按钮的状态设置。设定鼠标未接触按钮时的sp显示状态。
exbtn_d "控制文字列"
等待与计时
!d 插入文字间指定等待时间,不能使用变量,鼠标点击可以略过。
!d 毫秒数
!w 指定强制等待时间,不能使用变量,不能略过。
!w 毫秒数
delay 鼠标点击可以略过的等待。可以使用变量。
delay 毫秒数或数字变量
wait 强制等待。可以使用变量。
wait 毫秒数或数字变量
resettimer 内部计时器归零。
waittimer 以内部时钟计时指定等待时间。这是ns最准确的计时方式。 图像显示效果之类命令中的时间设定并不是十分准确的(个人估测误差在1%
变量与计算
stralias 给包含文件路径和参数的文字列命名,脚本中写这个简称即可调用指定的文件。调用名可以由半角字母,数字和下滑线组成,头文字不能为数字。
stralias 自定义调用名,"文件路径及参数"
numalias 给数值命名,扩展用法是给变量命名
numalias 自定义调用名,数字
intlimit 设定变量的上下限,超出次上下限时变量的值会自动带入指定的最大最小值
intlimit 变量编号,最小值数字,最大值数字
dim 定义数组变量范围。数组变量就是按行列排列成表格的样子的一组数字变量。因为行列都是从0开始计的,所以若行数写为[2],代表有3行。
dim 数组变量[行数][列数]
mov 给变量赋值
mov 数字变量,数值或变量或计算式
mov 文字变量,"文字内容"
mov3~mov10 可以同时给指定变量以后连续的10个以下数字变量赋值,
movN 数字变量,第一个值,第二个值,……第N个值
movl 给数组变量的某一行赋值。
movl数组变量[行号],第一个值,第二个值,第三个值……
len 获得文字变量的字数(一个汉字占两字节)
len 数字变量,文字变量
mid 从一个文字变量中截取一段文字赋予另一个文字变量,后面的第一个数字为截取开始位置,从第一个字开始截取就设为0;第二个数字为截取长度。(一个汉字占两字节)
mid 被赋值的文字变量,作为母本的文字变量,数字或数字变量,数字或数字变量
add 加
add 数字变量,数值
add 文字变量,"追加文字"
sub 减
sub 数字变量,数值或变量
inc 加1
inc 数字变量
dec 减1
dec 数字变量
mul 乘
mul 数字变量,数值
div 除,只保留整数(不是四舍五入)
div 数字变量,数值
mod 求余
mod 数字变量,数值
rnd 获得0-给出数字之间的随机数
rnd 数字变量,数字
rnd2 获得数字1-数字2之间的随机数
rnd2 数字变量,数字1,数字2
itoa 将数值转换为文字列,只能转换为半角
itoa 文字变量,数值
atoi 以上反之,文字列只能为半角数字。
atoi 数字变量,文字列
条件和循环
if 条件判断,当……的时候
if {条件} {要执行的操作}
if {条件} && {条件} &&…… ;多个条件同时成立,&&也可写为&。
if {条件} {要执行的操作}:{要执行的操作}:…… ;执行多步操作
条件式常用符号:<,>,=,>=,<= 讲解略
==与=都是等于的意思
<>与!=都是不等于的意思
notif 如果不是……的情况
格式同上
cmp 文字どうしを比较する
fchk 判断指定文件是否被调用过,如果调用时的参数不同则视为否。
if fchk "文件路径及参数"
lchk 判断指定标签是否被读到过,以下写法都可。
if lchk 标签名
if lchk "标签名"
if lchk 文字变量
for~next 循环
for 数字变量=数字 to 数字 step 每次递增数值
{要执行的操作}
next
break 中断循环
for 数字变量=数字 to 数字 step 每次递增数值
{要执行的操作}
if 条件 break
next
右键机能设定
rmenu 右键呼出菜单的设置。
rmenu "自定义的机能名称",机能,"第二个技能名称",机能,……
可加入右键呼出菜单的机能有:
skip -快速略过
reset -游戏复位
save -储存档案
load -读取档案
lookback -回顾前一段文字
windowerase -屏蔽文字框
menusetwindow 右键呼出菜单的外观设置。除文字以外只能改变窗口颜色。默认为menusetwindow 26,26,0,2,0,0,#999999
menusetwindow 文字高,宽,字间距,行间距,粗体字状态,黑体字状态,窗体颜色
savename 右键呼出菜单中的储存读取菜单具体名称设置。默认为“保存”,“读取”和“档案”
savename "自定义储存菜单标题","自定义读取菜单标题","自定义档案名"
menuselectcolor 右键呼出菜单中的文字颜色设定。
menuselectcolor 鼠标悬停颜色,一般状态颜色,尚未保存过的档案颜色
menuselectvoice 右键呼出菜单中的音效设定。如写作""代表无音效。
menuselectvoice "菜单打开时的音效文件路径","关闭时的音效","鼠标悬停时","点击时","点击了无法进行的操作的警示音","选择「是」的时候","选择「否」的时候"
rlookback 设置右点击为回顾上一段文字
roff 右点击无效
rmode 右点击功能开关
rmode 1 右点击有效
rmode 0 右点击无效
回顾
lookbackbutton 设定回顾功能按钮,默认的文件名为"uoncur.bmp","uoffcur.bmp","doncur.bmp"。要求图片大小一致,不支持动画,不能改变位置(按钮位置为文字框的右上角和右下角)。
lookbackbutton "向前按钮选中状态图片路径","向前按钮一般状态","向后按钮选中状态","向后按钮一般状态"
lookbackcolor 设定回顾模式的文字颜色
lookbackcolor #rrggbb
lookbackcolor 设定回顾模式的文字颜色
lookbackcolor #rrggbb
lookbackvoice 设定回顾模式音效
lookbackvoice "音效文件路径"
lookbackflush 取消回顾模式
初次阅读判断及快速略过
kidokuskip 打开初次阅读判断,设置后脚本运行时会自动生成一个kidoku.dat文件记录已经读过的文字。对于初次阅读的文字部分禁用菜单的快速略过功能。
mode_wave_demo 「次の选択肢を飞ばす」の时でもWAVEを鸣らす
skipoff 停止快速略过
调用记录和全局变量
filelog 用来记录调用过的文件的相关数据。如果调用时的参数不同则视为不同的文件。和globalon同时使用时的特殊情况………………没看懂…………
globalon 全局变量
labellog 记录读取过的标签的日志。
存储与读取
savenumber 指定存档总数,最大为20,默认为9。如没有配合设定好菜单样式等,造成文字超出会出错。
savenumber 数字
savegame 存档到指定编号的档案,自动存储,不会出现任何确认提示。
savegame 档案编号
loadgame 从指定编号档案读取存档,自动读取,也没有任何确认提示。如无法读取(如该档案无存档等)继续执行下面的命令。
loadgame 档案编号
savefileexist 判断某一编号档案上有无存档。有存档变量赋值1,无存档为0。
savefileexist 数字变量,档案编号
saveon 重新开启即时存档功能
saveoff 禁止即时存档,与以上配合,在saveoff与saveon之间区域的存档内容强制为saveoff之前。
追加机能
mesbox 弹出信息窗口。
mesbox "信息内容","信息窗口标题"
inputstr 弹出文字输入对话框。最后四个尺寸设定可以省略。最大字数那里请注意:一个汉字算两个字数。全角字判定为1 -打开判定(禁止输入半角字),0 -关闭判定;ns2.45汉化版此处存在bug,请不要设定为1。
inputstr 文字变量,"说明文字",最大文字数,全角判定,对话框宽,高,输入框宽,高
input 同样的弹出文字输入对话框,可以在输入栏指定默认内容。
input 文字变量,"说明文字","默认输入内容",最大文字数,全角字判定
clickpos 取得鼠标点击点的坐标
clickpos 获得x坐标的变量,获得y坐标的变量
systemcall rmenu的话就是叫出右键呼出菜单,与右键点击效果相同。
systemcall 机能
特殊模式设定
automode 「オートモード」を使用する设定にする
automode_time 「オートモード」でWAVEが鸣っていないときの时间设定
defvoicecol 设置0频道声音(dwave 0)的音量。默认为100。
defvoicecol 音量
defsevol 设置1频道声音(dwave 1~)的音量。默认为100。
defsevol 音量
defmp3vol 设置mp3(bgm)的音量,默认为100。
defmp3vol 音量
mode_saya 开启“荚模式”。当文字框消失时,编号1-9的对象同时消失。可用其制作自制系统按钮。
mode_ext 「银色モード(オートモード)」を使用する设定にする
mode800 画面尺寸变为800x600
插件和素材文件管理
soundpressplgin 音楽圧缩プラグインを指定する(现在はDirectX命令で代用できる)
spi 画像圧缩プラグインを指定する。
arc アーカイブを使う
nsa 直接读取nsa压缩包里的文件
nsadir 指定要从中读取文件的nsa文件的名称。默认为arc.nsa
nsadir "nsa文件名
信息显示
versionstr 变更版本说明中的文字,限两行(但单行文字量超过一定量会自动换行)。支持半角
versionstr "第一行文字内容","第二行文字内容"
caption 变更窗口标题栏
caption "标题文字"
信息获得
date 获得系统日期(年月日)
date 获得年份数值的数字变量,获得月份数值的数字变量,获得日期数值的数字变量
time 获得系统时间(时分秒)
time 获得时数值的数字变量,获得分数值的数字变量,获得秒数值的数字变量
savetime 获得指定编号的档案的存档时间(月日时分)。当该编号档案无存档时月份的返回值为0。
savetime 档案编号,获得月份数值的数字变量,获得日期数值的数字变量,获得时数值的数字变量,获得分数值的数字变量
getversion 获得当前运行的ns执行文件的版本编号。(数值为当前版本号x100)
getversion 数字变量
getreg レジストリを参照する
getini iniファイルを参照する
窗口菜单相关
killmenu 消除窗口菜单,最左侧菜单编号为0,向右依次加1。
killmenu 菜单编号
defaultspeed 设定系统菜单中的文字低中高速状态的速度。
defaultspeed 低速状态的速度,普通状态的速度,高速状态的速度
!sd 在文字间设定系统菜单中的文字低中高速状态的速度。
同上
menu_full 开启全屏模式
menu_window 开启窗口模式
menu_click_def 普通に表示するモードにする
menu_click_page 1ページごとに表示するモードにする
转自may社吧 @opteroncx Ns/ons引擎开发指南【转】