bluem2引擎登录器官网 > 引擎登录器 > 引擎免费下载 > 【最新发布】BLUE引擎正式版21.04.29[需换新注册文件]免费版程序

【最新发布】BLUE引擎正式版21.04.29[需换新注册文件]免费版程序

【最新发布】BLUE引擎21.04.29正式版程序稳定版BlueM2下载地址:
https://bluem2.lanzoui.com/iN1nZorkbna
最新BLUE引擎 BLUE登录器 BLUE引擎官网 BLUEM2/LEGM2/LEGENDM2更新日志:
BLUE引擎+登录器+网关+微端全部免费开放,无任何限制可商业开区。“稳定 安全 高效”BLUE引擎,值得信赖!
本站免费新手视频教程,常见问题解答https://www.biuem2.com/good/2680.html

原创脚本区→ https://www.biuem2.com/jiaoben/
吸金开区版本→ https://www.biuem2.com/banben/
登录器皮肤→ https://www.biuem2.com/sucai/
AC封挂网关→ https://www.biuem2.com/m2/ac/
插件 教程 精品资源→ https://www.biuem2.com/good/
问答 教程 问题解答→ https://www.biuem2.com/help/
版本 脚本 高端定制→ https://www.biuem2.com/dingzhi/
!微信验证码功能因使用外部文本,当文本达到一定体积(1M以上),会严重影响服务器性能,建议优化思路或者使用两步验证功能替换
!请注意,从2021年开始的程序版本,不再支持windows XP、2003及以下的操作系统
 
2021/4/28 全套配套
---------------------------------------------------------------------------
M2
  修正宝箱当几率值为222时不可开出功能失效问题
 
 
2021/4/17 全套配套
---------------------------------------------------------------------------
M2
  修正因怪物复活有几率出现报错问题
  优化自动拾取
  !去掉镜像地图,删除ADDMIRRORMAP、DELMIRRORMAP、MIRRORMAPTIME命令
  换成NewCopyMap命令,格式:NewCopyMap 源地图名 副本地图标题 有效时间(秒) 是否刷怪(0/1) 结果跳转字段,返回副本地图名在:<$PARAMSTR(0)>
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [@副本测试]
  #act
  NewCopyMap d717 猪七副本 45 1 @CreateCopyMapResult
  [@CreateCopyMapResult]
  #if
  CompVal <$PARAMSTR(0)> ! ""
  #act
  map <$PARAMSTR(0)>
  mov A副本地图名称 <$PARAMSTR(0)>
  SendMsg 7 创建副本成功,进入副本:<$PARAMSTR(0)>
  #elseact
  SendMsg 7 创建副本失败
 
  英雄跟随更及时
  修正上个版本消耗修复神水出错问题
  修正刷一些无效怪物导致引擎出错问题
  优化MapEvent触发,配置地图名称不区分大小写
  修正鉴定属性的合击威力未能生效问题,测试使用:Give 装备名称 1 0 0 24=15|24=15|0|0|1
  套装属性值可根据设置显示百分比符号(配套更新)
  !吃药间隔控制去掉,请在网关进行控制
  !多次重新加载怪物DB后,怪物上不了毒问题
 
游戏网关
  细化物品使用控制
 
客户端
  四格版本装备界面支持称号
  内挂增加快速开盾开关(可防止卡盾)
  内挂增加淡化火墙效果开关
  套装属性值可根据设置显示百分比符号(配套更新)
  挂机被人攻击不小退
  挂机死亡不关闭客户端
  挂机道士可以边砍边放魔法,法师优化走位
  挂机寻路内存泄漏问题
  挂机路点模式适合多墙地图,解决发呆问题
  挂机不断拾取他人物品问题
  优化自动吃药规则,不卡药
  优化快速攻击、魔法,提高精度
  修正摆摊素材缺图报错
  修正挂机自动拾取步伐问题
  修正内挂保护小退认证服务器失败问题
  修正一时播放太多声音导致卡盾问题
 
 
 
 
 
 
2021/4/4 全套配套
---------------------------------------------------------------------------
M2
  优化mysql功能模块线程
  优化地图后台管理逻辑
  优化玩家视觉事物逻辑
  修正引擎启动有概率出错问题
  读、写玩家存档限流(大概每秒2000存档),防止DBS用爆内存
  单个引擎人数限制修改为:15000->65536
  性能更好的地面物品管理
  优化自动拾取逻辑
  商铺可批量购买
   
  NPC、怪物名字长度扩展为:14->32
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1、使用DBCommander先把monster.db数据导出备份到文本
  2、使用工具HeroDBConvertor.exe转换新monster.db(扩展名字长度)
  3、使用DBCommander清空新的monster.db,并导入步骤1备份的数据文本,这时怪物名称就扩展到最长32字节
  4、NPC名称更改直接在npcs.txt、merchant.txt文本编辑
  5、比如“稻草人”变更为:这是名字很长的稻草人<不死系>
  6、如果怪物带换行符,爆率文件需要将对应的“”变更为“-”
  7、CustomMonNameColors.txt自定义名字颜色的怪物会全名显示(需更新客户端)
  
客户端
  增加隐藏尸体时的渐隐效果
  修正查看他人发型显示错误问题
  修正死亡时的翅膀渲染顺序
  时装内发光:stditems.db中时装的shine>=100,对应data~wfashionshine.wzl文件,每50张图一个效果,有效图片的请保持连续,例:shine=100调用0~49的图片,shine=101调用50~99的图片
  战士也可以自动开盾
  商铺可批量购买
 
 
 
 
 
 
2021/3/14 全套配套
---------------------------------------------------------------------------
M2
  修正因为扩展包裹,引擎和DBS通讯数据量变大,在大量保存数据时可能发生丢包问题
  套装技能属性增加抵抗他人技能伤害设置(百分比),必须和客户端配套!
  修正关闭服务器时多次释放Acceptor完成端口句柄的错误
  优化网络测试、邮件、金币交易市场模块后台线程的效率
  !去掉NPC元宝寄售系统
  英雄分身不使用全技能模式
  增加!setup参数:StrictWeaponUpgradeResult=1时,严格限制升级武器的最高点数,默认0
  增加!setup参数:MultipleTitleProperties=1时,只要激活一个称号,其他称号属性都能生效,默认0
  游戏网关解决被雷霆剑法麻痹后释放魔法的误封
  修改killSlaveName为强制杀死随从
  解决偶尔还有个别假怪问题,需配套更新!
 
  技能优化
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  设置随机释放连击NPC命令:RANDSERIESSKILL // 主要给假人用
  修正特殊技能减少CD时间溢出问题
  修正连击技能间隔时间不正确问题
  完善十步一杀技能效果,需要配套客户端
  十步一杀、冰霜群雨支持强化技能效果
  野蛮冲撞带残影效果,以区分普通跑动
  修正完善雷霆剑法效果
  修正三焰咒技能效果
  优化战士英雄连击的起手时机
  修正英雄群攻目标不全问题
 
  英雄支持3个技能:英雄十步一杀、英雄冰霜群雨、英雄死亡之眼
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  在magic.db复制对应的三个人物技能,名称前面加上“英雄”,并将descr填写上“英雄”即可
  客户端可以通过 内挂->技能->英雄特殊技能不打怪 选项不打怪,有利于PK。
  
  斗笠扩展,需要配套客户端,db中斗笠的AniCount对应资源:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4..11: 普通读取hair2.wzl、连击读取cbohair.wzl
  12..14: 普通读取hair3.wzl、连击读取haircbo3.wzl
  15..62: 普通读取hair4.wzl、连击读取haircbo4.wzl
  63..127: 普通读取~hair5.wzl、连击读取~cbohair5.wzl // 以“~”开头的自定义资源
 
DBS
  修正在大量保存数据时可能发生丢包问题,提高网络性能
 
登录器、客户端
  配套支持抵抗技能伤害功能
  完善部分技能特效
  配套支持斗笠扩展
  修正完善登录器读取列表,当2个列表都读取不到时,将尝试读取登录器目录下的主列表文件名文件(支持之前的加密)
  登录器配置的物品规则列表只有1条时,客户端将不释放lsDefaultItemFilter.txt列表,可以自定义此文本
  解决偶尔还有个别怪物假象问题,需配套更新!
 
 
 
 
 
 
2021/2/21 全套配套
---------------------------------------------------------------------------
M2
  优化IOCP逻辑,减少内存占用
  去掉M2的封加速功能
  套装支持斗笠、军鼓、马牌、时装位置,需要配套更新客户端
  恢复MapEvent移动触发(在一月份版本去掉此功能)
  添加随机进入权重掉落模式,格式:1/3 物品名1|权重1,物品名2|权重2... 1 $GAMEGOLD ? 1 -1 // 1/3机会进入权重掉落计算,参考之前的权重掉落更新说明
  提高和DBS的通讯效率,减少内存占用
  假人、英雄的流星火雨技能支持使用magic.db的delay(毫秒)控制释放间隔,人物原本已支持
  优化集体瞬移散开的效率
  摆摊时CheckItem有效
  补全购买重叠物品的日志和使用重叠物品的日志
  英雄使用物品优化,记录日志主体修改为英雄
  修正物品日志列表修改后不能实时生效问题
  修正技能套装刷新产生的内存泄漏
  在Npcs.txt、MerChant.txt添加新NPC后重新加载可实时生效
  扩展仓库大小为原来的3倍(135个),mir.db数据需要使用合并工具转换后使用,全套配套更新(包括lui.pkg)!MySQL版本不需要转换数据。
  
  新聚怪技能:79;黑暗之爪;4;42;3;15;4;20;0;0;0;42;50;44;100;46;200;50;400;55;800;60;1600;66;3200;72;6400;79;12800;86;25600;94;51200;103;102400;113;204800;124;409600;136;819200;15;550;0;0;
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  !setup参数MagAssemblyMonsTime是技能释放间隔时间,默认15秒
  
  
  equal、large、small、isbitset支持解释嵌套变量,例如:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  #act
  mov M80 12345
  mov S14 M80
  #if
  equal <$STR(S14)> 12345
  #act
  SendMsg 7 正确结果
  #elseact
  SendMsg 7 错误结果
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  添加检测是否正在摆摊的NPC命令:IsMarketStallOpened
  #if
  IsMarketStallOpened
  #act
  sendmsg 7 摆摊中...
 
DBS
  提高和M2的通讯效率,减少内存占用
 
客户端
  支持套装位置的扩展
  补全传送、瞬移的特效
  优化第三人移动动作体验
 
微端服务器
  减少缓存内存占用,提高效率
 
 
 
 
 
 
2021/1/29 全套配套
---------------------------------------------------------------------------
M2 优化部分逻辑
客户端
  微端下快速并显示小地图
  打开仓库物品列表后,可以使用Ctrl+鼠标右键快速存、取仓库物品
 
 
 
 
 
 
2021/1/13 全套配套
---------------------------------------------------------------------------
M2 技能ID=72,是否允许飞到物品上开关DoFlyOnItem=0,默认0关闭,1开启
   修正1229更新造成SetAbility的GM隐身不恢复问题
   修正MonGen.txt集中点刷法,在新的刷怪模式下失效问题
   去掉五行阵法功能!
   添加幸运值变量,人物$LUCKPOINT,英雄$H.LUCKPOINT
   远程脚本插件安全更新:
   1) 上传远程脚本时,需要验证密码,避免捣乱,此功能需要一个正确的授权码,需要请联系工作人员免费获取(提供机器码、自定义密码),引擎和远程脚本插件需配套更新。
   2) 添加脚本上传过滤列表RemoteScriptFilters.txt,修改此文本后重新加载所有NPC即可,用法:在RemoteScript.ini中的
      BlacklistMode=true // 黑名单模式(默认) 列表中的NPC将使用【本地】方式加载,非列表中的NPC使用【远程】方式加载。
      BlacklistMode=false // 白名单模式 列表中的NPC将使用【远程】方式加载,非列表中的NPC使用【本地】方式加载。
      列表条目的格式:NPC基本目录_NPC名称-地图号,默认会生成几个例子,请打开列表参考。
   3) 远程脚本服务器更新,支持用户访问控制,格式和编写方式请参阅“远程脚本服务器和插件.7z”的“说明.txt”
   4) RemoteScript.ini添加用户名参数UserName,配合用户访问控制,格式:
      Host=127.0.0.1
      Port=8800
      # 默认用户名default,拥有最大权限,示意请设置比较复杂的密码
      UserName=default
      # 默认密码bluem2
      Password=bluem2
      # 远程读取的版本
      ServerVersion=热血传奇_V1.0
   5) 远程脚本服务器、远程脚本插件需要配套更新!
 
 
 
 
 
 
2021/1/1 全套配套
---------------------------------------------------------------------------
M2 修正重新加载NPC后城堡标志设置错误问题
   Npcs.txt也可以修改后重新加载(之前只支持Merchant.txt)
   全局字符串限制长度为1024
   添加变量$CURITEMINDEX,当前将出产物品的ID
   添加变量$ITEM(NN),主要用于展示背包的物品,NN为物品的ID,客户端鼠标指向物品图标有属性展示,下面有例子,需要同时更新客户端
   [@PickupItem]触发的<$PARAM(3)>修改为掉落者名称
   主菜单添加重新加载MapQuest脚本功能
   修正少数情况下NPC脚本参数个数识别错误问题
   改善法师英雄
   魔法设置面板添加:忽视护体神盾、忽视强化骷髅伤害减免、忽视内功伤害减免 开关,默认关闭,开启则在忽视几率触发的情况下起作用
 
客户端
   修补NPC对话框处理部分图片类对象
   完善聊天栏、对话框等的装备显示
   支持SetAbility动画效果,需要定义好效果文件AbilityEffects.txt,并将文件放到data目录,聊天栏打:~ReloadAE 命令可重新加载文件
   聊天栏、对话框、跑马灯修正装备显示位置,支持[Ctrl+鼠标中键]查看佣兵契约纸
 
NPC脚本会自动补全#IF,比如:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@测试]
;会自动再内存补全下面2条语句,不修改脚本文件,之前下面的例子不会执行SetRandomNO这句
;#if
;true
#act
SetRandomNO 10000
 
#if
compval <$RANDOMNO> < 1000
#act
sendmsg 3 特等奖<$RANDOMNO>
#elseif
compval <$RANDOMNO> < 7000
#act
sendmsg 7 鼓励奖<$RANDOMNO>
#elseact
sendmsg 7 谢谢参与<$RANDOMNO>
 
 
 
扩展SetAbility,第5参数是自身效果id,id对应AbilityEffects.txt的条目效果,
参考附件AbilityEffects.txt,此文件需要放在客户端的data目录,格式:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;ID(1~65535不要重复) WIL名称 起始图片 帧数 帧间隔 声音 声音循环(0/1) 特效模式(0/1)
1 Prguse2 110 15 80 Wavpowerup.wav 1 1
2 Prguse2 90  19 80 Wavpowerup.wav 1 1
 
脚本示例: // 一个Ability带三个动画效果
SetAbility 51 80 15 "" 1
SetAbility 51 80 15 "" 2
SetAbility 51 80 15 某buffer恢复正常 3
 
 
QF添加怪物掉落极品触发:[@MonDropItemDown],极品指HintItemList.txt中存在的物品,需要同时更新客户端
触发时支持的变量:<$PARAM(0)>:手动丢弃(0/1) <$PARAM(1)>:物品名 <$PARAM(2)>:Looks <$PARAM(3)>:掉落者名称,<$PARAM(4)>:地图名,
<$PARAM(5)>:X坐标 <$PARAM(6)>:Y坐标 <$PARAM(7)>:物品ID <$PARAM(8)>:掉落者Race(人物1,英雄60)
例1:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@MonDropItemDown]
#act
; 下面几句是为了显示为一条信息,可能不太准确
mov MDropItemID <$PARAM(7)>
inc SMonDropDownItems <$ITEM(MDropItemID)>
DelayGoto 64 ~MonDropItemDown
 
[~MonDropItemDown]
#if
compval <$STR(SMonDropDownItems)> ! ""
#act
SendScrollMsg <$PARAM(4)>的<$PARAM(3)>掉落:<$STR(SMonDropDownItems)>(点击物品可暂停漂移) 151 16
mov SMonDropDownItems ""
 
例2:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@吆喝]
#say
先放上你要吆喝的物品,放置完成后点击<开始吆喝/@开始吆喝>开始叫卖。 <返回/@back>   <关闭/@exit>
#act
QueryItemDlg 放上吆喝的物品 @ShowMyItem 0
 
[@ShowMyItem]
#act
GetDlgItemId MShowItemID
inc SShowItems <$ITEM(MShowItemID)>
delaygoto 100 @吆喝
 
[@开始吆喝]
#if
compval <$STR(SShowItems)> ! ""
#act
SendScrollMsg 【<$USERNAME>】出售物品:<$STR(SShowItems)>(点击物品可暂停漂移) 151 16
mov SShowItems ""
close
 
例3:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@showItems]
#act
SetDlgItem 屠龙
FormatStr %s <$DLGITEMSHOW>
SetDlgItem 怒斩
FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>
SetDlgItem 龙牙
FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>
SetDlgItem 逍遥扇
FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>
#say
装备:<$CALCRESULT> <返回/@back>   <关闭/@exit>
 
 
 
MapQuest添加拾取触发,文件MapQuest.txt,
触发时支持的变量:同上
掉落物品的角色,如果下线或消失,角色名将为空,一般设置物品消失的时间比怪物消失的时间长
例:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;地图 变量 判断 角色名 物品名 执行文件名
3 [123] 0 蛤蟆/玩家名 乌木剑 QPickup1 // QPickup1指向MapQuest_def目录下的QPickup.txt脚本
3 [123] 0 * 屠龙 QPickup2
 
 
 
添加远程脚本功能
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) 引擎成功加载RemoteScript.dll,可以使用远程脚本功能,
   RemoteScript.ini是参数设置文件,其中:
     Host=127.0.0.1 // 远程NPC脚本服务器的IP地址
     Port=8800 // 远程NPC脚本服务器的端口
     Password=bluem2 // 连接密码
     ServerVersion=热血传奇_V1.0 // 服务器的版本,会以此标识上传、加载远程脚本数据,可动态修改
   要加载远程NPC脚本:勾选 引擎主菜单-管理-使用远程脚本,勾选后,重新加载NPC或开启引擎会加载远程服务器的NPC脚本数据
   最好要保证远程脚本服务器能和引擎服务器通讯够顺畅,否则远程加载NPC脚本速度会变慢。
   启用远程加载脚本后,本地脚本文件的内容可以清空
 
2) 远程脚本服务器参见附件:RemoteScriptServer.7z
   修改参数文件config.conf,以达到自己的要求,主要修改其中的端口和连接密码,参考压缩包中的“说明.txt”
   修改完,运行:启动.bat 即可
 
3) 引擎成功加载RemoteScript.dll,适当修改脚本之后,可以点击 引擎主菜单-管理-上传脚本数据,
   可以使用专门的测试服务器修改、上传脚本,其他连接同一远程脚本服务器的引擎,只需要重新加载所有NPC即是最新状态。
 
4) 涉及文件在压缩包目录:通用-远程NPC脚本 中,注意连接设置正确性,否则将导致引擎卡顿
 
 
 
 
 
 
2020/12/17 全套配套
---------------------------------------------------------------------------
M2 修正摆摊集市有概率出现错误信息问题
   修正上个版本玩家技能名称串到英雄技能名称问题
   UPGRADEITEMEX 的第7参数是1时,点数几率参数将不随机,直接赋予点数
 
 
 
 
 
 
2020/12/15 全套配套
---------------------------------------------------------------------------
M2 修正批量TAKE物品记录可能不正确问题
   修正重新加载技能DB后,部分操作技能的NPC命令失效问题(原重新登录可解决)
   修正道道合击多次计算对方防御问题!
   追心刺技能到达8级可以百分之百破盾
   !Setup添加参数QuitGameWideTrigger,参数为1时,非安全区下线也可以触发@OnLogout_OffLinePlaying和@OnLogout_SoftClosing,默认0
   添加变量$SERVERID,对应!setup参数的serverid
   添加变量$ONLINEHUMNUM,当前引擎在线人数
   添加变量$OFFLINEHUMNUM',当前引擎离线人数
   添加变量$TOTALHUMNUM',总在线人数(多引擎)
   添加NPC命令ResetLoopCounter,重置脚本死循环计数,在一些循环较多的脚本需要用到
 
 
怪物文本爆率增加权重掉落模式,格式:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1/99999998 物品名1|权重1,物品名2|权重2,物品名3|权重3... 1 $GAMEGOLD ? 1 -1
  说明:
  1) 99999998 表示使用权重模式
  2) 权重是非0数字,衡量在一个物品在此条目所有物品中的掉落占比,数字越大几率越大
  3) 此模式必定、且只掉落一件物品
  4) 不适合掉落金币
 
 
添加NPC命令JSON,操作JSON的字符串,格式:JSON 标识|存活时间 方法 名称 数值
!可以使用VSCode(安装json扩展插件,json格式化插件)查看编辑json文件。
!资料参考:https://www.runoob.com/json/json-tutorial.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
各个参数意义:
1) 标识,类似自由变量,指定一个唯一标识,“|”号后面是此对象的存活时间(秒),-1表示永久,
不写存活时间默认是180秒,即180秒后,此标识的JSON对象会被释放。
 
2) 方法,有以下几种:
L  从文件加载,不要频繁使用,否则有性能问题!!!
S  保存到文件,不要频繁使用,否则有性能问题!!!
A  添加
E  赋值
C  清理
D  删除指定名称的子结点
P  解析给定的字符串
O  排序,格式:
   1) JSON 标识 O 是否按名称排序(0/1) 是否排序子结点(0/1)
Y  复制,格式:
   1) JSON 标识 Y 源标识 0  // 从“源标识”复制一份到“标识”
M  合并,格式:
   1) JSON 目标标识 M 源标识 0  // 0 不重复,重复项目将以“目标标识”为准,默认
   2) JSON 目标标识 M 源标识 1 // 1 不重复,重复项目将以“源标识”为准
   3) JSON 目标标识 M 源标识 2 // 2 可重复,将“源标识”项目追加至“标识”中
 
3) 名称,类型是字符串
 
4) 数值,有以下几种类型:
整数 12345678
字符串 普通字符串
布尔值 True|False
浮点数 1.367
日期时间 "2018-11-12 06:12:11" 或 "2018-11-12T06:12:11.123",“.”后面指的是毫秒
数组 ["string",100,null,true,false,123.4]
子对象 {"name":"ObjectName","value":"ObjectValue"}
注意:数值最好不要有空格,如果必须带空格,请使用双引号""包围起来以表示为一个参数
 
5) 取值的变量:
<$JSON(标识)JSON> // 固定格式,JSON对象的字符串,单行
<$JSON(标识)FORMAT> // 固定格式,JSON对象格式化后的字符串(换行)
<$JSON(标识)path> // 某路径或名称下的数值
 
例:
#act
JSON myjson C
JSON myjson A 整数 12345
JSON myjson A 字符串 这是字符串...
JSON myjson A 布尔值 True
JSON myjson A 浮点数 2.532
JSON myjson E 日期时间 "2018-11-12 06:12:11"
JSON myjson E 数组 ["字符串",100,null,true,false,123.4]
JSON myjson E 对象 {"name":"Object_Name","value":"Object_Value"}
sendmsg 7 myjson格式化字符串是:<$JSON(myjson)FORMAT>
; 第一个位置以0开始
sendmsg 7 “数组”第二位置的值是:<$JSON(myjson)数组[1]>
; 保存到文件
JSON myjson S ..QuestDiaryexample.json
 
; 从字符串解释到JSON
JSON myjson P {"myobj":{"name":"object1","subobj":{"name2":"subObj2","name1":"subObj1","int2":123456},"array":[1,3,4]},"array":[1.23,200,300,{"name":"字符串"}]}
sendmsg 7 取值:<$JSON(myjson)object.subobj.int2>
 
JSON myjson D array[3]
JSON myjson D myobj.subobj[1]
JSON myjson D myobj.subobj.int2
sendmsg 7 删除后的结果<$JSON(myjson)FORMAT>
 
; 合并例子
JSON myjson1 P {a:10000,b:200,c:"id"}
JSON myjson2 P {a:"str",d:500,e:7002}
 
; 不重复,重复项目将以“目标标识”为准,默认
JSON cpyjson Y myjson1
JSON cpyjson M myjson2 0
sendmsg 7 合并结果0:<$JSON(cpyjson)JSON>
 
; 不重复,重复项目将以“源标识”为准
JSON cpyjson Y myjson1
JSON cpyjson M myjson2 1
sendmsg 7 合并结果1:<$JSON(cpyjson)JSON>
 
; 追加项目,允许重复
JSON cpyjson Y myjson1
JSON cpyjson M myjson2 2
sendmsg 7 合并结果2:<$JSON(cpyjson)JSON>
 
; 赋值
JSON myjson E object.赋值.int 87654321
JSON myjson E object.赋值.float 5.76
JSON myjson E object.赋值.string abcdefg...
JSON myjson E object.赋值.datetime "2022-11-22 11:22:33.123"
JSON myjson E object.赋值.子对象.int 12345678
JSON myjson E object.赋值.子对象.ishum true
JSON myjson E object.赋值.子对象.float 5.76
JSON myjson E object.赋值.子对象.array [12345,1.76,false,string,2022-11-22T11:22:33.123]
sendmsg 7 赋值结果<$JSON(myjson)FORMAT>
 
添加NPC检测命令CheckJson,格式:CheckJson 标识 方法 标识|名称|路径 选项
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
各个参数意义:
1) 标识,类似自由变量,指定一个唯一标识
 
2) 方法,有以下几种:
X  判断是否包含指定路径的子结点,格式:
   1) CheckJson myjson X path
N  判断是否包含指定的子结点名称,格式:
   1) CheckJson myjson N name 是否嵌套检查子结点(0/1)
V  判断是否包含指定的子结点数值,格式:
   1) CheckJson myjson N value 是否嵌套检查子结点(0/1)
E  判断JSON内容是否相同,格式:
   1) CheckJson myjson E myjson2
 
例:
#if
true
#act
JSON myjson1 P {"myobj":{"name":"object1","subobj":{"name2":"subObj2","name1":"subObj1","int2":123456},"array":[1,3,4]},"array":[1.23,200,300,{"str":"字符串"}]}
JSON myjson2 P {"myobj":{"name":"object1","subobj":{"name2":"subObj2","name1":"subObj1","int2":888888},"array":[1,3,4]},"array":[1.23,200,300,{"str":"字符串"}]}
 
#if
CheckJson myjson1 X myobj.subobj.int2
#act
sendmsg 6 路径存在:<$JSON(myjson1)myobj.subobj.int2>
#elseact
sendmsg 5 路径不存在
 
#if
; 检测第一层,名为array的数组的第四个对象是否存在
CheckJson myjson1 X array[3]
#act
sendmsg 6 路径存在,取数值方法一:<$JSON(myjson1)array[3][0]>,方法二:<$JSON(myjson1)array[3].str>,方法三(整个对象):<$JSON(myjson1)array[3]>
#elseact
sendmsg 5 路径不存在
 
#if
CheckJson myjson1 N name2
#act
sendmsg 6 1)包含名称
#elseact
sendmsg 5 1)不包含名称
 
#if
CheckJson myjson1 N name2 1
#act
sendmsg 6 2)包含名称(检查子结点),数值是:<$JSON(myjson1)myobj.subobj.name2>
#elseact
sendmsg 5 2)不包含名称(检查子结点)
 
#if
CheckJson myjson1 V 123456
#act
sendmsg 6 3)包含数值
#elseact
sendmsg 5 3)不包含数值
 
#if
CheckJson myjson2 V 1.23 1
#act
sendmsg 6 4)包含数值(检查子结点):<$JSON(myjson1)array[0]>
#elseact
sendmsg 5 4)不包含数值(检查子结点)
 
#if
CheckJson myjson1 E myjson2
#act
sendmsg 6 5)相等
#elseact
sendmsg 5 5)不等
 
 
 
 
 
 
2020/11/19 全套配套
---------------------------------------------------------------------------
M2
   修正个别NPC命令对变量的识别问题
   修正法师英雄持续开盾问题
   修正54-58的NPC不能穿越的问题 // 54-58的NPC不可点击,可在MapInfo.txt添加门点,走上去直接移动到其它地图 
   怪物设置面板,添加怪物被魔法攻击时停顿参数调节
   增加修改合击怒气值NPC命令:UnityEnergy +/-/= 数值,怒气值满值是200
   增加修改合击威力倍率NPC命令:UnityPowerRate +/-/= 数值,百分比,默认100,$UNITYPOWERRATE 可以显示当前值
 
客户端
   修正完善传送门类NPC的效果,54-58类NPC可以显示名字
 
合区工具
   优化合并速度,支持多区合并
 
 
 
 
 
 
2020/11/09 全套配套
---------------------------------------------------------------------------
m2 允许英雄在安全区内锁定安全区外的目标
   不开启英雄锁定瞬移至目标身边情况下,英雄先瞬移到主人身边后再锁定目标
 
登录器、客户端
   登录器列表、更新下载等支持HTTPS协议
   修正登录器可能不断更新问题
   修正登录器更新进度条可能显示不正确问题
   客户端去掉一条调试信息的输出,防止卡顿
 
 
 
 
 
 
2020/11/03 全套配套
---------------------------------------------------------------------------
M2
  角色死亡后,不可范围拾取
  菜单可重加载NPC,机器人NPC
  野蛮冲撞补偿时间也对假人生效
  修正角色上线刚好附近物品消失,会出现物品假象问题
  修正升级武器+2、+3几率太低问题
  修正上个版本小怪被打后移动速度变快问题
  重新加载怪物数据库,即可刷新掉落列表(之前版本的引擎也可以)
  修正个人爆率叠加目标爆率计算错误
  修正玩家随从安全区攻击他人随从问题 // 触发条件:安全区外攻击目标,目标进安全后还会继续攻击
  增加参数:BulkPickupDieDropItems=0 // 是否可以批量拾取他人死亡掉落物品,默认0不可以
  扩展拾取物品规则列表PickItemRule.txt,规则2表示不可以使用范围拾取,例如:木剑 3  // 即表示只能队长拾取,而且不可使用范围拾取
  优化提高引擎内部消息系统性能 // 体现为流畅的集体传送、大场面PK
  修正1025版Rece=174的怪物被麻痹不恢复问题
  优化发现可视物品代码性能
  法师、道士英雄走位优化
  修正人形怪再次刷新技能丢失问题
 
客户端
  内挂添加人、怪简装开关
  改善内挂自动技能顺畅度
  提高有攻击速度情况下Shift+鼠标操作体验
  修正连击技能效果丢失问题
 
RunGate
  修正上个版本瞬移后攻击速度限制失效问题
  修正上个版本一个处理服务器封包的小bug
 
 
 
 
 
 
2020/10/18 全套配套 注意:本次更新,游戏网关封加速设置需要重新调整!
---------------------------------------------------------------------------
M2
  1、放开武器攻击速度,武器最大攻击速度数值可达到117,建议最大到80,接近满速,最大速度可以在Rungate限制。
  2、英雄、假人攻击速度倍率:游戏参数->游戏速度->装备速度,建议60
  3、英雄、假人最大武器攻击速度限制:功能设置->英雄设置->英雄武器加速,建议80
  4、修正法师、道士英雄躲避bug
  5、修正战士英雄在杀死目标后的连贯性,提高法师、道士杀怪连贯性,相对之前打怪升级效率有较大提升
  6、提高玩家操控英雄的响应
 
Rungate
  1、判断带武器攻击速度、魔法速度、移动速度更精确
  2、调节的攻击速度,每3点的速度等于+1武器速度,会和武器攻击速度叠加!
  3、调节攻击速度,不需要重新调整攻击间隔
  4、调节魔法速度,不需要重新调整魔法间隔
  5、调节移动速度,不需要重新调整魔法间隔,并且将原来每2点生效修改为每1点生效
  6、增加一个参数:ClientMoveFrameTime,客户端每帧的间隔,默认95,复古建议调节为120,移动起来相对缓慢,
       参数改变则标准的移动间隔就是:ClientMoveFrameTime * 6,
       建议弃用移动速度调节,即ClientMoveSpeedRate=0,改用单个ClientMoveFrameTime来改变移动速度。
  7、添加一个参数:OpenSpellSpeedRate=1时,武器的攻击速度也可以在使用魔法时起加速作用,加速效果没有普通攻击明显,0关闭
  8、如果启用武器加速,ItemSpeedCompensate=1最好开启,能更好配合组合速度的计算
  9、游戏全局速度调节包含几个参数: // 这些参数影响所有的玩家,会和攻击速度叠加
       OpenClientSpeedRate=1
       ClientAttackSpeedRate=0
       ClientMoveSpeedRate=0
       ClientSpellSpeedRate=0
       ClientMoveFrameTime=100
  10、附带参考文件:游戏网关速度控制参考.txt
 
客户端
  修正技能释放太快有几率卡在举手动作的问题
  放开攻击速度,配套本次所有程序更新
 
 
 
 
 
 
2020/10/10 全套配套
---------------------------------------------------------------------------
M2
  新增NPC命令:ClientFeatures 序号(0~99) 关闭或开启(0/1) // 序号0:开启或关闭客户端自动挂机功能,目前只有序号0有作用,客户端需配套
 
  扩展:使用个人M、S变量在超出常规范围(0~99)时会自动扩展,M、S后面可以是任意字符,字符的长度最好保持在20字节以内,注:SUM命令对于自由扩展的M变量,结果放在:M99999999。
  例如:Mov M测试整数1 12345,Mov S测试字符1 字符串1,显示:<$STR(M测试整数1)>,<$STR(S测试字符1)>
  
  扩展:使用全局G、A变量在超出常规范围(0~99)时会自动扩展,服务器关闭可保存,注:SUM命令对于自由扩展的G变量,结果放在:G99999999,用法同上。
 
  增加:属于地图的整数变量E、字符串变量F,地图指向执行命令玩家所在的地图,服务器关闭不保存,注:SUM命令对于E变量,结果放在:E99999999,用法同上。
 
  全局变量不再保存在!setup.txt,改为保存到QuestParams.ini
 
GameCenter
  清理全局变量适配以上更新
 
客户端
  支持ClientFeatures命令 // 必须配套此版本引擎
 
 
 
 
 
 
2020/9/24 全套配套
---------------------------------------------------------------------------
M2
  参数设置-游戏选项2-交易控制增加禁止交易/丢弃金币开关
  重叠物品自动设置最高重叠数,防止出错
  扩展 DropItemMap 地图号 X Y 范围 物品 数量 秒数 归属(0/1) // X=-1时随机丢物品;秒数非0且归属=1时物品归属于执行脚本的玩家
  扩展 PetPickupItemRange Self 范围(0-15) // 非挂机时(OfflinePlayEx),可以按设定范围拾取片区,客户端必须配套!
 
客户端
  支持PetPickupItemRange设置的范围拾取 // 必须配套此版本引擎
 
 
 
 
 
2020/9/16 全套配套
---------------------------------------------------------------------------
M2
  扩展:Take 物品1|物品2|物品3... 数量 P0 1 // 第四参数=1时,不取走极品装备,第三参数P0不需要时可以用""代替
  QChatMission脚本支持仓库操作
  修正英雄处理必定掉落物品的bug
 
 
 
 
 
 
2020/9/2 全套配套
---------------------------------------------------------------------------
M2
   修正上个版本刚开启引擎的快速刷怪失效问题
   修正网关服务错误:setsockopt error
   MonGen.txt 条目增加集中点X/集中点Y,结合集中刷几率使用,作用类似MobPlace命令,格式:地图 x y 名称 范围 数量 时间 集中刷几率(0~100) 刷新模式(0~1) 集中点X 集中点Y
 
LoginSrv
   主菜单添加重新加载服务配置功能,有多条路由时,不要使用相同的title
 
 
 
 
 
 
2020/8/30 全套配套
---------------------------------------------------------------------------
M2 交易重叠物品会日志中记录数量
   道士召唤技能排除Race=211的怪物计数
   中绿毒不影响战斗小退
   使用强化卷后可能导致召唤骷髅速度变慢问题
   优化生物对象移动效率
 
 
 
 
 
 
2020/7/30 全套配套
---------------------------------------------------------------------------
M2 修正使用@mapinfo没有检测GM权限问题
   多线徒弟出师问题
 
客户端 
   修正内挂设置不保存问题
 
登录器
   配置的主图大小限制从1M修改为16M
 
 
 
 
 
 
2020/7/22 全套配套
---------------------------------------------------------------------------
m2 添加禁用、启用角色名NPC命令:EnableCharacter 角色名 0/1 // 0禁用,1启用
   创建佣兵角色需要一个佣兵令牌,DB数据:Name=佣兵令牌,StdMode=41,Shape=35,Looks=1132 // 引擎、客户端、lui.pkg配套更新
 
 
 
 
 
 
2020/7/15 全套配套
---------------------------------------------------------------------------
RunGate 加速判断时将转身封包从动作封包中分开
dbs 创建角色提前分配地图(优化多引擎负载)
m2 修复城门状态改变可能会导致客户端崩溃问题
   恢复goto死循环检测
   SendMsg 8-10行会聊天,11黄字喊话,12队伍聊天,13私聊信息
   多线切上线时,自动随机附近位置;参数ChangeServerRandPos=0时关闭此功能
   添加几个账号信息变量:
     $EMAIL // 邮箱
     $BIRTHDAY // 生日
     $PHONE2 // 电话
     $MOBILEPHONE // 手机号码
     $QUIZ // 问题1
     $ANSWER // 答案1
     $QUIZ2 // 问题2
     $ANSWER2 // 答案2
 
   扩展:MOD // 取模计算,同属INC、DEC、DIV系列命令
         calcval 增加取模计算,符号%
         ints 修改为无符号整数,没有负数,最大至42亿多
         take 将物品名写成物品id,可以取走该id号的物品
   
   添加获取当前Unix时间戳变量: // Unix时间戳请自行到百科了解
     $UNIXTIME,例:
     #act
     ints 22 = $UNIXTIME
     ints 22 + 600 // 第4参数1表示无符号计算,无符号32位整数最大值大约是42亿,而有符号(正负数)32位整数最大值大约是21亿
 
     #if
     compval $INTS22 > $UNIXTIME
     #act
     calcval $INTS22 - $UNIXTIME
     sendmsg 7 将在$CALCRESULT秒后过期
     calcval $INTS22 ~ 0 // ~符号,表示将$INTS22转换为普通的时间格式,专用符号
     sendmsg 7 将在$CALCRESULT过期
     #elseact
     sendmsg 7 已过期
 
     添加NPC命令FormatStr,格式化字符串,结果返回于$CALCRESULT,例:
     #act
     ; 双引号一般用在参数包含有空格的情况下,这样即使参数中带了空格,也会被认为是一个参数
     ; 参数1有多少个%s,后面就需要带对应个数的参数,最多9个%s
     ; 对齐格式:%-32s,其中,-表示左对齐,不带-号默认右对齐;32表示字符的宽度,-号在%号的后面、32前面
     FormatStr "%32s 参数:%-5s %s %s %s %s %s %s %s" 右对齐 一 二 三 四 五 六 七 八
     mov s1 $CALCRESULT
     FormatStr "%-32s 参数:%5s %s %s %s %s %s %s %s" 左对齐 一 二 三 四 五 六 七 八
     #say
     <$STR(S1)><$CALCRESULT><关闭/@exit>   <返回/@main>
 
 
!setup.txt补全几个极品属性控制参数
19类项链
  necklace19SpecAddRate // 属性几率
  necklace19SpecAddValueRate // 点数几率
  necklace19SpecAddValueMaxLimit // 最高点数
 
23类戒指
  ring23ACAddRate
  ring23ACAddValueMaxLimit
  ring23ACAddValueRate
  ring23MACAddRate
  ring23MACAddValueMaxLimit
  ring23MACAddValueRate
 
头盔
  helmetACAddRate
  helmetACAddValueMaxLimit
  helmetACAddValueRate
  helmetMACAddRate
  helmetMACAddValueMaxLimit
  helmetMACAddValueRate
 
 
 
 
 
 
2020/7/9 全套配套
---------------------------------------------------------------------------
m2 修正重新加载脚本的内存泄露
   集市、佣兵功能需要在脚本头加上:(@@StallMarket或@@CreateMercenary),并添加相应标签[@@CreateMercenary]或[@@StallMarket]
   例如:[@@StallMarket]
         欢迎使用摆摊集市! <返回/@main>   <关闭/@exit>
 
         [@@CreateMercenary]
         请放上已签约的佣兵契约纸。 <返回/@main>   <关闭/@exit>
         
   改进金币交易行检测严谨性(mysql版本功能)
   
   QF增加金币交易行操作的检测(mysql版本功能)
   [@OnUsingCoinMarket]
   #if
   checklevelex < 10
   #act
   APPROVE 0 // 0拒绝 1批准,默认批准使用金币交易行
   MESSAGEBOX 10级后才能使用金币交易行。
 
 
 
 
 
 
2020/7/6 全套配套
---------------------------------------------------------------------------
M2 补全英雄对SetAbility 24、26、27、44的支持
   增加NPC命令:VerifyKeyCode <$TOTPKEY> <$STR(M5)> // 验证两步验证码,参数1是两步验证密钥,参数2是输入的验证码,用法可以参考:佣兵示意脚本.txt
   修正集市报错
   
LoginSrv 基本设置-系统设置 增加:
   新建、修改密码,新建密保问答的策略限制
   增加无需验证两步验证选项
   时间设置面板的解锁时间生效,建议值:90
 
LoginGate
   空闲连接超时可以超过90秒
   爆破密码、密保限制等级描述错误修正
   爆破密码、密保被临时封的IP,可以在一定时间后自动解封
 
登录器配置器、客户端
   登录器更换新的默认UI
   配置器、登录器支持不规则的png图片作为主图,可制作出漂亮的非四方形登录器
   优化加快登录器搜索目录速度
   升级列表中服务器列表和按钮链接的自定义: // 需要放在文本的行首
     ;主要列表 http://www1.xxxx.com/logintool/serverlist.txt
     ;后备列表 http://www2.xxxx.com/logintool/serverlist.txt
     ;论坛链接 http://www.xxxx.com/bbs.html
     ;客服链接 http://www.xxxx.com/kf.html
     ;支付链接 http://www.xxxx.com/pay.html
     ;注册账号链接 http://www.xxxx.com/newid.html
     ;修改密码链接 http://www.xxxx.com/chgpwd.html
 
   脚本、聊天栏支持网址二维码,例如: // 下面例子中,后面的888是识别用,可以是任意整数,用法参考之前的PIC功能扩展
     扫描下载iPhone平台的微软两步验证器APP:<pic=https://apps.apple.com/cn/app/microsoft-authenticator/id983156458,888>
     安卓版的微软验证器放在本次更新的附件中,文件名:com.azure.authenticator.apk,自己可以放上网站,提供下载链接的二维码
     注:微软验证器有个好处,可以选择云备份,手机重装系统或者丢了,之前备份在云端的信息都在,可以在新手机重新下载原来的备份
 
 
 
 
 
 
2020/6/28 全套配套
---------------------------------------------------------------------------
M2 !setup.txt添加参数:ItemOwnershipHints,拾取的物品属于他人时,是否提示角色名,默认关闭
   已签约契约书可查看装备和技能等信息
   摊位物品数量由10个扩展到15个
   扩展制作佣兵命令:QUERYMERCENARIES 5 1 0 // 参数3为1时表示过滤掉隐藏角色
   增加摊位集市系统:
     摆摊物品汇总、分类、排序等功能,可以在界面上搜索、购买摊位物品,
     开启UI的脚本:<打开摆摊集市/@@StallMarket>
     !setup.txt参数StallMarketCharge,可修改上架摊位集市时每件商品的手续费,默认100金币
 
DBS 多角色创建
  集市、佣兵系统的支持
 
客户端
   增加摊位集市功能,需更新lui.pkg并配套M2
   已签约契约书可按Ctrl+鼠标中键查看装备和技能等信息
   最多创建的角色由2个变更为8个
 
 
 
 
 
 
2020/6/18 全套配套
---------------------------------------------------------------------------
M2 佣兵通讯消息修改,需要和客户端配套更新
   修正MAIN_FUNC_BTN_SHOW只能执行序号0-10问题
   修正引擎部分地方经验超过21亿后显示为负数问题
   @StdModeFuncXX,XX可以超过255,公式:XX = Reserved * 256 + AniCount,Reserved=99已经被占用(使用一次掉一点持久),不要使用该值即可
   有几率导致物品不显示问题,实际已经掉落
   交易时不允许被赠送
   NPC命令:MAIN_FUNC_BTN_CAPTION 序号 按钮标题
   雷炎洞效果失效问题
   沙巴克城门显示问题
   攻沙期间NPC不消失问题
   
客户端
   内力条0值显示修正
   ListView控件显示修正完善
   佣兵通讯消息修改,需要和引擎配套更新
   有几率导致物品不显示问题
   因神兽变身有几率导致崩溃bug
   雷炎洞效果声音错误问题
   城墙、城门不作为尸体隐藏
 
 
 
 
 
 
2020/6/13 全套配套
---------------------------------------------------------------------------
M2 BotAutoWearEquipments.txt // 简单的假人拾取后自动穿戴列表,首次运行后查看文本说明
   继续修正假怪问题
   优化部分广播消息
   合区工具合并时支持给从区设置Ints的值
   
   添加佣兵系统功能:
     可以将角色压成签约状态的契约纸,已签约的契约纸可以用于创建新角色,详见示意脚本:佣兵示意脚本.txt // 需要配套程序:M2、DBS、客户端、lui.pkg,合区工具
     契约纸DB数据:xxxx,佣兵契约纸,49,0,1,0,0,0,1581,1,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,
     日志查询工具可以查询此类操作的记录
     @make 佣兵契约纸 1 id    // 用于补偿佣兵契约纸丢失,id指制作佣兵契约时记录的M_xxx中的xxx(数字序号)
 
 
 
 
 
 
2020/6/9 全套配套
---------------------------------------------------------------------------
M2 修正SetAbility引起的内存泄露问题!
   合击击中效果补全和一些效果修正,需要配套客户端更新
   使用隐身术后再带隐身戒指无效问题
   修正假人招出的英雄升级后有几率收回问题
   增加BotNoAttackList.txt,设置挂机假人不攻击列表,格式:怪物名 1 // 1挂机假人不攻击
   假人可以触发:[@PickupItem]、[@HeroLogin]
   增加被英雄目标锁定的提示,可以在英雄设置面板开关,默认开启
   部分地图随机飞有几率进入黑点导致动不了问题
   尝试减少假怪现象
   取消存重叠类物品存仓时的自动重叠
   英雄被刺杀会回击
   SetAbility 49 1 99999999 // 禁止使用商铺
   野蛮冲撞麻痹效果可以在界面修改为0秒
   [@KillPlayXX]、[@KillPlayMonXX] 支持变量:
     $PARAM(0) 杀死的怪物名字
     $PARAM(1) 地图编号
     $PARAM(2) 地图名字
     $PARAM(3) 怪物X坐标
     $PARAM(4) 怪物Y坐标
     $PARAM(5) 怪物等级
 
客户端
   合击击中效果补全和一些效果修正,需要配套M2更新
   客户端因为退出慢,导致人物有可能延迟下线问题
   修正DBS未开启情况下,重复连接角色网关问题
   移动后翅膀隐藏问题
   取消存重叠类物品存仓时的自动重叠
 
 
 
 
 
 
2020/6/8 全套配套
---------------------------------------------------------------------------
M2 增加NPC命令:DELFIREBURN 地图名 X Y 类型(1-8) // 删除光圈,用于删除MobFireBurn刷出的光柱(MobFireBurn刷非类型5的光柱不会消失)
   修正上个版本刷光圈一定时间后报错
   由于补全了部分技能ID的攻击触发,导致【劈星斩】因穿透起作用变成威力异常,将技能DB中【劈星斩】的Penetrate设置为0即可恢复原威力,同时注意是否有脚本触发该技能的减血效果。
   
客户端
   头发、斗笠不支持微端问题
   客户端路径下的client.ini可以定义NPC名字是否为粗体,内容: // 用登录器自动更新client.ini到客户端目录下即可,默认非粗体
   [setup]
   BoldNpcName=1
   ; 是否默认显示称号
   ShowUserTitle=1
   ; 注册按钮账号的网站
   NewIDUrl=https://www.xxxxx.com
 
 
 
 
 
 
2020/6/1 全套配套
---------------------------------------------------------------------------
M2 添加变量:$MAPWIDTH,$MAPHEIGHT // 当前地图的宽、长
   添加NPC命令:GuardPos x y 范围 // 设置假人的守护点和范围(不小于Setup中的maxViewRangeX),x为-1时取消守护
   例子:
   ;随机地图点守护
   MAP $CURRENTMAP
   GuardPos $CURRENTX $CURRENTY 30
   $ATTINFO_SKILLID 部分技能ID获取不到问题
   降低重伤状态伤害
   修复上个版本行会战双方名字颜色问题
   镖车名字显示问题
 
 
 
 
 
 
2020/5/31 客户端+引擎配套
---------------------------------------------------------------------------
M2 1、SetAbility 赋值时会触发QF的[@SetAbility_XX],属性过期后将触发[@ResetAbility_XX] // 参考之前SetAbility的更新说明
   2、添加NPC命令:PetPickupItemRange 宠物名字 范围(0-15)
      宠物自动拾取范围,宠物名字为“H”时指英雄,宠物名字为“Self”时指自己(挂机用),“*”指非英雄的所有宠物,范围0时关闭自动拾取,可结合上条更新进行定时。
   3、添加NPC命令:Lockdown 1 // 锁定,不可攻击、移动、魔法等,Lockdown 0是解锁
   4、重点的性能优化,在玩家/怪物/物品集中情况下,引擎CPU占用率有大改善,改善人怪假象,
      适当调整!Setup.txt的maxviewrangex、maxviewrangey,以便适应大分辨率的客户端,建议分辨设置为16、15,无需适应大屏幕设置12、12即可,较小的值可以节约CPU占用。
   5、添加NPC命令:FakePlayer 0/1 // 0踢假人,1加载假人
   6、添加NPC命令:GuildStat 行会名 统计玩家等级 过滤同机器码(0/1) P1 // 统计行会在线玩家数,数量返回P1,行会名为Self时指自己行会,可结合IsGuildMaster使用。
   7、行会成员超过一定数量编辑不了封号问题
   
客户端
  英雄不能在死尸上进行守护bug
  修正微端因拉取大文件丢包问题
  优化网络接发能力,优化性能
  提高后台FPS,改善体验
  修正连续多次弹出消息窗口bug
  行会成员超过一定数量编辑不了封号问题
  被顶号,网络异常断开等情况下,可以选择返回登录界面再次进游戏(带防护盾的登录器可能不支持)
  聊天栏命令:~history // 历史记录,Ctrl+L
              ~clear // 清理聊天栏,Ctrl+K
 
 
 
 
 
 
2020/5/17
---------------------------------------------------------------------------
M2 1、添加NPC命令:EndGuildWar 行会名1 行会名2 // 结束行会战,两个参数可以使用通配符*
   2、添加条件判断:
   #if
   true // 代替checklevelex >= 0之类的语句
   #act
   ...
   3、修正上个版本对MonDropRate的改进,导致爆率计算有可能因计算溢出而造成掉落概率错乱问题
   4、优化部分逻辑代码
 
 
 
 
 
 
2020/5/2
---------------------------------------------------------------------------
M2 命令扩展:Kick 1 // 让在线玩家执行小退
   killSlaveName * // 杀死所有随从;可以放在[@OnLogout_OffLinePlaying]执行,实现离线挂机再次登录的免踢功能
   修改 MonDropRate 对于爆率文件中 1/xxx 的写法也起作用,计算公式:xxx/yyy / 100 * MonDropRate,假如MonDropRate=200,即在原来爆率基础上提高一倍
   附带条件的爆率条目,有所有权才会爆出
 
 
 
 
 
 
2020/4/13 全套程序配套更新
---------------------------------------------------------------------------
M2/Client 增加战斗中小退时间限制,默认0秒,在参数设置-时间限制面板调节 // 限于PK,打怪不受限制
Client 修正自动挂机自定义怪物过滤列表位置不正确问题
添加变量$TIMESTAMP,获取当前时间,格式:年-月-日 时:分:秒,CompVal增加对此时间格式的比较支持,
   添加NPC指令:CalcVal 数值1 操作符(+-*/=) 数值2,结果返回在变量$CALCRESULT中,对于字符串和时间的操作,只支持+-,
   例如:CalcVal $TIMESTAMP + 1,返回结果在$CALCRESULT,对于时间计算单位为秒,
   此条更新主要时为了支持自定义数据表中时间格式字段的运用,也适用于非MySQL版本的引擎。
M2 修正刀刀刺杀非刺杀位也有忽视防御效果bug
Client Tiles,SmTiles,Objects支持到99
 
 
 
 
 
 
2020/3/27 客户端+微端服务器
---------------------------------------------------------------------------
M2 屏蔽掉护体神盾的释放动作
微端 启用参数:expiry_time // 连接空闲超时(秒),默认43200
 
 
 
 
 
 
2020/3/27 客户端+微端服务器
---------------------------------------------------------------------------
优化微端速度,解决微端小黑块问题
修正微端服务器有几率因包未发送完连接被掉导致崩溃bug
M2 修正武器+诅咒卖商店价格异常问题
M2 修正召唤英雄时,自己偶尔不能及时看到英雄问题
M2 战士英雄技能释放时机更准确
M2 扩展 Take/TakeW 物品1|物品2|物品3|物品4... 数量 P0 // P0返回删除的数量,TAKE物品不要和金币混用
--------------------------------------
M2 细化英雄处理粒度;改进英雄组合速度,开启可以细调英雄各种组合动作
之间的间隔,让英雄的动作看起来更合理、更像玩家的动作;
不开启,则英雄各种组合动作有点不均匀,看起来像使用了加速。
 
 
 
 
 
 
2020/3/20 配套更新
---------------------------------------------------------------------------
DBServer去掉对dbserver.dll的调用
M2 修正怪物设置可挖,导致怪物的爆率扩展检测失效问题
M2 会导致ini文件产生重复项问题
M2/Client 修复城墙状态和特效显示问题
修复客户端物品管理有几率崩溃问题
修正客户端显示+HP/MP与实际不符问题
客户端可以自动解包自定义的可吃物品包
--------------------------------------
DBServer 增加文件缓冲开关,默认开启
  开启此项,将大幅度提高数据文件的读写性能,但在大多数时刻外部程序
  对DB文件不能操作:即无法复制DB文件,GameCenter也无法实现自动备份。
  如过想通过GameCenter自动备份,可以关闭此选项,但最好开启角色数据缓存,
  既能保证性能,也可以实现自动备份。
 
 
 
 
 
 
2020/3/19 登录器 + 客户端
---------------------------------------------------------------------------
登录器的服务器列表支持加密
 
 
 
 
 
 
2020/2/28 全套程序配套更新
---------------------------------------------------------------------------
登录器/客户端 
   改进搜索传奇目录方式
   默认分辨率修改为1024*768(原800*600)
   修正英雄频繁使用物品导致主人使用物品也受限制问题 // M2/RunGate/客户端 需配套更新
   修正频繁使用药品时手动使用其他物品导致物品消失假象 // M2/RunGate/客户端 需配套更新
   修正智能双龙斩识别bug
M2 极品几率还原为原先多加1点的方式,但是不会超过最高点数限制;
   合计命中微调;
   套装数最多支持到2048套(原255套)
   修正人物打出的龙影剑法/双龙斩可能他人看不到效果bug
   优化封包下发效率
合区工具 还原重命名规则
 
 
 
 
 
 
2020/2/20 全套程序配套更新
---------------------------------------------------------------------------
M2 爆率变量检测扩展爆出才扣代币参数:
1/x 装备名称 数量 $变量 检测符(><=!?) 检测数值 扣除(负数扣除,正数增加) 爆出才扣代币(默认0爆出才扣,1未爆出也扣)
M2 修正Give未刷新角色负重问题,修正技能面板调节[流星火雨]范围失效问题
M2 db数据的AC可以设置聚灵珠使用最大等级限制,AC=0不限制最大使用等级,AC不应该小于NeedLevel的值
客户端 优化微端速度
 
PLAYEFFECT 扩展修改: // 需要M2/客户端配套
--------------------------------------
PLAYEFFECT WIL名称 X Y 起始图片 帧数 间隔 循环次数 声音 声音循环(0/1) 对象(""/All/Guild/地图名)
修改为
PLAYEFFECT WIL名称/X/Y 起始图片 帧数 间隔 循环次数 声音 声音循环(0/1) 对象(""/All/Guild/地图名) 特效模式(0/1)
注意:WIL名称 X Y -> WIL名称/X/Y;特效模式:0普通,1技能特效模式(默认);可以利用微端模式下的~cui.txt自定义资源
 
 
 
 
 
 
2020/2/16 全套程序配套更新
---------------------------------------------------------------------------
客户端支持png制作的wzl,!注意:大量使用png作为图片素材可能会导致客户端因显存不足而崩溃
1、增加制作wzl文件的WzlMaker工具,支持导入png文件,使用png制作出来的wzl只有对应的新客户端才兼容
制作png的wzl,最好使用此工具,效率最佳,其他工具制作的wzl,客户端读取效率差,会导致性能不强的机器卡顿。
2、增加自定义素材列表文本,放在传奇目录data~cui.txt,格式: // 目前暂应用于物品特效
;ID(1~100) 文件名
1 .data~beam.wil
2 .data~beam_png.wil
可以用登录器自动更新功能自动更新~cui.txt至data目录,
然后使用微端即可,微端服务器data目录需要放相应的wzl文件。
3、物品特效设置的CustomItemNameColors.txt格式扩展为: // !注意:物品特效设置图片不再在lui.pkg里调用,因为不支持微端,图片也没有偏移设置
;自定义物品名字颜色和地面物品特效
;格式:物品名字 颜色(1..255) 特效图片索引 特效图片数量 自定义素材ID(对应~cui.txt中定义的ID)
魔杖 0 90 10 2
命运之刃 0 90 10 1
4、更新微端支持png格式的wzl
5、GameCenter 支持定时开/关服务器;定时开服之前会执行GameCenter所在目录下BeforeStartGame.bat
 
 
 
 
 
 
2020/2/11 全套程序配套更新
---------------------------------------------------------------------------
M2 英雄支持双龙斩/龙影剑法,保存龙影剑法剑气值;改善合击体验
Client 支持智能双龙斩/龙影剑法
LoginSrv 两步验证码错误累计3次才踢下线,配套客户端有提示
Launcher 首次运行提示否直接在当前目录以微端模式运行游戏,需要配套此版本的客户端
DataTool 支持师徒和结婚数据修正
 
 
 
 
 
 
2020/2/10 全套程序配套更新
---------------------------------------------------------------------------
Client 主界面自定义按钮扩展为40个,@MainBtnFunc_40 变成主按钮触发
M2 人物设置为免毒/符释放技能时,英雄也将免毒/符放技能
M2 修复英雄PowerRate时间到了不清理问题
------------------------------------------
M2 添加针对A/S字符变量的NPC命令:INS S1 位置(1~S1的长度+1) 插入字符 重复次数(默认1)
M2 添加针对P/G/D/M/I/H等整数型变量的NPC命令:
   AND,OR,XOR,NOT运算,CompVal支持与运算(&号)比较,这组操作相比下面的命令会比较晦涩难懂,但是一次可以批量开关;
   针对0~31位的操作和比较:SetBit,UnSetBit,FlipBit,IsBitSet,第二参数表示第几位(0~31)
   结合以上命令可以给一个int类型的整数设置32个开关,节省变量的开销,有关操作请上网查阅。
// AND,OR,XOR,NOT,CompVal 例子:
[@OR]
#act
OR P1 5 // 或运算,1位和3位设置为1(1是低1位,4是低3位,可以用计算器查看BIN数据)
SendMsg 7 <$STR(P1)>
 
[@XOR]
#if
  CompVal <$STR(P1)> & 1
#act
  XOR P1 1 // 异或运算,1位设置为0
 
#if
  CompVal <$STR(P1)> & 4 // 异或运算,3位设置为0
#act
  XOR P1 4
 
[@CheckSwitchState]
#if
  CompVal <$STR(P1)> & 1 // 于运算 比较
#act
  SendMsg 7 P1低1位二进制数值为1
#elseact
  SendMsg 7 P1低1位二进制数值为0
 
#if
  CompVal <$STR(P1)> & 2
#act
  SendMsg 7 P1低2位二进制数值为1
#elseact
  SendMsg 7 P1低2位二进制数值为0
 
#if
  CompVal <$STR(P1)> & 4
#act
  SendMsg 7 P1低3位二进制数值为1
#elseact
  SendMsg 7 P1低3位二进制数值为0
 
 
// SetBit,UnSetBit,FlipBit,IsBitSet 例子:
[@SetBit]
#if
  !IsBitSet P1 22 // 第22位是否关闭
#act
  SetBit P1 22
  SendMsg 7 P1的22位现在处于开启状态
 
#if
  IsBitSet P1 22 // 第22位是否开启
#act
  UnSetBit P1 22
  SendMsg 7 P1的22位现在处于关闭状态
 
[@FilpBit]
#if
  checklevelex > 0
#act
  FlipBit P1 31 // 切换状态,开<->关来回切换
 
#if
  IsBitSet P1 31 // 第31位是否开启
#act
  SendMsg 7 P1的31位现在处于开启状态
#elseact
  SendMsg 7 P1的31位现在处于关闭状态
 
 
------------------------------------------
M2 添加NPC命令:MakePoison 类型(0~11) 秒数 点数,第一参数为clearup时,清理掉状态;类型:0绿毒/1红毒/3雷击/4冰冻/5石化/6禁锢(同石化)/7重伤(丧失防御)
M2 添加获取SetAbility数值变量:$ABILITIES0~100;增加$TARINFO_ISSLAVE变量,是否是随从
例子:
[@SetAbility]
#act
SetAbility 50 20 900 石化技能恢复正常
SendMsg 7 获得20%几率的石化技能,持续15分钟
 
QF:
[@Attack]
#if
  CompVal <$TARINFO_RACE> ! 1 // 非人物
  CompVal <$TARINFO_ISSLAVE> = 0 // 非随从
  CompVal <$ABILITIES50> > 0 // Abilities的50位置有数值
#act
  SetRandomNo 100 // 按100随机
#elseact
  break
 
#if
  CompVal <$ABILITIES50> > <$RANDOMNO> // 命中触发
#act
  T.MakePoison 5 5
 
------------------------------------------
M2/Client 扩展CustomItemNameColors.txt,格式:物品名字 颜色(1..255) 特效图片索引 特效图片数量
  其中特效图片放在lui.pkg中,文件名格式为:beam_xxxxx.png,x为0~9的阿拉伯数字;
  例如文件中定义:法杖 254 200 10,则lui.pkg中应该放上:beam_00200.png~beam_00209.png等文件
  批量图片重命名可以使用everything,搜到所有用到的图片按F2操作即可;
  png文件制作有一定规格,中心点需要按像素对齐。
------------------------------------------
 
 
 
 
 
 
2020/2/7 全套程序配套更新
---------------------------------------------------------------------------
M2 修正SetAbility隐身不恢复正常问题;武器减速问题;其他极品属性的地面物品也闪绿光
M2 修正在[@Pickup]触发字段里删除拾取的物品出现物品假象问题;攻击触发T.操作只触发一个问题
M2 QueryValue 命令支持QChatMission,第五参数为:QC
M2 限制爆出数量物品规则代码优化
Client 客户端内挂修改物品规则及时更新地面物品显示,优化战士隔位刺杀走位
Client 修正浏览他人摊位时,有几率被关闭问题,需要同时更新M2和客户端
Rungate 修正一处可导致崩溃的漏洞
 
 
 
 
 
 
2020/2/3 全套程序配套更新
---------------------------------------------------------------------------
M2/Rungate 增强稳定性,需要配套使用
M2/Client 在英雄控制面板可以开关【人物免药粉/护身符释放相应技能】
DBServer 禁用角色:玩家不可恢复角色,不能登录,可以在角色管理界面恢复启用;删除角色数据:不可恢复,不能登录。
DataTool 提高性能,添加ini重复项清理功能,恢复装备说明导出功能
 
 
 
 
 
 
2020/1/29 全套程序配套更新
---------------------------------------------------------------------------
M2 修正魔龙教主/火龙的特殊攻击可以对死亡角色有效bug
M2 修改物理攻击打不到城墙bug
M2 优化角色下线/上线地图管理对象处理,减少假人假怪现象
M2 优化CHECKUSERDATE的兼容性
Rungate 解决因为封加速计算bug可能导致卡住几秒
Client 大幅度减少假怪现象,优化物品管理,解决26号版本因物品系统优化引起卡死bug
Client 两步验证二维码添加当前服务器名为提供者,解决不同服同账号扫描二维码被覆盖问题,现在两步验证使用
  也方便,可在手机上搜索安装APP或微信小程序:二次验证器、TOTP、动态验证、两步验证、Authenticator等等...
  别再使用微信公众号那种文本读写的方式去验证,使用久了文本体积变大会导致游戏卡顿!
 
 
 
 
 
 
2020/1/18 全套程序配套更新
---------------------------------------------------------------------------
M2 去掉部分加载/保存角色数据日志;修正SetAutoGetExp命令第三参数为空时出错bug
DBS 优化代码
 
 
 
 
 
 
2020/1/15 全套程序配套更新
---------------------------------------------------------------------------
修正DBS使用缓存情况下,因关闭保存缓存间隔太长,导致被GameCenter强制关闭而导致回档问题
 
 
 
 
 
 
2020/1/14 全套程序配套更新
---------------------------------------------------------------------------
M2 修正装备单独爆率设置读取不到问题
M2 优化角色DB存取逻辑,释放主线程压力
RunGate 优化ClientSocket,提高稳定性
DBS 优化角色数据的存取IO性能;优化读写逻辑,防止文件读写失败问题
 
 
 
 
 
 
2020/1/13 全套程序配套更新
---------------------------------------------------------------------------
M2/DBS 优化角色数据的存取逻辑
 
 
 
 
 
 
2020/1/9 全套程序配套更新
---------------------------------------------------------------------------
!重要: M2修因角色数据个别错误可能导致登录黑屏问题
!重要: DBS修正可能死锁问题
M2优化角色数据的存取逻辑
DBS允许将缓存数量设置为0
 
 
 
 
 
 
2020/1/6 全套程序配套更新
---------------------------------------------------------------------------
!重要: 修正DBServer未能正确处理[创建英雄/改名/英雄改名]和其他存储问题
!重要: 修正因底层函数优化引起的各种小bug,比如微端部分资源更新不了...
修正拾取规则未加载bug
自定义怪物名字颜色,Envir目录的CustomMonNameColors.txt,动态修改文本后重新加载怪物数据库生效,格式:怪物名字 颜色(1..255),客户端会默认显示自定义怪物的名字,可在内挂选择关闭
自定义物品名字颜色,Envir目录的CustomItemNameColors.txt,动态修改文本后重新加载物品数据库生效,格式:物品名字 颜色(1..255) // 非176版本才有此功能
M2修正死亡之眼技能能打到非本地图怪物问题
M2修正聚灵珠不能在DB设置爆出为满经验问题
 
 
 
 
 
 
2019/10/22 !全套程序配套使用
---------------------------------------------------------------------------
M2加入自动更新功能,可在关于菜单设置是否自动检测更新
M2可储存ints从0~9扩展到0~29,尽量使用此变量,避免使用直接读写文本的自定义变量
M2每1开网关端口的人数限制从6000提高到8000
提高M2处理游戏流量的能力
修正上个版本可能存在跑位空气墙问题
游戏网关接收缓冲区大小自适应,增加发送缓存以提高处理流量能力(内存相对上个版本会多一些)
游戏网关修正关闭程序时的一个bug
M2/DBS改写人物数据存取逻辑,大幅度提高存取数据的效率
修正很小的可能造成个别玩家数据存储错误bug,需要配套更新M2和DBServer
修正挂机假人会攻击人物下线时刻的英雄
扩展NPC命令:compval <$USERID> ^ "userid" // $USERID是否以userid开头
扩展NPC命令:compval <$USERID> ` "userid" // $USERID是否以userid结尾
登录器支持自配置自动刷新服务器列表
登录器配置器可自定义客户端Logo,png格式,可利用登陆器更新功能下载至传奇目录,留空使用默认logo(建议使用PS裁剪掉透明部分以减少文件大小)
KillMonGetFullExp +/-/= 秒数 // 高等级杀怪获取全部经验时间(秒),存库
REFITEMSHAPE 位置 数值 // 引用某同类型物品外观,位置:0衣服 1武器,数值参考stditems.db中的物品idx,存库,(连击合击版本才支持)
 
 
---------------------------------------
增加角色改名功能,详见附件示意脚本,改名之前,如果有武器正在升级,需要取回
 
 
 
---------------------------------------
推广ID功能
登录器配置器增加“推广ID”的填写,最多14字节(7个汉字)
游戏内获取推广ID的脚本变量:<$ADID>
 
 
 
---------------------------------------
增加NPC命令:SetAbility 位置(0~100) 数值 持续秒数 结束时的提示字符(留空不提示)
其中有如下49个固有属性,其他的50-100可以用作临时计时变量,也可以作为计时器使用。
 
[@SetAbility]
#ACT
SetAbility 10 15 30 暴击附加属性恢复正常。
SENDMSG 5 获得暴击附加属性15点,持续30秒。
;SetAbility 10 0 0 暴击附加属性恢复正常。  // 立即清理位置10的属性
;SetAbility clearup // 清理所有属性
 
位置对应属性:
  0 // 腕力
  1 // 负重
  2 // 背包重量
  3 // 准确
  4 // 敏捷
  5 // 魔法躲避 每一点代表10%,10点即为100%。
  6 // 毒物躲避 每一点代表10%,10点即为100%。
  7 // 中毒恢复 每一点代表10%,10点即为100%。
  8 // 生命恢复 每一点代表10%,10点即为100%。
  9 // 魔法恢复 每一点代表10%,10点即为100%。
  10 // 暴击
  11 // 目标爆率
  12 // 防爆
  13 // 忽视 属性为百分比,最大为100。
  14 // 增伤 属性为百分比,最大为100。
  15 // 反射 属性为百分比,最大为100。
  16 // 物减 属性为百分比,最大为100。
  17 // 魔减 属性为百分比,最大为100。
  18 // 吸血
  19 // 幸运
  20 // GM隐身(观察模式)
  21 // GM无敌
  22 // 禁止使用物品
  23 // 禁止丢弃
  24 // 禁止移动
  25 // 禁止跑步
  26 // 禁止物理攻击
  27 // 禁止魔法攻击
  28 // 稳如泰山(不可被野蛮推动)
  29 // 禁止召唤英雄
  30 // 禁止修改攻击模式
  31 // 禁止使用仓库
  32 // 麻痹模式
  33 // 魔道麻痹
  34 // 复活
  35 // 护身
  36 // 传送
  37 // 探测
  38 // 隐身
  39 // 破麻
  40 // 防毒
  41 // 破复活
  42 // 破护身
  43 // 背包不掉
  44 // 装备不掉
  45 // 攻击加速(10点以下为减速度,10点以上为加速度,与武器一致)
  46 // 禁止交易
  47 // 禁止摆摊
  48 // 禁止出售物品
 
---------------------------------------
新增爆率文件引入用法,可以和以前的爆率混搭使用,支持多个文件被同时调用,方便编辑爆率
  比如在 白野猪.txt 写入如下内容: // MonDropItems目录位于MonItems目录下
  #CALL [MonDropItems药品爆率.txt]
  #CALL [MonDropItems衣服爆率.txt]
 
---------------------------------------
支持爆率变量检测,兼容老格式,满足指定条件,物品才会爆出:
1/x 装备名称 数量 $变量 检测符(><=!?) 检测数值 扣除(负数扣除,正数增加)
检测符: ?表示>=,^和`用于字符串检查
扣除: 和爆率没有关系,只关联检查条件,设置数值为0不操作
例子:
1/1 强效太阳水 1 $GOLDCOUNT ? 0 100000 // 增加10万金币
1/3 强效太阳水 1 $GAMEGOLD ? 100 -100 // 元宝>=100时,有1/3几率计算掉落物品,否则不掉;元宝>=100时,扣除100元宝
1/8 某区物品   1 $SERVERNAME = XX传奇1区 // XX传奇1区 才有可能爆出
1/8 某物品     1 $USERID ^ head // 账号以head开头 才有可能爆出
1/8 某物品     1 $USERNAME ` tail // 角色名以tail结尾 才有可能爆出
 
支持变量:
  $SERVERNAME
  $SERVERIP
  $WEBSITE
  $BBSSITE
  $CLIENTDOWNLOAD
  $QQ
  $PHONE
  $BANKACCOUNT0
  $BANKACCOUNT1
  $BANKACCOUNT2
  $BANKACCOUNT3
  $BANKACCOUNT4
  $BANKACCOUNT5
  $BANKACCOUNT6
  $BANKACCOUNT7
  $BANKACCOUNT8
  $BANKACCOUNT9
  $GAMEGOLDNAME
  $GAMEPOINTNAME
  $USERCOUNT
  $MACRUNTIME // 服务器开启天数
  $SERVERRUNTIME // 引擎开启分钟数
  $DATETIME:  // 当前日期,格式:2019-11-12
  $CURRENTMAPDESC // 地图名
  $CURRENTMAP  // 地图文件名
  $CURRENTX
  $CURRENTY
  $GENDER  // 0,1
  $JOB  //0,1,2
  $ABILITYADDPOINT0..ABILITYADDPOINT6
  $ABILITYADDTIME0..ABILITYADDTIME6
  $USERNAME
  $USERID
  $CURITEMID
  $ATTINFO_SKILLID
  $ATTINFO_RACE
  $ATTINFO_ISHERO
  $ATTINFO_NAME
  $ATTINFO_FNAME
  $ATTINFO_MNAME
  $CURTITLENAME
  $MEMBRETYPE
  $MEMBRELEVEL
  $RANDOMNO
  $RELEVEL
  $GUILDHUMCOUNT
  $GUILDNAME
  $RANKNAME
  $LEVEL
  $COLLECTEXP
  $COLLECTIPEXP
  $HP
  $MAXHP
  $MP
  $MAXMP
  $AC
  $MAXAC
  $MAC
  $MAXMAC
  $DC
  $MAXDC
  $MC
  $MAXMC
  $SC
  $MAXSC
  $HIT
  $SPD
  $BONUSPOINT
  $BONUSABIL_AC
  $BONUSABIL_MAC
  $BONUSABIL_DC
  $BONUSABIL_MC
  $BONUSABIL_SC
  $BONUSABIL_HP
  $BONUSABIL_MP
  $BONUSABIL_HIT
  $BONUSABIL_SPD
  $BONUSABIL_X2
  $EXP
  $MAXEXP
  $PKPOINT
  $HW
  $MAXHW
  $BW
  $MAXBW
  $WW
  $MAXWW
  $HUNGER
  $CREDITPOINT  // 支持扣除操作
  $GOLDCOUNT // 支持扣除操作
  $GAMEGOLD // 支持扣除操作
  $NIMBUS // 支持扣除操作
  $GAMEPOINT // 支持扣除操作
  $GAMEDIAMOND // 支持扣除操作
  $GAMEGIRD // 支持扣除操作
  $INTS0..INTS30  // 支持扣除操作
  $LOGINLONG // 登录时长,分钟
  $DRESS // 衣服名
  $WEAPON // 武器名
  $RIGHTHAND
  $HELMET
  $NECKLACE
  $RING_R
  $RING_L
  $ARMRING_R
  $ARMRING_L
  $HELMETEX  // 非176版本
  $BUJUK  // 非176版本
  $BELT  // 非176版本
  $BOOTS  // 非176版本
  $CHARM  // 非176版本
  $DRUM  // 非176版本
  $HORSE  // 非176版本
  $FASHION  // 非176版本
  $HWID
  $YEAR
  $MONTH
  $DAY
  $HOUR
  $MINUTE
  $SECOND
  $MILLISECONDS
  $MONDROPRATE
  $IPADDR
  $IPLOCAL
  $GUILDBUILDPOINT
  $GUILDAURAEPOINT
  $GUILDSTABILITYPOINT
  $GUILDFLOURISHPOINT
  $STR(XX) // 支持扣除操作,其中的全局变量不要频繁使用,否则造成服务器卡顿
  $H.STR(XX) // 支持扣除操作,其中的全局变量不要频繁使用,否则造成服务器卡顿
  $HUMAN(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题
  $H.HUMAN(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题
  $GUILD(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题
  $GLOBAL(XX) // 支持扣除操作,定义为内存操作将会自动保存,否则不自动保存;此变量不要高频使用,否则有效率问题
  $PARAM(0..7)
 
 
 
攻击触发:
---------------------------------------
!setup.txt AttackTrigger=0 // 攻击触发总开关,默认0关闭,1开启触发QF的[@Attack]
EnvirMonAttackTrigger.txt // 可以被攻击触发的怪物名称列表,每行一个
 
// 攻击触发专属变量
$TARINFO_RACE // 目标Race
$TARINFO_ISHERO // 目标是否英雄 {'0', '1'}
$TARINFO_NAME // 目标名称
$TARINFO_FNAME // 目标全名
$ATTINFO_SKILLID // 攻击使用技能ID
$ATTINFO_RACE // 攻击者Race
$ATTINFO_ISHERO // 攻击者是否英雄
$ATTINFO_NAME // 攻击者名称
$ATTINFO_FNAME // 攻击者全名
 
// 目标变量
$T.CURRENTMAPDESC
$T.CURRENTMAP
$T.CURRENTX
$T.CURRENTY
$T.USERNAME
$T.MONKILLER
$T.KILLER
$T.LEVEL
$T.HP
$T.MAXHP
$T.MP
$T.MAXMP
$T.AC
$T.MAXAC
$T.MAC
$T.MAXMAC
$T.DC
$T.MAXDC
$T.MC
$T.MAXMC
$T.SC
$T.MAXSC
$T.HIT
$T.SPD
 
// QF例子
[@Attack] // 人或随从攻击列表指定怪物,会触发
#IF
COMPVAL <$TARINFO_FNAME> = 蜈蚣
COMPVAL <$T.HP> > 50
#ACT
T.HUMANHP - 50
SENDMSG 7 目标【<$TARINFO_NAME>】血量<$T.HP>
 
#IF
COMPVAL <$ATTINFO_RACE> ! 1 // Race=1 是玩家,这里就是非玩家(即随从)
#ACT
SENDMSG 7 你的随从<$ATTINFO_NAME>正在攻击<$TARINFO_NAME>
 
 
[@UnderAttack] // 被人或随从或列表指定怪物攻击,会触发
#IF
COMPVAL <$ATTINFO_FNAME> = 蜈蚣 // 蜈蚣打随从或自己
#ACT
HUMANHP - 50 // 主人扣血
 
#IF
COMPVAL <$ATTINFO_MNAME> ! "" // 攻击者主人名称不为空
#ACT
SENDMSG 7 【<$ATTINFO_MNAME>】的随从<$ATTINFO_NAME>正在攻击你
#ELSEIF
COMPVAL <$TARINFO_RACE> ! 1 // 自己的随从
#ACT
SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你的随从【<$TARINFO_NAME>】
#ELSEACT
SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你
 
 
 
---------------------------------------
主界面自定义按钮,最多20个,参考附件,可利用登陆自动更新配置
客户端data目录下增加配置文件:MainWidgetCfg.ini // 主界面自定义按钮,最多20个,参考附件,可利用登陆自动更新配置
MainWidgetCfg.ini的wmlib=Lui时,会调用Lui.pkg的图片,图片名为lui.pkg内的文件名,非lui库的图片索引大于0才生效
MainWidgetCfg.ini LoginShowChildButton=0/1 字段,登陆是否显示各个子按钮
 
点击按钮会根据按钮序号执行QChatMission-0.txt脚本对应的[@MainBtnFunc_0至20]字段,[@MainBtnFunc_20]是显示开关的触发
相应的NPC控制脚本命令如下:
MAIN_FUNC_BTN_SHOW 序号 0/1 // 显示或隐藏
MAIN_FUNC_BTN_FLASH 序号 0/1 // 按钮是否闪烁
MAIN_FUNC_BTN_POS 序号 X Y // 调整按钮位置
!Setup.txt OpenMainFuncBtns=0/1 // 开启或关闭主界面功能按钮功能,默认关闭
 
 
 
 
 
 
2019/9/29
---------------------------------------------------------------------------
!setup.txt参数,MagicHitRateCompensate // 对奔跑的目标魔法命中率调节,默认0,数字越大命中越高,设置3基本可以达到100%命中;可以设置负数来减少命中率,-1大概相当于复古参数
修正偶尔出现被攻击21E问题
英雄守护模式:HeroGuardMode=1 // 默认1可以飞到目标点,0则是飞到主人身边再跑往目标点
修正21E版DBServer第一个角色读取不到问题
 
 
 
 
 
 
2019/9/16 !引擎和DBS需要配套
---------------------------------------------------------------------------
优化DBS,避免因为一些删除操作造成数据混乱
INI_RENAME_SECTION 文件 节名 新节名 // 重命名Ini的节点名
StringsReplace 文件名 原字符 新字符 1 HardDisk // 将文本中的原字符替换为新字符;其中的1表示忽略大小写,0不忽略大小写;
// HardDisk表示直接使用文本读写模式(强烈建议内存模式操作,直接读写文本严重降低引擎性能)
 
RenameFile 源文件名 新文件名 // 重命名文件名,支持内存中的文件操作,例如:
-----------------------------------
mov S1 <$PARAMSTR(1)>
inc S1 ".txt"
mov S2 <$PARAMSTR(2)>
inc S2 ".txt"
RenameFile <$STR(S1)> <$STR(S2)>
 
 
 
 
 
 
 
2019/9/07
---------------------------------------------------------------------------
使用聚灵珠触发QF的[@OnUseExpBall] [@OnHeroUseExpBall] <$PARAM(1)>:物品名 <$PARAM(2)>:价格 <$PARAM(3)>:价格类型(0-4) 
购买摆摊物品触发QF的[@OnBuyItemFromStall] <$PARAM(1)>:物品名 <$PARAM(2)>:价格 <$PARAM(3)>:价格类型(金币/元宝) <$PARAM(4)>:卖家名
 
 
 
 
 
 
2019/9/06 !RunGate/DBS/M2/客户端 需要配套使用
---------------------------------------------------------------------------
修正一个怪物攻击力计算不准确问题
修正部分几率计算溢出问题
修复极品属性多出1点bug,对此项要求严格的请重新调节极品属性的最高点数
普通属性支持21亿,RunGate/DBS/M2/客户端 需要配套使用(测试)
 
 
 
 
 
 
2019/9/04
---------------------------------------------------------------------------
!修正丢金币方式来刷金币的漏洞
现在英雄守护可以直接飞到目标点
设置SearchTargetWhenIdle=1自动打怪空闲时随机搜寻,否则停留原地等待刷怪
设置SkillMedusaEyeEffectPlayer=0【美杜莎之瞳】不对玩家起作用,默认设置=1可以起作用;SkillMedusaEyeUseInterval=45技能间隔时间(秒)
修复商店价格问题
 
 
 
 
 
 
2019/9/01
---------------------------------------------------------------------------
!封交易重叠物品的漏洞
修正战士连击导致对方持续不可移动状态(测试)
优化地图对象转移处理流程
优化地图单元处理流程,少占用点内存
普通药品回血速率规范化
注意:没有鉴定次数的物品不会有实际属性
 
 
 
 
 
 
2019/8/12
---------------------------------------------------------------------------
修正GM命令失效:@DelDenyIPLogon
开放OfflinePlayEx(测试版)
隐身技能可能出现时间计算错误
优化部分代码
添加ProcessHurryMsg开关,默认开启能优化消息延迟,提高PK体验,但能耗会稍微增加
 
 
 
 
 
 
2019/7/30
---------------------------------------------------------------------------
尝试修复人物变黑问题
增加地图参数:NoHeroGuard,禁止英雄守护
 
 
 
 
 
 
2019/7/28
---------------------------------------------------------------------------
提高大/小火球,雷电术,灵魂火符等魔法对奔跑对象的击中率
提高[道战合击]道术对伤害加成的比例,输出和之前版本比较有差异,请自定调节威力比例
修改[法战合击]的输出计算,输出和之前版本比较有差异,请自定调节威力比例
尝试修复status混乱问题
 
 
 
 
 
 
2019/7/21
---------------------------------------------------------------------------
修正受攻击触发bug
 
提示:如果要让战士技能(不包含普攻)发挥最高幸运攻击,编辑magic.db的穿透属性,阅读以往穿透的相关更新,
刺杀默认应该是Penetrate=3 PenetrateRate=100,其他技能自行发挥设置
 
 
 
 
 
2019/7/19
---------------------------------------------------------------------------
修正拾取物品触发获得的makeIndex为0的bug
修正中毒状态混乱bug
 
攻击触发:
---------------------------------------------------------------------------
!setup.txt AttackTrigger=0 // 攻击触发总开关,默认0关闭,1开启触发QF的[@Attack]
EnvirMonAttackTrigger.txt // 可以被攻击触发的怪物名称列表,每行一个
 
// 攻击触发专属变量
$TARINFO_RACE // 目标Race
$TARINFO_ISHERO // 目标是否英雄 {'0', '1'}
$TARINFO_NAME // 目标名称
$TARINFO_FNAME // 目标全名
$ATTINFO_SKILLID // 攻击使用技能ID
$ATTINFO_RACE // 攻击者Race
$ATTINFO_ISHERO // 攻击者是否英雄
$ATTINFO_NAME // 攻击者名称
$ATTINFO_FNAME // 攻击者全名
 
// 目标变量
$T.CURRENTMAPDESC
$T.CURRENTMAP
$T.CURRENTX
$T.CURRENTY
$T.USERNAME
$T.MONKILLER
$T.KILLER
$T.LEVEL
$T.HP
$T.MAXHP
$T.MP
$T.MAXMP
$T.AC
$T.MAXAC
$T.MAC
$T.MAXMAC
$T.DC
$T.MAXDC
$T.MC
$T.MAXMC
$T.SC
$T.MAXSC
$T.HIT
$T.SPD
 
// QF例子
[@Attack] // 人或随从攻击列表指定怪物,会触发
#IF
COMPVAL <$TARINFO_FNAME> = 蜈蚣
COMPVAL <$T.HP> > 50
#ACT
T.HUMANHP - 50
SENDMSG 7 目标【<$TARINFO_NAME>】血量<$T.HP>
 
#IF
COMPVAL <$ATTINFO_RACE> ! 1 // Race=1 是玩家,这里就是非玩家(即随从)
#ACT
SENDMSG 7 你的随从<$ATTINFO_NAME>正在攻击<$TARINFO_NAME>
 
 
 
[@UnderAttack] // 被人或随从或列表指定怪物攻击,会触发
#IF
COMPVAL <$ATTINFO_FNAME> = 蜈蚣 // 蜈蚣打随从或自己
#ACT
HUMANHP - 50 // 主人扣血
 
#IF
COMPVAL <$ATTINFO_MNAME> ! "" // 攻击者主人名称不为空
#ACT
SENDMSG 7 【<$ATTINFO_MNAME>】的随从<$ATTINFO_NAME>正在攻击你
#ELSEIF
COMPVAL <$TARINFO_RACE> ! 1 // 自己的随从
#ACT
SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你的随从【<$TARINFO_NAME>】
#ELSEACT
SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你
 
 
 
 
 
 
2019/7/15
---------------------------------------------------------------------------
优化游戏PK体验
修正仓库存取重叠物品严重漏洞!及时更新至此新版本。
修正上个版本怪物会有几率变人形的bug
调整忽视防御优先于技能穿透的计算(注:忽视防御属性不作用于魔法盾的抵御,要忽视魔法盾请在magic.db配置技能的穿透属性)
 
增加地图参数:SensitiveCreature,作用:
一旦人物/宠物进入怪物视觉范围,怪物马上有反应,表现上怪物更为灵活,例如随机到怪物旁边,怪物不会再像以前一样反应迟钝
在开启了SensitiveCreature参数的地图上,道士的隐身技能更能凸显作用。
 
合区工具日志查询功能增加【沙城收入/沙城提取/升级武器取回】的日志查询,修正【武器升级成功/失败】查询不到bug
 
 
 
 
 
 
2019/6/13
---------------------------------------------------------------------------
添加两步验证Key的获取,引擎 + LoginSvr配套,应用例子:
--------------------------------------------------
[@main]
<获取两步验证绑定状态/@GetTotpKey> <关闭/@exit>
 
[@GetTotpKey]
#act
GetTotpKey // 请求状态,成功后将回调[@OnGetTotpKey]标签
 
[@OnGetTotpKey]
#act
GetStrLenght <$TOTPKEY> M0
goto ~OnGetTotpKey
 
[~OnGetTotpKey]
#if
equal M0 16
#say
你的账号已经绑定两步验证, <解除绑定/@@totp> <关闭/@exit>
#elsesay
你的账号还没有绑定两步验证, <进行绑定/@@totp> <关闭/@exit>
--------------------------------------------------
死亡取消交易
离线数据修改记录日志(注:即使玩家不存在也记录)
小优化
 
 
 
 
 
 
2019/4/28
---------------------------------------------------------------------------
游戏网关添加喊话过滤:ChatCmds.txt,在此列表的命令,喊话内容会进行脏话检测过滤,每行一个命令,默认只有一条:“@传 ”(不包含双引号,注意后面有空格)
Abusive.txt 格式修改为:过滤字符 规则(0全部替换 1命中字符替换为* 2踢下线),例如:操 1;每行一条规则
引擎自定义命令参数也采用GuildRankNameFilter.txt中的字符进行过滤
 
修复仓库存储【重叠物品】的严重漏洞
 
增加拾取物品规则列表PickItemRule.txt,格式:物品名称 1,物品为队伍打怪产出,只有队长可以拾取
 
LoginSvr完善两步验证
 
LoginGate // 用 登陆器配置器.exe 生成新的LoginGate(注:登录器和客户端没有更新)
同一IP在一定时间内,连续密码错误,累计到指定数量会加入临时封IP列表,参数可以在[安全过滤-新建账号过滤]面板调节
 
LoginServer
两步验证版本,密码错误累计禁止登录的时间大幅度缩减
 
M2Server
增加参数
SaveDataTimeoutMs=10000 // 保存数据超时(毫秒),超时后会中断保存数据循环,给加载数据时间片。注:M2压力大时人物登陆会黑屏,设置10000即等10秒左右会进游戏,较短的设置值,黑屏时间更短,但不能太短,否则保存数据效率变低,默认10000即可
DBSvrConnections=16 // M2和DBServer的连接数,默认16,较多的连接对数据保存/加载有效率加成,一般设置8-64之间,建议16-32。(假如设置为32,相比未扩展此参数之前,效率提升大概有15倍)
KeepSaveDataCache=1 // 人物保存数据缓存是否保留,默认1,不保留可能会引起回档,保留则引擎的保存列队有可能出现比较多的情况(关系不大),请保持默认值,除非用于测试。
以上三个参数,一般只调节DBSvrConnections即可,其他保持默认。
 
DBServer
主界面显示更多的连接信息
 
 
 
 
2018/8/15
---------------------------------------------------------------------------
聚灵珠增加使用等级限制,设置db的needLevel
修正loginsvr写日志奔溃bug
$CURTITLENAME 当前使用称号
 
!setup.txt ShowQueryStateInfoTips=1 // 别人查看自己装备信息时,是否提示
 
[@PickupItem] [@DropItem] 支持第七参数,参数值为物品ID
增加[@HeroDie] 英雄死亡,<$PARAM(0)>:主人角色名 <$PARAM(1)>:英雄角色名 <$PARAM(2)>:地图名 <$PARAM(3)>:X坐标 <$PARAM(4)>:Y坐标
记录 金刚石/灵符 的 获取/消耗 日志,合区工具支持查询
NPC命令:TakeOff 位置 // 脱下装备,连击版本位置:0..16,176/四格位置:0..13,TakeOff All 全身脱下
HUMANHP 减血有飘血效果
引擎设置需要蜡烛时,内挂禁止免蜡开关(基本没什么用)
客户端窗口层叠关系优化
重叠物品操作优化
黑夜模式下,技能亮光补全
 
--------------------------------------
PLAYEFFECT WIL名称 X Y 起始图片 帧数 间隔 循环次数 声音 声音循环(0/1) 对象(""/All/Guild/地图名)
// X=-1则跟随人物坐标播放,否则固定坐标;对象:空字符自己,all在线所有人 guild行会在线的人 地图给某制定地图发送
// 执行效果并触发当前脚本的[@OnPlayEffect]
例:
<播放特效/@PlayEffect>
[@PlayEffect]
#act
PLAYEFFECT Prguse2 -1 -1 110 15 80 1 Wavpowerup.wav 0 ""
[@OnPlayEffect]
#act
SENDMSG 3 播放了一个动画效果
 
--------------------------------------
新加QF触发标签:
[@BuildGuild] // 创建行会,<$PARAM(0)>行会名
[@JoinGuild] // 加入行会,<$PARAM(0)>行会名
[@LeaveGuild] // 退出行会,<$PARAM(0)>行会名
[@KickOutOfGuild] // 踢出行会,<$PARAM(0)>行会名
[@DismissGuild] // 解散行会,<$PARAM(0)>行会名
 
--------------------------------------
技能基础面板增加:技能升级威力附加万分比参数,比值越高,技能级别差体现的攻击力差别越大,目的是为了改善变态版本(自身高攻击力)各职业的技能
升级后攻击力增加不明显的问题,默认为0,不附加威力,请根据版本自行测试调节。
 
--------------------------------------
防盗号加强:去掉二级密码,换为两步验证,需要【引擎/LoginSvr/客户端】配套。
同时修改MD5密码版的LoginSvr支持合区,不兼容之前的MD5版本数据;明文密码版本的LoginSvr数据兼容。
#SAY
<绑定或解绑两步验证/@@totp>
 
修改LoginSvr对密码错误的临时冻结更加严格;密码/验证码错误次数越多,临时冻结越长,基本呈指数级增长。
 
--------------------------------------
合区工具增加清理账号二级密码功能
两步验证是二级密码的升级版,不兼容原来的二次密码数据,
想要使用新的两步验证功能,请先清理原先的二级密码,再让用户到游戏里的NPC处自行绑定两步验证。
 
 
 
 
2018/7/01
---------------------------------------------------------------------------
英雄锁定范围检测更严格
客户端显示武器强度,调节武器属性位置7可以获得强度
修改SETRANDOMNO:可以指定范围参数 // SETRANDOMNO 1000000
NPC检测命令:COMPVAL 数值1 >/</=/! 数值2,比较数值1和数值2 //例如:COMPVAL <$USERNAME> = 名称,COMPVAL $STR(N1) > 50
增加 #ELSEIF #ELSEIFSAY #ELSEIFACT(或#ACT) // 成对编写,例:
------------------------------------
[@test]
#ACT
SETRANDOMNO 1000000 // 0~999999
 
#IF
COMPVAL <$RANDOMNO> < 100
#ACT
SENDMSG 3 特等奖<$RANDOMNO>
#ELSEIF
COMPVAL <$RANDOMNO> < 1000
#ACT
SENDMSG 5 一等奖<$RANDOMNO>
#ELSEIF
COMPVAL <$RANDOMNO> < 2000
#ACT
SENDMSG 6 二等奖<$RANDOMNO>
#ELSEIF
COMPVAL <$RANDOMNO> < 4000
#ACT
SENDMSG 7 三等奖<$RANDOMNO>
#ELSEIF
COMPVAL <$RANDOMNO> < 8000
#ACT
SENDMSG 7 鼓励奖<$RANDOMNO>
#ELSEACT
SENDMSG 7 谢谢参与<$RANDOMNO>
 
 
 
 
 
2018/6/15 引擎和客户端需要配套更新
---------------------------------------------------------------------------
修复多引擎负载过图有几率造成随从丢失bug
修正客户端频繁向微端服务器发送请求bug
修正聚灵珠摆摊价格显示错误bug
时间使用类的物品计时更准确,stdmode=2 shape=18类物品在客户端可显示剩余时间
修复多引擎负载过图后法师召唤下属属性不对应bug
修复多引擎负载过图后蓝量异常bug
修复多引擎负载有概率小退黑屏bug (复活地图所属的引擎与死亡地图所属引擎不同)
修复多引擎负载出生点新角色登陆黑屏bug
优化日志处理
可以重新加载动态创建的NPC(之前有bug才去掉?)
NPC命令:GOHOME // 回安全区
NPC条件命令:FINDDELETELINE // 检测文本行并删除保存
---------------------------------------
#IF
FINDDELETELINE 文本路径 <$USERID> // 充值提取专用,避免文本写入冲突造成刷元宝bug
#ACT
GAMEGOLD + XX
#ELSESAY
操作失败,稍等片刻再操作
 
 
 
 
 
 
2018/5/13
---------------------------------------------------------------------------
客户端修正使用部分远程攻击类新怪物引起出错bug
客户端支持24/32位的wil/wzl
ChangeExp/ChangeIPExp 第三参数不为空时,聚灵珠不会聚集经验
英雄支持必定掉落的物品
修正授予英雄称号不激活称号bug
拾取HintItemList.txt中的物品触发QF的[@PickupItem] <$PARAM(1)>:物品名 <$PARAM(2)>:Looks <$PARAM(3)>:角色名 <$PARAM(4)>:地图名 <$PARAM(5)>:X坐标 <$PARAM(6)>:Y坐标
丢弃HintItemList.txt中的物品触发QF的[@DropItem] <$PARAM(1)>:物品名 <$PARAM(2)>:Looks <$PARAM(3)>:角色名 <$PARAM(4)>:地图名 <$PARAM(5)>:X坐标 <$PARAM(6)>:Y坐标
修正上个版本怪物移动/攻击速度异常
QM增加[@OnInit],执行时机优先于[@Login],用于初始化人物私有变量(注:[@Login]初始化变量时机不够早,会造成一些的脚本变量应用报错)
 
 
 
 
 
 
2018/4/5
---------------------------------------------------------------------------
聚灵珠金币/元宝消耗记录日志
客户端修正鼠标乱移动bug
NPC检测命令增加取反支持: !CHECKLEVELEX > 10  // 检测等级是否小于等于10
 
 
 
 
 
 
2018/2/4 !需要修改脚本
---------------------------------------------------------------------------
自定义变量Var相关操作去掉HardDisk操作,统一为在声明变量是确定是否为实时硬盘读写,例如:
[@login]
VAR INTEGER HUMAN player_level "" hardDisk // "" 表示第四参数为空参数
LOADVAR GUILD player_level ..QUESTDIARYUserDataPlayerData.txt
 
[@dynvar_human_level]
#act
CALCVAR HUMAN player_level = <$LEVEL>
SAVEVAR HUMAN player_level ..QuestDiaryUserDataPlayerData.txt force //force 耗时操作的实时保存,操作频繁游戏卡顿
 
对于以上例子,如果PlayerData.txt已经使用hardDisk参数操作,所有其他读写于PlayerData.txt的变量都要统一为hardDisk
注:hardDisk 是非常耗时的操作,非必要的情况下,不要使用,否则只会造成游戏卡顿
 
修正部分会使用技能的怪物追击目标逻辑,完善一些新怪。
开箱子得到存在于HintItemList.txt的物品,触发:QFunction的[@OpenTreasureChest],<$PARAM(1)>:物品名 <$PARAM(2)>:数量 <$PARAM(3)>:Looks
 
 
 
 
 
 
2018/1/29
---------------------------------------------------------------------------
修正部分Win10版本客户端Alt+Enter切换窗口/全屏模式bug
商铺购买,并列入HintItemList.txt的物品,触发QFunction的[@shopping],<$PARAM(1)>:物品名 <$PARAM(2)>:价格 <$PARAM(3)>:Looks
客户端兼容win10秋季创意版(属于windows10FCU的bug)
修正174 129 4116 怪物普通攻击无效bug
 
 
 
 
 
 
 
2018/01/10
---------------------------------------------------------------------------
修正一个严重bug,可能导致出现变态装备
去掉实验性封包优化模块,略较少内存占用
 
 
 
 
 
 
 
2017/12/28 测试版引擎,测试用
---------------------------------------------------------------------------
优化封包接收/发送流程,测试:一次刷12000只怪(怪会暴出物品),火墙烧,对比优化前后烧完怪的时间,还有卡顿对比情况
[@HeroTakeOn+位置] [@HeroTakeOff+位置]  // 英雄穿戴/取下装备触发,参考人物的穿戴触发
IsNearby H/人物名 // 检测指定角色名玩家/怪物等是否在附近,H指自己的英雄
修正内存池申请bug
修正NPC商店物品处理可能导致引擎崩溃bug
 
 
 
 
 
 
 
2017/12/10
---------------------------------------------------------------------------
客户端新功能修正完善
客户端消息处理优化
客户端渲染优化
修正完善1208增加的新功能
 
 
 
 
 
 
 
2017/12/08
---------------------------------------------------------------------------
增加NPC命令:
KillMonGetFullExp +/-/= 秒数 // 高等级杀怪获取全部经验时间(秒),存库
REFITEMSHAPE 位置 数值 // 引用某同类型物品外观,位置:0衣服 1武器,数值参考stditems.db中的物品idx,存库,(连击合击版本才支持)
 
修正游戏网关可能丢包,造成卡包,或其登陆黑屏问题
修正游戏网关CD版本 下发较大的包可能出现丢失BUG,比如卡包
引擎修正完善内存池的应用
MonSpAbilList.txt 第13项,破盾修改为几率(0~100)
 
PIC=功能扩展2: // 配置后面增加两项:绝对X,绝对Y(不参与自动换行计算)
<PIC=items,55,1,0,0,0,8,11,22 LABEL=@execlab HINT=裁决> //items=wil文件名,索引,图片数,循环,透明,偏移X,偏移Y,绝对X,绝对Y(不参与自动换行计算)
 
NPC文字信息配置新用法:
----------------------------------------
文字{X=2,Y=3,C=clBlue,T=tips,AX=11,AY=22} // X,Y偏移,C颜色,T提示,AX绝对X,{}内的系列配置会覆盖掉color=,hint=等的参数
// AX/AY为绝对值(不参与自动换行计算,最终坐标Y=Y+AY)
颜色用法可以这样:
  color=#321321 或 color=$321321,{c=#321321} 或 {c=$321321} 可以用吸色器获取各种颜色的数值
例如:
  <color=clgreen 文字{X=11,Y=22,AX=11,AX=22} HINT=tips>   <PIC=items,55,1,0,0,-40,8,0 LABEL=@execlab HINT=裁决>裁决图片{c=cllime}</>   <脚本标签{c=cllime,T=tips}/@execlab>
  “<color=clgreen 文字{X=11,Y=22} HINT=tips>” 等同于 “文字{X=11,Y=22,c=clgreen,T=tips}”
----------------------------------------
 
SETMERCHANTDLGIMGNAME 图片名 索引 // 索引不为0,图片名为有效素材文件名,会调用素材指定索引的图片
 
增加NPC命令:
----------------------------------------
NPC_DLG_OPTIONS 地图 NPC名字 参数 排列 对话框图片名 索引 // 可以在登陆脚本定义,只需要定义一次,除非参数改变
 
地图:NPC所在地图号(土城就是3),地图为""时,会根据NPC名字搜索
参数:1隐藏拉条,2对话框可移动,4闪烁,是复合参数,例如:1 + 2 = 3 表示可移动并隐藏拉条
排列:0或1默认,2居中,3右上,4左下,5右下
对话框图片名:空默认,索引不填写或等于0,调用lui.pkg图片,索引有效,调用素材文件的指定索引图片(素材文件名不要写扩展名)
 
一些特殊NPC名字和所属地图:QFunction/0,QMapEvent/0,QManage/0,RobotManage/0,QChatMission/0
 
建议:
不要再使用SETMERCHANTDLGIMGNAME,而使用NPC_DLG_OPTIONS代替,能有更好的体验
 
例子:
QManage.txt 中的
[@login]
#act
NPC_DLG_OPTIONS 0149 盟重张家布衣 7 2 MerchantDlg.png
NPC_DLG_OPTIONS 0149 盟重手套店 3 3 ui1 2731
NPC_DLG_OPTIONS 0149 盟重老张头盔店 3 4 ui1 2924
NPC_DLG_OPTIONS 0 QFunction 3 4 ui1 3020
----------------------------------------
 
 
 
 
 
 
2017/11/27
---------------------------------------------------------------------------
处理引擎和网关因通讯丢包引起个别玩家登陆黑屏(测试)
 
 
 
 
 
 
2017/11/16
---------------------------------------------------------------------------
修正#IF(X)多条件判断
优化性能,负载能力应该提升不少
 
 
 
 
 
 
2017/9/19
---------------------------------------------------------------------------
修正NPC获取
修正挖肉卡顿
修正完善内存池调用
 
 
 
 
 
 
2017/9/9
---------------------------------------------------------------------------
修正掉线重新召唤的随从行走速度异常
优化NPC获取
修正技能等级变化没有刷新技能套装威力
修正游戏网关停止服务发生崩溃,优化性能
引擎加载脚本检测到存在重复标签时增加提示(重复标签只会执行其中一条,是错误写法)
 
 
 
 
 
 
2017/8/21
---------------------------------------------------------------------------
以下脚本提供是否实时读写硬盘操作的参数,默认不写InTime参数,都是内存操作方式,
除非需要外部操作特定的文本去实现某些功能,才依据情况去添加InTime参数。
为什么要更新这个功能,因为实时硬盘操作文本数据效率特别低;特别是文本到一定大小以后,很容易造成游戏卡顿。
注:UnMarry.txt 为内存操作;之前针对以下命令的更新被此次更新覆盖
    !setup.txt UseFastTextFile=0,可以恢复到全硬盘读写模式(旧模式),但是不建议这样做。
    只需要对特性的文件做HardDisk操作就可以,这样能提升游戏的性能。
 
//第2参数为:HardDisk,实时读写硬盘数据,否则在内存操作
ADDNAMELIST
ADDGUILDLIST
ADDACCOUNTLIST
ADDIPLIST
DELNAMELIST
DELGUILDLIST
DELACCOUNTLIST
DELIPLIST
CHECKNAMELIST
CHECKACCOUNTLIST
CHECKIPLIST
CHECKGUILDLIST
AddNameDateList
DelNameDateList
ClearNameList
CheckAccountIPList
CheckNameIPList
CheckCodeList
AddUseDateList
DelUseDateList
 
//第3参数为:HardDisk,实时读写硬盘数据,否则在内存操作
CHECKSTRINGLIST
ReadRandomLine
ReadRandomStr
DelCodeList
WriteLineList
DeleteLineList
 
//第4参数为:HardDisk,实时读写硬盘数据,否则在内存操作
ReadLine
DeleteLine
WriteLine
InsertLine
CheckNameListPostion
 
//第6参数为:HardDisk,实时读写硬盘数据,否则在内存操作
CheckUserDateType
 
 
//第7参数为:HardDisk,实时读写硬盘数据,否则在内存操作
CheckNameDateList
 
 
 
 
 
 
2017/7/01 此次更新引擎+网关需要配套,否则会造成下发流量增加
---------------------------------------------------------------------------
修正2017/6/20版出现随机卡顿bug
游戏网关CD版优化封包下发
游戏网关增加 “@传 文字”,可以脏话过滤
优化NPC命令:MOVETOCELL X Y NPC名称 //X和Y等于0,取人物当前坐标,如果有“NPC名称”,此命令功能相当于点击人物可视范围内的指定NPC。
增加单独点击NPC命令:CLICKNPC NPC名称 //引擎客户端都需要更新
客户端修正连击补丁失效问题(类似:~hum_she75.wil 的文件)
ClearNameList 第二参数不为空,则清理内存中的文本数据。默认为空,清理硬盘上的文本数据。
 
以下更新适用于外部程序修改硬盘文件数据
----------------------------------------
LoadVar 第4参数为:InTime,实时读写硬盘数据
SaveVar 第4参数为:InTime,实时读写硬盘数据
第4参数为:Force,将实时保存内存数据至硬盘;即使不使用force参数,引擎也会每间隔1分钟自动存盘
CalcVar 第5参数为有效的文件名时,将保存到该文件内存中,并且第6参数为:InTime时,还将实时读写硬盘数据
 
之前的更新:magic.db的Power/MaxPower/DefPower/DefMaxPower魔法输出计算修改为受个人的幸运值影响,
现为以上更新增加开关:!Setup.txt增加开关(默认关闭):CalcDBPowerWithLuck=0,开启则攻击输出受个人的幸运值影响
物理攻击现在可以使用Power/MaxPower调节威力,一般情况下,此2项的值都是0
 
优化游戏网关
穿戴龙神装备现在需要激活龙神状态才会增加攻击输出(原来不需要激活龙神状态也能获得输出增益)
 
 
 
 
 
 
2017/6/20 此次更新引擎+网关需要配套,否则会造成下发流量增加
---------------------------------------------------------------------------
移动时撞到人或怪物反弹后,下次移动不列入加速检测(引擎+游戏网关配套)
优化游戏网关,修正网关启动服务时立即有连接接入时崩溃bug
 
 
 
 
 
 
2017/5/2
---------------------------------------------------------------------------
优化微端功能,提升效率,需要同时更新登录器、客户端和微端服务器
修正客户端连击扩展补丁读取bug
<$USERID>  用户账号
优化攻击模式检测
优化日志的管理
注意:
--------------------------------------
文本操作NPC命令路径统一为NPC当前路径,
写法: addLineList QuestDiary olelist.txt <$USERNAME> 需要修改为:
addLineList ..QuestDiary olelist.txt <$USERNAME> // “..”表示上一目录
--------------------------------------
修正NPC命令参数为变量时,可能获取错误bug
增强引擎IOPS能力
修正游戏网关停止服务时,可能出现崩溃的bug
Ini系列NPC操作命令增加自动保存功能
 
 
--------------------------------------
<$CURITEMID> //Give,GiveEx,GiveOK,GM制造物品时,可以使用<$CURITEMID>得到当前物品的ID
GETDLGITEMID P/G/D/M/H //获取物品ID值到变量P/G/D/M/H (P0~9,其他0~99)
CHECKDLGITEMID 123456 //检测物品框力的物品ID是否等于123456
 
例:
Give 物品名
INI_WRITE_INTEGER 文件名 <$USERNAME> 某任务_物品名 <$CURITEMID>  //记录物品ID,下次需要校验时,可以用 INI_READ_INTEGER 读取
sendMsg 1 <$CURITEMID>
 
 
INI_READ_INTEGER 文件名 <$USERNAME> 某任务_物品名 P0
#if
CHECKDLGITEMID P0
--------------------------------------
 
 
 
 
 
 
2017/4/12
---------------------------------------------------------------------------
mysql版本引擎增加金币交易行,参数设置-游戏参数二可以调节相关参数
优化mysql版本引擎,dbserver的数据存取效率
优化LoginGate,SelGate,LoginSvr_mysql版,mysql表结构改变!!!
--------------------------------------
优化NPC文本操作命令,文本会载入到内存中操作,直接修改文本操作现在不会生效。
恢复旧模式:!setup.txt UseFastTextFile=0,不建议
NPC文本操作命令非常消耗资源,特别时文本较大、操作频繁或脚本不合理时,服务器会严重卡顿。
!!! 强烈建议使用UseFastTextFile=1下的模式,如果你有大量的这类文本操作,可能会导致引擎内存不足,那么请设置UseFastTextFile=0
!!! 合理设计好版本,滥用文本操作容易导致游戏卡顿
 
AddAccountList,AddNameList,AddIPList,AddGuildList 
DelAccountList,DelNameList,DelIPList,DelGuildList 
CheckAccountList,CheckNameList,CheckIPList,CheckGuildList 等...保持不变,兼容充值系统(文本稍微大点会严重影响效率,造成游戏卡顿)
--------------------------------------
 
---------------------------------------
增加个人打怪爆率控制变量:
数值操作NPC命令:MonDropRate +/-/= 数值,默认值100,越小打怪爆率越低,设置为0将不爆物品,挖取和带有“;GETITEMFLAG”的爆率控制不受影响
条件检测NPC命令:CheckMonDropRate >/</= 数值
对应显示变量:<$MONDROPRATE>
---------------------------------------
称号计时间隔减少,更准确
优化游戏网关
 
mysql版本增加邮件系统(目前只开放系统邮件,为后续游戏功能提供支持)
可以使用NPC命令发送邮件:
;参数4:金币,参数5:元宝,参数5:元宝,参数6:物品(上限5个),参数7:附加属性,参数8:普通鉴定属性|神秘鉴定属性|特殊属性|神技|几鉴 //类似GiveEx,针对装备类
sendMail 玩家名 邮件标题 邮件内容 1000 10 回城卷|命运之刃 1=11,2=12,3=13,9=15   1=11,2=12,3=13,9=15|6=11,10=12,11=13,12=15|67|127|2
 
 
 
 
 
 
2016/8/28
---------------------------------------------------------------------------
修正引擎手动关闭或开启网关服务报错
完善合区工具对文本的分析添加
道道合击伤害计算不再受地钉攻击调节影响
治愈术:目标无效时,自动治愈自己
流星火雨增加范围调节
完善心灵召唤,并修改为达到4级下属才会飞到目标进行攻击
客户端暂时去掉小退/大退保护
客户端修正集体隐身术释放效果
客户端修正黄泉教主效果
客户端ObjectsX.wzl支持到60
增加新怪物...参考monster.txt
 
 
GameCenter可以配置CastleFile和DBServer的MapFile
英雄守护距离限制为15格
修正重新加载物品提示列表 无效问题
登录脚本支持ISCASTLEMASTER
行会联盟增加刷新
道力水和无极真气修改为独立计算
修正淬炼物品叠加材料消失问题
增加地图参数:NOSHOPPING //禁止商铺购物和赠送
NORECOVERINGSTONE //使用魔血石失效
 
优化M2使登陆游戏过程更顺畅
参数设置-环境设置,物品怪物数据库倍率 增加物品+HP/MP 倍数调节
小bug修正
 
英雄自由加点准确和敏捷现在有效
英雄参数调节面板增加开关:允许[英雄锁定目标]后瞬移至目标身边,默认关闭了;英雄守护需要英雄在视野外才可以瞬移
修复挖怪物尸体获得物品可能导致引擎无响应BUG
增加race=211怪物,不攻击人物,不受攻击,可以攻击怪物
 
 
装备,套装经验吸收百分比属性 生效
setup.txt 增加参数:TaosNomAtkDiffLvVal=0,非0时,道士英雄比怪物多X级时,只使用普通攻击,精神力战法开关可以控制
QF加入组队触发:[@JoinGroup] 离开组队触发:[@LeaveGroup]
增加地图参数:HERONOATTACKHUMAN //英雄不攻击人物,包含人物的随从
MonSpAbilList.txt 保留1修改为:攻击特点,值为1时不攻击人物及其随从
飘血能超过65535
增加NPC命令:
#IF(3) //扩展,如果众多条件中只要满足3条件,即可执行#ACT,#SAY...等
StringReplace S1 $STR(S2) $STR(S3) //替换字符串,S1源字符串,搜索S2->替换为S3
CHECKCONTAINSSTR 字符串 符 //检测“字符串”是否包含“符”,大小写敏感
CHECKCONTAINSTEXT 字符串 符 //检测“字符串”是否包含“符”,不区分大小写
CHECKRANGEPLAYERCOUNT 地图 X Y 范围 >/</= 数量 包含死亡(0不包含 1包含) //检测指定地图 指定范围内 玩家数量
GOTO LABEL 模式(1,2,3,4) 参数2 //扩展
模式=1 小组成员触发
模式=2 行会成员触发
模式=3 当前地图的人物触发
模式=4 以自己坐标为中心指定范围人物触发
 
 
减少登录器/客户端误报情况
登录器配置器支持对lui.pkg设置密码(lui.pkg使用的压缩密码)
 
Var相关操作优化,性能提升幅度非常大:
-----------------------------------------
SaveVar 参数1 参数2 文件名 Force //第四参数字符为Force,将实时保存数据至硬盘;即使不使用force参数,引擎也会每间隔1分钟自动存盘
//等介于:Ini_Save 文件名。
//Var系列相关操作,也可以适当修改后,使用INI_系列命令代替。
CalcVar 第五参数为有效的文件名时,变更将自动保存到内存中
 
 
鉴定系统改进:
-----------------------------------------
鉴定不再出现多项相同属性
鉴定可以设置最多的出属性的条数
 
鉴定师处,可以进行装备属性转移:
-----------------------------------------
允许普通属性转移列表(指目标装备):AllowInheritItemList.txt,格式:装备名称 需要元宝数量 需要装备碎片数量(装备碎片stdmode=41)  允许保留高数值属性(0/1 需要传承精华stdmode=41)
允许鉴定属性转移列表(指目标装备):AllowInheritTIItemList,格式:装备名称 需要元宝数量 需要卷轴碎片数量(卷轴碎片stdmode=41) 允许保留高数值属性(0/1 需要传承精华stdmode=41)
修改以上列表,新加载列表配置生效
允许保留高数值属性:指相同的2项属性,都存在数值,并且被转移装备的属性高于将要转移的装备属性值,才生效
允许5分钟内掉线重连,自动召唤出掉线前的属下,同批属下只能自动召唤一次,怪物设置面板可以开关,默认关闭
ReadRandomStr,ReadRandomLine,ReadLine 文件路径参数支持NPC所在路径
修正stringreplace S变量操作失效bug
增加NPC指令:StrTok S1 S2 |, 以“|”为分隔符,分解字符串,S1源字符串,S2存放分解子字符串,S1存放分解剩余部分;第三参数为空代表空格,“#9”代表Tab;第一、二参数支持S,A变量
优化NPC参数解释
 
大幅度提升mysql版本数据存取效率
 
 
 
 
 
 
2016/8/25 更新:引擎
---------------------------------------------------------------------------
修正8月份引擎大型活动场面卡问题
护体神盾的敏捷附加可以在魔法设置面板调节;抵挡伤害计算略微调整,最多抵挡1/3伤害
修正护体神盾,护身戒指作用下引起飘血数字不正确问题
完善伤害反射的计算
修正购买重叠物品数量可能都是1的问题
LoginSrv支持二级密码(md5)
客户端修正下属血条不按百分比显示问题,WebBrowser打开的网页内置于游戏窗口
 
 
 
 
 
 
2016/8/15 更新:引擎 + 客户端
---------------------------------------------------------------------------
SendScrollMsg 文字内容不可过长,否则会导致客户端在部分XP系统运行出现异常!
客户端完善一些细节,如套装的技能要学习了才显示为激活颜色...
修正0806英雄安全区不穿人
减少下发流量
性能参数面板增加防T心跳包时间调节,默认60秒,使用鼠标移动到控件查看说明
增加<$NPCEXECUTECOUNT>,用于显示NPC被执行的次数
Give 不限制上限个数,原来是1-50
PIC=功能扩展:
<PIC=items,55,1,0,0,0,8 LABEL=@execlab HINT=裁决> //items=wil文件名,索引,图片数,循环,透明,偏移X,偏移Y
<PIC=magic,1630,6,1,1,0,8 LABEL=@execlabfirecross HINT=火墙>
SendScrollMsg <$DLGITEMSHOW>`PIC=magic,0,10,1,1,0,-33&LABEL=@xxxxx~
 
 
 
 
增加简单的物品展示功能: //需要引擎和客户端配套使用
-----------------------------------------
(@@inputstring)
[@main]
<执行脚本/@ExecuteLabel>
<我要查询物品/@@inputstring1>   <展示我的物品/@@inputstring2> <关闭/@exit>
 
[@@inputstring1]
#ACT
SETDLGITEM <$STR(S1)>
#SAY
物品信息:         <$DLGITEMSHOW> <返回/@back>   <关闭/@exit>
 
[@@inputstring2]
#SAY
请放上你要展示的物品。 <返回/@back>   <关闭/@exit>
#ACT
QUERYITEMDLG 放上展示的物品 @showMyItem 0
 
[@showMyItem]
#SAY
我的物品:<$DLGITEMSHOW> <返回/@back>   <关闭/@exit>
#ACT
SENDMSG 1 <$USERNAME>:<$DLGITEMSHOW>...<$STR(S2)> 255 241 65000
SendScrollMsg `NAME=%s:~<$DLGITEMSHOW>...<$STR(S2)>
CLOSE
 
[@ExecuteLabel]
#SAY
<CMD=@ExecNPCLabel HINT=提示...第二行提示...>执行当前NPCLabel</>
#ACT
SendScrollMsg <PIC=DscStart0.bmp&LABEL=@qclabel&HINT=提示...>执行QChatMission</>
 
[@ExecNPCLabel]
#ACT
SENDMSG 5 @Label_executed...  255 168
-----------------------------------------
 
 
 
 
 
 
2016/8/10 更新:引擎 + 客户端
---------------------------------------------------------------------------
客户端普通下属和友军下属的血条颜色显示为粉紫色
客户端内挂的回城/下线保护优先于吃药
修正心灵召唤,达到3级可以使用鼠标指向怪物设定目标
修正英雄怪迟钝问题
修正服务器开启一段时间后,96怪物复活立即死亡bug
修正NPC对话内容加:HINT=提示信息... 后点击失效bug
减少引擎和网关的空包通讯间隔,可防止引擎网关分机情况下被机房防火墙踢掉
 
 
 
 
 
 
2016/8/08 更新:引擎 + 客户端
---------------------------------------------------------------------------
客户端刷新包裹后物品会排列
客户端挂机功能更好用
客户端输入用户密码可以一路回车进游戏,确认框确认可以按回车或空格
客户端修正套装宝石位置显示不正确问题
客户端可以自定义部分技能是否锁定,按F11技能面板设置,是否开放该功能可在新版本登录器配置器中设置
客户端修正在部分XP系统运行一段时间后会出现按钮消失问题(滚动公告不可过长)
登录器可自定义服务器里列表,可自定义调用的客户端名称,看登录器配置器下的"说明.txt"
客户端普通下属和友军下属的血条颜色显示为粉紫色
客户端内挂的回城/下线保护优先于吃药
 
修正心灵召唤,达到3级可以使用鼠标指向怪物设定目标
变量迁移
修正带升级武器标识的武器,砍下报错
修正几处内存泄漏_724
减少内存占用
英雄使用火墙更灵活
InputInteger/InputString 不再需要使用DelayGoto,需要修改脚本
简单增加摆摊交易税,功能设置可以调节,0不收税
商人商品数据保存时自动创建相关文件夹,关闭引擎自动保存商人商品数据
stditem.db扩展DropRatePlus字段,死亡掉落该物品附加机率:比如原来身上某件装备掉落几率为1/30,DropRatePlus非0时,掉落几率变为:1/(30+DropRatePlus)
中毒身亡,<$KILLER>等变量有效显示
h.takeon 会刷新英雄装备内观
修正@ReloadMonItems 报错
修正淬炼扣除重叠材料造成材料消失假象
修正NPC定时器BUG
怪物魔法躲避%10变更为%0
修正被怪物被召唤,该地方不会再刷出bug
修正96怪物不复活
增加开关:只让道士对中了红毒的对象产生加攻效果
增加装备无持久损毁提示,衣服武器无持久损毁外观修正
OffLine 命令:参数3<=0时,无限时间脱机挂着,否则为脱机的时间限制(分钟),超过该时间踢下线
pk控制面板增加人物登陆和切换地图的保护时间调节,默认3秒,建议调节到2.5秒
升级经验面板增加一直保留聚灵珠经验开关,默认关闭。聚灵珠吸收经验比率也迁移到升级经验面板
修正护体神盾不及时刷新属性,减少护体神盾增加的敏捷
 
 
 
增加简单搜索最低价的摆摊物品NPC条件命令:
----------------------------
SEARCHONSALEITEM 物品名 出售类型(元宝/金币) 返回最高个数(1-10) //返回信息自动以sendmsg形式发送给玩家
例子:
#IF
CHECKGAMEGOLD ~ 1
SEARCHONSALEITEM 开天 元宝 3
#ACT
GAMEGOLD - 1
#ELSEACT
SENDMSG 5 找不到指定的物品
----------------------------
 
 
客户端素材文件扩展的应用:
----------------------------
装备内发光:
    shine>=100 对应 data~witemsshine.wil 文件,每50张图一个效果,有效图片的请保持连续,例:shine=100调用0~49的图片,shine=101调用50~99的图片
 
衣服:
    shape>=75 对应 data~hum_shape的数字.wil 文件,例:shape=75 对应~hum_75.wil,连击~hum_s75.wil
翅膀:
    anicount>=75 对应 data~hum_he+anicount的数字.wil 文件,例:anicount=75 对应~hum_he75.wil,连击~hum_she75.wil
 
武器:
    shape>=100 对应 data~weapon_shape的数字.wil 文件,例:shape=105 对应~weapon_105.wil,每1200张图一个武器(男+女),连击~weapon_s105.wil
武器外发光:
    shine>=100 对应 data~weapon_we+shine的数字.wil 文件,例:shine=105 对应~weapon_we105.wil,每1200张图一个武器(男+女),连击~weapon_swe105.wil
 
怪物:
    Appr>=5000的,读取:data~mon_(Appr 整除 100).wil,例:appr=5005 对应~mon_50.wil,每360张图片为一只怪,支持一个文件99只怪
 
NPC:
    Appr>=1000的,读取:data~npc_(Appr 整除 100).wil,例:appr=1005 对应~npc_10.wil,每60张图片为一个NPC
 
背包物品:
    Looks>=20000,读取:data~item_bg+(looks 整除 10000).wil,例:looks=20005 对应~item_bg2.wil 索引5的图
身上物品:
    Looks>=20000,读取:data~item_st+(looks 整除 10000).wil,例:looks=20005 对应~item_st2.wil 索引5的图
地面物品:
    Looks>=20000,读取:data~item_dn+(looks 整除 10000).wil,例:looks=20005 对应~item_dn2.wil 索引5的图
 
如果加了新怪,声音文件可以自行编辑,然后使用自动更新,声音文件:Wavsound2.lst
发现怪物 200 + Appr * 10;
怪物行走 200 + Appr * 10 + 1;
怪物攻击 200 + Appr * 10 + 2;
武器发声 200 + Appr * 10 + 3;
受攻击 200 + Appr * 10 + 4;
死亡 200 + Appr * 10 + 5;
特殊攻击 200 + Appr * 10 + 6;
一般情况下,只增加“发现怪物”和“怪物攻击”和“死亡”的声音
----------------------------
 
 
 
 
 
 
2016/7/23 更新:引擎 + 客户端
---------------------------------------------------------------------------
祝福油控制面板增加+幸运的模拟计算
修正上版本#define失效问题
修正个别怪物报错,需测试
Race:60/61 人形怪物使用英雄创建(注:62是带连击的人形怪)
修正176版合区工具问题,重要!
合区工具的【数据维护-查询】增加金币/元宝/金刚石/灵符等的统计
减少客户端/CD客户端的CPU占用
完善装备限制爆出功能
假如怪物被重叠,现在可以攻击周围目标
SETSCTIMER 扩展到15个,原来是10个
优化英雄技能判别
优化物品规则列表
优化物品引用
优化走路/跑步/广播/搜寻...
怪物不再受HM/MP恢复速率调节的影响
优化怪物/人物流程,现在占用更少的CPU资源
 
 
 
 
 
 
2016/07/08 更新:引擎
---------------------------------------------------------------------------
更好用的英雄守护模式
英雄设置二:增加老的工作速度模式开关
旗舰版网关/CD网关 魔法ID范围检测由1~127修改为1~254,关闭时间精度开关
优化延迟脚本
 
 
 
 
 
 
2016/07/05 更新:引擎
---------------------------------------------------------------------------
修正装备限制爆出系统bug
修正寒冰掌技能bug
修正个别怪物报错
优化人物数据读写
道道合击提高命中率
更好用的英雄守护模式
英雄设置二:增加老的工作速度模式开关
旗舰版网关/CD网关 魔法ID范围检测由1~127修改为1~254,关闭时间精度开关
 
 
 
 
 
 
2016/07/01 更新:引擎
---------------------------------------------------------------------------
修正0628道道合击放不出bug
修正NPC执行bug,重要!
修正优化其他代码
 
 
 
 
 
 
2016/6/28 更新:引擎 + StdItemConverter
---------------------------------------------------------------------------
修正 INI_SORT_READ_SECTION_VALUES 节名下数据为空时不读取问题
增加 INI_SORT_DELETE 保存到内存的标识名(All=删除所有) //删除对应内存标志名的列表信息
修正 TUserEngine::ProcessHumans -> Ready, Save, Load...报错
修正可能出现物品显示假象
NPC命令:DropItemMap 增加参数7,为物品可拾取的倒计时秒数,0立即可以拾取
修正reloadnpc all 可能引起一系列奇怪报错的问题
引擎修正变异骷髅攻杀报错,客户端修复变异骷髅攻杀效果
magic.db的Power/MaxPower/DefPower/DefMaxPower魔法输出计算修改为受个人的幸运值影响
magic.db增加Penetrate,PenetrateRate字段,使用stditemConverter工具进行扩展,Penetrate的值:1忽视防御,2忽视魔法盾,4忽视魔御,1+2=3则忽视防御和魔法盾;PenetrateRate为穿透几率(百分比)
优化魔法
CHECKITEMDURACOUNT 物品名 是否聚满(0=未满的,1=已满的) >/</= 数量 //检测包裹指定物品名是否满持久数量(可用于聚灵珠等...)
TakeDuraItem 物品名 是否聚满(0=未满的,1=已满的) 数量 //拿走背包指定条件物品(三个参数)(可用于聚灵珠等...)
 
 
 
 
 
 
2016/6/12 更新:引擎 + 控制台 + 客户端 + 合区工具
---------------------------------------------------------------------------
控制台增加保存插件目录
套装增加保留兼容模式开关,按原来计算方式计算属性
修正扩展套装功能引起的内存泄漏
修正带了附加套装技能效果后,更换为无效果装备,自身魔法举手效果依然存在的问题,虽然其他人看到的是正常效果
修正刺杀不忽视魔法盾情况下的伤害错误计算
修正个别版本会报"%d ..."的错误
优化限制物品曝出功能,并改为保存相关数值
临时取消老的物品绑定账号/IP/角色功能,效率太低;建议在DB设置物品绑定,同时在功能设置-全局功能页面调节绑定相关设置
客户端增加套装技能威力显示
客户端增强反外挂
stditem.db增加MaxOverlap参数,允许重叠最高数量,使用最新的StditemConvert.exe扩展下stditem.db
give,giveex后自动重叠
优化性能
修正合区工具日志分析查不到泡点
补充:
READLINE 文件 行数 S10  //获取指定行数的一行字符到S10,或A10(全局)
DELETELINE 文件 行数 S10  //获取指定行数的一行字符到S10,或A10(全局),并删除该行
WRITELINE 文件 行数 S10/文字/变量  //写文字到指定行数,覆盖方式
INSERTLINE 文件 行数 S10/文字/变量  //插入文字到指定行数,非覆盖
 
高效率的Ini文件NPC操作命令:
-----------------------------------------------------------
INI_READ_STRING 文件 节名 键名 S/A  //从Ini的【文件-节-键】获取字符串值到S/A
INI_WRITE_STRING 文件 节名 键名 S/A/文字/变量  //写入字符串值到Ini的【文件-节-键】
INI_READ_INTEGER 文件 节名 键名 P/G/D/M/H //从Ini的【文件-节-键】获取整数值到P/G/D/M/H
INI_WRITE_INTEGER 文件 节名 键名 P/G/D/M/H/整数  //写入整数值到Ini的【文件-节-键】
INI_WRITE_INTEGER_EX 文件 节名 键名 +/-/= P/G/D/M/H/整数  //按操作符写入整数值到Ini的【文件-节-键】
INI_DELETE_KEY 文件 节名 键名 //删除Ini的【文件-节-键】
INI_SECTION_COUNT 文件 节名 P/G/D/M/H //获取Ini的【文件-节】下的键值数量到P/G/D/M/H
INI_CLEAR_SECTION 文件 节名 //清理Ini的【文件-节】下的键值
INI_ERASE_SECTION 文件 节名 //删除Ini的【文件-节】,包括键值
INI_SAVE 文件 //保存到文件,上面的操作不自动保存,保存频繁会消耗比较多的CPU资源
INI_RELOAD 文件 //重新加载文件,可以用于手动修改了文本文件的情况下。
 
INI_SORT_READ_SECTION_VALUES 文件 节名 排序键或值(0=键/1=值) 排序类型(0=字符串/1=整数) 升序降序(0/1) 保存到内存的标识名 保存到文件(0/1)
INI_SORT_SECTION_VALUES_COUNT 保存到内存的标识名 P/G/D/M/H //获取指定标识名的列表数量到P/G/D/M/H(包含了节,在列表第一个)
INI_SORT_GET_SECTION_STRING 保存到内存的标识名 S/A //获取指定标识名的字符串“节名”到S/A
INI_SORT_GET_IDENT_STRING 保存到内存的标识名 索引 S/A //获取指定标识名和指定索引的字符串“键”  到S/A
INI_SORT_GET_VALUE_STRING 保存到内存的标识名 索引 S/A //获取指定标识名和指定索引的字符串“值”  到S/A
INI_SORT_GET_IDENT_VALUE_STRING 保存到内存的标识名 索引 S/A //获取指定标识名和指定索引的字符串“键值”到S/A
INI_SORT_GET_VALUE_INTEGER 保存到内存的标识名 索引 P/G/D/M/H //获取指定标识名和指定索引的整数  “值”  到P/G/D/M/H
INI_SORT_DELETE 保存到内存的标识名(All=删除所有) //删除对应内存标志名的列表信息
-----------------------------------------------------------
上述NPC命令使用可以参考:INI_SORT 脚本例子.txt
 
 
 
 
 
 
2016/4/18
---------------------------------------------------------------------------
修正上个版本英雄休息状态失效问题,改变跟随路径规则,英雄流程小优化
对可以挖的怪物,死亡3秒后挖取动作才有效,游戏网关挖取间隔建议设置为900
套装修改:
----------------------------
编辑套装可以设置激活提示为空,即可以隐藏套装属性,最多同时激活5套
套装现在可以选择【按百分比】或【按点数】
多套装激活现在修改为独立计算属性,原先是合并后计算属性,计算后属性和原来算法有小差别
套装增加技能支持,可以调节技能效果和技能威力,一个套装最多可以支持30个技能 //+效果不参与攻击输出计算,+威力具体多少需要自行测试,会受幸运和对方防御的影响
 
淬炼功能扩展:
配置中的条目,增加2个参数,第一个:最多只能炼出N条极品属性,第一个:成功提示自定义,例如:
------------------------------------------------------------
[火云石碎片+魔龙冰晶+弩牌] ;禁止极品属性装备淬炼 ;最多2个附加属性 ;成功的弹窗提示
光芒项链 70    100    0    70    1-5,1-5,0-5,0-5,1-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5, 1 2 成功附加了属性|成功但是未附加属性|淬炼失败
烈焰项链 70    100    0    70    1-5,1-5,0-5,1-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5, 1 123456|654321
雷霆项链 70    100    0    70    1-5,1-5,1-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5,0-5, 1
------------------------------------------------------------
淬炼开始时清理的属性现在只限在0~13的位置,原来是所有属性都清理。
 
 
 
 
 
 
2016/3/26
---------------------------------------------------------------------------
CHECKMAPMONCOUNT 地图名可以是Self,表示当前地图
增加:CHECKMAPRANGEMONNAMECOUNT 地图名(Self指当前地图) X Y 范围 怪物名字(*指所有) >/</=/? 数量 //检测指定地图坐标范围内的怪物数量
优化聊天处理
优化消息列队和发送
物品规则列表增加【死亡消失】选项
英雄得到其他经验可以设置为0%
法师英雄现在修改为跟随状态也可以持续开盾
修正GM命令调整元宝不刷新BUG
修正英雄有几率在安全区攻击bug
 
 
 
 
 
 
2016/3/19
---------------------------------------------------------------------------
---------------------------------------
发型,性别,职业,等级,金币,元宝,泡点,整数0~9的对应GM命令支持离线修改,
即人物不在线时直接修改数据,需要更新M2和DBServer,建议使用,少用文本操作的NPC命令,以提高效率
---------------------------------------
增加7级GM命令:@ints 0~9 角色名 +/-/= 数值,可以修改上个版本增加的10个整数变量,支持离线修改
loginsvr_mysql修正注册ID可能出错问题
 
 
 
 
 
 
2016/3/14
---------------------------------------------------------------------------
---------------------------------------
增加NPC命令:INTS 0~9 +/-/= 数量
提供对十个整数操作,记录日志在元宝类型中,搜索日志以关键字“整数”进行过滤,
可以使用<$INTS0~9>获取和显示,英雄以<$H.INTS0~9>获取和显示
MYSQL版本需要更新数据库的TBL_ADDON表和DBServer,以读取和保存新数据,最新数据库结构参考legendofmir.sql
如果需要把当前版本的普通数据转换到MYSQL数据,同样需要使用本次更新的DB2MySQL.exe
增加NPC检测命令:CHECKINTS 0~9 >/</= 数量
---------------------------------------
修正全局变量操作(Var/CheckVar/LoadVar等...)的严重BUG,并大幅度提高此等操作的效率
增加稳定性
 
 
 
 
 
 
2016/3/09
---------------------------------------------------------------------------
修正带有;GETITEMFLAG运行数天后,偶尔出现爆不出物品问题
修正几个小bug
 
 
 
 
 
 
2016/1/20
---------------------------------------------------------------------------
修正上个版本(2016/01/11~13)报错
修正引擎开启超过29天后,多进程之间的行会战消息整数越界问题
 
 
 
 
 
 
2016/1/13
---------------------------------------------------------------------------
减少英雄飞到主人身边的检测距离
加快英雄远程锁定目标的攻击反映
包裹不存在聚灵珠情况下,人物不再一直积累聚灵珠的经验
连击引擎的怪物被召唤后,可以再次刷新(176引擎不会,除非怪物死亡或消失)
优化微端内存申请释放,修正出现死锁情况;微端修改为需要激活使用。
修正引擎,三个网关刚开启时遇到接入连接的出错Bug
改善数据读取和保存线程逻辑
 
 
 
 
 
 
2016/1/2
---------------------------------------------------------------------------
英雄远程锁定目标可以飞到目标身边进行攻击
解决引擎,网关下发封包顺序BUG
优化微端服务器读取性能和下发带宽
改善英雄对目标的锁定
设置英雄杀人增加主人PK值时,武器增加诅咒也作用在主人身上
完善连击的释放和攻击
完善英雄对目标的锁定
MonSayMsg.txt 支持以下变量:SERVERNAME,SERVERIP, WEBSITE 等全局变量
CURRENTMAPDESC, CURRENTMAP, CURRENTX, CURRENTY, USERNAME, MONKILLER, KILLER
HP, MAXHP, MP, MAXMP ... MAXSC, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECONDS
改进客户端的隔位刺杀
客户端增加角色(人物、怪物、NPN等)提示列表,适用于BOSS提示,PK目标人物更醒目等
完善属下对友军的识别
 
 
 
 
 
 
2015/12/31 全套更新!!!
---------------------------------------------------------------------------
改善法师/道士职业英雄
改善英雄回到主人身边的反映
改善丢包被T
修正英雄有时动作速度异常问题,增加英雄野蛮时间补偿,现在看起来更接近于玩家的动作
修正客户端使用微端时,个别资源因解压校验错误而未能显示问题
修正几个怪物重刷后不能移动问题
修正合区工具问题
 
 
 
 
 
 
2015/12/18 M2 + RunGate配套使用
---------------------------------------------------------------------------
将mCryptModule.dll分别复制到M2,LoginGate,Rungate目录下,会加密保存激活码。
客户端增加极品物品的坐标和方向提示
客户端修正怪物出现时,声音调节失效问题
修正类似虎卫被召唤,无限刷新问题
修正客户端对NPC:WebBrowser命令部分网页打不开问题
mysql版本的dbserver,loginsvr的配置文件中,如果LoginPrompt=1,则每次开启都需要输入密码,这时ini中不要保存sql密码。
优化LogServer
 
 
 
 
 
 
2015/12/12
---------------------------------------------------------------------------
取消任务导航支持执行QF脚本功能,取消聊天栏支持执行QF脚本功能,存在漏洞!!!
并改为执行独立脚本:QChatMission-0.txt,因为客户端可以直接执行该脚本的任意标签,要注意脚本写法,防止漏洞。
------------------------
优化NPC执行流程
优化修正引擎接收封包处理封包的bug,大幅度提升引擎对客户端封包处理效率
客户端自定义输入字符默认过滤“@<>/”5个字符,防止标签被非法执行
 
修正2015/11/30修改引起的杀怪触发脚本报错
取消金币交易市场
 
 
 
 
 
 
2015/11/30
---------------------------------------------------------------------------
优化客户端纹理加载和管理
优化客户端操作体验
修正物品被拾取后偶尔留下的物品假象
被登陆脚本踢下线后不再接受客户端封包
优化引擎IOCP封包处理部分的性能
优化客户端聊天栏字体渲染效率
优化客户端数字飘血和数字显血
提高火球术,大火球,灵魂火符对移动目标的命中率
增加释放魔法触发QFunction的[@MagSelfFuncXX]和[@MagTagFuncXX]的开关,默认关闭
引擎修正火墙假象
 
现在[@KillPlayXX][@KillPlayMonXX]触发时,可以使用KILLERTYPE区分杀怪/人的主体
比如:
[@KillPlay1]
#IF
KILLERTYPE = 1  //1人物,2英雄,3宝宝
#ACT
SENDMSG 5 人物杀死
 
 
 
 
 
 
2015/11/10
---------------------------------------------------------------------------
修复上个版本客户端运行片刻会出现崩溃退出bug
修复游戏网关一个严重的死循环漏洞,会导程序致崩溃退出
修复上个版本引擎因优化地图管理器引起脚本缓存不能读取问题,如:升级武器记录文件,已卖商店的物品不加载等...
 
提高数据工具的日志查询效率
怪物设置增加开关:所有怪物使用新的刷新模式;如果开启,相当于MonGen.txt下所有怪物都使用新的刷新模式(重启生效)
修正LoginSvr找回密码bug,修正LoginSvr一个封包漏洞
LoginSvr找回密码修改为:问题1答案1,问题2答案2都正确才能成功找回,修正账号的创建日期和更新日期错乱bug。
LoginSvr mysql版本优化语句,完善防注入检测
LoginSvr mysql版本增加二级密码,密码现在使用MD5密文
优化怪物运行管理,修正上个版本的引擎会出现怪物迟钝BUG,
提高引擎启动速度,提高动态变量(LoadVar,SaveVar)效率
 
 
 
 
 
 
2015/10/25
---------------------------------------------------------------------------
改进刷怪和怪物运行管理,现在由地图管理器接管
改进,优化镜像地图功能
修正完善英雄怪
客户端增加拒绝全服喊话开关(@传 之类的喊话信息),需配合最新引擎;同时引擎有控制开关,游戏参数-信息控制-允许屏蔽全局喊话
简单增加好友上线提示,私聊字体个性颜色等
添加黑名单会在服务器上禁止私聊
将simli.ttf更新至客户端data目录下,可以启用个性化NPC名字字体
提高客户端对Wzl的读取效率
 
 
 
 
 
 
2015/10/14
---------------------------------------------------------------------------
修正师傅不在线情况下,记录徒弟出师文档BUG
修正跨服属下属性异常问题
连续申请行会战,最高可持续12小时
完善客户端细节
 
刷怪文件增加一个参数,现在格式如下:
;代码 x y 名称 范围 数量 时间 任务几率(0~100) 刷新模式(0~1)
-------------------------------------------------------------------
刷新模式=0时,刷怪模式不变,和以前一样,可能boss刚被杀死,未到间隔时间会重新刷一只。 //不添“刷新模式”参数,默认为0
刷新模式=1时,假设怪物刷新间隔时间是1小时,杀死怪物后,经过1小时才会再次
刷出该怪物。 
      
 
建议boss类的怪物开启新的刷怪模式,更加合理。
 
增加几个变量:
$YEAR //年
$MONTH //月
$DAY //日
$HOUR //时
$MINUTE //分
$SECOND //秒
$MILLISECONDS //毫秒
 
增加NPC命令: //因为需要申请和释放比较大的内存,不建议频繁使用
AddMirrorMap 源地图 镜像地图 镜像地图描述 小地图编号 使用期限(分钟) 刷怪(0,1)
DelMirrorMap 镜像地图
MirrorMapTime 镜像地图 +/-/= 时间(分钟) //MirrorMapTime 镜像地图,直接获取剩余使用时间
在镜像地图中可以使用<$MIRRORMAPTIME>查看剩余使用时间,新客户端可以直接右上角显示
 
MobNpc 地图名 X Y NPC名称 脚本文件名 外形(数字) 属沙城(0,1) 脚本文件不带地图名(0,1) //刷NPC;脚本文件不带地图名=1,不需要带地图名
DelNpc 地图名 X Y //刷出NPC
 
 
脚本示例:
----------------------------------------
[@AddMirrorMap]
#ACT
AddMirrorMap D71615 MRD71615 [D71615]的镜像 0 2 1
 
[@AddMirrorMap_Success]
#ACT
SENDMSG 5 创建镜像地图成功。 255 168
AddMapRoute 3 333 333 M71615 22 33 0
AddMapRoute M71615 21 33 3 332 333 0
 
[@AddMirrorMap_Failed_SourceMapNotExists]
#SAY
创建镜像地图失败,源地图不存在!
<返回/@main>
 
[@AddMirrorMap_Failed_MirrorMapExists]
#SAY
创建镜像地图失败,镜像地图已经存在!
<返回/@main>
 
 
 
[@DelMirrorMap]
#ACT
DelMirrorMap MRD71615
 
[@DelMirrorMap_Success]
#ACT
SENDMSG 5 删除镜像地图成功。 255 168
 
[@DelMirrorMap_Failed_MirrorMapNotExists]
#SAY
删除镜像地图失败,镜像地图不存在!
<返回/@main>
 
[@DelMirrorMap_Failed_NotMirrorMap]
#SAY
删除镜像地图失败,目标非镜像地图!
<返回/@main>
 
 
[@MirrorMapTime]
#ACT
;;MirrorMapTime MRD71615
MirrorMapTime MRD71615 + 1
 
[@MirrorMapTime_Success]
#SAY
镜像地图使用剩余时间:<$STR(M98)>分钟<$STR(M97)>秒
<返回/@main>
 
[@MirrorMapTime_Failed_NotMirrorMap]
#SAY
目标非镜像地图!
<返回/@main>
 
[@MirrorMapTime_Failed_MirrorMapNotExists]
#SAY
目标镜像地图不存在!
<返回/@main>
----------------------------------------
 
 
 
 
 
 
2015/10/10
---------------------------------------------------------------------------
修正浑水摸鱼模式名字显示问题
修正几个封包漏洞,会可能导致物品属性混乱。
修正登录可能出现串号问题
修正LoginGate有大量连接时会出现错误并不能接受连接BUG
引擎启动后,执行QManageNPC [@OnStart]
修正绿毒的爆出物品占有权过大问题
跨服系统喊话
跨服行会传送GM命令和NPC命令
跨服跟踪
跨服传唤
跨服夫妻传送
跨服夫妻上线提示
跨服行会战
跨服全局变量同步
修正可能同时爆出多个装备极品属性的问题
 
 
 
 
 
 
2015/9/30
---------------------------------------------------------------------------
暂时去掉部分分线程,保证稳定性
更改英雄攻击模式的限制时间调整为200ms
修复神兽有大量目标仍边攻击边回头走问题(包括其他怪物属下)
修复属下远离情况下,CTRL+A切换攻击模式,属下不回到身边问题
增加NPC命令:MOVETOCELL X Y NPC名称 //自动移动到坐标点,并点击NPC;“NPC名称”可忽略。
怪物设置面板增加怪物灵敏度调节
修正关闭M2加速功能不完善问题
优化人物流程
修正英雄组合速度难调节问题
修正怪物过于灵敏问题并完善怪物灵敏度调节
 
客户端:
修正按住施毒术会导致毒药消失假象问题
输入法使用Windows的原始界面
全角输入法状态下,可以按1~6吃药,使用字母释放魔法,以及使用如~!@等快捷字符
包裹界面增加刷新包裹按钮
增加安全区右上角标识
 
 
 
 
 
 
2015/9/24
---------------------------------------------------------------------------
修正2015/9/23因改进英雄流程引起召唤不出英雄的问题
怪物设置增加是否可以立即拾取大刀杀怪物爆出的物品
修正属下的反应比较慢的问题
Logingate将现在起需要引擎的激活码,Confing.ini [Strings] ActivateCode=激活码
登陆网关和客户端的登陆流程修改
 
 
客户端:
增加音量调节
中文状态可以按“`”或“~”建拾取物品
修正按住施毒术会导致毒药消失假象问题
增加使用字母自定义技能快捷键,并且修改原先快捷键为(防冲突):
CTRL+Z -> ALT+A 自动挂机
V -> ALT+V 隐藏怪物尸体
O -> CTRL+O 查看任务
P -> CTRL+P 查看组队
T -> CTRL+T 交易
 
 
 
 
 
 
2015/9/23
---------------------------------------------------------------------------
开启引擎后,自动开始2分钟时长的快速刷怪
改善英雄和怪物的运行效率
修正上个版本可能出现药品不自动解包问题(注:红药包Anicount=1,蓝药包Anicount=2, 特殊药包药包Anicount=3)
修正地狱雷光/瞬息移动之类的魔法,超过魔法距离释放失败问题
改进英雄的群体技能的释放
修正提交镖车,镖车不消失bug
优化多线程下物理地图对象存取
 
 
 
 
 
 
2015/9/20
---------------------------------------------------------------------------
修复一个严重bug,特定情况下会消耗大量的流量和CPU
多线程处理人物/英雄/怪物/通讯等流程,流畅度是否提升,需测试!
修正行会时,攻击模式计算缓慢问题
噬魂沼泽释放后,在释放地面范围内将中毒,5秒持续时间(如果使用新客户端0920以上,可将Magic.DB中噬魂沼泽释的EffectType=2,这样毒雾不会随目标移动)。
 
客户端:
走路判断更灵活,内挂细节修正,隐藏尸体修正,优化CPU开销
 
 
 
 
 
 
2015/9/12
---------------------------------------------------------------------------
修复一处可导致引擎自动关闭的溢出漏洞
修复客户端飘血与实际掉血量不相等BUG
大量减少引擎下发流量
修正快速使用物品可能导致内存溢出bug
修正特性情况下交易物品消失bug
 
 
 
 
 
 
2015/8/22 引擎+客户端 需要配套
---------------------------------------------------------------------------
将获得的激活码填写在!Setup.txt的
[Server]
ActivateCode=激活码
第一次激活比较久,稍等3分钟左右,重新开启程序即可。
 
修正NPC下发脚本小bug
修正挖肉品质bug,修正肉品价格错误
修正丢物品到地面偶尔看不到bug(客户端)
地面极品装备会闪烁,选项-物品装备-有开关设置
修正引用时间函数的错误运算
修正偶尔出现GM隐身被看见bug
客户端修正部分素材看不到bug(客户端)
--------------------
MonItems目录下的爆率文件,第一行增加标志:;GETITEMFLAG(3),数字3,表示将随机必爆爆率为1/99999999的其中3样物品
白野猪.txt 爆率文件内容格式如下:
;GETITEMFLAG(3)  
1/5 金币 200
1/2 强效魔法药
1/2 强效金创药
1/5 太阳水
1/5 强效太阳水
1/99999999 上古神甲
1/99999999 上古宝甲
1/99999999 上古披风
1/99999999 上古羽衣
1/99999999 上古道袍
1/99999999 上古长袍
--------------------
 
 
 
 
 
 
2015/8/11
---------------------------------------------------------------------------
MapInfo.txt的地图增加参数:OPTI,带有该参数的地图,会提前申请需要的部分内存进行优化。PS:适合用于怪多,人经常去升级,或PK多的地图,建议使用。
网关封掉利用部分技能制造类似“暗杀”的效果
完善个别脚本命令
 
任务导航支持执行QF脚本:
-------------------------
[1-1] 任务1
移动到<英雄特使(比奇城)(334,270)/@_automove 334:270:比奇省>脚本执行方式1<LABEL=@QFLabel>执行脚本</>脚本执行方式2<执行脚本/@QFLabel>...脚本执行方式3<PIC=DscStart0.bmp&LABEL=@QFLabel>普通文字
 
 
 
 
2015/8/7
---------------------------------------------------------------------------
优化部分封包,减少引擎下发流量
优化封包模块,性能有比较大的提升(影响所有服务器程序)
改进新刷怪模式,刷怪速度几乎等同老模式,性能更好刷怪更合理!同时增加回老的刷怪模式提供选择
改善怪物流程稳定性
修正挖动物获取到的物品看不见bug
性能设置增加怪物灵活度兼容开关,开启后,怪物灵活度等同于以前版本引擎的。
优化聊天处理代码
增加稳定性
 
 
2015/7/30
---------------------------------------------------------------------------
修正周围有人取消摆摊失败bug
修正账号在其他地方登录时,偶尔不提示信息bug
修正有时怪物不显示名字
修正偶尔出现个别怪物报错
修正发现死亡人形怪/人物时外观不正确显示bug
增加视觉范围控制,在参数设置,坐标范围,建议X=18 Y=16
DBS修正当前使用称号和显示时装开关不保存bug (MySQL版本)
 
SENDMSG 5 普通文字1<LABEL=@QFLabel&HINT=点击运行脚本功能>[执行脚本]</>普通文字2 255 168 65000 //聊天栏置顶文字+执行脚本
SENDMSG 5 普通文字1<PIC=DscStart0.bmp&LABEL=@QFLabel>普通文字2 255 168 65000 //聊天栏置顶文字+按钮执行脚本,DscStart0.bmp必须存在lui.pkg中
SENDMSG 5 <URL=www.XXXXX.com&HINT=点击打开网站>访问官方网</> 255 168
聊天栏置顶文字需要最新客户端支持。
 
 
 
2015/7/19
---------------------------------------------------------------------------
引擎:
修正上个版本引擎一个比较大的内存泄漏
修正加载脱机人物地图对象重复bug
修正镖车可能引起的内存错误
修正偶尔出现怪物假象
修正ReQuestBuildGuild bug...
优化ReGetHumanName,HumamOperation...
优化地图对象流程,增加地图对象内存管理
网关通讯采用多线程IOCP模式,提高数据吞吐量
改进地图对象架构,提高性能,减少内存碎片
增加地图对象管理,减少内存开支
修正火龙之心bug
db里,称号的 weight = 1,图片和名字分为上下显示
性能设置增加了快速刷怪开关
优化全局变量相关应用部分
 
服务器数据存取方式采用MySQL(MySQL版本)
m2 改进怪物内存流程,提高怪物灵敏度,降低CPU使用率,改善其他部分代码的性能
m2和dbs数据存取部分改用多线程模式,性能提升大(MySQL版本)
GameCenter增加‘最高服务器上线人数’设置,支持MySQL备份与恢复(压缩备份与恢复需要在MySQL的bin目录下放上gzip.exe)(MySQL版本)
 
 
 
 
登陆排队功能:(网关 + 引擎 + 客户端 配合)
---------------------------------------------------------------------------
MaxUserForLoginWait=8000 实际在线人数超过此数量,登陆游戏会排队,赋值0将关闭登陆排队功能。
LoginWaitTimeRate=0.800000 登陆等待时间 = (实际在线人数 - MaxUserForLoginWait) * LoginWaitTimeRate
OnlinePlayerCountRate=13.240000 排队时报告的在线人数倍数,报告数量 = 实际在线人数 * OnlinePlayerCountRate
 
 
 
 
连击:
---------------------------------------------------------------------------
增加种族伤害属性,只限武器
首先扩展HeroDB数据库,使用StditemConvert工具,然后设置数值,
Monster.DB的:
RaceEx 0=未定义,1=人族,2=兽族,3=无生命,4=不死族,5=恶魔族
ShapeEx 0=未定义,1=小型,2=中型,3=大型,4=巨型 (注:目前未启用)
 
Stditem.DB的:
RaceDamage  种族伤害值 0~255
ShapeDamage 体型伤害值 0~255 (注:目前未启用)
 
@supermake 1 24 0~255 //种族伤害值,调整所有种族伤害的伤害值.如果当前武器有3种种族伤害,则3种种族伤害的伤害值同时调整一致
@supermake 1 25 1~31 //种族伤害针对的种族,1=人族,2=兽族,4=无生命,8=不死族,16=恶魔族,可以多个并存,将对应的数值相加即可,如果该值不正确或未设置,客户端显示附加种族伤害 +xx%(未激活)字样
//比如要人族和兽族2种属性共存就@supermake 1 25 3
//如果要人族,兽族,无生命三种属性共存就@supermake 1 25 7
脚本命令:GIVE,GIVEEX,UPGRADEITEM,UPGRADEITEMEX 同样可以调整
 
 
 
 
 
 
 
 
1、装备的PK目标爆率 修改为 击杀爆率,使用百分比计算,现在不止对人有效,对怪物也有效。
   公式:爆率 = 原爆率 + ((击杀爆率 - 防爆) / 100 * 原爆率);
   注:爆率/原爆率/击杀爆/防爆 都是百分比, 
   比如原来爆率是10%,击杀爆率 50%,防爆0%,根据公式:10 + (( 50 - 0) / 100 * 10) = 15,最终爆率就是15%
   比如原来爆率是10%,击杀爆率100%,防爆0%,根据公式:10 + ((100 - 0) / 100 * 10) = 20,最终爆率就是20%
 
2、防爆 修改为使用百分比计算
 
3、改善英雄类怪物的灵敏度,RECE=61人形怪支持连击
 
4、改进刷怪机制(复活模式),大幅度提高性能,减少服务器内存碎片,更准确的刷怪时间
 
5、HGE客户端优化,即使用火墙同时烧2000怪,CPU基本也保持为0~1%
 
6、大量性能优化,在服务器硬件配备够好情况下,经测试,万人在线不卡(3000人同时参与沙战不卡)
 
MonSpAbilList 增加 防红毒 防绿毒 破盾
菜单-怪物设置-基本参数:增加怪物死亡重新计算刷新时间 开关,默认关闭
菜单-物品装备-基本设置:增加装备持久0是否消失 开关,选择不消失则属性失效
修改赋予称号时自动激活
 
 
 
HGE客户端支持怪物:(附加)
瘟疫毒牙;81;124;360;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
瘟疫金蟾;81;124;361;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
瘟疫鱼人;81;124;362;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
瘟疫蛋;115;124;363;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
瘟疫使者;81;124;364;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
瘟疫长老;81;124;365;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
瘟疫统帅;81;124;366;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
醉拳熊猫;210;124;367;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
邪恶沙虫;127;125;370;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
秃鹫;81;125;371;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1250;0;0;0;
掷刀兽人;87;125;372;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
矿工兽人;81;125;373;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
梭镖兽人;87;125;374;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
大刀兽人;128;125;375;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
训狼兽人;81;125;376;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
坐骑兽人;81;125;377;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
巫师兽人;129;125;378;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;2000;1;0;2050;0;0;0;
厨师兽人;81;125;379;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
流星锤兽人;159;125;3710;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
m38_11;160;125;3711;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
m38_12;160;125;3712;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;
m38_13;160;125;3713;50;1;30;16000;6000;0;80;80;88;99;0;0;30;30;1000;1;0;1050;0;0;0;