全站-加入QQ频道-第一版.png
全站-加入QQ频道-第一版.png
近期平台发版更新修复了一些问题,如果还有问题请反馈给站长
(遇到相关问题请携带截图私信给站长残天

全站通知:

剧情对话指令

阅读

    

2023-01-25更新

    

最新编辑:深淵の鴿子

阅读:

  

更新日期:2023-01-25

  

最新编辑:深淵の鴿子

来自觅长生WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
深淵の鴿子

剧情对话指令

1 简介

剧情对话指令是剧情文本里使用的指令,该指令的设计是为了能更好的进行剧情编写以及在剧情文本中穿插命令。

2 基本格式

一条剧情指令的格式如下:

指令名*参数一#参数二#参数三......

而对话指令的指令名为 Say (空) 即可以省略不写,如

Say*主角#你好。

*主角#你好。

主角#你好。

这种写法是等价的。

3 指令查询表

注: 使用[&expression&]可以执行脚本并将返回值嵌入指令,请参考 运行时脚本

指令 说明
Nothing Nothing*

空指令,什么也不做。
Print Print*类型#打印内容

Print*Info#Hello World

在日志窗口输出信息
类型:
Info 或 空:普通信息
Warning:警告信息
Error:错误信息
RunLua RunLua*Lua文件#Lua函数

RunLua*Test#T1

运行Lua函数,直到运行完毕后再进行下一个指令
详情参考 Lua脚本
Say
(或空指令)
Say*对话者#对话内容

Say*主角#你好
*主角#你好
主角#你好

对话指令,用于显示一条对话。
参数一:对话者,通过在剧情文件的character项里指定,或使用SetChar指令指定。
参数二:对话内容,对话内容里的#号不会影响对话内容显示。

剧情对话中可以使用特殊文本,该部分可参考剧情对话特殊文本
SetChar SetChar*对话者#设置值

SetChar*主角#1
SetChar*目标#[&roleID&]

设置对话者对应ID
参数一:对话者,设置的对话者将储存在全局的临时对话者字典里,可以跨剧情调用,但是重启游戏后将会丢失。
参数二:设置值,对话者对应的角色ID
BindNpc BindNpc*NPC的ID

BindNpc*619

将目标角色绑定到环境变量之中,会自动绑定bindNpcroleBindIDroleIDroleName变量
ShowOption ShowOption*选项1ID:选项1内容:选项1条件(可选)#选项2ID:选项2内容:选项2条件(可选)#......

ShowOption*1:你好#2:再见#3:给我!:[&GetMoney()<100ul&]

选项指令,弹出选择框让玩家进行选择,选择后,脚本环境中optionID值将变为选项对应ID值。
选项条件可不填,当不填或计算结果为true时选项显示。
SayOption SayOption*对话者#对话内容#选项1ID:选项1内容:选项1条件(可选)#选项2ID:选项2内容:选项2条件(可选)#......

SayOption*旁白#你好#1:你好#2:再见#3:给我!:[&GetMoney()<100ul&]

ShowOption,但是会如同Say指令一样先显示对话内容。
ShowCG ShowCG*图片ID

ShowCG*back
ShowCG*pic1/cg

显示自定义对话背景,需要使用HideCG指令关闭背景。
添加背景可参考 运行时脚本
HideCG HideCG*

关闭CG背景
Event Event*目标事件#跳转条件(可省略,或为true时跳转)

Event*事件一
Event*事件一#[&roleBindID==609&]

当条件满足时,结束当前事件并跳转到指定事件。

参数一:目标事件
~~参数二:跳转条件,可省略,当为空或为true时进行跳转。~~ 建议改用If指令
Trigger Trigger*触发器ID

Trigger*某某宗门派对话

对指定触发器进行一次触发判断(无视触发器类型),若满足条件,则相当于使用Event指令进行事件跳转。
处于关闭状态的触发器不会被触发。
TriggerAll EnterGame
TriggerAll*某某宗晋升金丹#1

对指定的触发器类型进行一次触发器判断,若触发成功则中断当前事件,并进入新事件。
触发器类型:可指定多个触发器类型,之间用`
SetTrigger SetTrigger*触发器ID#触发器状态(0关闭,1打开)

SetTrigger*初入禁地#0

开启或关闭一个触发器。被关闭的触发器不会再参与触发判断。
If If*判断条件#其他指令

If*[&roleBindID == 609&]#ChangeMoney*100
If*[&roleBindID == 609&]#旁白#你好

当条件满足时,执行后续指令。

参数一:判断条件,使用[&condition&]进行表达式计算,当返回结果为true时跳转
参数二:其他指令(按原指令填写即可)
SetInt SetInt*键#值

SetInt*数值1#10
SetInt*数值1#[&GetInt("数值1") * 2&]

储存一个整形键值,该键值将储存于游戏存档里。
取出值使用GetInt(key)进行取值。
ChangeInt ChangeInt*键#变化值

ChangeInt*数值1#10
ChangeInt*数值1#[&GetInt("数值1") * 2&]

修改储存的键值,该数值将在原数值上进行变动。
SetStr SetStr*键#值

SetStr*字符串1#你好
SetStr*字符串1#[&GetStr("数值1")&][&GetStr("数值1")&]

储存一个字符串键值,该键值将储存于游戏存档里。
取出值使用GetStr(key)进行取值。
AddTime AddTime*年#月#日#是否显示提示(0否,1是,默认不显示)#提示文本

AddTime*10#0#0
AddTime*10#0#0#1#正在挖矿中...

使时间跳过对应的年月日,如果显示提示则会显示一个结算读条。
ChangeHp ChangeHp*血量变化量

ChangeHp*1000
ChangeHp*-500

修改主角血量。
ChangeBaseHpMax ChangeBaseHpMax*最大血量基础变化量

ChangeBaseHpMax*1000
ChangeBaseHpMax*-500

修改主角基础最大血量。
ChangeExp ChangeExp*修为变化量

ChangeExp*1000
ChangeExp*-500

修改主角修为。
ChangeMoney ChangeMoney*灵石变化量

ChangeMoney*1000
ChangeMoney*-500

修改主角灵石数量。
AddItem AddItem*物品ID#添加数量#是否显示提示(0不显示,1显示)

AddItem*101#1#1

为主角添加物品。
RemoveItem RemoveItem*物品ID#移除数量#是否显示提示(0不显示,1显示)

RemoveItem*101#1#1

为主角移除物品。
UseItem UseItem*物品ID#是否消耗背包物品(0否1是)

UseItem*101

为主角使用物品。(如果是装备会自动装备)如果填写不消耗背包物品,会自动添加一个物品然后使用。
AddNpcItem AddNpcItem*NpcID#物品ID#添加数量

AddNpcItem*609#101#1

为Npc添加物品。
ChangeMentality ChangeMentality*心境变化量

ChangeMentality*100

修改主角心境
ChangeDrugsPoison ChangeDrugsPoison*丹毒变化量

ChangeDrugsPoison*100

修改主角丹毒
ChangeComprehensionPoint ChangeComprehensionPoint*悟道点变化量

ChangeComprehensionPoint*2

修改主角悟道点
AddThinking AddThinking*思绪ID

AddThinking*1

添加思绪
AddComprehensionExp AddComprehensionExp*道类型ID#道经验

AddComprehensionExp*8#100

增加剑道经验100点
AddCongenitalBuff AddCongenitalBuff*BuffID

AddCongenitalBuff*1

添加一层先天Buff
RemoveCongenitalBuff RemoveCongenitalBuff*BuffID

RemoveCongenitalBuff*1

移除一层先天Buff
ChangeInspiration ChangeInspiration*灵感变化量

ChangeInspiration*100

修改主角灵感
ChangeAge ChangeAge*年龄变化量

ChangeAge*10

修改主角年龄
ChangeLife ChangeLife*寿元变化量

ChangeLife*10

修改主角寿元
ChangeTalent ChangeTalent*资质变化量

ChangeTalent*10

修改主角资质
ChangeBaseSpirit ChangeBaseSpirit*基础神识变化量

ChangeBaseSpirit*10

修改主角基础神识
ChangeAbility ChangeAbility*悟性变化量

ChangeAbility*10

修改主角悟性
ChangeBaseMoveSpeed ChangeBaseMoveSpeed*基础遁速变化量

ChangeBaseMoveSpeed*10

修改主角基础遁速
ChangeNpcFav ChangeNpcFav*Npc的ID#好感变化量#是否同时修改情分(1是0否)#是否显示提示(1是0否)

ChangeNpcFav*609#200#1#1

修改与Npc的好感度
AddRelation AddRelation*Npc的ID#关系类型

AddRelation*609#2

增加与Npc的关系

关系类型:
0. 师傅
1. 徒弟
2. 道侣
3. 结义
RemoveRelation RemoveRelation*Npc的ID#关系类型

RemoveRelation*609#2

移除与Npc的关系

关系类型同增加关系指令
CloseTabUI CloseTabUI*

关闭背包Tab界面
Death Death*死亡类型

Death*1

主角死亡

死亡类型:
1.身死道消
2.毒发身亡
3.寿元已尽
4.炉毁人亡
5.器毁人亡
6.心魔入体
7.渡劫失败
Input Input*提示文字

打开一个输入框,允许玩家输入文字。输入的文字将会储存在环境变量 input 中(详情查询 运行时脚本
ShowTip ShowTip*消息#消息图标

显示一条自定义的弹出消息。

消息图标类型:0:叹号,1:上箭头,2:下箭头,3:包裹,4:任务进度,5:任务完成,6:感悟,7:传音符,
LearnSkill LearnSkill*神通ID

LearnSkill*1

直接学习对应神通。
LearnStaticSkill LearnStaticSkill*功法ID

LearnStaticSkill*1

直接学习对应功法。
LearnTrainSkill LearnTrainSkill*双修秘术ID

LearnTrainSkill*1

直接学习对应双修秘术。
SetFace SetFace*角色ID#立绘ID

SetFace*1#10000

将指定角色的立绘设置为对应图片立绘。参考添加资源
主角的ID为1
将立绘ID设置为0表示还原立绘
SetCustomFace SetCustomFace*角色ID#立绘ID

SetFace*1#614

将指定角色的立绘设置为对应捏脸立绘。
主角的ID为1
该指令会优先获取自定义捏脸立绘,其次按人物ID获取对应人物的捏脸立绘
StartFight StartFight*敌人ID#是否能逃跑(0不能1能)#战斗类型#背景图片#背景音乐#敌方Buff#我方Buff#战斗胜利事件#战斗失败事件#战斗Tag

StartFight*5124#1#1#1#战斗1###战斗胜利#战斗失败#野外战斗

战斗类型(具体定义可参考 战斗类型 表):
1,普通战斗
2,心魔
3,渡劫
4,擂台
5,幻境
6,boss战
7,敌方逃离普通
8,切磋
9,新手引导
10,神仙斗法
12,长老战
13,不杀对手
16,古树根须
17,生死比试
20,无装备无丹药擂台

背景图片:使用数字命名,添加自定义背景可参考 添加资源

背景音乐:使用字符串命名,添加自定义音乐可参考 添加资源

敌方Buff 与 我方Buff:
使用 buffID,buff层数 的方式指定战斗buff
多个buff使用 | 号分割。如:1,1|2,1

战斗胜利事件 与 战斗失败事件:
在战斗结束后,会根据战斗结果触发对应的事件(注:如果战斗类型没有玩家不死亡的设定,则战斗失败会直接死亡。)

战斗Tag:
Tag用于战斗中事件的判断,填写多个Tag使用逗号","进行分割,如:TagA,TagB,TagC
PlayMusic PlayMusic*音乐名称

PlayMusic*战斗1

添加自定义音乐可参考 添加资源
PlayEffect PlayEffect*音效名称#音调

PlayMusic*点击#1.0

添加自定义音效可参考 添加资源
SendMsg SendMsg*消息ID

SendMsg*1

向玩家发送传音符消息
RunFungusBlock RunFungusBlock*Block名称

RunFungusBlock*结束交谈

调用当前环境内flowchart的对应Block(用于对话返回等)