在传奇hge引擎中,自定义NPC对话和聊天框是一项至关重要的任务。对于许多游戏开发者来说,这可能是他们面临的最大挑战之一。然而,有了正确的指导和步骤,您将能够轻松地实现这一目标。本文将向您展示如何在传奇hge引擎中自定义NPC对话和聊天框,让您的游戏更具吸引力和互动性。
一、NPC对话编辑
打开传奇hge引擎首先,您需要打开传奇hge引擎,并打开您想要编辑的游戏。
选择NPC在游戏编辑器中,选择您想要编辑的NPC。
编辑对话在NPC属性编辑器中,您可以编辑NPC的对话。在这里,您可以添加、编辑和删除NPC所说的所有话。您可以为每个对话选项设置一个触发器,以便在玩家与NPC交互时触发不同的对话。
添加变量您还可以在对话中使用变量,以便在游戏运行时动态地更改对话内容。例如,您可以使用变量来显示NPC当前的情绪或状态,或者根据玩家的行为改变对话。
二、聊天框自定义
打开聊天框编辑器在游戏编辑器中,找到聊天框编辑器并打开它。
创建新的聊天框您可以在聊天框编辑器中创建新的聊天框,并为其命名。
添加文本和变量在聊天框编辑器中,您可以添加文本和变量。您可以设置聊天框的背景、颜色、字体等属性,并调整文本的位置和大小。
分配聊天框给NPC一旦您完成了聊天框的创建和自定义,您可以将它们分配给游戏中的NPC。在NPC属性编辑器中,选择您想要分配聊天框的NPC,并在“聊天”选项卡中选择您的自定义聊天框。
设置触发器您还可以为聊天框设置触发器,以便在特定条件下触发特定的聊天框。例如,您可以在玩家与NPC进行特定交互时触发特定的聊天框,或者在特定时间间隔后触发聊天框。
NPC对话编辑
老格式:
文字变色(不支持链接):
<我是白色文字/FCOLOR=255>,FCOLOR值的范围(0.255)
新格式(兼容老格式):
{}在<>文字描述区使用,以“;”分割,例:<{s=我是文字描述;fc=255}/@节点>
基本标志:
ht:提示文字,换行符“|”。例:<{s=我是文字描述;ht=提示|换行}>。鼠标移动上去提示的效果。
htfc:提示文字前景颜色。例:<{s=我是文字描述;ht=提示|换行;htfc=255}>。htfc范围(0..255)或Web颜色,例:#FF00FF。
htbc:提示框的背景颜色。例:<{s=我是文字描述;ht=提示|换行;htbc=255}>。htbc范围(0..255)或Web颜色,例:#FF00FF。
hta:提示框的背景透明值。例:<{s=我是文字描述;ht=提示|换行;hta=255}>。hta范围(0..255),从低到高透明,程序默认半透明是128。
ox:X坐标偏移。例:<{s=我是文字描述;ox=100}>。此作用是相对偏移,后面的排版内容会根据此内容坐标相对偏移。
oy:Y坐标偏移。例:<{s=我是文字描述;oy=100}>。此作用是相对偏移,后面的排版内容会根据此内容坐标相对偏移。
x:X相对坐标。例:<{s=我是文字描述;x=100}>。此作用是相对坐标,不影响后面内容排列。
y:Y相对坐标。例:<{s=我是文字描述;y=100}>。此作用是相对坐标,不影响后面内容排列。
w:默认宽度。建议设置,否则轻端模式下,用户不存在此图,读不到宽度会导致排版错乱。
h:默认高度。建议设置,否则轻端模式下,用户不存在此图,读不到高度度会导致排版错乱。
文字相关标志:(继承基本标志)
s:要显示的文字。例:<{s=我是文字描述}>。
fc:文字的前景颜色。例:<{s=我是文字描述;fc=255}>。fc范围(0..255)或Web颜色,例:#FF00FF。默认值:白色
bc:文字的背景颜色。例:<{s=我是文字描述;bc=255}>。bc范围(0..255)或Web颜色,例:#FF00FF。
ch:鼠标移到文字上的颜色。例:<{s=我是文字描述;ch=255}>。ch范围(0..255)或Web颜色,例:#FF00FF。
cd:鼠标按下的颜色。例:<{s=我是文字描述;cd=255}>。cd范围(0..255)或Web颜色,例:#FF00FF。
bold:文字是否描边。例:<{s=我是文字描述;bold=1}>。bold范围(0..1),1=描边,0或不填写不描边,建议不描边不填写,节约宽带。
boldc:描边颜色。例:<{s=我是文字描述;boldc=1}>。boldc范围(0..255),或Web颜色,例:#FF00FF。
f.se:字体大小。例:<{s=我是文字描述;f.se=9}>。范围(7..30)。默认值:9
f.bd:字体加粗。例:<{s=我是文字描述;f.bd=1}>。范围(0..1)。默认值:0
f.ul:字体下划线。例:<{s=我是文字描述;f.ul=1}>。范围(0..1)。默认值:普通文字0,链接1,链接可以加此项强项取消。
psi:前往播放声音。例:<{s=我是文字描述;psi=110}>。前往时候播放110序列号的声音,参见“sound.lst”序列号。-1=关闭前往声音。
ac:颜色自动变色。例:<{s=我是文字描述;ac=1234}>。循环变色,可以只能设置10个颜色。
图像相关标志:(图片除了上面boldc以外都支持以上属性)
i:图片的索引号。例:<{i=2935;li=13}>。显示2935图片,须存在i和li,否则不显示。
li:图片资源库索引号。例:<{i=2935;li=13}>。图片资源库在“M2->查看->列表信息二->客户端资源”里设置。或使用文件名,例:<{i=2935;li=&ui1}>,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
ih:鼠标移动上的图片索引号。同上,默认值为i的值。
id:鼠标按下的索引号。同上,默认值为i的值。
sox:文字X坐标偏移。默认值:0,支持正负数。
soy:文字Y坐标偏移。默认值:0,支持正负数。
注意:i和li,须同时存在,否则不显示,如果同时存在s则是按钮效果。
播放有效标志:(继承了以上标志)
ei:有效起始图片。例:<{s=;ei=2560;eli=13;et=180;ec=10}>。显示2935图片,并在上层显示2560起始的有效。
eli:有效资源库索引号。例:<{i=2935;li=13;ei=2560;eli=13;et=180;ec=10}>。显示2935图片,并在上层显示2560起始的有效。或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
et:有效播放速度。一般100~200之间,默认值:120。
ec:播放数量。有效播放多少张图片。
efc:循环播放次数。0为无限次循环(默认)。
edm:绘图模式。0-普通绘图,1-混合绘图(默认)
efxy:是否按资源图坐标计算。0-不计算(默认),1-计算
eox:x微调坐标。默认值:0
eoy:y微调坐标。默认值:0
注意:有效可以显示在一个文字上层或图像上层,但如果底层不想显示图像或文字,那么写个s=;属性,=和;之间写个空格。
进度条标志:(继承基本标志)
type:组建类型,1=进度条(必填)例:<{type=1;li=14;i=3364;m=100;p=50;x=100;y=100}>
li:资源库索引号。(必填)
i:图片的索引号。(必填)
p:当前进度值。默认值:0
m:大进度值。默认值:0
o:绘制方向。0-水平(默认),1-垂直
获取包裹物品数量标志:(继承文字相关标志)
type:组建类型,2=获取包裹物品数量(必填)
s:包裹物品名称。(必填)
例:当前包裹回城卷数量:<{type=2;s=回城卷}>
快速关闭NPC对话框:(推荐使用)
标志:@Close
例:<关闭对话框/@Close>
区别:
@Close:客户端直接关闭窗体,不经过M2
@Exit:是经过M2关闭的窗体,可防止跳转刷物品,建议QFQM使用@Exit,其他可见NPC建议使用@Close
自定义OK框标志:(继承基本标志)
type:组建类型,3=自定义OK框(必填)
idx:编号范围(0~7)。(必填)
i:背景图片的索引号。例:<{i=2935;li=13}>。显示2935图片,须存在i和li,否则不显示。
li:背景图片资源库索引号。例:<{i=2935;li=13}>。图片资源库在“M2->查看->列表信息二->客户端资源”里设置。或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
fil:允许放入的物品类型。DB库的StdMode值,如果有多个使用“”隔开,此属性不填写时,允许大部分物品
ht:参考文字标志对应说明。OK框中作用于未放入物品前显示,放入物品后按物品属性显示。
mic:OK框内高亮半透明颜色。当鼠标在包裹内拿起物品,符合OK框fil条件的,OK框高亮显示半透明颜色,不填写则不启用此属性,范围(0..255)或Web颜色
文字转义符:
/#47\#92;#59=#61
<#60>#62{#123}#125
##35
提醒:有些不需要的属性,就不要填写,节约宽带,例:bold=1是开启,=0是关闭,但是不填写这个属性也是关闭,很多属性内置也有默认值,比如标签的颜色,文字颜色等等,如和默认一样,则不需要填写。
NPC命令
功能:自定义NPC对话框
格式:OPENMERCHANTDLG资源库索引号|图片索引号|是否可移动(01)|宽度|高度|显示位置(0..4)|微调坐标X|微调坐标Y|是否显示关闭按钮(01)|关闭按钮坐标X|关闭按钮坐标Y
说明:显示位置:0-左上角1-右上角2-左下角3-右下角4-居中
例:资源库索引号ui1文件对应14编号,或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
[@main]
#if
#act
OPENMERCHANTDLG14|3832|1|742|474|4|0|0|0|0|0
还原原始NPC窗口模式
格式:OPENMERCHANTDLG-1|
说明:-1表示,还原原始NPC窗口模式;同时需要带"|",不然引擎会认为是错误
功能:播放动态图片(自定义NPC对话框有效)
格式:PLAYNPCDLGEFFECT资源库索引号|播放起始图片|播放速度(毫秒)|播放数量|循环次数(0=无限循环)|绘图模式(0/1)|X坐标偏移|Y坐标偏移|是否按资源图坐标计算(0-不按1-按资源图计算)
说明:可以支持6个命令同步播放
资源库索引号:支持编号或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
聊天框自定义
格式:
{}符号配对代表自定义格式。
文字相关标志:
type:类型。例:{type=0;s=我是文字描述}。0-文字、1-URL链接(未完成)、2-图片(未完成)、3-坐标(未完成)、3-物品(未完成)。默认值:0,由于其他类型未完成默认值是0,现可不使用此标志。
s:要显示的文字。例:{s=我是文字描述}。
fc:文字的前景颜色。例:{s=我是文字描述;fc=255}。fc范围(0..255)或Web颜色,例:#FF00FF。默认值:当前行颜色
bc:文字的背景颜色。例:{s=我是文字描述;bc=255}。bc范围(0..255)或Web颜色,例:#FF00FF。默认值:当前行背景颜色
bold:文字是否描边。例:{s=我是文字描述;bold=1}。bold范围(0..1),1=描边,0或不填写不描边,建议不描边不填写,节约宽带。
boldc:描边颜色。例:{s=我是文字描述;boldc=1}。boldc范围(0..255),或Web颜色,例:#FF00FF。默认值:黑色
文字转义符:
{#123<#60>#62
提醒:有些不需要的属性,就不要填写,节约宽带,例:bold=1是开启,=0是关闭,但是不填写这个属性也是关闭,很多属性内置也有默认值,比如标签的颜色,文字颜色等等,如和默认一样,则不需要填写。
例如:
SENDMSG5测试{s=[自定义];fc=254;bc=253;bold=1}聊天框
爆物品设置
String.ini文件内
ItmeDropHintMsg=物品[{s=%Item;fc=52;bc=253}]从[{s=%name;fc=80;bc=253}]身上掉落在地图{s=%Map(%x%y);fc=5;bc=253}处。
其他可自行尝试~~~
一、NPC对话编辑
打开传奇hge引擎首先,您需要打开传奇hge引擎,并打开您想要编辑的游戏。
选择NPC在游戏编辑器中,选择您想要编辑的NPC。
编辑对话在NPC属性编辑器中,您可以编辑NPC的对话。在这里,您可以添加、编辑和删除NPC所说的所有话。您可以为每个对话选项设置一个触发器,以便在玩家与NPC交互时触发不同的对话。
添加变量您还可以在对话中使用变量,以便在游戏运行时动态地更改对话内容。例如,您可以使用变量来显示NPC当前的情绪或状态,或者根据玩家的行为改变对话。
二、聊天框自定义
打开聊天框编辑器在游戏编辑器中,找到聊天框编辑器并打开它。
创建新的聊天框您可以在聊天框编辑器中创建新的聊天框,并为其命名。
添加文本和变量在聊天框编辑器中,您可以添加文本和变量。您可以设置聊天框的背景、颜色、字体等属性,并调整文本的位置和大小。
分配聊天框给NPC一旦您完成了聊天框的创建和自定义,您可以将它们分配给游戏中的NPC。在NPC属性编辑器中,选择您想要分配聊天框的NPC,并在“聊天”选项卡中选择您的自定义聊天框。
设置触发器您还可以为聊天框设置触发器,以便在特定条件下触发特定的聊天框。例如,您可以在玩家与NPC进行特定交互时触发特定的聊天框,或者在特定时间间隔后触发聊天框。
NPC对话编辑
老格式:
文字变色(不支持链接):
<我是白色文字/FCOLOR=255>,FCOLOR值的范围(0.255)
新格式(兼容老格式):
{}在<>文字描述区使用,以“;”分割,例:<{s=我是文字描述;fc=255}/@节点>
基本标志:
ht:提示文字,换行符“|”。例:<{s=我是文字描述;ht=提示|换行}>。鼠标移动上去提示的效果。
htfc:提示文字前景颜色。例:<{s=我是文字描述;ht=提示|换行;htfc=255}>。htfc范围(0..255)或Web颜色,例:#FF00FF。
htbc:提示框的背景颜色。例:<{s=我是文字描述;ht=提示|换行;htbc=255}>。htbc范围(0..255)或Web颜色,例:#FF00FF。
hta:提示框的背景透明值。例:<{s=我是文字描述;ht=提示|换行;hta=255}>。hta范围(0..255),从低到高透明,程序默认半透明是128。
ox:X坐标偏移。例:<{s=我是文字描述;ox=100}>。此作用是相对偏移,后面的排版内容会根据此内容坐标相对偏移。
oy:Y坐标偏移。例:<{s=我是文字描述;oy=100}>。此作用是相对偏移,后面的排版内容会根据此内容坐标相对偏移。
x:X相对坐标。例:<{s=我是文字描述;x=100}>。此作用是相对坐标,不影响后面内容排列。
y:Y相对坐标。例:<{s=我是文字描述;y=100}>。此作用是相对坐标,不影响后面内容排列。
w:默认宽度。建议设置,否则轻端模式下,用户不存在此图,读不到宽度会导致排版错乱。
h:默认高度。建议设置,否则轻端模式下,用户不存在此图,读不到高度度会导致排版错乱。
文字相关标志:(继承基本标志)
s:要显示的文字。例:<{s=我是文字描述}>。
fc:文字的前景颜色。例:<{s=我是文字描述;fc=255}>。fc范围(0..255)或Web颜色,例:#FF00FF。默认值:白色
bc:文字的背景颜色。例:<{s=我是文字描述;bc=255}>。bc范围(0..255)或Web颜色,例:#FF00FF。
ch:鼠标移到文字上的颜色。例:<{s=我是文字描述;ch=255}>。ch范围(0..255)或Web颜色,例:#FF00FF。
cd:鼠标按下的颜色。例:<{s=我是文字描述;cd=255}>。cd范围(0..255)或Web颜色,例:#FF00FF。
bold:文字是否描边。例:<{s=我是文字描述;bold=1}>。bold范围(0..1),1=描边,0或不填写不描边,建议不描边不填写,节约宽带。
boldc:描边颜色。例:<{s=我是文字描述;boldc=1}>。boldc范围(0..255),或Web颜色,例:#FF00FF。
f.se:字体大小。例:<{s=我是文字描述;f.se=9}>。范围(7..30)。默认值:9
f.bd:字体加粗。例:<{s=我是文字描述;f.bd=1}>。范围(0..1)。默认值:0
f.ul:字体下划线。例:<{s=我是文字描述;f.ul=1}>。范围(0..1)。默认值:普通文字0,链接1,链接可以加此项强项取消。
psi:前往播放声音。例:<{s=我是文字描述;psi=110}>。前往时候播放110序列号的声音,参见“sound.lst”序列号。-1=关闭前往声音。
ac:颜色自动变色。例:<{s=我是文字描述;ac=1234}>。循环变色,可以只能设置10个颜色。
图像相关标志:(图片除了上面boldc以外都支持以上属性)
i:图片的索引号。例:<{i=2935;li=13}>。显示2935图片,须存在i和li,否则不显示。
li:图片资源库索引号。例:<{i=2935;li=13}>。图片资源库在“M2->查看->列表信息二->客户端资源”里设置。或使用文件名,例:<{i=2935;li=&ui1}>,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
ih:鼠标移动上的图片索引号。同上,默认值为i的值。
id:鼠标按下的索引号。同上,默认值为i的值。
sox:文字X坐标偏移。默认值:0,支持正负数。
soy:文字Y坐标偏移。默认值:0,支持正负数。
注意:i和li,须同时存在,否则不显示,如果同时存在s则是按钮效果。
播放有效标志:(继承了以上标志)
ei:有效起始图片。例:<{s=;ei=2560;eli=13;et=180;ec=10}>。显示2935图片,并在上层显示2560起始的有效。
eli:有效资源库索引号。例:<{i=2935;li=13;ei=2560;eli=13;et=180;ec=10}>。显示2935图片,并在上层显示2560起始的有效。或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
et:有效播放速度。一般100~200之间,默认值:120。
ec:播放数量。有效播放多少张图片。
efc:循环播放次数。0为无限次循环(默认)。
edm:绘图模式。0-普通绘图,1-混合绘图(默认)
efxy:是否按资源图坐标计算。0-不计算(默认),1-计算
eox:x微调坐标。默认值:0
eoy:y微调坐标。默认值:0
注意:有效可以显示在一个文字上层或图像上层,但如果底层不想显示图像或文字,那么写个s=;属性,=和;之间写个空格。
进度条标志:(继承基本标志)
type:组建类型,1=进度条(必填)例:<{type=1;li=14;i=3364;m=100;p=50;x=100;y=100}>
li:资源库索引号。(必填)
i:图片的索引号。(必填)
p:当前进度值。默认值:0
m:大进度值。默认值:0
o:绘制方向。0-水平(默认),1-垂直
获取包裹物品数量标志:(继承文字相关标志)
type:组建类型,2=获取包裹物品数量(必填)
s:包裹物品名称。(必填)
例:当前包裹回城卷数量:<{type=2;s=回城卷}>
快速关闭NPC对话框:(推荐使用)
标志:@Close
例:<关闭对话框/@Close>
区别:
@Close:客户端直接关闭窗体,不经过M2
@Exit:是经过M2关闭的窗体,可防止跳转刷物品,建议QFQM使用@Exit,其他可见NPC建议使用@Close
自定义OK框标志:(继承基本标志)
type:组建类型,3=自定义OK框(必填)
idx:编号范围(0~7)。(必填)
i:背景图片的索引号。例:<{i=2935;li=13}>。显示2935图片,须存在i和li,否则不显示。
li:背景图片资源库索引号。例:<{i=2935;li=13}>。图片资源库在“M2->查看->列表信息二->客户端资源”里设置。或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
fil:允许放入的物品类型。DB库的StdMode值,如果有多个使用“”隔开,此属性不填写时,允许大部分物品
ht:参考文字标志对应说明。OK框中作用于未放入物品前显示,放入物品后按物品属性显示。
mic:OK框内高亮半透明颜色。当鼠标在包裹内拿起物品,符合OK框fil条件的,OK框高亮显示半透明颜色,不填写则不启用此属性,范围(0..255)或Web颜色
文字转义符:
/#47\#92;#59=#61
<#60>#62{#123}#125
##35
提醒:有些不需要的属性,就不要填写,节约宽带,例:bold=1是开启,=0是关闭,但是不填写这个属性也是关闭,很多属性内置也有默认值,比如标签的颜色,文字颜色等等,如和默认一样,则不需要填写。
NPC命令
功能:自定义NPC对话框
格式:OPENMERCHANTDLG资源库索引号|图片索引号|是否可移动(01)|宽度|高度|显示位置(0..4)|微调坐标X|微调坐标Y|是否显示关闭按钮(01)|关闭按钮坐标X|关闭按钮坐标Y
说明:显示位置:0-左上角1-右上角2-左下角3-右下角4-居中
例:资源库索引号ui1文件对应14编号,或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
[@main]
#if
#act
OPENMERCHANTDLG14|3832|1|742|474|4|0|0|0|0|0
还原原始NPC窗口模式
格式:OPENMERCHANTDLG-1|
说明:-1表示,还原原始NPC窗口模式;同时需要带"|",不然引擎会认为是错误
功能:播放动态图片(自定义NPC对话框有效)
格式:PLAYNPCDLGEFFECT资源库索引号|播放起始图片|播放速度(毫秒)|播放数量|循环次数(0=无限循环)|绘图模式(0/1)|X坐标偏移|Y坐标偏移|是否按资源图坐标计算(0-不按1-按资源图计算)
说明:可以支持6个命令同步播放
资源库索引号:支持编号或使用文件名,&代表使用文件名方式,文件名大支持30字符不需填写后缀名,按读取规则读取。
聊天框自定义
格式:
{}符号配对代表自定义格式。
文字相关标志:
type:类型。例:{type=0;s=我是文字描述}。0-文字、1-URL链接(未完成)、2-图片(未完成)、3-坐标(未完成)、3-物品(未完成)。默认值:0,由于其他类型未完成默认值是0,现可不使用此标志。
s:要显示的文字。例:{s=我是文字描述}。
fc:文字的前景颜色。例:{s=我是文字描述;fc=255}。fc范围(0..255)或Web颜色,例:#FF00FF。默认值:当前行颜色
bc:文字的背景颜色。例:{s=我是文字描述;bc=255}。bc范围(0..255)或Web颜色,例:#FF00FF。默认值:当前行背景颜色
bold:文字是否描边。例:{s=我是文字描述;bold=1}。bold范围(0..1),1=描边,0或不填写不描边,建议不描边不填写,节约宽带。
boldc:描边颜色。例:{s=我是文字描述;boldc=1}。boldc范围(0..255),或Web颜色,例:#FF00FF。默认值:黑色
文字转义符:
{#123<#60>#62
提醒:有些不需要的属性,就不要填写,节约宽带,例:bold=1是开启,=0是关闭,但是不填写这个属性也是关闭,很多属性内置也有默认值,比如标签的颜色,文字颜色等等,如和默认一样,则不需要填写。
例如:
SENDMSG5测试{s=[自定义];fc=254;bc=253;bold=1}聊天框
爆物品设置
String.ini文件内
ItmeDropHintMsg=物品[{s=%Item;fc=52;bc=253}]从[{s=%name;fc=80;bc=253}]身上掉落在地图{s=%Map(%x%y);fc=5;bc=253}处。
其他可自行尝试~~~

