2020年12月17日 <测试版><内部测试版>引擎更新公告

神途sf

测试版本更新至12月10日的内部测试版

内部测试版:

1. 新增:接口lualib:SetDirEx用于设置角色方向,解决了原接口lualib:SetDir只通知了客户端设置的新方向,没有真正修改角色方向的问题。

   /**

      * @b 设置角色方向

      * 设置角色方向。所有的属性修改操作都会自动记录到日志服务器。

      * @param strRole 角色的GUID,角色可以为玩家、怪物、NPC。

      * @param iValue 属性值(0-7)。从0开始依次代表从上边开始的顺时针的八个方向。

      * @return 无.

      * @remarks 无.

      * @warning 无.

      * @note@verbinclude SetDirEx.lua

      * @version 0.926及以上版本.

      */

    void SetDirEx(const std::string& strRole, INT32 iValue);

2. 新增以下接口函数。

  • 对单个宠物设置新老敌我模式。    

    /**

       * @b 设置宠物的遇敌模式

       * 设置宠物的遇敌模式

       * @param servant_guid 宠物的guid

       * @param enemy_mode 遇敌模式:1代表使用新模式;2代表使用老模式;0代表使用全局表字段“是否是新的随从敌我模式”的配置

       * @warning 无.

       * @note@verbinclude Servant_SetEnemyMode.lua

       * @version 0.926及以上版本.

       */

    void Servant_SetEnemyMode(const std::string& servant_guid, UINT8 enemy_mode);

3. 新增以下回调函数。

  • 邀请组队前触发,可决定是否允许邀请组队。

触发类型为lua_trigger_pre_invite_team,编号为437。

    /**

       * @b 玩家邀请组队前触发

       * 玩家邀请组队前触发

       * @param player_guid 玩家guid

       * @param invite_guid 被邀请的玩家的guid

       * @return 是否允许邀请组队

       * @remarks 无.

       * @warning 无.

       * @note@verbinclude on_pre_invite_team.lua

       * @version 0.926及以上版本.

       * @see CScriptLib::eTriggerType

       */

    static bool on_pre_invite_team(const std::string& player_guid, const std::string& invite_guid);    

  • 玩家聊天时触发,触发回调参数里包含聊天的玩家guid、聊天的频道和聊天的内容。 触发类型为lua_trigger_player_chat, 编号为438。

    /**

       * @b 玩家聊天时触发

       * 玩家聊天时触发

       * @param player_guid 玩家guid

       * @param channel  聊天的频道:1为当前频道;2为组队频道;3为行会频道;4为地图频道;5为点对点聊天;6为私聊;7为小喇叭;8为联盟;9为阵营;10为moba房间;11为moba阵营;12为全服频道

       * @param message 玩家的聊天信息

       * @return 无

       * @remarks 无.

       * @warning 无.

       * @note@verbinclude on_player_chat.lua

       * @version 0.926及以上版本.

       * @see CScriptLib::eTriggerType

       */

    static bool on_player_chat(const std::string& player_guid, UINT8 channel, const std::string& message);    

  • 玩家被打断读条前触发增加更多的回调参数,增加了将被打断读条的更多信息,包含读条持续时间、描述、结束时回调函数名、中断时回调函数名和读条回调参数。

   /**

       * @b 玩家被打断读条前触发

       * 玩家被打断读条前触发.非系统级回调,需要手动添加触发器.

       * @param role_guid 玩家guid

       * @param type 打断的类型: 0为移动打断读条;1为离开地图打断读条;2为受到攻击被打断;3为释放技能打断

       * @param detail 打断详情:打断类型为0时,detail为空字符串;打断类型为1时,detail为地图keyname;打断类型为2时,detail为攻击者guid;打断类型为3时,detail为技能keyname

       * @param duration 持续时间

       * @param progress_desc 读条的描述

       * @param progress_complete_func_name 读条结束时的回调函数名

       * @param progress_abort_func_name 读条被中断时的回调函数名

       * @param progress_params 读条的回调参数

       * @return 是否打断

       * @remarks 无.

       * @warning 无.

       * @note@verbinclude on_pre_cancel_processing.lua

       * @version 0.926及以上版本.

       * @see CScriptLib::eTriggerType

       */

    static bool on_pre_cancel_processing(const std::string& role_guid, UINT8 type,

                                         const std::string& detail, UINT32 duration,

                                         const std::string& progress_desc,

                                         const std::string& progress_complete_func_name,

                                         const std::string& progress_abort_func_name,

                                         const std::string& progress_params);