剧情对话指令
阅读
2023-01-25更新
最新编辑:深淵の鴿子
阅读:
更新日期:2023-01-25
最新编辑:深淵の鴿子
剧情对话指令
1 简介
剧情对话指令是剧情文本里使用的指令,该指令的设计是为了能更好的进行剧情编写以及在剧情文本中穿插命令。
2 基本格式
一条剧情指令的格式如下:
指令名*参数一#参数二#参数三......
而对话指令的指令名为 Say
与
(空)
即可以省略不写,如
Say*主角#你好。
与
*主角#你好。
与
主角#你好。
这种写法是等价的。
3 指令查询表
注: 使用[&expression&]可以执行脚本并将返回值嵌入指令,请参考 运行时脚本
指令 | 说明 |
---|---|
Nothing | Nothing* 空指令,什么也不做。 |
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 将目标角色绑定到环境变量之中,会自动绑定 bindNpc 、roleBindID 、roleID 、roleName 变量
|
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(用于对话返回等) |
|