gm下载站 发表于 2024-6-26 21:51:38

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]
查看完整版本: BlueM2引擎程序包v21.05.25.05版