跳到主要内容

星河引擎2025年更新日志

2025-12-25

[LoginGate.exe 更新日志]

[!] 取消无用封包消息输出日志

[GameLoad DB Manager.exe 更新日志]

[*] 修正物品数据库升级过程因存在TBL_开头的数据表导致升级异常的问题

[*] 修正因彩虹与星河数据库物品规则(禁止范围拾取)位置差异导致的数据转换异常

[DBServer.exe 更新日志]

[+] 新增 DenyChrName.txt 文件,用于设置禁止创建、修改角色名称的关键字

[*] 修正脚本命令 CHANGEUSERNAME 修改结果返回异常的问题

[*] 修正点击立刻复活超时导致需要二次登陆才能上游戏的问题

[*] 修正套装技能小退后快捷键会被重置的问题

[WolServer.exe 更新日志]

[*] 修正怪物爆率使用自定义变量控制异常的问题

[*] 修正 RESETCALCWATCH 重置计时器无效的问题

[*] 修正 $SPEQUIPPROP(X).MAXEXP 异常的问题

[*] 修正经典模式神龙之魂设置英勇值无效的问题

[*] 修正开天塔功能异常的问题

[*] 修正使用管理命令 MAPMOVE 转移地图上角色进动态镜会进入同张地图的问题

[*] 修正动态镜像地图一处内存泄漏的问题

[*] 修正时光区淬炼装备提示错乱的问题

[*] 修正幽暗石谷金锄不触发挖矿触发标签的问题

[*] 修正师徒模式无法攻击怪物的问题

[*] 修正NewBuff.csv defaultHoldTime字段设置 -1 属性不增加、小退不恢复的问题

[*] 修正游戏地图事件重复释放导致报错的问题

[*] 修正寄售系统异常的问题

[*] 修正引擎面板加载所有NPC脚本时导致动态镜像地图NPC消失的问题

[*] 修正一处内存泄漏的问题

[*] 修正动态镜像地图NPC不支持宗族界面的问题

[*] 修正火毒攻心剑爆血不计算道术的问题

[*] 修正人物超过引擎面板锁定等级后经验不会锁定100%的问题

[*] 修正幽灵盾、神圣战甲术不会自动施法的问题

[*] 修正人物退出动态镜像地图NPC不会自动清除的问题

[*] 修正人物宝宝停止攻击无伤害还有攻击动作的问题

[*] 修正引擎面板人物掉落身上装备设置异常的问题

[*] 修正不勾选推人等级优先后,相同封号等级、人物等级大于对方可以推人的问题

[*] 修正纵雷诀有概率会造成人物隐身的问题

[*] 修正道士心魔附魔衣服属性,衣服不显示属性的问题

[*] 修正脚本命令 ReCallTotem 召唤图腾怪物异常的问题

[*] 修正IsProperTarget检测命令异常的问题

[*] 修正 @重生触发 中增加重生时间会导致显示重生时间异常的问题

[*] 修正删除魔法盾会引起异常的问题

[*] 修正服务器时间回绕时重生时间异常的问题

[*] 修正部分技能符文特效不显示的问题

[*] 修正神佑物品、幽暗石谷矿锄到期不会自动删除的问题

[*] 修正寒冰风暴技能攻击触发不返回技能ID的问题

[*] 修正加入组队时 @_加入队伍 标签不触发的问题

[*] 修正#CALL脚本嵌套层次过多,导致#CALL脚本没加载的问题

[*] 修正脚本命令 ChangeAppr 参数1 参数2 错位的问题

[*] 修正时光、铁血等模式行会面板不显示行会技能列表的问题

[*] 修正怪物Race 139 怪物攻击方向错乱的问题

[*] 修正神圣腰带无法免疫恐惧的问题

[*] 修正技能ID 34,36,55,56,57,82,84,86 自定义EffectType技能特效异常的问题

[*] 修正怪物Race 114 怪物攻击伤害异常的问题

[*] 修正变量 $SACREDTHUMP2 不返回神圣暴击伤害的问题

[*] 修正替身法符召唤的替身不随技能等级改变的问题

[*] 修正套装技能小退后快捷键会被重置的问题

[!] 扩展 CHECK SET 支持脚本变量

	[@示范]
#IF
TRUE
#ACT
MOV D10 1
SET [$STR(D10)] 0
#IF
CHECK [$STR(D10)] 1
#ACT
SENDMSG 7 判定通过
#ELSEACT
SENDMSG 7 判定不通过

[!] 优化人物宝宝出生位置

[!] 调整引擎面板人物无弯腰动作不再关联怪物

[!] 调整脚本命令 KILLSLAVE 杀死所有宝宝时会过滤图腾怪物

[+] 扩展 [@_加入队伍] [@_退出队伍] 触发标签并返回以下参数

	[@_加入队伍]
#IF
TRUE
#ACT
SENDMSG 5 <$PARAM(0)>加入队伍

[@_退出队伍]
#IF
TRUE
#ACT
SENDMSG 5 <$PARAM(0)>退出队伍

[+] 扩展P变量支持超21亿运算

[+] 新增脚本命令 RefBattleInfo 用于刷新人物战斗力值

[+] 新增支持铁血技能5重后的技能特效

[+] 新增人物地图变更会刷新人物战斗力

[+] 新增引擎面板 -> 参数设置 -> 升级经验 -> 魂珠吸收脚本经验 开关

[+] 新增 Redis 数据库支持说明

    概述:

本次更新为引擎添加了对 Redis 数据库的支持。Redis 将主要用于实现跨区服、跨进程间的数据通信,并支持数据持久化存储。

准备工作:

1、了解 Redis: 建议您对 Redis 有基本了解。参考文档:https://www.runoob.com/redis/redis-intro.html

2、Redis 服务器: 更新包中已包含 Redis 服务器程序包。请根据需求配置服务器参数。

3、Redis 客户端(推荐): 建议安装 Another Redis Desktop Manager 进行可视化数据管理。

下载地址:https://github.com/qishibo/AnotherRedisDesktopManager/releases

部署建议:

1、网络延迟: 为获得最佳性能,请将 Redis 服务器与 M2 引擎部署在同一台服务器或同一局域网内。

2、连接方式: 引擎支持灵活连接:

单个引擎连接一个 Redis 数据库。

多个引擎连接同一个 Redis 数据库(根据需求选择)。

3、引擎配置(!Setup.txt):

引擎面板 -> 选项 -> 基本设置 -> Redis 数据库 相关配置

启用和配置 Redis 连接需修改引擎配置文件 !Setup.txt:

OpenRedisConnect=1 ; 是否开启 Redis 功能:0=关闭, 1=开启 (默认 0)
RedisServerAddr=127.0.0.1 ; Redis 服务器地址
RedisServerPort=6379 ; Redis 服务器端口 (默认 6379)
RedisPassword= ; Redis 连接密码 (若服务器设置了密码,请填写)
RedisDBIndex=0 ; 选择使用的数据库索引 (默认 0-15,可在 Redis 配置中调整范围)

重要提示:

1、功能定位: Redis 功能主要设计用于数据中间件(跨进程通信)和数据缓存。

2、角色数据存储:虽然技术上可以存储角色数据,但请注意:当前的合区工具不支持合并此类存储在 Redis 中的数据,且短期内暂无支持计划。请谨慎评估是否将关键角色数据存入 Redis。

3、在 NPC 脚本中使用 Redis:

引擎提供了 Redis命令,允许您在 NPC 脚本中直接与 Redis 服务器交互。

基本语法:

Redis Redis命令 参数1 参数2 ... 参数N

Redis 命令说明与示例

;=== 基本键操作 ===================================================================================================================

[+] 新增支持Redis脚本命令 Set 参数1 参数2 参数3

说明: 将指定的键名(Key)设定为指定的值(Value),并可设置过期时间。

参数1: 键名(Key)
参数2: 值(Value)
参数3: 过期时间(单位:秒)。默认为0,表示永不过期。(可忽略默认为0)

[@示范]
#IF
TRUE
#ACT
Redis Set 传奇世界 星河引擎 86400 ; 设置键传奇世界的值为 “星河引擎” ,1天后过期

[+] 新增支持Redis脚本命令 SetNx 参数1 参数2

说明: 仅当指定的键名(Key)不存在时,才将其设定为指定的值(Value)。

参数1: 键名(Key)
参数2: 值(Value)

[@示范]
#IF
TRUE
#ACT
Redis SetNx 传奇世界 星河引擎 ; 如果键 “传奇世界” 不存在,则设置其值为 “星河引擎”

[+] 新增支持Redis脚本命令 Del 参数1

说明: 删除指定的键名(Key)。支持删除多个键,键名之间用 | 分隔。

参数1: 要删除的键名(Key),多个键用 | 分隔。

[@示范]
#IF
TRUE
#ACT
Redis Del 传奇世界|无限可能 ; 删除键 “传奇世界” 和 “无限可能”


[+] 新增支持Redis脚本命令 Expire 参数1 参数2

说明:检查指定的键名(Key)是否已过期(TTL <= 0)。

参数1: 键名(Key)
参数2: 过期时间(单位:秒)

[@示范]
#IF
TRUE
#ACT
Redis Expire 传奇世界 86400 ; 设置键 “传奇世界” 的过期时间为 86400 秒

[+] 新增支持Redis脚本命令 Persist 参数1

说明: 移除指定键名(Key)的过期时间,使其永久有效。

参数1: 键名(Key)

[@示范]
#IF
TRUE
#ACT
Redis Persist 传奇世界 ; 移除键 “传奇世界” 的过期时间

[+] 新增支持Redis脚本命令 Rename 参数1 参数2

说明: 将指定的键名(Key)重命名为新的键名(NewKey)。

参数1: 原键名(Key)
参数2: 新键名(NewKey)

[@示范]
#IF
TRUE
#ACT
Redis Rename 传奇世界 星河引擎 ; 将键 “传奇世界” 重命名为 “星河引擎”

[+] 新增支持Redis脚本命令 RenameNX 参数1 参数2

说明: 仅当新的键名(NewKey)不存在时,才将指定的键名(Key)重命名为新的键名(NewKey)。

参数1: 原键名(Key)
参数2: 新键名(NewKey)

[@示范]
#IF
TRUE
#ACT
Redis RenameNX 传奇世界 星河引擎 ; 仅当 “星河引擎” 不存在时,将 “传奇世界” 重命名为 “星河引擎”

[+] 新增支持Redis脚本命令 Keys 参数1 参数2 参数3

说明: 查找所有符合的键名(Key)。注意: 在生产环境谨慎使用此命令,可能影响性能。

参数1: 匹配Key(如 player_*、player*、*player*)
参数2: 保存返回结果的变量名(多个键名通常以特定分隔符存储,需自行分割)
参数3: 返回数量

[@示范]
#IF
TRUE
#ACT
Redis Keys player* D$万能 P50 ; 查找所有以player开头的键,结果存 D$万能 变量中,数量存 P50 变量中

;=== 字符串操作 ===================================================================================================================

[+] 新增支持Redis脚本命令 Append 参数1 参数2

说明: 将指定的值(Value)追加到键名(Key)当前存储的字符串值的末尾。

参数1: 键名(Key)
参数2: 要追加的值(Value)

[@示范]
#IF
TRUE
#ACT
Redis Append 传奇世界 无限可能 ; 在键 “传奇世界” 的值后追加 “无限可能”

[+] 新增支持Redis脚本命令 Incr 参数1

说明: 将键名(Key)存储的整数值增加1。如果键不存在,会先初始化为0再执行INCR。

参数1: 键名(Key)

[@示范]
#IF
TRUE
#ACT
Redis Incr 玩家数量 ; 将键 “玩家数量” 的值加1

[+] 新增支持Redis脚本命令 Decr 参数1

说明: 将键名(Key)存储的整数值减少1。如果键不存在,会先初始化为0再执行DECR。

参数1: 键名(Key)

[@示范]
#IF
TRUE
#ACT
Redis Decr 玩家数量 ; 将键 “玩家数量” 的值减1

;=== 哈希表操作 ===================================================================================================================

[+] 新增支持Redis脚本命令 HSet 参数1 参数2 参数3

说明: 将哈希表(Key)中的字段(Field)设定为指定的值(Value)。

参数1: 哈希表键名(Key)
参数2: 字段名(Field)
参数3: 值(Value)

[@示范]
#IF
TRUE
#ACT
Redis HSet 传说 Level 55 ; 在哈希表 “传说” 中,设置字段Level的值为55

[+] 新增支持Redis脚本命令 HDel 参数1 参数2

说明: 删除哈希表(Key)中的一个或多个指定字段(Field)。

参数1: 哈希表键名(Key)
参数2: 字段名(Field)(支持多个字段名用 | 分隔)

[@示范]
#IF
TRUE
#ACT
Redis HDel Player $USERNAME ; 删除哈希表(Key)Player 中 字段(Field)$USERNAME

[+] 新增支持Redis脚本命令 HKeys 参数1 参数2 参数3

说明: 获取哈希表(Key)中的所有字段名(Field)。

参数1: 哈希表键名(Key)
参数2: 保存返回结果的变量名(包含所有字段名)
参数3: 返回数量

[@示范]
#IF
TRUE
#ACT
Redis HKeys Player 传说* D$万能 P10 ; 获取哈希表(Key)Player 中 字段(Field)“传说*” 的所有字段名,结果存D$万能 变量中,数量存 P10 变量中

[+] 新增支持Redis脚本命令 HVals 参数1 参数2 参数3

说明: 获取哈希表(Key)中的所有字段值(Value)。

参数1: 哈希表键名(Key)
参数2: 保存返回结果的变量名(包含所有字段值)
参数3: 返回数量

[@示范]
#IF
TRUE
#ACT
Redis HVals Player 传说 D$万能 P10 ; 获取哈希表(Key)Player 中 字段(Field)“传说” 的所有字段值,结果存D$万能 变量中,数量存 P10 变量中

;=== 列表操作 ===================================================================================================================

[+] 新增支持Redis脚本命令 LPush 参数1 参数2

说明: 将一个或多个值(Value)插入到列表(Key)的头部(左边)。

参数1: 列表键名(Key)
参数2: 要插入的值(Value)(支持多个字段名用 | 分隔)

[@示范]
#IF
TRUE
#ACT
Redis LPush Player $USERNAME|传说 ; 将用户名插入到列表Player的头部

[+] 新增支持Redis脚本命令 LPop 参数1 参数2

说明: 移除并获取列表(Key)的第一个元素(头部元素,最左边)。

参数1: 列表键名(Key)
参数2: 保存返回值的变量名

[@示范]
#IF
TRUE
#ACT
Redis LPop Player D$万能 ; 移除并获取列表Player的第一个,存入D$万能 变量中

[+] 新增支持Redis脚本命令 RPush 参数1 参数2

说明: 将一个或多个值(Value)插入到列表(Key)的尾部(右边)。

参数1: 列表键名(Key)
参数2: 要插入的值(Value)(支持多个字段名用 | 分隔)

[@示范]
#IF
TRUE
#ACT
Redis RPush Player $USERNAME ; 将用户名插入到列表Player的尾部

[+] 新增支持Redis脚本命令 RPop 参数1 参数2

说明: 移除并获取列表(Key)的最后一个元素(尾部元素,最右边)。

参数1: 列表键名(Key)
参数2: 保存返回值的变量名

[@示范]
#IF
TRUE
#ACT
Redis RPop Player D$万能 ; 移除并获取列表Player的最后一个,存入D$万能 变量中

[+] 新增支持Redis脚本命令 LRange 参数1 参数2 参数3 参数4 参数5

说明: 获取列表(Key)中指定范围内的元素

参数1: 列表键名(Key)
参数2: 起始索引(0表示第一个元素)
参数3: 结束索引(-1表示最后一个元素)
参数4: 保存返回结果的变量名(包含范围内的元素)
参数5: 返回数量

[@示范]
#IF
TRUE
#ACT
Redis LRange Player 0 9 D$万能 P10 ; 获取列表Player的前10个元素(索引0到9),结果存D$万能 变量中,数量存 P10 变量中

[+] 新增支持Redis脚本命令 LIndex 参数1 参数2 参数3

说明: 通过索引获取列表(Key)中的元素。

参数1: 列表键名(Key)
参数2: 元素索引(0表示第一个元素,-1表示最后一个元素)
参数3: 保存返回值的变量名

[@示范]
#IF
TRUE
#ACT
Redis LIndex Player 0 D$万能 ; 获取列表Player的第一个元素,存入D$万能

[+] 新增支持Redis脚本命令 LSet 参数1 参数2 参数3

说明: 通过索引设置列表(Key)中元素的值。

参数1: 列表键名(Key)
参数2: 元素索引
参数3: 新的值(Value)

[@示范]
#IF
TRUE
#ACT
Redis LSet Announcements 0 "【紧急】服务器即将维护!" ; 将列表Announcements的第一个元素设置为新公告

;=== 服务器操作 ===================================================================================================================

[+] 新增支持Redis脚本命令 FlushDB

说明: 清空当前连接的Redis数据库中的所有键(Key)。此操作不可逆! 务必谨慎使用,建议仅在测试环境或明确需要清空当前库时使用。

[@示范]
#IF
TRUE
#ACT
Redis FlushDB ; **危险!清空当前数据库**

[+] 新增支持Redis脚本命令 FlushAll

说明: 清空所有Redis数据库中的所有键(Key)。此操作不可逆!极高危操作! 仅在极端情况(如测试环境初始化)下使用,生产环境务必避免。

[@示范]
#IF
TRUE
#ACT
Redis FlushAll ; **极度危险!清空所有数据库**

;=== 变量操作 ===================================================================================================================


[+) 新增脚本变量 `$REDIS[X].KEY(Y).FIELDS(Z)` 用于返回Redis相关数据

X // Redis命令
Y // 键名(Key)
Z // 字段名(Field)

1)、新增支持Redis命令 Get 获取指定键名(Key)的值(Value)。

Y // 键名(Key)

[@示范]
#IF
EQUAL $REDIS[Get].KEY(传奇世界) 星河引擎
#ACT
SENDMSG 5 键名“传奇世界”的值为“星河引擎”

2)、新增支持Redis命令 Exists 检查指定的键名(Key)是否存在。

Y // 键名(Key)

说明:返回值(0表示不存在,1表示存在)

[@示范]
#IF
EQUAL $REDIS[Exists].KEY(传奇世界) 1
#ACT
SENDMSG 5 玩家数据已存在!

3)、新增支持Redis命令 StrLen 获取键名(Key)所存储的字符串值的长度。

Y // 键名(Key)

[@示范]
#IF
LARGE $REDIS[StrLen].KEY(传奇世界) 1
#ACT
SENDMSG 5 键名“传奇世界”的值长度大于1

4)、新增支持Redis命令 TTL 获取指定键名(Key)的剩余生存时间(Time To Live),单位是秒。

Y // 键名(Key)

说明:返回值(返回剩余秒数,-2表示键不存在,-1表示键存在但无过期时间)

[@示范]
#IF
EQUAL $REDIS[Exists].KEY(传奇世界) -2
#ACT
SENDMSG 5 键不存在

5)、新增支持Redis命令 HLen 获取哈希表(Key)中字段的数量。

Y // 键名(Key)

[@示范]
#IF
LARGE $REDIS[HExists].KEY(Player) 0
#ACT
SENDMSG 5 键名Player中字段数量大于0

6)、新增支持Redis命令 HExists 检查哈希表(Key)中是否存在指定的字段(Field)

Y // 键名(Key)
Z // 字段名(Field)

说明:返回值(0表示不存在,1表示存在)

[@示范]
#IF
EQUAL $REDIS[HExists].KEY(Player].FIELDS(玩家名字) 1
#ACT
SENDMSG 5 尊敬的VIP玩家,欢迎您!

7)、新增支持Redis命令 HGet 获取哈希表(Key)中指定字段(Field)的值。

Y // 键名(Key)
Z // 字段名(Field)

[@示范]
#IF
EQUAL $REDIS[HGet].KEY(Player].FIELDS(玩家名字) $USERNAME
#ACT
SENDMSG 5 键名“Player”中字段“玩家名字”的值等于你的名字

2025-09-15

/////////////////////////////////////////////////////////////////////////////

注意事项:

如没使用AGG网关的,建议全体GM都替换此版 RunGate 游戏网关

/////////////////////////////////////////////////////////////////////////////

[DBServer.exe 更新日志]

[*] 修正元神修改名字导致第二元神无法放出的问题

[*] 修正融合元神继承技能等级异常的问题

[*] 修正拥有第二元神时,元神排名榜会显示两个元神的问题

[*] 修正 DBServer 存在的一个严重问题

[LoginSrv.exe 更新日志]

[!] 优化账号网关代码,提高执行效率

[RunGate.exe 更新日志]

[*] 修正 RunGate 网关存在的一个严重问题

[WolServer.exe 更新日志]

[!] 优化引擎广播包发送代码

[!] 优化人物、怪物搜索视野代码

[!] 重构引擎刷怪、怪物运行代码

[!] 优化游戏引擎与游戏网关通讯代码

[*] 修正引擎面板修改怪物灵敏度设置无效的问题

[*] 修正有概率杀死怪物不变尸体的问题(有待大规模测试)

[*] 公布时长、极速区脚本命令 SETRANKLEVELNAME 命令只支持颜色代码 $1 - $19

[*] 修正脚本命令调整灵兽饱食度无效的问题

[*] 修正引擎启动时不加载部分排名榜职业分榜的问题

[*] 修正人物具备下跪属性有概率看不到守卫、弓箭手下跪的问题

[*] 修正绝世宝甲有概率不触发复活功能的问题

[*] 修正引擎面板上设置所有颜色参数都不显示颜色预览的问题

[*] 修正抵抗一次致死伤害、绝世宝甲复活不触发 @重生触发 标签的问题

[*] 修正 TakeOn 脚本命令穿戴 绝世宝甲 异常的问题

[*] 修正勋章 SHAPE 14 类型调整属性位置252、253无效的问题

[*] 修正调整神力值不及时刷新的问题

[*] 修正融合重生装备复活不减持久的问题

[*] 修正杀死马或主人马牌会消失的问题

[*] 修正时光区等模式查看他人魂器属性不显示羁绊属性的问题

[*] 修正 @TakeOnff 触发异常的问题

[*] 修正战争牢笼技能不支持上线自动冷却的问题

[*] 修正纵雷诀技能可对NPC释放造成卡位的问题

[*] 修正引擎面板设置神圣腰带间隔异常的问题

[*] 修正经典区纹佩品级附加属性异常的问题

[*] 修正灵宠天赋技能异常的问题

[*] 修正主人和平模式燃烧弹 Race: 120宝宝也会攻击附加玩家宝宝的问题

[*] 修正HUMANHP、CHANGEHITMONHP脚本命令扣血不触发内挂保护的问题

[*] 修正引擎报错 TItemManager::Execute Code:13 人物:长安 参数:68163769, 灵兽项圈(捆), 0

[*] 修正引擎报错 [Exception] TRankManage::RefreshPneumaRank Error:11

[*] 修正召唤神兽不支持技能符文石肤外观的问题

	引擎面板 -> 功能设置 -> 技能魔法 -> 道士技能 -> 召唤神兽 -> 符文石肤怪物名称

!Setup.txt 搜索 DogzNewName16795 设置 火灵珠 变身后的 怪物名称

[*] 修正脚本命令 FORLOOP 逻辑错误,应为不满足条件继续循环,满足条件终止

	[@示范]
#IF
TRUE
#ACT
GetMapBaseObjects SELF $X $Y 12 2 D$万能 P1
MOV P2 0
FORLOOP P2 <= $STR(P1)
SENDMSG 5 <$OBJECTINFO[$STR(D$万能_<$STR(P2)>)].NAME>
INC P2 1
ENDFORLOOP
SENDMSG 5 对象总数量:<$STR(P1)>个

[*] 修正 FORLOOP 终止循环会执行多出一次的问题

[*] 修改乾坤药袋只允许捆绑相同绑定的状态的物品

[*] 修正残影刀法不增加命中属性的问题

[*] 修正装备固化期的物品可以卖到商店的问题

[*] 修正兽化技能不触发 @MagFuncX @技能使用触发 的问题

[*] 修正脚本命令 RANGEPICK 相同坐标有一个物品为禁止范围拾取就全不拾取的问题

[*] 修正天元心法经验条一致显示等级已满的问题

[*] 修正法宝强化第一次不显法材料和数量的问题

[*] 修正融合元神继承技能等级异常的问题

[*] 修正人物上线技能等级超4级后不显示技能经验的问题

[*] 修正引擎面板时光区极品设置部分不保存的问题

[*] 修正地图单元对象出现悬垂指针的问题

[*] 修正初次使用 SetReliveTime 脚本命令异常的问题

[*] 修正道士修罗心法地煞增加宝宝属性异常的问题

[*] 修正神魂爆破技能无法打掉神魂融合的神魂值的问题

[*] 修正人物和平模式法宝伤害可以对自己的镖车造成伤害的问题

[*] 修正学习擒龙手不及时刷新命中属性的问题

[*] 修正 GotoLoop 脚本命令异常的问题

[*] 修正顶号后需要二次登录才能正常登录的问题

[*] 修正怪物血量设置18亿也会造成溢出的问题

[*] 修正同时使用隐身戒指、变身披风有概率导致隐身效果不消失的问题

[*] 修正 $ITEMINFO[X].Y 获取属性位置274、275 属性值错误的问题

[*] 修正极速区诱惑之光诱惑成功后宝宝不及时刷新名字的问题

[*] 修正神兵神力值不触发的问题

[*] 修改大刀杀死的怪物不限制物品归属

[*] 修正铁血技能超过4重后释放技能顺序不正确的问题

[*] 修正魔核洗炼返回的材料数量不正确的问题,并且限制最多同时洗炼数为6条

[*] 修正 NewBuff.csv 触发时间异常的问题

[*] 修正五色晶石修复破损武器后变为绑定武器,且圣灵失效的问题

[*] 修正 $PNEUMANAME.Kick 会导致元神无法释放的问题

[*] 修正可以攻击同行会成员宝宝的问题

[*] 修正引擎面板设置融合技能即使内外元神没学习也会继承的问题

[*] 修正远程怪物后面使阻点的时候会隐身的问题

[*] 修改 $KILLMONEXPRATE $KILLMONBURSTRATE 变量返回不再整除100

[*] 修正经典区特殊属性等级只有佩戴特殊戒指才有效的问题

[*] 修正一处内存泄漏的问题

[*] 修正有概率游戏网关传送的封包错误,导致引擎不处理任何封包的问题

[*] 修正同时调整本体、元神骑战速度时会造成冲突的问题

[*] 修正寄售行下架、购买异常的问题

[+] 新增脚本变量 $ITEMINFO[X].SEALNAME 返回装备加星自定义名称

[+] 新增脚本标签头支持变量,具体示例如下

	[@main]
#IF
TRUE
#ACT
MOV S1 测试
#SAY
{测试/@传送<$STR(S1)>}

[@传送<$STR(S1)>]
#IF
TRUE
#ACT
SENDMSG 5 坐标已传送

[+] 新增引擎面板 -> 参数设置 -> 游戏选项一 -> 黑暗攻击 -> 暴击概率

// 用于设置黑暗攻击的暴击概率

[+] 新增脚本变量 $CURFENGHAOGROW[X] 用于获取当前封号装扮在使用封号

X // 0、普通封号 1、特殊封号 2、节日封号

[+] 新增脚本变量 $CUROTHERDRESS[X] 用于获取当前装扮武器、衣服、羽翼

X // 装扮类型(0、衣服 1、武器 2、羽翼 3、法宝)

[+] 引擎面板 -> 功能设置 -> 技能魔法 -> 道士技能 -> 幽灵盾 -> 附加属性下线消失

[+] 引擎面板 -> 功能设置 -> 技能魔法 -> 道士技能 -> 神圣战甲术 -> 附加属性下线消失

[+] 扩展支持极速区妖器系统

	1)、服务端需要妖器相关配置文件

Mir200\Config\yaobing_15.csv (妖器属性配置文件)

2)、新增引擎面板 -> 参数设置 -> 游戏选项三 -> 开启极速区妖器

3)、扩展脚本命令 SENDYAOBINGDAZAO 参数1 参数2 用于打开妖器打造界面

参数1 //妖王之锤名称;妖器Looks;所需材料;材料数量;所需金币;打造经验;声望;所需材料;材料数量;所需材料;材料数量|妖王之盾;妖器Looks;所需材料;材料数量;所需金币;打造经验;声望;所需材料;材料数量;所需材料;材料数量
参数2 //妖器打造介绍 #0代表空格

[@示范]
#IF
TRUE
#ACT
SENDYAOBINGDAZAO 妖王之锤一级;25125;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10|妖王之盾一级;25128;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10 <color=orange#0选择妖兵部位并消耗妖兵精华+妖之精魄材料。>\<color=orange#0可以打造妖兵,打造成功率30%,失败会扣除材料并累计打造经验,>\<color=orange#0经验满则打造必成。> @_妖器打造_打造1
SENDYAOBINGDAZAO 妖王之盔一级;25140;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10|妖王之链一级;25131;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10 <color=orange#0选择妖兵部位并消耗妖兵精华+妖之精魄材料。>\<color=orange#0可以打造妖兵,打造成功率30%,失败会扣除材料并累计打造经验,>\<color=orange#0经验满则打造必成。> @_妖器打造_打造2
SENDYAOBINGDAZAO 妖王之镯一级;25137;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10|妖王之戒一级;25134;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10 <color=orange#0选择妖兵部位并消耗妖兵精华+妖之精魄材料。>\<color=orange#0可以打造妖兵,打造成功率30%,失败会扣除材料并累计打造经验,>\<color=orange#0经验满则打造必成。> @_妖器打造_打造3
SENDYAOBINGDAZAO 妖王之靴一级;25146;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10|妖王之带一级;25143;妖兵精华;10;100000;0;100000;妖王圣血;10;妖之精魄;10 <color=orange#0选择妖兵部位并消耗妖兵精华+妖之精魄材料。>\<color=orange#0可以打造妖兵,打造成功率30%,失败会扣除材料并累计打造经验,>\<color=orange#0经验满则打造必成。> @_妖器打造_打造4

[+] 扩展脚本命令 SPLIT 参数1 参数2 参数3 参数4 用于返回分割的数量

	参数1 // 需要分割使用的文本(支持变量)
参数2 // 以此为分割条件的文本(支持变量)
参数3 // 用于范围分割文本数组的起始变量(仅支持文本型)
参数4 // 储存变量名(可忽略)

[@示范]
#ACT
MOV S0 星河引擎|最稳定的|传世引擎
SPLIT $STR(S0) | S60 P0

[+] 新增引擎面板 -> 参数设置 -> 装备掉落 -> 死亡叠加物品随机数掉落

[+] 新增引擎面板 -> 参数设置 -> 时间控制 -> 传送保护时间

// 用于设置人物传送跳转地图后受保护的时间

[+] 新增引擎面板 -> 参数设置 -> 时间控制 -> 新灵兽系统饱食度扣除时间间隔

// 用于设置新灵兽系统饱食度扣除时间间隔和扣除点数

[+] 新增脚本命令 GETBAGALLITEM 参数1 参数2 参数3 用于遍历背包所有物品序列号

	参数1 // 玩家名字
参数2 // 储存变量名// 储存变量名
参数3 // 物品数量

[@示范]
#IF
TRUE
#ACT
GETBAGALLITEM $USERNAME D$万能 P1
MOV P2 0
FORLOOP P2 <= $STR(P1)
SENDMSG 5 <$ITEMINFO[$STR(D$万能_<$STR(P2)>)].NAME>
INC P2 1
ENDFORLOOP
SENDMSG 5 物品总数量:<$STR(P1)>个

[+] 扩展灵宠相关变量

	$LINGCHONG[X].Y //获得指定灵宠相关信息

X:灵宠ID (1、九幻灵猫 2、瑶光精灵 3、三足金乌 4、玄天青龙 5、转世金蝉)
Y:
SKILLNAME(Z) ( Z:为天赋技能格子位置 ,支持变量,获取灵宠指定天赋技能格技能名称 )

[+] 新增引擎面板 -> 性能参数 -> 核心处理间隔

// 核心处理间隔,间隔越小引擎处理速度越快,但会牺牲CPU使用率,默认为10毫秒

[+] 扩展 SETITEMJEWEL 100 用于 精炼融合预览装备属性

[+] 扩展支持时光区等模式设置中州英豪属性

// 详细自行查看引擎包内 Privilege.xml 配置文件

[+] 扩展支持人物操作同地图的指针对象,不再限制12格范围内

[+] 新增脚本命令 SETREFRESHABILSTATE 参数1 用于设置人物是否刷新属性

	参数1 // 状态:0:关闭、1:开启

主要用于大型穿戴装备统计临时属性脚本时,避免每次调整属性时引擎就刷新统计一次
关闭后需手动开启,不然人物将不再刷新统计属性

[@示范]
#IF
True
#ACT
SETREFRESHABILSTATE 0
SENDMSG 5 人物暂停刷新属性

[*] 扩展 [@TakeOnAll] 标签返回参数,新增 <$PARAM(3)> 返回取下装备ID。

[+] 扩展MagicSkill.xml 技能设置

	<Magic id = "141" Name= "神圣守护">  
<!-- Level表示技能等级,Value1:战士持续时间(最大65535) Value2:法师持续时间(最大65535) Value3:道士持续时间(最大65535) -->
<Skill Lv = "0" Value1 = "8" Value2 = "8" Value3 = "5"/>
<Skill Lv = "1" Value1 = "10" Value2 = "10" Value3 = "8"/>
<Skill Lv = "2" Value1 = "12" Value2 = "12" Value3 = "10"/>
<Skill Lv = "3" Value1 = "15" Value2 = "15" Value3 = "12"/>
<Skill Lv = "4" Value1 = "20" Value2 = "20" Value3 = "15"/>
<Skill Lv = "5" Value1 = "25" Value2 = "25" Value3 = "20"/>
<Skill Lv = "6" Value1 = "30" Value2 = "30" Value3 = "25"/>
<Skill Lv = "7" Value1 = "35" Value2 = "35" Value3 = "30"/>
</Magic>

<Magic id = "14" Name= "幽灵盾">
<!-- Level表示技能等级 Value1:增加Mac1点数 Value2:增加Mac2点数 Value3:威力系数 Value4:附加时间(秒) Value5:时间系数 -->
<Skill Lv = "0" Value1 = "0" Value2 = "2" Value3 = "0.1" Value4 = "20" Value5 = "0.1"/>
<Skill Lv = "1" Value1 = "0" Value2 = "3" Value3 = "0.2" Value4 = "30" Value5 = "0.2"/>
<Skill Lv = "2" Value1 = "1" Value2 = "4" Value3 = "0.3" Value4 = "40" Value5 = "0.3"/>
<Skill Lv = "3" Value1 = "1" Value2 = "5" Value3 = "0.4" Value4 = "50" Value5 = "0.4"/>
<Skill Lv = "4" Value1 = "2" Value2 = "6" Value3 = "0.5" Value4 = "60" Value5 = "0.4"/>
<Skill Lv = "5" Value1 = "2" Value2 = "7" Value3 = "0.6" Value4 = "70" Value5 = "0.5"/>
<Skill Lv = "6" Value1 = "5" Value2 = "8" Value3 = "0.7" Value4 = "80" Value5 = "0.6"/>
<Skill Lv = "7" Value1 = "5" Value2 = "9" Value3 = "0.8" Value4 = "90" Value5 = "0.7"/>
</Magic>

<Magic id = "15" Name= "神圣战甲术">
<!-- Level表示技能等级 Value1:增加Ac1点数 Value2:增加Ac2点数 Value3:威力系数 Value4:附加时间(秒) Value5:时间系数-->
<Skill Lv = "0" Value1 = "0" Value2 = "2" Value3 = "0.1" Value4 = "20" Value5 = "0.1"/>
<Skill Lv = "1" Value1 = "0" Value2 = "3" Value3 = "0.2" Value4 = "30" Value5 = "0.2"/>
<Skill Lv = "2" Value1 = "1" Value2 = "4" Value3 = "0.3" Value4 = "40" Value5 = "0.3"/>
<Skill Lv = "3" Value1 = "1" Value2 = "5" Value3 = "0.4" Value4 = "50" Value5 = "0.4"/>
<Skill Lv = "4" Value1 = "2" Value2 = "6" Value3 = "0.5" Value4 = "60" Value5 = "0.5"/>
<Skill Lv = "5" Value1 = "2" Value2 = "7" Value3 = "0.6" Value4 = "70" Value5 = "0.6"/>
<Skill Lv = "6" Value1 = "3" Value2 = "8" Value3 = "0.7" Value4 = "80" Value5 = "0.7"/>
<Skill Lv = "7" Value1 = "3" Value2 = "9" Value3 = "0.8" Value4 = "90" Value5 = "0.8"/>
</Magic>

[+] 扩展xml文件属性配置详细字段

	WSMC 	// 一定几率无视防御或魔法防御
ZZJNSH // 增加主战技能伤害(千分比)
QZSH // 骑战伤害
SGJY // 杀怪经验
BJSHJM // 暴击伤害减免

[+] 扩展宝地传送功能

	1)、json中条件显示参数:(0:不显示 / 1:需全部满足 / 2:需满足其一 / 3:需特殊条件可进入 / 4: 需要满足 或者满足)

2)、宝地传送NPC脚本如下:

// 如果条件显示设置为4的情况下,需要添加条件2相关配置

[@main] JSON(16)
#IF
True
#ACT
MOV P21 1
MOV P22 1
#IF
True
#SAY
{
"标题": "宝地准备场",
"地图名字": "195",
"地图样式": "bdzbc_bd",
"地图怪物":[
"魔龙之子",
"魔龙之王",
"魔龙宝箱"
],
"地图产出":[
"本体强化攻杀",
"心灵召唤",
"狂龙紫电",
"血煞戒指",
"战神戒指",
"裁决",
"神武战甲",
"天魔战甲",
"圣战戒指",
],
"条件显示": "1",
"条件":[{
"状态": "$STR(P21)",
"描述": "角色等级≥30级"
},
{
"状态": "$STR(P21)",
"描述": "VIP1级"
}
],
"条件2":[{
"状态": "$STR(P21)",
"描述": "角色等级≥30级"
},
{
"状态": "$STR(P21)",
"描述": "VIP1级"
}
],
"描述":[
"进入日期:每天可进入",
"进入时间:当日12:00-23:59可进入",
"停留时间:每次最多可停留120分钟",
"进入次数:不限制",
"打宝时间:不限制 "
]
}

2025-05-26

[DBServer.exe 更新日志]

[!] 优化DBServer查询人物数据效率

[*] 修正查询人物数据声望显示异常的问题

[*] 修正自定义数据表不支持INT64数据类型的问题

[*] 修正导入人物数据时不会先清空自定义数据表的问题

[*] 修正内嵌启动器后打开两次窗口无法关闭的问题

[*] 修正返回人物排名榜经验百分比异常的问题

[+] 扩展灵宠系统数据结构

[LogDataServer.exe 更新日志]

[!] 优化日志插入数据库流程,采用线程提升效率

[GameLoad DB Manager.exe 更新日志]

[+] 新增支持技能数据库 NewSpell NewDefSpell 字段创建

[+] 完善各种数据表字段显示中文的功能

[GameData DB Manager.exe 更新日志]

[*] 修正导出怪物数据库时,怪物AI配置没被导出的问题

[*] 修改为自动压缩备份数据只针对当天创建的目录

[+] 支持最新灵宠系统数据结构合并

[WolServer.exe 更新日志]

[*] 修正仅上仙设置经验锁定的情况下,会导致人物在天人、天仙99重之后无法直接提升境界的问题

[*] 修正GetMapBaseObjects 获取对象列表前不清理返回变量的问题

[*] 修正行会攻击模式攻击友方可被麻痹的问题

[*] 修正神工坊技能强击显示千分比实际为百分比的问题

[*] 修正行会成员退出行会不及时刷新名单的问题

[*] 修正刚启动引擎幻域宝藏不显示商品的问题

[*] 修正RACE 133类型怪物距离太远有概率不攻击的问题

[*] 修正触发标签 [@Attack] 不返回抱月刀、半月弯刀主刀技能ID的问题

[*] 修正范围拾取脚本命令 RANGEPICK 不拾取 DropItemDown 掉落物品的问题

[*] 修正脚本命令 SETSWITCHCODE 无法关闭开关的问题

[*] 修正脚本命令 SetCsvProvisionalAbil 不支持属性下限为0的问题

[*] 修复炎龙饮血的伤害未附加角色攻击力的问题

[*] 修正人物骑战状态修改骑战速度导致人物跑动卡顿的问题

[*] 修正物品数据库设置禁止放入元神包裹的物品,元神会站着不动的问题

[*] 修正 Npc_def 目录下NPC不支持脚本传递的问题

[*] 修正两个玩家在安全区同屏下,A玩家在跑动期间按回城,B玩家看到A玩家位置不正确的问题

[*] 修正 道士宝宝 数据库攻击、防御、魔防部能突破65535的问题

[*] 修正同时开启引擎自动叠加功能并且在拾取物品触发有自动叠加物品脚本导致刷材料物品的问题

[*] 修正道士宝宝在安全区不会攻击怪物的问题

[*] 修正时光区极品爆出极品属性条数与装备颜色不匹配的问题

[*] 修正时光区极品概率设置异常的问题

[*] 修正五色晶石修复破碎装备异常的问题

[*] 修正物品数据库设置可自动叠加规则,但最大叠加数量为0,导致物品无法使用的问题

[*] 修正丢弃爆骨、烟花有概率导致人物卡顿的问题

[*] 修正灵兽石死亡后双击会复活变饥饿状态的问题

[*] 修正脚本命令 SetMapZoneBuff 范围内有多人的情况下会出现异常的问题

[*] 修正定时器脚本命令 SETCALCWATCH 重启服务器后导致计时器异常的问题

// 注意:必须先清空所有计时器,计时器不再计算重启服务器耗损的时间

[*] 修正脚本变量 $ITEMINFO[X].Y 无法获取0装备位置属性的问题

[*] 修正盾牌神兵属性降低组合技能效果无效

[*] 修正灵兽饱食度为饱的情况下有概率不拾取物品的问题

[*] 修正怪物数量太多导致怪物行走、攻击变慢的问题

[*] 修正脚本命令 GIVEB 数量大于1个时物品序列号相同的问题

[*] 修正脚本命令 DropItemDown 掉落的物品不支持 DnLook 的问题

[*] 修正元神突破系统成功失败都不自动增加祝福值的问题

[*] 修正经典模式寄售行寄售物品不显示外观名字的问题

[*] 修正追魂刺低级玩家可推高级玩家1格范围的问题

[*] 修正脚本命令 SETMONSTERATTACK 无效的问题

[*] 修正铁血技能Cooldown不能设置为0的问题

[*] 修正黑铁矿石升级武器收走材料异常的问题

[*] 修正人物离线挂机被顶号后机器码不变的问题

[*] 修正引擎报错 List index out of bounds (0)

[*] 修正跳转地图后刚刷出的怪物会缓慢先显示血条再显示怪物外观的问题

[*] 修正妖器会计算人物负重的问题

[*] 修正技能数据库 DefSpell 设置值超过127释放技能提示魔法值不够的问题

[*] 修正道士心魔攻击自己宝宝的问题

[*] 修正时长、极速版开通通灵塔后无法任命新行会会长的问题

[*] 修正各职业飞行技能不支持 Cooldown 的问题

[*] 修正技能数据库 NewSpell NewDefSpell 值设置无效的问题,并同步客户端魔法值计算公式

	0 - 3 技能魔法值计算公式,DefSpell最大只支持127,因客户端数据类型限制

魔法值 = (Spell / 4) * (技能等级 + 1) + DefSpell

4级以上技能魔法值计算公式,NewDefSpell 值最大取值范围255

魔法值 = (NewSpell / 4) * (技能等级 + 1) + NewDefSpell

除强化攻杀剑法外,其他强化技能采用以下算法计算元气值

元气值 = 2000 * 0.01 * 扣除魔法值

[*] 修正怪物血量为0时还会加血,导致0血怪物需杀死两次的问题

[*] 修正怪物会刷新到阻点的问题

[*] 修正阵法技能杀怪不会触发 @杀怪触发 标签的问题

[*] 修正内嵌启动器后打开两次窗口无法关闭的问题

[*] 修正骑战攻击状态异常的问题

[*] 修正时光区镶嵌宝石属性异常的问题

[*] 修正 Race 150 怪物伤害异常的问题

[*] 修正反射属性不能突破255的问题

[*] 修正五行变量返回值错误的问题

[*] 修正满血怪物攻击不掉血的问题

[*] 修正灵兽装扮、武器、衣服装扮的csv配置文件到期时间单位错误的问题

// 正确的为小时,以前的为天数

[*] 修正时光区编辑行会封号后不刷新面板的问题

[*] 修正内挂勾选灵兽放出微饿自动喂食导致物品会无故消失,必须小退才恢复的问题

[*] 修正龙王技能吞灵、冲锋异常的问题

[*] 修正灵兽摆摊期间无法新增物品的问题

[*] 修正经典区三转灵兽无法限制灵兽装备穿戴等级的问题

[*] 修正灵兽拾取物品异常的问题

[*] 修正变身披风后依然会被怪物攻击的问题

[*] 修正元神无开启魔器右键查看人物属性也会显示魔器属性栏的问题

[*] 修正右键查看人物属性魔核不显示变异属性的问题

[*] 修正刷怪文件MonGen地图名称过长导致不刷怪的问题

[*] 修正 `@采集开始_X $PARAM(2)`` 返回异常的问题

[*] 修正引擎面板重复打开城堡编辑界面会显示多个沙城的问题

[*] 修正使用随机后豹子会一直跑去还没拾取的物品坐标的问题

[*] 修正采集中被麻痹或冰冻等等,依然还在读条采集不会自动打断的问题

[!] 优化没人的地图怪物运行逻辑

[!] 重构部分统计人物属性代码,提高执行效率

[!] 优化引擎占用CPU的问题

[+] 扩展 CHANGEWSPLV CHANGEWSPEXP 参数1 参数2 参数3 用于设置是否弹出万兽谱界面

参数3 默认为0,0为弹出,1为不弹出

[+] 新增时长区剩余游戏时长10分自动弹出提示

[+] 扩展灵宠系统支持最新灵宠 “转世金蝉” 灵宠ID为 5

// 引擎包内有提供最新的灵宠配置文件

[+] 新增引擎面板 -> 选项 -> 功能设置 -> 技能魔法 -> 道士 -> 施毒术 -> 允许伤害增益衰退

// 开启后,施毒术将每个施毒术的伤害与时长叠加,使用内部算法平衡施毒术的伤害

[+] 扩展脚本变量 $OBJECTINFO[X].EXPHITTER 用于获取怪物爆物归属者名字

[+] 新增引擎面板 -> 工具 -> 打开引擎目录

[+] 新增引擎面板 -> 选项 -> 参数设置 -> 游戏选项三 -> 人物搜索广播视野

// 调整此值有效解决怪物假尸体问题,但也有弊端会影响引擎执行效率

[+] 新增引擎面板 -> 选项 -> 参数设置 -> 游戏选项二 -> 暴击伤害规则

默认暴击伤害规则为 先暴击后减防御

[+] 新增引擎面板 -> 选项 -> 参数设置 -> 时间控制 -> 宝宝死亡时间

// 以前引擎是默认宝宝12小时死亡的

[+] 新增引擎面板 -> 选项 -> 怪物设置 -> 基本参数 -> 允许宝宝攻击触发

// 默认为关闭,开启后 @Attack 触发支持宝宝攻击触发

[+] 新增引擎面板 -> 选项 -> 参数设置 -> 信息控制 -> 控制台显示信息 -> 检测脚本异常

默认为关闭,开启后如报错位置在前端,后端脚本将不再执行

[+] 新增支持突斩设置技能数据库CoolDown字段

[+] 新增脚本命令 SETENCHANTACTIVATE 参数1 参数2 用于激活指定符文技能

	参数1 // 符文技能ID
参数2 // 状态:0:关闭、1:开启

[@示范]
#IF
True
#ACT
SETENCHANTACTIVATE 16797 1
SENDMSG 5 已成功激活符文技能生命连接

[+] 扩展脚本命令 SETGOLDWARLOCK 参数1 参数2 参数3 用于设置赤金战令宝箱状态

	参数1 //宝箱序列(0..2)
参数2 //宝箱解锁状态
参数3 //是否静默模式(默认1 0、不弹界面 1、弹出界面)

[@示范]
#IF
True
#ACT
SETGOLDWARLOCK 0 1 0
SENDMSG 5 已成功解锁宝箱1

[+] 扩展脚本命令 SETGOLDWARSTATE 参数1 参数2 参数3 参数4 用于设置赤金战令奖励领取状态

	参数1 //宝箱序列(0..2)
参数2 //奖励序列(0..X)
参数3 //领取状态(0、灰色 1、未领取 2、已领取)
参数4 //是否静默模式(默认1 0、不弹界面 1、弹出界面)

[@示范]
#IF
True
#ACT
SETGOLDWARSTATE 0 1 1 0
SENDMSG 5 已成功解锁宝箱1

[+] 扩展脚本命令 CHANGEGOLDWARLV 参数1 参数2 参数3 用于设置赤金战令等级

	参数1 //操作符( + 、 - 、 = )
参数2 //数值
参数3 //是否静默模式(默认1 0、不弹界面 1、弹出界面)

[@示范]
#IF
True
#ACT
CHANGEGOLDWARLV = 1 0

[+] 战斗力相关脚本命令

	1)、新增脚本命令 CHANGEBATTLEMAXVAL 参数1 参数2 参数3 用于设置战斗力最大值

参数1 //属性类型
0、等级战斗力
1、装备战斗力
2、技能战斗力
3、灵兽战斗力
4、元神战斗力
参数2 //操作符号+、-、=)
参数3 //数值

[@示范]
#IF
True
#ACT
CHANGEBATTLEMAXVAL 0 + 1000
SENDMSG 5 已成功设置等级战斗力为1000

2)、新增脚本命令 CHANGEBATTLEVAL 参数1 参数2 参数3 用于设置战斗力当前值

参数1 //属性类型
0、等级战斗力
1、装备战斗力
2、技能战斗力
3、灵兽战斗力
4、元神战斗力
参数2 //操作符号+、-、=)
参数3 //数值

[@示范]
#IF
True
#ACT
CHANGEBATTLEVAL 0 + 1000
SENDMSG 5 已成功设置等级战斗力为1000

3)、增加脚本变量 $BATTLEVAL 返回当前战斗值

4)、增加脚本变量 $BATTLEVAL(A).B 返回战斗力相关数据

$BATTLEVAL(A).B //A为0..4,A位置的各项战斗力值,A对应如下:
0 //当前等级战斗力
1 //当前装备战斗力
2 //当前技能战斗力
3 //当前灵兽战斗力
4 //当前元神战斗力

B类型如下:
B //MIN、MAX 返回各项数据的最小值、最大值

2025-03-08

/////////////////////////////////////////////////////////////////////////////

注意事项:

取消原有文本兼容UTF8编码的功能,以后文本只支持ANSI编码。 因涉及到很多软件并不支持UTF8编码的读取,比如支付平台网关、 文本查找工具等等

引擎包内提供批量转换工具,并附有教程

/////////////////////////////////////////////////////////////////////////////

[DBServer.exe 更新日志]

[+] 支持人物红毒数据结构保存

[+] 新增数据管理网关 -> 管理 -> 数据工具 -> 优化数据库

[LogDataServer.exe 更新日志]

[*] 取消文本记录日志,只保留数据库方式保存

[GameData DB Manager.exe 更新日志]

[+] 支持人物红毒数据结构合并

[+] 新增自动压缩备份目录数据功能

[WolServer.exe 更新日志]

[*] 修正腰带、靴子附魔后看不到属性的问题

[*] 修正CHANGEEXP 不能操作超过21E的问题

[*] 修正ChangePetAbility 不能单独调整宝宝攻击、移动速度的问题

[*] 修正丢弃物品不触发 @DropItemX 的问题

[*] 修正法师诱惑之光能诱惑超过技能MagicSkill.xml 限定等级的问题

[*] 修正数据库设置治疗药水持久为0时导致怪物爆出无法使用乾坤药袋捆绑的问题

[*] 修正Race 143 23 类型怪物AI异常的问题

[*] 修正无限变量未赋值时使用EQUAL、LARGE、SMALL检测异常的问题

[*] 修改上清伏魔不再需要使用前置技能才可以释放

[*] 修正圣王盾神兵免伤属性无效的问题

[*] 修正 @宝宝死亡 触发标签 返回的宝宝为过滤数字后的问题

[*] 修正 @TakeOffAll 触发标签不返回 $PARAM(3) 的问题

[*] 修正极品进阶触发标签不会自动清理 $PARAM(1) 的问题

[*] 修正时光区、铁血区仙官装备属性与器灵属性冲突的问题

[*] 修正隐身术与隐身戒指冲突造成穿戴隐身戒指跑动也会消失效果的问题

[*] 修正迷光烈焰降双防异常的问题

[*] 修正使用管理命令 下马 不及时刷新人物属性的问题

[*] 修正破盾斩技能效果与别人看不一致的问题

[*] 修正骑战释放破空剑法无特效的问题

[*] 修正关闭引擎释放动态镜像地图异常的问题

[*] 修正修罗等级9级满经验后,无需突破直接升级的问题

[*] 修正红毒降双防数据不保存的问题

[*] 修正施毒术只有一个毒物时需释放两次才可以的问题

[*] 修正灵兽摆摊异常的问题

[*] 修正黑铁升级武器异常的问题

[*] 修改拾取物品自动叠加物品逻辑为先拾取后叠加

[*] 修改脚本命令 SetMapZoneBuff 释放的绿毒效果不采用施毒术的计算加权、增益、衰减机制

[*] 修正调用管理命令 GMEXECUTE Backstep 无效的问题

[*] 修正套装技能导致小退第二排技能快捷栏异常的问题

[*] 修正护身真气免伤无效的问题

[*] 修正查看他人战斗力、军衔今日获得功勋值异常的问题

[*] 修正引擎面板 红毒减防御及持久率 无效的问题

[*] 修正天书文字激活升级会返回第一个页面的问题

[*] 修正脚本命令 SETSECRETINFO 异常的问题

[*] 修正 SETPETATTRIBUTE 32 属性位置调整后每次释放灵兽都需要重新绑定灵兽的问题

[!] 调整道士宝宝攻击规则,主人进入安全区后自动放弃攻击

[!] 调整脚本命令 OPENMOQISYSTEM 为针对个人开放魔器系统

[!] 重构时光区装备淬炼功能

[+] 扩展支持使用管理命令 上马 转为骑战模式(使用两次命令)

[+] 新增引擎面板 -> 参数设置 -> 游戏选项二 -> 韧性比例

[+] 新增引擎面板 -> 参数设置 -> 游戏选项一 -> 战斗力 -> 开启引擎计算

[+] 新增引擎面板 -> 怪物设置 -> 怪物技能 -> 灵兽 -> 清理拾取列表范围

[+] 新增引擎面板 -> 功能设置 -> 技能魔法 -> 道士技能 -> 心灵召唤 -> 清空攻击目标

// 开启此选项后,释放心灵召唤指向空目标将清空宝宝的攻击目标

[+] 新增脚本变量 $RELIVETIME 用于返回距离重生戒指的剩余时间

[+] 扩展月光宝盒、功勋宝盒时间到期功能!

	[物品DB]
340;月光宝盒(小);9;1;1;0;0;0;907;200;0;0;0;0;0;0;0;0;30;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;5000;10;0;0;0;4251698
343;功勋宝盒(小);9;4;1;0;0;0;10808;10;0;0;0;0;0;0;0;0;30;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;5000;10;0;0;0;4251698

1)、物品DB中"Sc"为使用期限,单位(天)!为0则表示永不过期!

2)、宝盒吸收经验后开始计时,到达时间后,将无法吸收经验!

3)、使用$ITEMINFO[X].ITEMEXT(275)用来获取宝盒到期时间!

[+] 新增命令 CLEARCASTLEOWNER 参数1 //作用于清除占领沙城行会!

	参数1 //城堡名称

[@示范]
#ACT
CLEARCASTLEOWNER 沙城
SENDMSG 5 沙城行会已经清除...
break

[+] 新增脚本命令 SendXingYunFD 参数1 用于发送幸运福袋获奖特效

	参数1 // 奖励物品列表 格式:物品look|物品look 支持多个物品

[@示范]
#IF
TRUE
#ACT
SendXingYunFD 907|10808

[+] 新增脚本变量 GetMapBaseObjects 参数1 参数2 参数3 参数4 参数5 参数6 参数7 获取指定地图坐标范围内的所有对象指针

	参数1 // 地图编号
参数2 // X坐标
参数3 // Y坐标
参数4 // 范围(最大范围值12)
参数5 // 获取对象类型,0:所有对象,1:玩家,2:怪物 3:自己的宝宝
参数6 // 保存的变量(多个对象,自动递增)
参数7 // 对象数量

[@示范]
#IF
TRUE
#ACT
GetMapBaseObjects SELF $X $Y 12 2 D$万能 P1
MOV P2 0
FORLOOP P2 <= $STR(P1)
SENDMSG 5 <$OBJECTINFO[$STR(D$万能_<$STR(P2)>)].NAME>
INC P2 1
ENDFORLOOP
SENDMSG 5 对象总数量:<$STR(P1)>个

[+] 新增脚本检查命令 IsProperTarget 参数1 用于检测是否可以攻击目标

	参数1 // 玩家名字、怪物指针(检测怪物只支持指针)

[@示范]
#IF
IsProperTarget 传说
#ACT
SENDMSG 5 可以攻击对方

[+] 修改脚本变量 $MONSTER[X].Y 为 $OBJECTINFO[X].Y 用于获取指针对象相关属性

		X //指针对象

Y支持以下属性
NAME //名字
HP //血量
MP //魔法值
EXP //经验值
LEVEL //等级
AC1 //防御下限
AC2 //防御上限
MAC1 //魔防下限
MAC2 //魔防上限
MC1 //魔法下限
MC2 //魔法上限
SC1 //道术下限
SC2 //道术上限
DC1 //攻击下限
DC2 //攻击上限
X // 坐标X
Y // 坐标Y
S // S变量
D // D变量
TARGET // 攻击目标名字
RACE // 怪物类型
MASTER // 主人名字

2025-01-21

/////////////////////////////////////////////////////////////////////////////

注意事项:

无限变量的使用,D$变量只能为整数型,不可以赋予字符串

/////////////////////////////////////////////////////////////////////////////

[GameLoad DB Manager.exe 更新日志]

[+] 扩展怪物数据库特殊属性勾选,支持“禁止宝宝攻击”

[WolServer.exe 更新日志]

[*] 修正军衔系统显示下级升级经验异常的问题

[*] 修正元神释放强化攻杀需要元气值的问题

[*] 修正自动上线挂机人物,如有两个角色有概率不能直接上线的问题

[*] 修正 [Exception] TPlayObject::ClearFree Code:=16 报错的问题

[*] 修正检测脚本命令 CHECKUSERDATE 异常的问题

[*] 修正 MapQuest.txt 杀怪触发被玩家宝宝杀死有概率不触发标签的问题

[*] 修正引擎面板-> 选项 -> 功能设置 -> 宝宝升级 -> 主动攻击等级限制不能超过255的问题

[*] 修正雷炼无视魔法防御属性无法突破255的问题

[*] 修正有概率连接游戏网关失败的问题

[*] 修正范围拾取后自动回收同时使用物品造成的卡掉物品的问题

[*] 修正数据库叠加物品上限超过65535时,叠加物品数量超过65535会导致物品消失的问题

[*] 修正脚本命令 SENDSLZHUPLEVEL 异常的问题

[*] 修正物品DB设置无视防御、无视魔防不能突破255的问题

[*] 修正祝福油罐使用异常的问题

[*] 修正精炼系统异常的问题

[*] 修正脚本命令 SKILLPOWERPERMILL 无法降低技能威力的问题

[*] 修正 [Exception] TBaseObject::Die 1 CheckCode:: 32 报错的问题

[*] 修正镇魔装备无法突破15级的问题

[*] 修正查看他人装备不显示魔盾属性栏的问题

[*] 修正脚本命令 RANGEPICK 切换地图后不会自动清理拾取列表的问题

[*] 修正 [异常] TGameEngine::Execute 报错后必须重启引擎才能正常登陆游戏的问题

[*] 修正CSV临时属性 108、109属性异常的问题

[*] 修正CSV临时属性 78属性无效的问题

[*] 修正经典区元力值不能突破65535的问题,并且显示异常的问题

[!] 优化无限变量S$ D$ 提取速度

	// 需要注意变量的使用,D变量为整数型,不可以赋予字符串

S变量为 字符串变量
D变量为 整数型变量

[+] 扩展脚本命令 RANGEPICK 参数1 参数2 参数3 参数4 参数5 用于设置超出指定范围从拾取列表删除

	参数1 //拾取开关(0、关闭 1、开启)
参数2 //拾取类型 默认为0可忽略 (0、所有物品 1、人物爆出 2、怪物爆出)
参数3 //拾取间隔 单位:毫秒 默认500毫秒
参数4 //拾取执行时间 单位:毫秒 可有效降低范围拾取造成的卡顿
参数5 //拾取范围(0为不限制 默认为0)

说明:主要作用就是分批次拾取物品,降低扎堆同时向客户端发送封包造成引擎卡顿

[@示范]
#IF
TRUE
#ACT
RANGEPICK 1 0 500 100 15

[+] 新增脚本变量 $RANGEPICKCOUNT 获取范围拾取剩余未拾取物品数量

[+] 新增引擎面板 -> 参数设置 -> 游戏选项二 -> 暴击伤害比例

[+] 新增支持破魔系统天赋单个属性重置

[+] 新增脚本变量 $FELEMENTDC[X] $FELEMENTAC[X] 用于返回指定五行防御、攻击属性

// X 为0..4

[+] 新增支持客户端内挂灵兽自动转药功能;

// 需要在物品DB中对药品设置“Extid”数值,Extid不能重复

[+] 扩展脚本命令 GUILDWAR 参数1 参数2 参数3 用于开启行会战争

	参数1 // 敌对行会名称
参数2 // 行会站持续时间(分),默认为引擎设置时间
参数3 // 允许普通成员开启 (默认为0, 0、不允许 1、允许)

[+] 新增个人计时器功能

	// 此计时器支持离线,每个人物最多创建20个定时器

1)、新增脚本命令 SETCALCWATCH 参数1 用于开启指定计时器的功能

参数1 计时器名字 (支持任意字符串,但不可重复)

[@示范]
#IF
TRUE
#ACT
SETCALCWATCH 计时器

2)、新增检查命令 CHECKCALCWATCH 参数1 用于检查是否有这个计时器

参数1 计时器名字 (支持任意字符串,但不可重复)

[@示范]
#IF
CHECKCALCWATCH 计时器
#ACT
SENDMSG 5 定时器已存在

3)、新增脚本命令 RESETCALCWATCH 参数1 用于复位指定计时器的功能

参数1 计时器名字 (支持任意字符串,但不可重复)

[@示范]
#IF
TRUE
#ACT
RESETCALCWATCH 计时器

4)、新增脚本命令 REMOVECALCWATCH 参数1 用于删除指定计时器的功能

参数1 计时器名字 (支持任意字符串,但不可重复)

[@示范]
#IF
TRUE
#ACT
REMOVECALCWATCH 计时器

5)、新增脚本命令 CLEARCALCWATCH 用于清空指定计时器的功能

[@示范]
#IF
TRUE
#ACT
CLEARCALCWATCH

6)、新增计时器相关变量

$CALCWATCHCOUNT // 计时器数量

$CALCWATCH[X].Y

X // 计时器名字

Y支持以下属性

DAY // 天数
HOUR // 小时
MIN // 分钟
SEC // 秒数
MS // 毫秒

[@示范]
#IF
TRUE
#ACT
SETCALCWATCH 计时器
SENDMSG 5 运行总天数:<$CALCWATCH[计时器].DAY>
SENDMSG 5 运行总小时:<$CALCWATCH[计时器].HOUR>
SENDMSG 5 运行总分钟:<$CALCWATCH[计时器].MIN>
SENDMSG 5 运行总秒数:<$CALCWATCH[计时器].SEC>
SENDMSG 5 运行总毫秒:<$CALCWATCH[计时器].MS>