NPC对话编辑
91M2说明书 > 引擎脚本功能 > 脚本示例 >
<>功能链接描述
命令说明
<p>比如<点击传送/@ClickMovedesigntimesp=31040>,文字描述部分可包含{}标记,比如<{S=点击;C=249}传送/@ClickMove>;功能函数支持参数,比如<点击传送/@ClickMove(3,320,320) designtimesp=31041>在实际处理ClickMove函数时,其Args的第一至三个参数分别为"3"、"320"、"320"。
特殊功能函数说明
参数 含义
@@InPutString 该函数后跟一个数字标记,用来在客户端弹出一个输入框,并将玩家输入的字符串作为第一个参数返回,如果含有参数则将第一个参数作为提示信息。比如<输入名称/@@InPutString01 designtimesp=31050>、<输入名称/@@InPutString01(请输入你的名称:) designtimesp=31051>
@@InPutInteger 该函数后跟一个数字标记,用来在客户端弹出一个输入框,并将玩家输入的数字作为第一个参数返回,如果含有参数则将第一个参数作为提示信息。比如<输入年龄/@@InPutInteger01 designtimesp=31055>、<输入年龄/@@InPutInteger01(请输入你的年龄:) designtimesp=31056>
@@Question 必须包含至少两个参数,第一个参数为对话信息,第二个参数为函数名称,之后的参数被作为第二个参数在被作为函数调用时的参数。在客户端弹出一个提示窗口,玩家选择确定则调用参数里的函数,点击取消则不做任何处理
比如:<购买VIP卡/@@Question(确定够吗吗?,@BuyVIP,1)>,询问玩家是否购买VIP卡,玩家点击确定则调用函数BuyVIP,参数"1"被作为"BuyVIP"的参数执行
使用说明

    export function Main(NpcTNormNpcPlayerTPlayObjectArgsTArgs): void {
        let S = `[[ 
        <点击传送/@ClickMove>\\      
        <{S=点击;C=249}传送/@ClickMove>\\
        <点击传送/@Clickmove2(3,320,320)> 
        ]]; `
        Npc.Say(PlayerS);
    }
    
    export function Clickmove(NpcTNormNpcPlayerTPlayObjectArgsTArgs): void {
        Player.MapMove('3'333333); //传入到盟重 333 333 
    }
    
    export function Clickmove2(NpcTNormNpcPlayerTPlayObjectArgsTArgs): void {
        Player.MapMove(Args.Str[0], Args.Int[1], Args.Int[2]); //根据参数传送到盟重 320 320 
    }
{}功能链接描述
命令说明
支持字体颜色、道具展示、图片展示,可固定显示位置及大小
注意:当存在E、U属性的同时又存在S属性,则显示为S中的文字,鼠标移上去的时候显示装备提示
U与E的区别:E段显示的是数据库物品属性,U段显示的除了数据库属性还还会显示附加属性、强化属性、极品属性等全部信息。
在聊天栏信息中,U属性段如果没指定显示的字符串则显示为该物品的名字
特殊功能函数说明
参数 含义 范例
S 要显示的字符串。 比如{S=我是卖装备的;C=249}将显示“我是卖装备的
C 文字颜色,取值可为0-255、WEB颜色(如#FF0000)
CH 鼠标经过时文字颜色,取值同C 比如{S=我是卖装备的;C=249;CH=250}将显示“我是卖装备的”,当鼠标经过的时候将显示为“我是卖装备的
Hint 提示信息 该属性字符串支持特换行和颜色的处理,特殊字符需要进行转码(可在对话编辑 里面进行) 比如{S=字符串;C=249;Hint={S=字符串;C=249}},则作为Hint内容时应该转码为#123S#61字符串#59C#61249#125,要替换成转义符 (可在对话编辑 里面进行)
E 1.物品数据库ID,如果没有对应的ID则无效,ID为数据库中Idx字段的值+1;2.物品名字,物品名字不存在时无效。 {E=10},{E=裁决之杖},将直接显示装备图片,鼠标移到上面有装备提示
{E=裁决之杖;HINT:恩#92差不多就是这样提示#92还能换行}当再没有HINT字段时候鼠标经过的提示信息为装备信息否则为HINT信息。
增强E E字段兼容HINT,E字段和HINT存在时则显示HINT信息,不存在HINT字段时则显示E字段物品属性
U 显示一个用户装备。必须通过物品的MakeString来产生值,且U段必须是以U开始,坐标之类的属性放在后面C 如"{U=%s;X=100;Y=100}"。示例
F 资源文件名称 比如{I=100;F=Items.wil}将显示Items.wil图库中第100张图片
I 图片序号。如果F没填写,则在Prguse.data资源中提取
H 显示的高度 比如{S=我是卖装备的;h=4;Y=6}
W 显示的宽度
OX 向右偏移像素 比如{S=我是卖装备的;OX=100;OY=100}
OY 向下偏移像素
X 固定的左边距 比如{S=我是卖装备的;X=100;Y=100}
Y 固定的顶边距
M 动画序号和经过、按下图片(不使用资源偏移) 在M属性X和Y用来调节按钮显示位置的(不使用资源偏移)
在M属性OX和OY用来调节按钮图片显示位置的(使用资源偏移)
56-59动画序列号
65经过图片、69按钮图片。经过和按下图片可空
如果没有横杠则是按钮
比如<{M=56-59,65,69;F=Prguse.data;T=500;OX=50;OY=50;HINT=点击打开传送对话框} /@ClickImage>
比如2<{M=56,65,69;F=Prguse.data;T=500;OX=50;OY=50;HINT=点击打开传送对话框} /@ClickImage>
比如3<{M=56-59;F=Prguse.data;TA=5000;OX=50;OY=50;HINT=我是动画}>
比如4<{M=56-59;F=Prguse.data;TB=5000;OX=50;OY=50;HINT=我是动画}>
MO 动画序号和经过、按下图片(使用资源偏移)
T 动画播放时间
TA 动画播放时间(播放完毕后停留最后一帧,毫秒为单位)
TB 动画播放时间(播放完毕后消失,毫秒为单位)
AC 自动变色颜色表 比如{S=91M引擎;AC=251,249,222,210;AT=1000}
AT 自动变色间隔(如何不填写默认1000)
GX 全局左边距。 比如{S=我是卖装备的;GX=50;GY=60}
GY 全局顶边距
SC 自动触发脚本间隔(单位:秒) 比如{SC=10;SF=@CountDownOver} //表示 倒计时10秒 倒计时结束后 执行CountDownOver函数 (必须再对话框没有关闭的情况下) ,如果SF不填写表示 仅仅倒计时而已
SF 倒计时完毕后触发的函数(NPC本单元的函数, (必须再对话框没有关闭的情况下) ,如果SF不填写表示 仅仅倒计时而已)
如何关闭下划线
关闭说明
    当命令中的内容以"&"开始时,则不显示下划线,如<&XXXX/@Command>、<&{S=XXX;C=255}/@Command>
    如果需要在命令中第一个字符位置显示"&"时,则需要转义处理,如<#38XXXX/@Command >
倒计时标记说明
标签说明
参数 含义 范例
<$Time:倒计时秒数$>, 将在消息中显示剩余时间 Player.SendCountDownMessage('第<$Time:300$>后可领取一份系统奖励...', 0);
<$HTime:倒计时秒数$>, 在消息中不显示剩余时间,但是会持续显示,直到倒计时结束 Player.SendCountDownMessage('欢迎来到91网络...<$HTime:300$>', 0);
转义字符表
说明

部分字符在对话中需要替换成特殊的字符,转义字符表:

转义表
符号 转义符 范例
# #35
& #38 由于"&"在命令中作为下划线的开关,所以在命令中第一个位置显示"&"时需要转义,其他位置不需要
/ #47
\ #92
< #60
> #62
@ #64
{ #123
} #125
( #40
) #41
; #59
[ #91
] #93
, #44
= #61

引擎官网:www.91M2.com   交流群:5555999   此引擎仅供测试,切勿用于商业用途。如有侵权请立即联系我们,我们将在第一时间删除。