V2M2传奇引擎源码实现自定义UI及微端技术原理

365bet在线客服 📅 2025-09-23 20:40:52 👤 admin 👁️ 6034 ❤️ 213
V2M2传奇引擎源码实现自定义UI及微端技术原理

在传奇游戏的开发中,自定义UI和微端技术是提升游戏用户体验和优化客户端资源加载的重要技术手段。下面详细介绍自定义UI开发的流程与微端技术的实现原理和优化方案。

一、自定义UI开发

自定义用户界面(UI)是传奇游戏中提升用户体验的关键部分,通常需要修改客户端的资源文件和代码。

1. UI 资源准备

UI 主要由图像资源和布局组成,包括按钮、菜单、状态栏、技能栏等。

图像资源:通常是 .bmp、.jpg 或 .png 格式的图像文件。需要根据游戏风格设计适当的美术资源,然后将它们存放在指定的资源目录下。

字体和颜色:字体样式和颜色需要根据用户体验设计,以确保在不同分辨率下显示清晰、易于阅读。

2. 布局与坐标设置

传奇游戏的UI元素大多是基于绝对坐标来进行定位的,需要准确地计算各个UI组件的摆放位置,保持布局的合理性。

布局管理:可以通过配置文件(如 .ini 或 .txt)设置每个UI组件的位置、尺寸、是否显示等属性。例如,坐标 (x, y) 定义了UI元素的起点位置。

【2024-04-15】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【优化】M2:宝石合成、物品鉴定、武器还原支持材料合并使用

【新增】M2:顶戴支持大血条

【新增】M2:伤害统计:MapInfo中添加DAMAGETRIGGER(@比奇伤害统计),脚本写到QMapEvent-0.txt,<$SCRIPTPARAM(0)>存储怪物名,<$SCRIPTPATAM(1)>存储本次攻击的伤害

【修复】客户端:宝石融合无合成配方时返回乱码物品

【#47502b9】更新:

更新文件:[核心数据引擎]M2Server.exe、全部网关、列表服务器

【优化】M2:火龙之心不需要强制戴在毒符位,可存放于背包中

【修复】全部网关:关闭时间过长

【#ad5abb7】更新:

更新文件:[核心数据引擎]M2Server.exe

【修复】M2:NPCDEL无法使用

【新增】M2:DelGuildMember 行会名 人物名

【新增】M2:CheckGuildCount 行会名 <,>,= 人数(65535)

【移除】M2:版本更新检查

【2024-04-05】更新:

更新文件:[核心数据引擎]M2Server.exe

【新增】M2:NPCDEL 地图编号 X Y NPC名

【修复】M2:道士英雄与战士PK时犯傻

【2024-04-04】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

说明:本次需要配套更新登录器和M2,否则客户端提示版本过旧,同时需要更新DBS,否则数据混乱

【新增】M2:灵印增加限时模式【ReclaimItem 20号属性已变更,新增81号属性】

【修复】M2:英雄爆物品时物品名显示错误

【修复】M2:复活倒计时结束后显示异常

【优化】M2:TakeOn指令逻辑

【新增】客户端:51MirX物品提示支持使用物品名并且支持附带额外的物品提示

【2024-04-03】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

说明:本次需要配套更新登录器和M2,否则客户端提示版本过旧

【修复】M2:人形怪释放技能出现内存访问错误

【修复】M2:客户端叠加绑定物品时绑定信息处理错误

【优化】M2:自动叠加物品对绑定物和非绑定物的分类

【新增】M2:怪物支持各类外传属性,目前已开放设置暴击属性,在MonSpAbilList.SDB新增Smite字段并设置数据即可

【移除】M2:指令模式切换

从0401开始移除HaoM6和LEG指令兼容逻辑

HaoM6指令改为:MUL2、DIV2、PERCENT2、MOBPLACE2、RECALLMOBEX2

HaoM6输入改为:@@InputIntegerN、@@InputStringS

【新增】客户端:优化并新增叠加物品时的提示

【移除】客户端、登录器:PowerAntiCheat.DLL

【2024-04-01】更新:

更新文件:[全套服务端程序]、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【修复】M2:部分情况下出现No Mapping For Unicode错误

【修复】M2:顶戴属性格式错误导致计算属性错误

【修复】M2:人形怪因生肖盒属性导致报错

【新增】M2:HCALL 角色名 @触发,执行QManage中的触发段

【2024-03-29】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

说明:此版本特效结构有变动,需要在M2重新保存一遍特效配置并生成客户端特效文件

【修复】M2:Lua堆栈溢出

【修复】M2:@AttackMode大于4的模式无法正常切换

【修复】M2:单个/符号被识别为注释

【修复】M2:跑动时回血速度过快

【新增】M2:新增SETGEMLEVEL用于修改盲盒石随机出的等级

【新增】M2:内观特效支持打孔、品质显示

【新增】客户端:切换攻击模式显示菜单

【新增】客户端:支持51MirX文本控件格式,详情查看51MirX自定义对话框

【2024-03-20】更新:

更新文件:[全套服务端程序]、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【改进】全套服务端程序:32/64位的tick升级为64位,理论上不再需要一个月重启一次,但稳定性有待验证,至此,除去还未被发现的Bug需要修复外,64位升级计划已完成,全套引擎已达到真64位。

【扩展】M2:LuaAPI扩展,详情查看Lua版说明书。

【修复】M2:加载重复地图导致的内存泄漏

【2024-03-15】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[版本转换器]GameCov.exe

【修复】M2:CheckUserDate无法正确执行

【修复】M2:镜像地图内存泄漏

【修复】M2:怪物爆物品内存泄漏

【修复】M2:商铺配置界面修改数据不正确

【修复】M2:物品规则不生效

【修复】M2:战士人形怪野蛮报错

【修复】M2:分身发呆

【新增】M2:增加LuaJIT支持[Lua使用文档单独更新],JavaScript版停止维护

【新增】M2:CallLua 文件名(结尾不带.lua) 函数名(注意大小写) [此处开始的8个全是参数]

注意:Lua脚本查找文件的根目录是mir200,也就是说如果只写脚本名默认会在Mir200找,例如你的Lua文件是ExternLua\custom\111.lua,那么文件名那里你要写ExternLua\custom\111

【新增】M2:自定义属性

【新增】M2:商铺物品支持关闭红钻打折

【优化】客户端:大字体显示效果

【优化】客户端:商铺购买物品数量重置逻辑

【修复】客户端:SENDMSG 5发送倒计时消息显示异常

【修复】客户端:自定义怪物动作特效2绘制异常

【新增】客户端:微端显示下载速度

【新增】版本转换器:增强数据库转换

【新增】版本转换器:支持MonGen自动转换

【新增】版本转换器:HaoM6、3K模式下支持商铺转换

【2024-02-20】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【修复】M2:传送门NPC无法穿过

【修复】客户端:骑战模式下头发不正常

【2024-02-16】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

注意:此版本需要更新DBServer,否则客户端会出问题!

【新增】M2:装备洗炼支持保留品质

【修复】M2:英雄不显示强化技能按钮

【修复】M2:英雄关闭技能后依然会使用

【修复】M2:ReclaimItem无法正确执行

【优化】客户端:传送门颜色过亮

【优化】客户端:刷新背包和上线时快捷栏已有物品不再被打乱顺序

【2024-02-14】更新:

更新文件:[数据库]DBServer.exe、[游戏控制器]GameCenter.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

注意:此版本需要更新DBServer,否则客户端会出问题!

【修复】M2:刀魂无法保存、刀魂索引不正确

【2024-02-08】更新:

更新文件:[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【修复】客户端:灵兽状态下显示斗笠、顶戴信息错位

【2024-02-05】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【新增】M2:新宝箱支持竖线设置属性

【修复】M2;64位引擎出现神兽假体

【修复】客户端:挂机地图、M键大地图在天黑时依然显示地形的问题

【2024-02-02】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【新增】M2:支持组队经验提升比例设置

【修复】M2;强化骷髅使用攻杀剑法时M2报错

【修复】M2:组队信息发送错误

【修复】客户端:强化骷髅死亡后不显示尸体

【优化】客户端:性能优化

注:神兽在形态切换时形成假怪的问题此版本已在尝试修复,若此版本未出现假神兽,则可确定已修复。

【2024-01-30】更新:

更新文件:[核心数据引擎]M2Server.exe

【修复】M2;转生装备的暴击精通属性叠加错误

【2024-01-26】更新:

更新文件:[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【修复】客户端:高DPI状态下字体大小异常

【2024-01-25】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【修复】M2:英雄被击杀不显示数字

【修复】M2:旗杆的行会模式报错

【优化】M2:旗杆数据发送逻辑

【优化】M2:顶戴、名称图标发送逻辑

【修复】客户端:输入框右键菜单文字颜色异常

【修复】客户端:交易框错位、按钮图像错误

【修复】客户端:后仰无法正确执行

【新增】客户端:支持目标光圈(含魔法和近战),newopui.data,自行导入230~249,共计20帧

【新增】登录器:列表地址支持HTTPS

【2024-01-20】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[SDB编辑器]SDBEditor.exe

【修复】M2:英雄攻击一段时间后目标丢失

【修复】M2:下属锁定目标无效

【修复】客户端:大地图右键无法传送

【新增】SDB编辑器:字段数据重复检查

【2024-01-19】更新:

更新文件:[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【修复】客户端:技能列表第5个位置无法修炼

【修改】客户端:神兽(下属)锁定目标改为CTRL+R

【2024-01-17】更新:

更新文件:[游戏网关]RunGate.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

【修复】M2:SQLite3模式下无法读取StdHorse.SDB

【修复】M2:装备的怪物爆率属性计算不正确

【修复】M2:怪物爆率属性效果不正确

【修复】登录器配置器:构建登录器文件夹时不创建Config文件夹的问题

【新增】M2:$SCRNWIDTH、$SCRNHEIGHT表示玩家当前客户端分辨率的宽和高

【新增】M2:支持3K的FOUNTAIN 地图编号 X Y 时长(秒),显示泉水特效

【新增】客户端:ALT+R神兽(下属)锁定目标

【2024-01-14】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

【修复】M2:直接查看人物信息时数字名无法正确显示

【修复】M2:玩家攻击英雄不会黑名

【修复】M2:下属受到主体攻击后狂暴

【修复】M2:英雄受到攻击后无视主体模式反击攻击者

【修复】客户端:查看其他人信息时特效绘制错误

【修复】客户端:骑战模式无法释放技能以及主动近战攻击

【修复】登录器配置器:高DPI系统环境下配置的登录器UI错位

【2024-01-13】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

注意:本次更新后登录器皮肤格式已经发生改变,请使用本次更新附带的最新皮肤构建登录器,如果使用了自定义皮肤的,请使用最新版登录器配置器内预置皮肤进行重新制作

【修复】M2:聊天展示物品无法正确获取数据

【修复】M2:英雄无法休息

【修复】客户端:摆摊无法正常使用

【修复】客户端:1.0部分物品信息显示不正确

【修复】客户端:无法攻击下属

【修复】登录器:高DPI模式下登录器UI错位

【修复】登录器配置器:配套登录器更新

【2024-01-08】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

【修复】M2:在城堡宫殿内无法占领城池

【修复】M2:道士施毒术攻击白名玩家不会黑名

【修复】M2:刷新背包等消息错误

【修复】M2:商铺列表重复

【修复】M2:开箱没有钥匙后不显示关闭按钮

【修复】客户端:自动挂机不勾选自定义怪物过滤无法挂机的问题

【修复】客户端:组队列表行距不正确

【优化】客户端:商店购买物品时,物品列表时间信息显示

【新增】登录器配置器:骑战选项

【2024-01-02】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe、[SDB编辑器]SDBEditor.exe、[TCP列表网关]GameListGate.exe、[TCP服务器]GameListSrv.exe

注意:本次更新后列表的授权时间功能有改动,服务器列表和登录器需要配套更新(使用新的列表配置器打开旧列表之后保存一下就可以)

【新增】M2:新增ADDSTRLIST、DELSTRLIST

【修复】M2:伤害异常的问题

【修复】M2:可复活型僵尸怪再次刷出时血量不重置的问题

【修复】M2:列表增删指令编码不正确的问题

【修复】登录器配置器:列表在不同系统时间格式下无法互相兼容的问题

【修复】客户端、登录器、SDB编辑器:高DPI下显示异常的问题

【修复】TCP服务器:修复Http补丁服务器无法修改端口的问题

【2023-12-26】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

【新增】M2:检查矿石:CHECKMINE 矿名称 数量 操作符(<>=) 纯度

【新增】M2:收取矿石:TAKEMINE 矿名称 数量 操作符(<>=) 纯度

【新增】M2:简化$BoxItem的表示法:$BoxItem、$BoxItem(X)、$BoxItemEx(X)、$BoxItem(X,Y),第一种表示旧物品框,第二种表示新物品框,第三种表示自定义物品框,第四种为旧版新OK框表示法

【新增】M2:@@InputInteger突破99限制为699(LEG模式)和999(3K模式)、@@InputString突破99限制为999

【新增】M2:InvertFlag [标记号],对标记值取反

【新增】M2:系统变量$MAXREFINE,显示M2中物品允许精炼的最大次数

【新增】M2:NoItemBack,使用后本次对话自定义物品框不会弹回物品

【新增】M2:ShuffleString 原变量 新变量 次数,从原变量中读取字符串打乱顺序后存入新变量,前两个参数必须是变量

【新增】M2:RandomInsertChar 原变量 新变量 字符表 只使用其中一种符号[0/1],从原变量中读取字符串插入随机符号后存入新变量,前两个参数必须是变量

示例:

#ACT

MOV S$验证答案 这是一句话

RandomInsertChar S$验证答案 S$答案一 ,?》《⊙¥☆★●◆■▲〓!‖×∷

SHUFFLESTRING S$验证答案 S$答案二 20

【新增】M2:修改物品:ChangeItem 物品位置(参考ReclaimItem2、需要使用花括号括起来) 新的物品名,修改后物品原有属性不变,物品MakeIndex不变

示例:

#IF

ChangeItem {$BoxItem(1,0)} 圣战头盔

#ACT

SendMsg 5 装备升级成功

【新增】客户端:新增物品展示:ShowItem和ShowItem2,需要M2在客户端配置界面生成客户端物品数据库(ClientStdItem.dat)放入资源文件夹,详情查看 文本伪控件

【修复】M2:TakeKimNeedle和GiveKimNeedle执行不正确

【修复】M2:宝石融合细节问题

【2023-12-18】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

【新增】M2:组队分配经验可以不同地图、不同屏幕

【新增】M2:英雄与主体分配经验可以在不同地图、不同屏幕

【新增】M2:英雄守护时可以不飞回主体身边

【新增】M2:地图参数新增FORCELIGHT,可以强制为单个地图开启黑白天模式

【新增】M2:爆率#CALL支持格式:#CALL [路径] @段名(参数表,与NPC的用法一致),如果不加@段名则跟以前一样,引入整个文件,注意:#INCLUDE仅为引入整个文件

【新增】M2:非金币、灵气等实体物品支持爆出指定数量,数量位置不再无效,使用时请严格检查,以免物品多爆

【新增】M2:动态按钮文本参数新增P属性,用于控制按钮的父窗口

示例:ASSIGNBUTTON 2 11 2830 2831 2832 0 62 73 E:@体魄;P:3;

P属性的值:

0 - 主窗口

1 - 主体背包

2 - 英雄背包

3 - 主体普通装备页面

4 - 主体时装页面

5 - 主体限时时装页面

6 - 英雄普通装备页面

7 - 英雄时装页面

8 - 英雄限时时装页面

9 - 任务窗口

10 - 商铺窗口

11 - NPC窗口

12 - NPC大窗口

13 - 底部窗口

14 - 底部窗口左侧

15 - 底部窗口中间

16 - 底部窗口右侧

17 - 底部窗口快捷栏

【新增】M2:由怪物爆出的物品将进行更加详细的显示

【新增】M2:自定义怪物支持第二套动作特效

【新增】M2:物品罐释放可叠加物品时支持直接叠加到原有物品

【新增】M2:支持动态OK框,格式: ,详情查看动态OK框

【新增】M2:收取指定动态OK框内的物品:TakeCustomDlg 动态OK框ID

【新增】M2:更新指定动态OK框内的物品:UpdateCustomDlg 动态OK框ID 是否显示左上角获得提示[0-不显示 1-显示]

【新增】M2:返回指定动态OK框内的物品到背包:ReturnCustomDlg 动态OK框ID 是否显示左上角获得提示[0-不显示 1-显示]

【新增】M2:检查指定动态OK框内的物品是否存在:CheckIsValidItem 动态OK框ID

【扩展】M2:OpenITemBoxEx和动态OK框的ID均从15扩展至99

【新增】M2:支持龙星抵抗属性

【新增】客户端:增加组队显示血条

【新增】客户端:物品罐支持穿戴后右键释放物品

【优化】M2:取消英雄攻击其他角色会黑名

【修复】M2:客户端无法正确显示刺客

【修复】M2:祖玛教主雕像碎片错误

【修复】M2:自定义怪物死亡清除下属无效的问题

【修复】M2:解除合体按钮无效的问题

【修复】M2:镶嵌宝石突变时影响后续及剩余宝石的等级

【优化】M2:恢复攻击飘血

【优化】客户端:修复角色简化武器特效装备特效依然显示的问题

【优化】客户端:合体后不需要重新设置技能按键,直接使用普通技能即可释放超级技能

【优化】客户端:暴击飘血增加淡入效果

【优化】客户端:地图切换时英雄合体按钮不再闪烁显示

【修复】客户端:刺客炎龙波没瞄准目标的情况下也会出招

【2023-11-29】更新:

更新文件:[核心数据引擎]M2Server.exe

【优化】M2:自定义怪物界面的操作逻辑

【修复】M2:部分情况下SDB数据库读取报错

【修复】M2:自动入包物品无法自动堆叠

【2023-11-28】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【扩展】M2:自定义怪物飞行特效对弓箭的支持、怪物AI支持射手逻辑

【修复】M2:自定义怪物飞行特效偏移值不保存

【修复】M2:自定义NPC保存丢失配置

【修复】客户端:自定义怪物对无方向怪物显示异常(如树妖、触龙神等)

【修复】客户端:自定义怪物静态配置不读取

【2023-11-27】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[版本转换器]GameCov.exe、[合区工具]DataMerge.exe

注意:本次更新客户端已经分为大背包版和普通版,按需要在登录器配置器内选择核心。

注意:大背包客户端需要更新NewopUI.data,在登录器配置器文件夹内可以搜索到最新版。

【新增】M2:自定义怪物

【扩展】M2:自定义NPC支持禁用特殊动作

【扩展】M2:支持大背包(117格)【功能设置->扩展功能->其它】,注意:客户端1.0UI不支持大背包

【优化】版本转换器:如果原数据库文本带有换行符,导致转换出的文件无法正常使用

【修复】M2:禁用叛变开启和关闭相反

【修复】M2:英雄守护在自定义安全区无法正确判断的问题

【2023-11-10】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[SDB编辑器]SDBEditor.exe、[合区工具]DataMerge.exe

注意:本次更新对商城列表进行了调整,需要使用最新版的SDB编辑器对商城列表进行升级,否则商城数据会错乱!

注意:本次更新对商城列表进行了调整,需要使用最新版的SDB编辑器对商城列表进行升级,否则商城数据会错乱!

注意:本次更新对商城列表进行了调整,需要使用最新版的SDB编辑器对商城列表进行升级,否则商城数据会错乱!

【新增】M2:商品配置更新,支持外传折扣模式,支持红钻打折

【新增】M2:Give指令支持物品名后面接竖线设置物品属性

【新增】M2:GetNeatItemName 变量 带竖线的物品名,用于获取去除竖线的物品名

【新增】M2:$EatingItem用于表示正在触发@StdModeFunc的物品,$H.EatingItem用于表示正在触发@H.StdModeFunc的物品

【新增】M2:声望支持42E

【新增】M2:自定义NPC、自定义安全区光柱、自定义安全区形状

自定义异形安全区(在StartPoint.txt中配置安全区大小10000-19999之间,则启用异形安全区;在Envir\StartPointExDir\下,对应的安全区锚点文件为10000.txt-19999.txt)

定义一个心形安全区

------------------------------------------------------------------------------

在StartPoint.txt增加一条记录

3 312 348 0 10000 4 0 0

---------------------------------------------------------------------------------------

将下面的内容保存到Envir\StartPointExDir\10000.txt

312,347

312,348

313,349

314,350

315,351

316,352

317,353

318,352

319,351

320,350

321,349

322,348

322,347

321,346

320,345

319,345

318,346

317,347

316,346

315,345

314,345

313,346

自定义安全区光圈特效功能(StartPoint.txt配置类型为:100-199,即大小的后一个参数)

自定义NPC功能(M2->自定义扩展->自定义NPC,NPC在MerChant.txt中配置NPC代码:500-999)

【新增】M2:经验倍率$KILLMONRATE、经验倍率剩余时间$KILLMONRATETIME

【新增】M2:获取当前时间戳$UNIXZONETIME

【新增】M2:时间戳转日期:UnixToDate 字符型变量 时间戳 [格式串]

【新增】M2:取时间戳年:YearOfUnix 数字型变量 时间戳

【新增】M2:取时间戳月:MonthOfUnix 数字型变量 时间戳

【新增】M2:取时间戳日:DayOfUnix 数字型变量 时间戳

【新增】M2:取时间戳时:HourOfUnix 数字型变量 时间戳

【新增】M2:取时间戳分:MinOfUnix 数字型变量 时间戳

【新增】M2:取时间戳秒:SecOfUnix 数字型变量 时间戳

示例:

#ACT

MOV D0 <$UnixZoneTime>

;如果UnixToDate不写第三个格式串参数则使用默认格式yyyy:mm:dd hh:nn:ss,其余格式自行搜索,以Delphi支持的格式为准

UnixToDate S0 <$STR(D0)>

YearOfUnix D1 <$STR(D0)>

MonthOfUnix D2 <$STR(D0)>

DayOfUnix D3 <$STR(D0)>

HourOfUnix D4 <$STR(D0)>

MinOfUnix D5 <$STR(D0)>

SecOfUnix D6 <$STR(D0)>

SENDMSG 6 <$STR(D0)>

SENDMSG 6 <$STR(S0)>

SENDMSG 6 <$STR(D1)>

SENDMSG 6 <$STR(D2)>

SENDMSG 6 <$STR(D3)>

SENDMSG 6 <$STR(D4)>

SENDMSG 6 <$STR(D5)>

SENDMSG 6 <$STR(D6)>

【新增】客户端:支持用银两购买,支持调整购买数量

【新增】客户端:登录密码支持使用软键盘输入

【新增】SDB编辑器:新增商城列表升级->列表转换

【修复】M2:SDB模式下宝石数据无法发送给客户端

【修复】M2:宝石信息无法动态更新的问题

【修复】M2:顶戴信息无法动态更新的问题

【修复】M2:M6格式物品竖线表达式随机取属性不正确

【修复】M2:绑定物品叠加到未绑定物品时绑定状态丢失

【修复】M2:商城同一类物品过多无法发送到客户端

【修复】客户端:登录器版本无法正确关闭

【2023-11-07】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[登录器配置器]MakeLogin.exe

【新增】M2:NPC脚本模式新增Mirs引擎,切换后MUL、DIV指令将改为Mirs逻辑、$RELEVEL将表示外传的转生等级

【新增】M2:爆率和商铺新增HaoM6(51MirX)引擎直接设置物品属性功能,物品属性号参考ReclaimItem界面,HaoM6(51MirX)的爆率需要对属性号进行转换

示例:

1/100 神奇宝石|79-1 1

表示爆出来的神奇宝石永久绑定,商铺也一样,后面使用竖线标注,详情参考HaoM6的用法即可

【新增】M2:聚灵珠、转生珠支持限时聚集,数据库Reserved字段=显示天数,0为不限制

【新增】M2:ReadLineText 文件路径 行号 行数 变量【A S T Z S$】,需要注明的是,使用S$变量时,行数填0,其余类型变量将从指定行开始读取给定数量的行数存入从给定变量按顺序存入

示例:

ReadLineText ..\QuestDiary\文本.txt 0 4 S0

表示从文件最开始读取4行,存入S0~S3

【新增】客户端:F12内挂增加血量简化

【新增】登录器配置器:NPC对话控件化选项(效果为可点击区域不受对话背景图影响)

【修复】M2:部分情况下刀魂没开启也会生效和扣除的问题

【修复】M2:进一步修复刺客暴击术伤害计算

【修复】M2:经验吸收比例无效(与多倍卷轴叠加计算)

【修复】M2:如果M2开启了装备0耐久不融化,则照明物Source=0时,Reserved=0时仍然会消失,Reserved=1时装备不消失,Source=1时Reserved无作用

【修复】M2:MUL、DIV算法错误

【修复】M2:剧毒戒指属性无条件生效

【修复】M2:拾取宝石后无法自动堆叠的问题

【修复】客户端:物品数据库体力值、魔法值显示不正确并且显示体力恢复和魔法恢复

【修复】客户端:噬魂沼泽爆炸后跟着目标跑

【2023-10-31】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【新增】M2:剧毒戒指,AniCount=214,如果目标没有中绿毒,则目标100%中30秒绿毒,伤害点数5

【修复】M2:万劫红莲等高级武器技能100%暴击无效的问题

【修复】M2:英雄阵亡后依然可以合体

【修复】M2:灵兽超出限制等级后再满足升级条件时导致M2假死

【修复】M2:黑夜系统亮度值在移动失败后丢失

【修复】M2:刺客暴击术数值过高

【修改】M2:属性配置二,所有的百分比均修改为千分比,修正比例算法

【2023-10-27】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[游戏网关]RunGate.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[版本转换器]GameCov.exe

本次更新需要使用数据库升级工具对数据库进行升级。

【新增】M2:地图参数支持挖矿触发:MineTrigger(@触发),触发放在QMapEvent-0.txt内

【新增】M2:支持挖矿仅触发:MineOnlyTrigger

【新增】M2:支持灵印功能,详情查看功能设置二

【新增】M2:支持刀魂属性修改,详情查看功能设置二

【新增】M2:HaoM6任务脚本支持直接输出文本到任务框

【新增】M2:兼容Mirs引擎解封玉璧指令

【新增】M2:兼容Mirs引擎宝石合成、宝石镶嵌、装备合成指令,装备拆解需要手动转换

【新增】M2:兼容Mirs引擎指令CheckMapSameMonCount 地图号 怪物名 操作符[> < = ] 数量

【新增】M2:兼容Mirs引擎指令CheckItemDuraCount 物品名 是否聚满(0=未满的,1=已满的) >/

【新增】M2:兼容Mirs引擎指令TakeDuraItem 物品名 是否聚满(0= 未满的,1 = 已满的) 数量 //拿走背包指定条件物品(三个参数)(可用于聚灵珠等...)

【新增】M2:装备的成长等级可以提升与宝石孔所增加的对应的主属性,StdItems新增AddPointEx字段用来设置每级增加的点数

【新增】M2:怪物数据库增加Animal字段用来控制怪物强制可挖取(与鸡等动物的效果一致,不需要灵符,ExploreItem字段是卧龙山庄的灵符模式)

【新增】M2:增加GetSoulStamp 位置 拆解装备灵印,位置不写表示拆解旧OK框物品,位置写[0,ID(0-15)],表示新OK框

【新增】版本转换器:支持魔法数据库图标的自动转换,现在转换后的版本使用原数据库

【新增】版本转换器:支持Mirs版本转换

【新增】版本转换器:优化HaoM6和Mirs的转换细节

【新增】RunGate:支持作弊后通知M2调用QF的@Punishment段:作弊方式->脚本

【修改】M2:修改外传属性计算算法,详情查看功能设置二

【修改】M2:移除地图重复性检查,降低版本转换成本

【修改】M2:神力激发、天神护体、天龙护体、金刚护体、至尊护体、合体金刚、合体天神均改为增加属性,不再直接参与伤害计算

【修改】M2:修复属性参与伤害计算时存在的错误,重构属性参与伤害的算法

【修改】M2:修复逐日、雷霆剑、龙影剑不扣刀魂的问题,对应普通技能的刀魂属性可以在超级技能状态下生效

【修改】M2:刀魂暴击吸收属性现在并入到暴击吸收属性内,不再单独计算

【修复】M2:学习过生命之源和魔法之源的英雄召唤出来血量不正确的问题

【修复】M2:64位引擎合击特效异常的Bug

【修复】M2:强化骷髅名称显示不正确的问题

【修复】M2:由下属和英雄击杀的怪物爆出的物品无法自动入包

【修复】M2:完善宝石镶嵌逻辑,修复镶嵌过程中的问题

【修复】M2:物品拆分后来源显示未知

【修复】客户端:NPC对话点击速度过快导致的异常

【修复】客户端:装备绘制显示异常

【修复】客户端:元宝交易放第十格时物品消失

【优化】客户端、游戏网关:正常速度下网关误判为作弊的问题

【优化】客户端:宝石镶嵌不再需要预先拆分宝石

【优化】客户端:戒指、护腕穿戴逻辑

【2023-09-28】更新:

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【新增】M2:自动回收相关指令:CheckRecoveryItem 物品名,RecoveryItem 物品名 元宝变量 金币变量 灵符变量 金刚石变量 勇士点变量 传奇币变量 经验 转生经验,具体参见自动回收页面

【新增】M2:装备掉落后自动打孔、精炼、鉴定、镶嵌,具体参见自动淬炼页面

【新增】M2:3K的@KillMonster和@KillMonsterX

【新增】M2:英雄现在可以对怪物变得更加有攻击性,功能设置->英雄设置->设置二

【新增】M2:GiveBindItem 物品名 数量 绑定模式[1-永久 2-限时绑定 3-限时穿戴 4-限时绑定穿戴]

【新增】M2:支持限时时装,物品规则内勾选限时装备,AniCount为有效天数

【调整】M2:调整暴击精通算法为:暴击伤害 + 四舍五入(暴击伤害 * (暴击精通 / 暴击精通M2基数) * 暴击精通M2比例%)

【修复】M2:RecallHero不生效

【修复】M2:55类物品属性不生效

【修复】M2:涅槃复活和重生会被同时消耗

【修复】M2:IsNewHuman不支持英雄

【修复】M2:新套装数据库读取不正确的问题

【修复】客户端:英雄天赋页无法切换

【修复】客户端:查看其它人信息时秃头

【2023-09-24】更新:

更新文件:[核心数据引擎]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat、[SDB编辑器]SDBEditor.exe

【新增】M2:战意麻痹、魔意麻痹、道意麻痹、魔道麻痹、涅槃复活、重生、至尊护身、八卦护身、十周年护身特戒属性,具体查看物品代码表页面

【新增】M2:3K的@KillMonster和@KillMonsterX

【修复】M2、客户端:武器、衣服的Shape大于127无法正常使用的问题,头发种类+斗笠外观改为0-127可用

【修复】M2:Shape200后的特戒无法放入首饰盒

【修复】M2:时装外显部分情况下不正确的问题

【修复】DBS:移除无用信息

【修复】SDB编辑器:生成过滤最后一条被金币覆盖

【2023-09-17】更新:

更新文件:[核心数据引擎]DBServer.exe、[游戏网关]RunGate.exe、[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【新增】M2:LoopCall @触发 起始值 终止值

【新增】M2:LoopGoto @触发 次数

【新增】M2:支持飞尔引擎的小组触发和小组指令CREATEGROUPFAIL

【新增】M2:ReclaimItem等指令支持-7位置,表示EachBagItems指令正在操作的物品

【新增】M2:刺客霜月支持切换单双段伤害

【新增】M2:全部合体技能,详情查看新技能

【新增】M2:AppraisalItem.SDB支持鉴定武器技能等级,支持鉴定收费[0-金币 1-元宝]

【新增】M2:恢复动态发送各种配置数据(系统图库列表除外,这个依然需要事先置入客户端),在客户端管理界面内开关

【修复】M2:Extern.JS的GameLib.MakeQAI和GameLib.MakeQCI的内存泄漏

【修复】M2:修复部分脚本指令Z变量存储不正确的问题

【修复】M2:极品列表配置无法正确保存的问题

【修复】M2:假人修复装备报错

【修复】M2:九龙轴不升级的问题

【修复】M2:重新计算属性后合体技能快捷键消失的问题

【修复】M2:宝箱无法正常开启的问题

【修复】M2:ReclaimItem设置刀魂最大值和刀魂值会导致数据错乱的问题

【修复】DBS:修复开启验证码小退后无法重新上线的问题

【修复】客户端:炎龙波释放检测错误导致空招

【修复】客户端:新外传未转生时转生经验条显示NAN%的问题

【修复】客户端:合体后再召唤出英雄依旧显示合体按钮的问题

【修复】客户端:摘下有武器的技能重新穿戴后直接显示技能图标的问题

【优化】M2:套装配置

【2023-09-08】更新:

更新文件:[核心数据引擎]M2Server.exe、[IP版客户端]Client.exe、[登录器核心]GameLogin.dat

【新增】M2:支持人物幸运检测、操作指令:CHECKHUMLUCK 操作符[> < =] 数值、HUMLUCK 操作符[+ - =] 数值

【新增】M2:支持任务幸运值检测、操作指令:CHECKHUMLUCKVALUE 操作符[> < =] 数值、HUMLUCKVALUE 操作符[+ - =] 数值

【新增】M2:支持HaoM6的SendTimingMsg 文本(%s表示时间) 时间(秒) 文字颜色[0-255]

【新增】M2:支持假人(测试版),除了极少部分配置不一样其余与3K引擎全都一致,具体参考 假人设置

【新增】M2:支持怪物爆出九龙经验、灵兽经验(英雄无效)、人物幸运值(英雄无效)

示例:

1/1 九龙经验 2000

1/1 灵兽经验 2000

1/2000 人物幸运值 5

【优化】M2:脚本解析效率

【修复】M2:部分情况下人形怪报错的问题

【修复】M2:UNWRAPNIMBUSITEM指令报错的问题

【修复】M2:无法正确读取行会的问题

【修复】M2:修复特殊NPC的NPC变量无法显示的问题

【修复】M2:客户端Ctrl+左键点击消息无法复制的问题

示例:

#IF

CHECKREOPENED 乾坤玉璧 1 2

#ACT

UNWRAPNIMBUSITEM 乾坤玉璧

;REOPEND与UNWRAPNIMBUSITEM等价,给不同习惯的人准备的

【2023-09-04】更新:

温馨提示:使用前请务必将需要更新的软件全部更新到最新版,此版本需要使用数据库升级工具进行数据升级

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]MirClient.exe、[登录器核心]GameLogin.dat、[数据库升级工具]DataUpdateTool.exe、[合区工具]DataMerge.exe

【新增】M2:支持生肖进阶功能(精炼暂未支持)

【新增】M2:灵兽、人物幸运支持开关

【修复】M2:人物幸运值小退后丢失的问题

【2023-09-02】更新:

温馨提示:使用前请务必将需要更新的软件全部更新到最新版,此版本需要使用数据库升级工具进行数据升级

更新文件:[数据库]DBServer.exe、[核心数据引擎]M2Server.exe、[IP版客户端]MirClient.exe、[登录器核心]GameLogin.dat、[数据库升级工具]DataUpdateTool.exe、[合区工具]DataMerge.exe

【新增】M2:支持灵兽功能(不要对英雄使用相关功能)

【新增】M2:HORSETYPE 值[0-3],用于切换灵兽(0-未孵化,1-灵马,2-灵虎,3-灵虎王)

【新增】M2:HORSEEXP 操作符[+ - =] 值,用于增加灵兽经验

【新增】M2:CHECKHORSELEVEL 操作符[> < =] 值,用来检查灵兽等级

【新增】M2:CHECKHORSETYPE 操作符[> < =] 值,用来检查灵兽种类

【新增】M2:支持人物幸运功能,幸运神石物品StdMode=41,AniCount=8,Reserved=89,在M2->功能设置->扩展功能中可以找到每点幸运所需的幸运值配置

【新增】M2:支持HaoM6的ChangeHearMsgColor(与3K错误拼法的ChangHearMsgColor指令作用一致)

【新增】M2:支持SetItemsLight 装备位置 值[自定义特效中的包裹特效的ID]

【新增】M2:支持CheckItemLevel 装备位置 值,检查物品的升级次数(武器锻造、UPGRADEITEM、UPGEADEITEMEX)

【新增】M2:支持CheckBagItemLevel 物品名 操作符[> < =] 等级

【新增】M2:支持CHECKONLINEPLAYCOUNT 操作符[> < =] 值,检查在线人数

【新增】M2:支持ADDGUILDMEMBER 行会名 角色名,用来将角色加入到指定行会

【新增】M2:支持SENDTOPMSG 文字颜色 边框颜色 文本内容,用来发送顶部滚动消息

【新增】M2:支持ADDATTACKSABUKALL 城堡编号,将所有的行会加入到指定城堡的攻城列表

【新增】M2:支持KICKALLPLAY,踢掉所有在线玩家

【新增】M2:功能设置->扩展功能->人形怪、NPC设置,增加切换到HaoM6模式,切换后重启M2即可不需要在HaoM6的脚本中加注@HaoM6直接全局转换到HaoM6模式

【扩展】M2:HaoM6引擎的Hero参数支持直接识别为H.格式执行

【扩展】M2:CHECKKIMNEEDLE和TAKEKIMNEEDLE支持非宝石类物品

【修复】M2:强化技能无法升级的问题

【修复】M2:TAKEKIMNEEDLE无法收取物品的问题

【修复】M2:珍珑宝箱钥匙不足也会被扣除的问题

【修复】M2:刷怪计时错误

【修复】M2:转生等级个别情况显示为0

【修复】客户端:新外传英雄转生等级不显示的问题

【说明】灵笛物品的Source设置为1表示不扣灵笛耐久,同时客户端不显示耐久,设置为0或2表示扣耐久,Source为0表示灵笛耐久归0时消失,Source为2表示灵笛耐久归0后不消失,大于2或小于0的值当做1处理

此版本对HaoM6的2.0版引擎进行了进一步的兼容,目前2.0版引擎部分常用功能已直接兼容,个别指令未支持,其余部分指令有相对应的指令或功能进行替代,Hero参数自动识别为H.的格式执行

【2023-08-25】更新:

更新文件:M2Server.exe、MirClient.exe、GameLogin.dat

【新增】M2:增加元宝开启聚灵珠、转生珠时触发@OpenBall,价格模式为<$SCRIPTPARAM(0)>[1-金币、2-元宝、3-金刚石、4-灵符],价格为<$SCRIPTPARAM(1)>,注意,除了@OpenBall之外,灵符模式的珠子依然会触发3K的@USEGAMEGIRD,触发顺序在@OpenBall之后

【修复】M2:64位引擎远程投掷物会穿过玩家的问题

【修复】M2:人形怪英雄不跟随主体移动的问题

【修复】M2:优化人形怪英雄、各类下属的攻击欲望,没有攻击目标时自动攻击主人的目标(如果有)

【修复】M2:人形怪释放武器技能过早的问题

【修复】M2:分身英雄没有转生图标的问题

【修复】M2:不开启允许极品列表无法爆出极品的问题

【修复】M2:一个变量在NPC文本中无法解析后所有变量都无法解析的问题

【优化】M2:修改天地结晶提示文本

【优化】M2:英雄切换到跟随状态时傻一秒的问题

【优化】M2:英雄被围住会发呆的问题

【优化】M2:英雄只开少量技能会发呆的问题

【优化】M2:回城后英雄乱跑的问题

【优化】M2:NPC脚本、数据文件支持UTF-8编码

【修复】M2:MUL、MIN、MAX、DIV使用S$和N$作为存储变量时提示变量未定义的问题

【修复】M2:战士、刺客近战技能数据库的基础伤害不生效的问题

【修复】M2:英雄吃聚灵珠无法升级的问题

【修复】M2:获得经验过高导致溢出无法升级的问题

【修复】M2:体力恢复和魔法恢复无效的问题

【修复】M2:暴击类刀魂无效的问题

【修复】M2:未设置高等级经验的技能自动跳变到高等级

【修复】M2:英雄完全使用修复神水后返回一个假的到背包

【修复】客户端:装备面板属性显示不正确的问题

【修复】客户端:64位引擎远程投掷物会穿过玩家的问题

【修复】客户端:部分功能在64位引擎上无效的问题

【修复】客户端:文本、动态控件等在对话框外无法点击、选中的问题

【优化】客户端:修改天地结晶提示文本

【修复】客户端:大分辨率下系统消息显示数量过多的问题

【优化】客户端:修复部分已知的内存泄漏

【优化】客户端:刺客鬼灵步飞到目的地后可直接出招

【2023-08-18】更新:

更新文件:M2Server.exe、MirClient.exe、GameLogin.dat、MakeLogin.exe、DataMerge.exe、DataUpdateTool.exe、DBConverter.exe

【修复】M2:修复检查职业指令职业只能大写的问题

【修复】M2:修复道士人形怪无限拉真气的问题

【修复】M2:解决修复神水完全消耗时还会返回一个假物品到背包的问题

【修复】M2:修复人形怪第二次刷出后导致M2无限报错的问题

【修复】M2:修复怪物MP字段会导致怪物每次掉血只掉MP数值的问题,怪物数据库新增MaxDamage字段,用来支持怪物每次最大掉血量

【修复】M2:修复开聚灵珠装备也能获得经验的问题

【修复】登录器配置器:修复配置文件放置位置不正确的问题

【新增】M2:调整武器鉴定的模式,现在支持外传的随机模式

【新增】M2:SendCenterMsg支持8模式和9模式,分别对应左上角提示和左下角提示,前景色参数表示颜色模式,背景色参数表示自定义颜色,具体查看SendCenterMsg说明

【新增】M2:支持指令PLAYEREFFECT 特效ID 参数2[绝大部分情况均为0,因此不填即可] 用于触发角色的内置特效(如升级特效等)

【新增】M2:MapInfo支持TRIGGERTEXT2(时间/@触发),作用与TRIGGERTEXT一样,因此现在一个地图同时支持两个触发

【新增】M2:支持特效以固定坐标播放:Gmexecute showeffectex 特效ID X Y

【新增】M2:showeffect支持86和87两种新的烟花特效

【新增】M2:支持怪物显示等级:【功能设置->基本功能->客户端控制->怪物显示等级】

【新增】M2:人形怪支持刺客职业,人形怪支持带英雄(Race=63),支持释放合击【功能设置->扩展功能->人形怪,设置人形怪怒气回复速度】,支持是释放武器技能,护体神盾,具体查看人形怪扩展说明

【新增】M2:支持自定义Buff图标AddBuffIcon ID[0-5] 显示[0/1] 图库ID 图片索引 信息

示例:

QueryFormatStringS0"{你当前拥有热量:%s点|c=$00ECECb=Bold}\-\{你目前已经进入冰雪宫殿,进入#60冰雪宫殿一层、二层、冰雪殿堂#62|c=$00FF00}\{后将会持续消耗热量。消耗速度:10点热量/每分钟。|c=$00FF00}" <$HUMAN(热量)>,

ADDBUFFICON 0 1 6 1210 <$STR(S0)>

【新增】M2:MapInfo支持按地图对怪物进行强化,格式:MONSTERSTRENGTHBYVAL(变量(仅限G或I)|操作符(> < =)|数值|配置文件名)

示例:

[bsrlm01 半兽人陵墓一层] MONSTERSTRENGTHBYVAL(G499|>|50|bsrlm01.ini)

其中bsrlm01.ini需要放在Envir\MonStrength文件夹内

【bsrlm01.ini】内容

[Value]

;可以通过这个参数单独关闭由某一配置控制的地图强化

Disabled=0

;LevelAdd为0表示不对怪物等级做调整,但其余属性依然会被增强

LevelAdd=1

;等级提升开区天数(此版本使用G499当做开区天数)-49,即从第50天开始怪物每天涨1级

LevelDec=49

;等级加成最多为怪物提供500级

LevelAddMax=500

;加成后的最大等级1999

LevelMax=1999

;HP每级*千分比提升,0则是按每级*原值提升

HPRate=1

;每级提升300‰

HP=300

;不管以何种方式提升,提升部分的最大值

HPMax=300000

DCRate=1

DC=10000

DCMAX=3000

;经验值每级*千分比提升,0则是按每级*原值提升

ExpRate=1

;每级提升300‰

Exp=300

;不管以何种方式提升,提升部分的最大值

ExpMax=300000

;转生经验每级*千分比提升,0则是按每级*原值提升

IPExpRate=1

;每级提升300‰

IPExp=300

;不管以何种方式提升,提升部分的最大值

IPExpMax=300000

参考资料:V2M2_0415传奇引擎_DJ整理完整版+高清编译教程【2024.10】_1234FCOM专注游戏工具及源码例子分享

3. UI 元素事件绑定

UI 元素需要与游戏功能逻辑关联。例如,按钮的点击事件需要触发相应的游戏操作。

事件监听:为UI组件添加事件监听器,监听玩家的交互(如点击、悬停等)。通过定义回调函数处理对应的操作逻辑。

// 伪代码:UI按钮的点击事件 void ButtonOnClick() { if (buttonID == "attack") { player.attack(); } }

4. UI 调整与适配

分辨率适配:确保UI在不同的分辨率下都能正常显示,可能需要基于窗口大小进行缩放调整,或者使用响应式布局。

自定义皮肤:为不同的UI元素提供可替换的皮肤,允许玩家根据个人喜好更换UI主题。

5. UI 文件结构

通常,UI文件会包括多个配置文件和资源文件,结构如下:

/UI /images // 图像资源目录 /skins // 皮肤配置目录 /fonts // 字体配置目录 ui_layout.ini // UI布局配置文件 events.lua // 事件处理脚本

6. 动态UI更新

UI动态加载:通过配置文件或脚本,在游戏运行时动态加载和更新UI,不需要重启客户端。可以通过热更新机制,快速调整UI界面。

二、微端技术

微端技术是指通过减少客户端初始下载量,实现用户可以边玩游戏边加载资源的技术。它适用于传奇游戏这样的大型MMORPG,能够提升用户的初次体验,减少进入游戏的等待时间。

1. 微端原理

微端的基本原理是将游戏资源进行分块和分离,只让玩家在首次启动时下载必要的核心资源(如UI、基础模型、音效等),其他的非核心资源(如地图、怪物、装备等)在游戏过程中根据需要进行动态下载。

核心资源:包括登录界面、UI、角色基本模型、常用的音效等,能够确保玩家快速进入游戏。

非核心资源:如地图资源、大型怪物模型、部分装备和技能效果等,可以在玩家进入对应场景时逐步下载。

2. 微端的关键技术

1) 资源分片与管理

资源分片:将游戏资源(如地图、音效、模型等)按照一定的规则分成多个小片段,并存储在服务器上。当玩家需要访问某个资源时,客户端从服务器请求下载相应的资源片段。

资源版本控制:为了防止旧资源与新资源冲突,微端系统通常会引入版本控制机制,确保客户端下载的是最新的资源。

2) 动态加载与异步处理

动态加载:通过异步加载技术,将资源在后台下载并动态加载到游戏中,不会影响玩家的实时操作。例如,玩家刚进入游戏时,先加载当前地图和角色所需资源,其他地图的资源则在后台逐步下载。

缓存策略:客户端会缓存已下载的资源,避免重复下载。需要设计合适的缓存管理策略,以平衡资源占用与游戏性能。

3) CDN 加速与负载均衡

CDN 加速:微端技术通常需要依赖 CDN(内容分发网络)来加速资源的下载速度,确保不同地域的玩家都能以较快的速度获取游戏资源。

负载均衡:在大规模玩家同时在线的情况下,需要对资源服务器进行负载均衡,避免单一服务器过载。

3. 微端实现流程

资源准备与划分:将游戏的资源按重要性和使用频率进行划分,核心资源必须提前加载,非核心资源则按需下载。

客户端模块设计:

预加载模块:负责下载并加载核心资源。动态加载模块:在游戏运行过程中,根据玩家所在场景和操作请求动态加载需要的资源。 后台资源管理:

资源服务器:用于存储游戏资源,按照分片管理的方式提供资源下载服务。资源下载控制:根据客户端的资源需求,控制资源下载的顺序与速度,避免过多占用玩家的网络带宽。 客户端缓存管理:客户端需要维护一个本地缓存系统,保存已经下载的资源,并确保缓存资源与服务器的最新版本一致。

4. 微端的优化策略

增量更新:当游戏进行更新时,只下载修改过的资源,而不需要重新下载整个客户端。

网络优化:通过分块下载、断点续传、CDN加速等技术,保证资源下载的速度和稳定性。

预加载策略:根据玩家的行为预测未来可能访问的资源,提前下载和预加载这些资源,减少等待时间。

5. 微端的优点

快速进入游戏:通过减少初始下载量,玩家可以在短时间内进入游戏,提升用户体验。

减少磁盘占用:微端技术只会在玩家需要时下载相关资源,避免了一次性下载大量不必要的文件,节省磁盘空间。

灵活更新:支持动态资源更新,无需频繁发布大版本更新包。

三、自定义UI与微端的结合

在传奇游戏开发中,自定义UI与微端技术可以相辅相成。微端技术允许玩家在游戏过程中动态下载UI资源,这意味着:

UI模块化加载:UI可以按需加载,避免一次性加载所有UI资源,减少客户端的初始体积。

UI皮肤动态更新:通过微端技术,可以在游戏运行中动态更新和替换UI皮肤,使得玩家无需重启客户端就能体验新的UI主题。

UI优化与调整:当UI布局或功能更新时,可以通过微端技术进行热更新,让玩家在下次进入游戏时自动下载最新的UI资源。

总结

自定义UI能够为传奇游戏提供个性化的用户界面和更优质的用户体验,而微端技术则通过动态加载资源减少初始下载时间并优化客户端性能。两者结合,可以使游戏拥有更灵活的UI设计和更快速的游戏启动体验,从而提升玩家的整体感受并增强游戏的市场竞争力。

相关推荐

【原】足球战术丨法国VS比利时战术分析:你认为法国能夺冠吗?
WebShell的特点、原理、分类、工具是什么
365bet在线客服

WebShell的特点、原理、分类、工具是什么

📅 08-11 👁️ 2059
堡垒之夜服务器维护时间变更通知
365bet备用器

堡垒之夜服务器维护时间变更通知

📅 07-15 👁️ 2274