BlueM2引擎程序包v21.05.25.05版
BLue引擎21.05.25-05装备来源、大背包正式版[引擎 网关 客户端 需要配套]M2方面更新:
NPC执行者支持带“.”号,例如:<$JSON(J_UUID.CharName)V>.goto @xxx // <$JSON(J_UUID.CharName)V>是带“.”号的执行者,未支持之前用法:Mov S_Temp <$JSON(J_UUID.CharName)V>,再<$STR(S_Temp)>.goto @xxx
JSON的SortByName、SortByValue支持反序排列,参考下面说明
JSON命令补全子命令GetCountByPath、修正子命令InitArrayFromCsvFile
QF增加复活成功的触发[@OnRevive],其中: // 只要复活成功即可触发
$PARAM(3) // 角色名
$PARAM(4) // 地图名
$PARAM(5) // X坐标
$PARAM(6) // Y坐标
$PARAM(8) // 1/60(1是人物,60是英雄)
QF增加复活成功且消化复活装备持久的触发[@OnItemDamageRevive],其中: // 复活成功且消耗了装备持久才触发
$PARAM(0) // 装备位置
$PARAM(1) // 装备名称
$PARAM(2) // looks
$PARAM(3) // 角色名
$PARAM(4) // 地图名
$PARAM(5) // X坐标
$PARAM(6) // Y坐标
$PARAM(7) // 装备ID
$PARAM(8) // 1/60(1是人物,60是英雄)
$PARAM(9) // 剩余持久(0表示装备失效或销毁-根据装备无持久是否销毁设置去判定)
修改变量:$REVIVALDURATION -> $REVIVALCD // 允许复活的倒计时
修改变量:$BATTLEMODEDURATION -> $BATTLEMODECD // 允许小退的倒计时
增加变量:$TELEPORTCD // 允许传送的倒计时,-1表示不能传送,0可以立即传送,其他正数表示n秒后可以传送
增加NPC命令:ChangeRevivalTime +/-/= 毫秒 // 修改个人每次复活间隔时间(非下次复活时间),可以使用$REVIVALCD查看可复活等待秒数
增加NPC命令:ChangeTeleportTime +/-/= 毫秒 // 修改个人每次传送间隔时间(非下次传送时间),可以使用$TELEPORTCD查看可传送等待秒数,禁止频繁使用
增加变量:$AbilMakeStoneRate // 个人石化能力几率
增加变量:$AbilMakeStoneTime // 个人石化能力时间
增加NPC命令:ChangeAbilMakeStoneRate +/-/= 几率(1~255) // 修改个人石化能力几率,数字越大石化几率“越小”
增加NPC命令:ChangeAbilMakeStoneTime +/-/= 秒数(1~59) // 修改个人石化能力时间,数字越大石化时间“越长”
英雄支持变量:$H.AbilMakeStoneRate、$H.AbilMakeStoneTime、$H.REVIVALCD
NPC命令GetEquipProps增加以下常规变量,允许用于非装备类物品:
<$STR(S_EQUIP[位置]_ID)> // 获取物品ID,当物品无效时变量为0
<$STR(S_EQUIP[位置]_NAME)> // 获取物品名称,当物品无效时变量是空字符串
<$STR(M_EQUIP[位置]_SHAPE)> // 获取物品Shape
<$STR(M_EQUIP[位置]_STDMODE)> // 获取物品StdMode
<$STR(M_EQUIP[位置]_ANICOUNT)> // 获取物品AniCount
扩展NPC命令:GetEquipProps 位置 @自定义成功跳转字段[可选] // 如果参数2为空则在成功获取属性后跳转到默认的[@OnGetEquipProps]
注意需配合[@OnGetEquipProps]或[@自定义成功跳转字段]来读取属性,避免获取的属性不正确;该字段下的<$PARAM(n)>变量参考之前说明。
非装备类物品也可以触发此字段,但有效属性仅限于上面提及的几个通用属性!
NPC说话内容支持物品框,格式: // 仅AC支持此功能
<ITEMBOX=0~9,prguse,1241,1,0,0,0,8,11,22,100 LABEL=@ItemBox0 HINT=请放上装备>,其中:
0~9 // 是物品框序号,范围0~9
prguse // wil文件名
1241 // wil图片索引
1,0,0 // 图片数,是否循环,是否透明
0,8 // 偏移X,偏移Y
55,66 // 绝对X,绝对Y(不参与自动换行计算)
100 // 帧间隔(毫秒)
@ItemBox0 // 放上或取下物品将触发[@ItemBox0]字段
注意:本功能需要配套更新AC游戏网关,防止部分操作被过滤!
增加变量:<$BOXITEMID0~9> // 物品框0~9的物品ID,当取下物品框物品时,对应物品框的物品ID为0
增加变量:<$BOXITEMNAME0~9> // 物品框0~9的物品名,当取下物品框物品时,对应物品框的物品名为空
扩展NPC命令:GetEquipProps、UpgradeItem、UpgradeItemEx支持位置20000~20009,可用于操作对应物品框0~9的物品
增加NPC命令:RetBoxItem 0~9 // 将物品框物品返回背包
例:
#SAY
ITEMBOX:<ITEMBOX=0,prguse,1241,1,0,0,0,8,055,0,100 LABEL=@itembox0 HINT=请放上装备>
ITEMBOX:<ITEMBOX=1,prguse,1241,1,0,0,0,8,111,0,100 LABEL=@itembox1 HINT=请放上回收物品>\
[@itembox0]
#if
; 是否已放上物品
CompVal <$BOXITEMID0> ! 0
#act
GetEquipProps 20000
[@itembox1]
#if
; 是否已放上物品
CompVal <$BOXITEMID1> ! 0
#act
; 取走物品
Take <$BOXITEMID1> 1
[@OnGetEquipProps]
#act
; $PARAM(3)是位置
Calc "<$PARAM(3)> - 20000" M_物品框序列号
sendmsg 7 物品框<$STR(M_物品框序列号)>的物品名:<$STR(S_EQUIP[<$PARAM(3)>]_NAME)>,物品ID:<$STR(S_EQUIP[<$PARAM(3)>]_ID)>
游戏网关
适配物品框功能。
页:
[1]