>[danger] PS: 请将VMProtectedSDK32.dll 放到 C:/Windows/System 下 因为没有再使用VMP加壳 程序依赖这个dll (客户端程序加壳 所以发布登录器并不会依赖这个dll) ## 2020年12月22日更新 1. \[修正\]调用自定义对话框,图片按钮不执行脚本的问题。 2. \[新增\]登陆器列表加密。 3. \[修正\]复活Buff,设置次数不会自动删除的问题。 ## 2020年12月21日更新 1. \[新增\]属性 TActor.AlwaysShowHP 使得玩家或者怪物 总是处于心灵启示状态 (掉血始终广播给周围玩家) 2. \[修改\]Buff系统 复活Buff Args1 为复活生效次数,达到指定次数将自动删除buff, 0 表示无限次数 3. \[修正\]TPlayer.Question 点击不执行脚本的问题 ## 2020年12月17日更新 1. \[修正\]自定义UI编辑 保存会因为目录中有空格失效的问题。 2. \[修正\]AddTopExtendBottom 显示的问题。 3. >[danger] PS:此客户端内核会导致函数参数失效,请使用修复版1216客户端内核 ## 2020年12月16日更新 1. \[新增\]物品 TUserItem 扩展 OutWay2 字段类型为 Integer 数组。 增加OutWay3 字段 以便支持 在自定义物品信息中 实现上下限同时显示的功能 例如物品来源配置表中 1=攻击力增加$OUTWAY2$-$OUTWAY3$ 。对应设置OutWay2 和 OutWay3 的值会被格式化为具体值 原来的Value 格式同样支持。但是不建议继续使用.详情查看<[TUserItem文档](TUserItem.md)\> 2. \[修改\]物品来源限制(TUserItem.CustomCaption)条件从仅支持装备 为无限制。 3. \[新增\]`GameLib.SaveUserItemToString(UserItem:TUserItem):String;` 用于将物品转为字符串保存。 以及 `GameLib.LoadUserItemFromString(Str:String):TUserItem;`让 从字符串转化为物品对象。注意:物品序列化为字符串后,再序列化回来会导致一样的物品唯一ID 转化后如果用于保存再转化回来。必须确保转化之前的物品对象已经从人物或者仓库销毁。否则会造成复制装备的风险 慎用! 4. \[修正\]当物品名或者顶部拓展栏 描述为空 依旧会显示空边框的问题。 ## 2020年12月14日更新 1. \[修正\]Buff 系统的一些问题。 2. \[修正\]练功师伤害不对的问题 3. \[修正\]M2逻辑越界导致玩家掉线的问题 ## 2020年12月11日更新 1. \[修正\]DBServer报异常的问题。 2. \[增加\]QFunction 玩家聊天触发 ```delphi OnChatMessage(PlayObject:TPlayObject;const Message:String;var Accept:Boolean) ``` 可进行消息过滤和特殊指令实现 3. \[新增\]添加Buff系统<[点击查看Buff系统说明](Buff%E7%B3%BB%E7%BB%9F%E8%AF%B4%E6%98%8E.md)\> ## 2020年11月04日更新 1. \[修正\]TSnowWudu.Run 报错的问题。 2. \[修正\]经验倍率总是显示100% 3. \[优化\]客户端流畅度。 ## 2020年10月27日更新 1. \[优化\]客户端字体绘制性能 降低卡顿。 2. \[修正\]Player.CustomItem 不按照顺序放入导致无法识别物品的问题。 3. \[修正\]多个宝宝打怪可能只有一个宝宝有伤害的问题 4. \[优化\]套装经验加成显示到人物主界面。 5. \[优化\]怪物重用不在同一地方复活 。 6. \[修改\]TActor.Level 修改 如果不是玩家 将不受到 M2设置的最高等级限制。 7. \[优化\]保存摆摊数据导致M2卡顿 8. \[修正\]win10 1703 1709 长按鼠标右键人物无法一直跑的问题 ## 2020年10月20日更新 1. \[修正\]会心一击抵抗、 致命一击抵抗 、 以及固定伤害抵抗 无效 的问题。 2. \[修正\]Player.CustomItem 可以放入重复 makeIndex 物品导致被刷的问题。 3. \[修正\]网关可能异常死亡的问题。 4. \[修正\]重载脚本引擎后游戏日志不会记录的问题。 5. \[修正\]摆摊提取金币 StallExtractGold 不执行的问题。 6. \[新增\]版本管理器物品类型对照表 中如果第一个字符为#则表示不显示此类型说明 例如 35=#马牌 则表示 马牌这个类型在物品悬浮提示栏中不会显示类型说明。 7. \[修正\]马牌持久为0的时候会显示魔力的问题。 8. \[修正\]AddItemToBigStorage 调用存入nil 物品会导致引擎报错的问题。 9. \[修正\]M2内存泄漏的问题。 ## 2020年09月28日更新 1. \[修正\]网关异常断开连接导致T人的问题。 2. \[修正\]一些bug。 ## 2020年09月16日更新 1. \[修正\]网关转发数据到M2不正确的问题。导致客户端掉线。 2. \[修正\]修改延迟验证token 缓解 token 验证失败导致无法登录的问题。 3. \[新增\]M2 T人增加日志发送到网关。用于查错 4. \[修正\]分辨率无效的bug。 ## 2020年05月05日更新 1. \[优化\]怪物卡顿问题 2. \[修正\]若干小BUG ## 2020年05月03日更新 1. \[修正\]人物血量上限不能突破21亿的问题 2. \[修正\]副本地图无法刷出人形怪NPC的问题 3. \[增加\] Player.MoveItemToUIContainer(UniTag,物品对象,数量) UniTag 在自定义UI可控道具元素内编辑 唯一值 不可冲突 用于脚本内放置物品到自定义物品框中 4. \[优化\]当加载量过多 微端 部分加载会被丢弃的问题。导致需要二次重开客户端 5. \[修正\]客户端自定义技能起手特效会保持最后一帧动画的问题 6. \[修正\] OnBeforeStartStall Accept := false 无法控制不允许摆摊的问题。 ## 2020年04月27日更新 1. \[新增\]老自定技能客户端渲染自定义起手动作 帧间隔时间 增加 0 表示跟随玩家动作帧率 否则为设置的帧率。 2. \[修正\]MonitorDamageEx 函数修改Damage后,数值正确,飘血不对.依然是原伤害飘血数值 3. \[修正\]物品极品属性上限为0的问题 4. \[新增\]增加 GameLib.AddMonNpcEx  和 GameLib.RemoveMonNpcEx 意义同 GameLib.AddMonNpc 和  GameLib.RemoveMonNpc 变更处为 地图名称字符串 参数 地图对象 TEnvirnoment 方便在操做同名地图不会冲突(比如副本中) 5. \[新增\]TEnvirnoment 地图对象增加 MapWidth 和 MapHeight 字段 用于获取地图对象的坐标数量宽高 ## 2020年04月22日更新 1. \[修正\]上个版本因为因为优化物品流量导致物品相关属性不正常的问题 2. \[新增\]物品MakeString 在对话框显示特效。 3. \[修正\]TSnowyWuDu.Run 报异常的问题 ## 2020年04月20日更新 1. \[修正\]登录器关闭 还会残留进程的问题 2. \[新增\]自定义装备内观特效增加是否顶层绘制 用于解决设定特效在人物后面还是前面。(仅对武器和衣服有效) 3. \[修正\]穿戴装备客户端等级面板显示的数据异常的问题。 4. \[修正\]物品数据库修改职业为0重新打开版本会被还原为99的问题。 5. \[修正\]武僧没有穿戴武器还会显示手中有武器的问题。 6. \[修正\]登录器换了文件夹启动登录器 桌面快捷方式指向的路径不会更新的问题 7. **\[优化\]物品流量 相比上一个版本 物品流量从 1.74K 降低为 0.3K左右。** 8. \[修正\]怪物性能排行数据不准确的问题。 9. \[修正\]使用mysql 数据库 自动创建的表结构会导致引擎报错的问题。 10. \[修正\]AsyncHttpPost取不到返回值的问题 11. \[修正\]离线后基本剑术 精神力战法等被动技能技能熟练度不会增加的问题。 >[warning] ##### 更正说明: > GameLib.AsyncHttpGet GameLib.AsyncHttpPost 两个函数的参数 TimeOut 超时时间单位为秒 不是之前说明书写的毫秒 之前的有误 特更正。 ## 2020年02月19日更新 1. \[修正\]增加控制台停止服务器后 清理数据将被被重置为不勾选 防止删除数据。 2. \[修正\]盾牌和宝石无法脚本修改 防御和魔法防御的问题。 3. \[修正\]Buff图标单位配置错误的问题。 4. \[修正\]受到恶意攻击可能导致网关向M2发送垃圾数据导致M2假死的问题。 5. \[修正\]一些小BUG 修正 6. \[修正\]移除控制台性能分析模式,将其移动到M2 性能分析选项中。 7. \[新增\]M2性能分析功能 其中包含 >[info] ##### 1 . 卡顿分析 开启卡顿分析后 当M2遇到卡顿会自动生成报告文件在M2路径下。利用新增的性能报告查看工具可分析具体问题。(精确到脚本) > 2 . 性能采样 此模式下 报告不会自动生成,只有当手动停止性能分析后 会生成报告文件在M2路径下. 与卡顿分析不同之处在于 卡顿分析用于你不知道什么卡了 需要找出原因。性能采样模式在于你想更进一步优化你的脚本。以及报告性能热点给引擎开发者。 8. \[修正\]控制台增加M2高性能模式以及普通模式 高性能模式 性能采样 和 卡顿分析将无法被使用,具有更高的性能。 ## 2020年02月06日更新 1. \[修正\]附加属性支持同时显示20个,支持property AddPoint\[0-20\]: TAddPointItem(共21个,但同时显示只能20个)。 2. \[修正\]强化属性支持同时显示7个,支持property AddLevel\[0-7\]: TAddLevelItem(共8个,但同时显示只能7个)。 3. \[修正\]不能开5孔的bug。 4. \[修正\]上一版本施毒术特效消失的bug。 5. \[修正\]其他细节修正。 6. \[定制\]TAddedAbility新增属性,具体请《[点击查看](TAddedAbility.md)》。 7. \[定制\]物品附加属性、强化属性扩展至22个。 ## 2020年02月03日更新 1. \[修正\]底层修复几率出现部分函数、NPC失效的bug。 2. \[修正\]宝宝不智能问题。 3. \[修正\]背包不自动刷新的bug。 ## 2020年02月01日更新\[测试版,需全套更新\] 1. \[新增\]加入协议网络自动压缩,以及优化无人地图的怪物运行频率。此版本相比较于上一个版本 网络带宽可以降低大致30%。 2. \[修正\]M2发布公告修该为传统引擎的可以预置发送内容。 3. \[修正\]修正怪物 acMax 无法修改的问题。 ## 2020年01月23日更新 1. \[修正\]附加属性超过7条实际不生效的BUG。 2. \[修正\]可视仓库数量太多不显示的问题,仓库叠加物品等bug。 3. \[修正\]其他细节修复。 4. \[新增\]增加定制功能(不公开)。 ## 2020年01月09日更新 1. \[新增\]增加远程版本服务器程序,便于集中管理 防止版本泄露。使用方法 >[info] ##### 1.启动远程版本服务器 在目录下会生成 Project 目录 将要远程发送的版本放置在这个目录下, 编辑 允许访问IP列表.txt 编辑 允许访问IP列表.txt 文件 增加IP 一行一个。 > 2.编辑Mir200目录 Project.ini 中的FileName 字段 形如@139.126.124.222:1310/配套基础版本.m2project 期中IP替换为服务器的外网IP 以及端口。 端口可在 远程版本服务程序的配置文件RemoteM2ProjectSrv.json中修改。3.启动M2 即可。远程版本服务器分为免费版本 和 赞助版。 免费版本每次启动可以允许10次远程加载 超过则需要重启,赞助版本无限制。赞助联系QQ416246292 (影子) 本功能为影子赞助开发。 2. \[修正\]背包Alt点击物品触发 QFunction.AltAndLButtonClickBagItem 当物品为可叠加物品时无效的问题。 3. \[修正\]勋章会异常显示魔力+10的问题。 4. \[修正\]MessageBox 多个一起调用会导致出现多次的问题 5. \[修正\]部分无法行动的怪物TActor对象N S运行期变量无效的问题。 例如 触龙神 和千年树妖。 6. \[修正\]Player.IPLocal IP地址描述无效的问题。增加GameLib.GetIPLocal(const IP:String):String; 用于查询IP地址信息。 ## 2020年01月07日更新 1. \[修正\]修正GameLib.AsyncHttpGet 中文url 会乱码的问题。 2. \[修正\]优化GameLib.AsyncHttpGet 响应速度。 3. \[修正\]修正人形怪宝宝召唤的宝宝 打死怪物爆出东西 玩家无法拾取。 ## 2020年01月05日更新 1. \[新增\]添加 GameLib.AsyncHttpGet(Ident:String;URL:String;TimeOut:Cardinal = 5000) 函数,用于支持httpget功能 ```delphi Procedure GameLib.AsyncHttpGet(Ident:String;URL:String;TimeOut:Cardinal = 5000); //参数说明: //ident:请求标志 自定义数据 这个当httpost 完成或者错误的时候 此数据会原封不动传递到下文的OnAsyncHttpGetResult 中 //URL:远程服务器URL //TimeOut: 超时时间 单位秒。 ``` 同时在 ManangerNpc 添加 结果触发函数 ```delphi procedure OnAsyncHttpGetResult(Npc: TNormNpc; const Ident:String ; const URL:String; const Response:string ; const ErrorStr:String);  //当成功或者失败会调用此函数。(异步模式 同步会导致引擎主线程逻辑卡) //参数说明 //Ident : 请求标志 自定义数据 //URL:远程服务器URL //Response : 服务器返回的数据(失败 为 空字符串,但是服务器如果返回的就是空串那要根据 ErrorStr来判定成功与否) //ErrorStr : 成功为空字符串 失败为失败的错误描述信息。可以根据是否为空串判定是否成功 ``` 2. \[修正\]优化CustomEffect 设置新值 不会重置其他动画重新播放。 3. \[修正\]若干小BUG优化修正。 ## 2020年01月01日更新 1. \[修正\]物品打孔一个孔 会显示3个孔的问题 2. \[修正\]上一版本调试信息没有去掉的问题。 3. \[修正\]角色动画框 偏移X 和Y 无法修改的问题。 (创建角色界面的有一部分设置 在其父节点 "选择角色界面" 中设置) 4. \[修正\]查看他人首饰盒以及生肖装备UI修改无法保存的问题。(注意自定义UI会升级 注意备份防止出现异常问题导致UI被破坏) 5. \[修正\]盾牌外观没有佩戴武器会不显示的问题。 6. \[修正\]上一版本版本管理器修改套装属性报错的问题.