所有分类
  • 所有分类
  • 文章
  • 百科
  • 游戏
  • 攻略
【开发教程】NVL Maker常用系统变量

【开发教程】NVL Maker常用系统变量

NVL Maker 是一款基于吉里吉里/KAG 开发的免费开源视觉小说制作工具。本文档将系统性地介绍 NVL Maker 的核心系统变量、脚本指令以及各类界面数据的配置方法,帮助你从入门到精通掌握这款工具。 一、系统变量参考(nvlflag) 游戏运行时使用了大量系统变量来记录状态和控制行为。了解这些变量的作用,可以避免在自定义脚本时发生命名冲突。 1.1 系统初始化参数 变量名 类型 默认值 说明 sf.初始化 Boolean false 第一次执行游戏且所有数值初始化完毕后,该值被设为 tr...

【开发教程】NVLmaker简单使用教程【开发教程】NVLmaker简单使用教程
6小时前

NVL Maker 是一款基于吉里吉里/KAG 开发的免费开源视觉小说制作工具。本文档将系统性地介绍 NVL Maker 的核心系统变量、脚本指令以及各类界面数据的配置方法,帮助你从入门到精通掌握这款工具。

一、系统变量参考(nvlflag)

游戏运行时使用了大量系统变量来记录状态和控制行为。了解这些变量的作用,可以避免在自定义脚本时发生命名冲突

1.1 系统初始化参数

变量名 类型 默认值 说明
sf.初始化 Boolean false 第一次执行游戏且所有数值初始化完毕后,该值被设为 true
sf.语音初始化 Boolean 0 音量相关系统数值初始化完毕后,该值被设为 1
sf.cglist Dictionary %[] 登录CG时,将对应CG名的值设为1,可通过 sf.cglist['图片名'] 判断CG是否已登录
sf.历史 Array [] 每个存档对应的最后一句对话,例如存档0对应 sf.历史[0]
sf.最近存储页 Int 1 存档/读取界面自动翻到上次打开的页面

1.2 游戏运行参数

变量名 类型 默认值 说明
kag.allskip Boolean false true=跳过全部,false=只跳过已读
kag.textspeed Int 5 跳字速度,范围0-10,10为最快
kag.autospeed Int 5 自动前进速度,范围0-10,10为最快
kag.bgmvolume Int 50 音乐音量
kag.sevolume Int 100 音效总音量(包括一般音效和语音)
sf.sevolume Int 50 音效音量(因 kag.se[0].volume 不会被保存而额外设置)
sf.voicevolume Int 50 语音音量(因 kag.se[1].volume 不会被保存而额外设置)

1.3 界面配置文件

NVL Maker 的各类界面配置存储在 macro 文件夹下的配置文件中

变量名 文件 对应界面
f.setting setting.tjs 选项按钮
f.config_title uititle.tjs 标题画面
f.config_dia uidia.tjs 对话界面
f.config_menu uimenu.tjs 主选单
f.config_slpos uislpos.tjs 存储/读取系统排版
f.config_option uioption.tjs 系统设置界面
f.config_history uihistory.tjs 历史记录界面
f.config_name namelist.tjs 主要人物姓名及颜色代码
f.config_save uisave.tjs 存储系统图片
f.config_load uiload.tjs 读取系统图片
f.config_cgmode uicgmode.tjs CG鉴赏界面

命名提示:为自己创建变量时,请避开以上系统已使用的变量名

二、脚本指令参考(nvltag)

NVL Maker 的脚本指令基于 KAG 语法扩展。以下列出最常用的图形化指令

2.1 通用参数

切换效果参数(trans 相关)

参数 说明
time 毫秒数 切换时间,不同指令有不同默认值
canskip true/false 效果是否可点击跳过,默认 true
method ①~⑩ 切换效果:①crossfade(淡入)、②universal(遮片)、③turn(翻页)、④wave(波纹)、⑤ripple(水面涟漪)、⑥scroll(卷动)、⑦mosaic(马赛克)、⑧rotateswap(旋转切换)、⑨rotatezoom(旋转缩放)、⑩rotatevanish(旋转消失)
rule 图片名 遮片图,method 为 universal 时使用
from left/right/top/bottom 切换方向,method 为 scroll 时使用
stay nostay/stayback/stayfore 原图是否停留,method 为 scroll 时使用

图层参数(layer 相关)

参数 说明
layer stage/base 背景层
layer all 全部前景图层(0-8)
layer 0-7 立绘层
layer 8 头像层
page fore 表页(默认)
page back 里页

2.2 图像操作指令

(1)显示背景 @bg

参数 是否必须/默认值 说明
time 默认700 显示效果切换时间
storage 必须 背景图片名
clfg false 同时消除所有前景层
hidemes false 同时消除对话框及系统按钮
convert false 图片反色效果
grayscale false 图片去色效果
mcolor 蒙版色
mopacity 蒙版色透明度

(2)显示人物 @fg

参数 是否必须/默认值 说明
time 默认500 显示效果切换时间
storage 必须 人物图片名
layer 0 显示人物的图层编号
pos left/center/right 人物显示位置
left 直接指定横坐标(pos为空时生效)
top 直接指定纵坐标(pos为空时生效)
opacity 图片透明度

(3)显示头像 @face

参数 是否必须/默认值 说明
time 默认100 显示效果切换时间
storage 必须 头像图片名
opacity 图片透明度
fg 同时显示人物立绘(自动取得指定图层坐标)
layer 0 同时显示立绘所用的图层

(4)消除背景 @clbg

参数 是否必须/默认值 说明
time 默认700 消除效果切换时间
clfg false 同时消除所有前景层
hidemes false 同时消除对话框及系统按钮

(5)消除人物 @clfg

参数 是否必须/默认值 说明
time 默认500 消除效果切换时间
layer 0 可选 0~8 或 all
clface false 是否同时消除头像

三、界面数据说明(nvluidata 1-5)

NVL Maker 的界面通过配置文件进行高度定制。大部分配置文件是字典结构,一个 name 对应一个控件

3.1 基础设定(nvluidata1)

文件列表

数据文件 对应界面
uititle 标题画面
setting 基础设定
uidia 对话界面(主界面)
uimenu 主选单界面
uioption 系统设置界面
uihistory 对话回顾界面
namelist 人物姓名、简称及颜色列表
uisave 保存游戏界面图素
uiload 读取游戏界面图素
uislpos 保存/读取游戏界面排版

按钮控件通用结构

所有按钮控件都包含以下参数:

name type 说明
use bool 0=隐藏,1=显示
x int 按钮坐标 x
y int 按钮坐标 y
normal string 一般状态图片
over string hover 状态图片
on string click 状态图片
enterse string hover 时播放的音效
clickse string click 时播放的音效

滑动槽控件通用结构

name type 说明
use bool 0=隐藏,1=显示
x int 坐标 x
y int 坐标 y
base string 滑动槽底部图
normal string 滑动按钮一般状态
over string 滑动按钮 over 状态
on string 滑动按钮 click/drag 状态

标题画面(uititle)控件

name type 说明
logo string 小组标志图片
bgd string 标题画面背景图
front string 标题画面前景图(非必要)
bgm string 标题画面背景音乐

标题画面按钮:start(开始游戏)、load(读取进度)、exit(离开游戏)、option(系统设定)、extra(自定义脚本)、omake(CG一览)

粒子效果:rain(下雨)、snow(下雪)、sakura(樱花)、momiji(红叶)、movie(旧电影)、firefly(萤火虫)

基础设定(setting)

name type 说明
selbutton dict 选项按钮的默认外观和音效
selfont dict 选项按钮的默认字体颜色和字号

3.2 保存与读取界面(nvluidata2)

保存和读取界面共用同一套排版(uislpos),但使用不同的图片和颜色配置(uisave / uiload)

uisave / uiload 控件

name type 说明
bgd string 背景图片
lastsavemark string 最近保存档案旁的标记图片
button 按钮* 存档栏位按钮
back 按钮* 返回按钮
up 按钮* 向前翻页
down 按钮* 向后翻页

存取界面的按钮没有 x/y 坐标参数,坐标由 uislpos 控制

颜色组

name type 说明
num 颜色组 存档按钮编号的颜色
date 颜色组 存档日期颜色
bookmark 颜色组 书签名颜色
history 颜色组 最近一句对话记录颜色
draw 特殊颜色组 hover 时显示的额外信息颜色

颜色组结构:normal(一般状态)、over(hover状态)、on(click状态)

draw 颜色组:talk(对话记录)、bookmark(书签名)、date(日期)

uislpos 排版配置

name type 说明
pagefont 文字设置组 全页面文字设定(粗体、斜体、阴影、描边等)
snapshot 特殊设置组 hover 时显示的截图设置
drawmark 特殊设置组 hover 时显示的书签名
drawdate 特殊设置组 hover 时显示的日期
drawtalk 特殊设置组 hover 时显示的最近对话

3.3 CG一览模式(nvluidata3)

CG 一览界面包含以下控件

name type 说明
bgd string CG界面背景图
up 按钮 向前翻页
down 按钮 向后翻页
back 按钮 返回上层
locate array CG栏位位置
thum dictionary CG缩略图按钮效果

locate 定位locate[0][0] 代表第一个CG栏的 x 坐标,locate[0][1] 代表 y 坐标,以此类推

thum 缩略图:实际只读取 thum.normal 的值,用于决定缩略图大小和hover/click时的叠加效果

CG列表配置(cglist.txt)

text
CG1_1,CG1_2,CG1_3
CG2
CG3_1,CG3_2
CG4
CG5
....

每行代表一个CG栏位,同一行的多个文件名用逗号隔开表示差分。

CG收集机制

一张CG要出现在CG一览中,必须满足:

  1. 该CG在 cglist.txt 中,且是某行的第一张图

  2. 在剧情脚本中使用 “登录CG” 功能登录过(将CG名存入 sf.cglist

例如登录CG “abc”:sf.cglist.abc = true

点击CG小图时,会按顺序显示该行的所有已登录差分,鼠标点击切换下一张

3.4 地图面板(nvluidata4)

地图数据存储在 .map 文件中,内容为 TJS 数组。整个数组有 16 个元素array[0] 设定背景板,array[1] 到 array[15] 设定按钮

array[0] 背景设定

name 类型 说明
bgd string 地图背景图片
normal string 默认按钮一般状态图片
over string 默认按钮 hover 状态图片
on string 默认按钮 click 状态图片

array[1]-array[15] 按钮设定

name 类型 说明
use bool 0=隐藏,1=显示
x int 按钮坐标 x
y int 按钮坐标 y
place string 编辑界面显示的按钮名(注释用)
normal/over/on string 按钮三态图片
enterse/clickse string 音效
storage string 跳转的脚本文件
target string 跳转的脚本标签
exp string 点击后执行的 TJS 式
cond string 按钮出现的条件 TJS 式
onenter string 鼠标移入时执行的 TJS 式
onleave string 鼠标离开时执行的 TJS 式

关于 cond 条件:cond 为空时,只要 use==1 按钮即显示;cond 有值时,需满足条件才显示,如 "(sf.结局A==1)"

3.5 养成面板(nvluidata5)

养成数据存储在 .edu 文件中,内容为 TJS 数组。整个数组有 31 个元素

  • array[0]:背景板设定

  • array[1] 到 array[10]:按钮(10个)

  • array[11] 到 array[20]:文字(10个)

  • array[21] 到 array[30]:图片(10个)

array[0] 背景设定

name 类型 说明
bgd string 背景图片
normal/over/on string 默认按钮三态图片
num string 图片数字的默认前缀
space int 图片数字的默认间隔

array[1]-array[10] 按钮

与地图面板按钮结构完全相同(参见 3.4 节)。

array[11]-array[20] 文字

使用 ptext 指令描绘,支持 \n 换行

name 类型 说明
use bool 0=隐藏,1=显示
cond string 显示条件 TJS 式
x/y int 坐标
name string 编辑界面显示的名称(注释用)
flagname string 具体文字或 TJS 式(如 “提示:” 或 “f.姓+f.名”)
fontname string 字体名
size int 文字大小
lineheight int 每行高度(支持多行时使用)
color color 文字颜色
bold/shadow/edge bool 粗体/阴影/描边
shadowcolor/edgecolor color 阴影色/描边色

array[21]-array[30] 图片

name 类型 说明
use bool 0=隐藏,1=显示
cond string 显示条件 TJS 式
x/y int 坐标
name string 编辑界面显示的名称(注释用)
pic string 固定图片名(flagname 为空时使用)
flagname string 变数名或 TJS 式
num string 图片数字前缀
space int 图片数字间隔

四、实用技巧总结

4.1 变量命名规范

创建自定义变量时,务必避开系统变量名(sf.xxxkag.xxxf.xxx 等),以免造成冲突

4.2 CG 小图优化

系统会自动缩放原图作为 CG 小图。如果存在 xxx_thum.png 格式的图片,会优先使用该图,避免缩放失真

4.3 条件显示

在地图和养成面板中,通过 cond 参数可以实现按钮/文字/图片的条件显示,常用于根据游戏进度解锁不同内容

4.4 动态文字

养成面板的文字控件支持 TJS 式,可以显示变量内容。例如 flagname: "f.姓+f.名" 会动态显示玩家设定的姓名

4.5 存档缩略图

在 uislpos 中配置 snapshot 可以实现鼠标悬停时显示存档截图,提升用户体验

以上即 NVL Maker 核心系统变量、脚本指令与界面数据的完整参考。建议在实际开发中结合官方示例和本文档进行实践,逐步掌握各项功能的使用方法。如有疑问,可访问 THE NVL Maker 官网 获取更多资源

常见问题
Galgame Wiki是做什么的?
Galgame Wiki 是一个长期致力于 Galgame领域学术资料整理、归档与开源共享的非营利性项目。我们以系统性、可持续的方式,收集、保存与这一领域相关的知识、文献与数字资源,并向所有研究者、爱好者及公众免费开放,旨在构建一个结构清晰、易于使用、持续生长的公共知识库。
原文链接:https://www.galgame.it/educate/%e3%80%90%e5%bc%80%e5%8f%91%e6%95%99%e7%a8%8b%e3%80%91nvl-maker%e5%b8%b8%e7%94%a8%e7%b3%bb%e7%bb%9f%e5%8f%98%e9%87%8f.html,转载请注明出处。
1

评论0

请先
【钟表社】 乐园Euphoria (ユーフォリア)高清重置版
【钟表社】 乐园Euphoria (ユーフォリア)高清重置版
刚刚 有人购买 去瞅瞅看
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录

Galgame Wiki为您提供联合登录服务,您可以通过Galgame Wiki的账户登录其他联合Galgame站点