2014年更新日志
## 12月28日
1.修复合区时非常耗时的Bug(新的合区方式不再读取原来合区的备份文件,如果恢复以前的备份请使用以前的合区工具)
2.修复某些情况下释放技能错误导致无法攻击的bug(如武僧无法强制攻击)
3.修复角色在线时长属性LogonTick取值错误的bug
4.修复版本工具导入爆率、入口点、刷怪等配置时,如果地图名和地图文件名不一致时导致解析失败的bug
5.修复人物背包金币接近上限的时候杀怪仍然可以金币直接入包从而导致金币数量超过上限的bug
6.M2增加发送系统公告的功能菜单(工具->发布公告)
7.修复勋章极品属性不读取的bug
8.修复登陆器边框可拖拽的bug
9.修复示范版本半月弯刀无法施展的bug(修改技能数据库最大攻击距离为1)
10.修复正确配置的宝箱无法打开的bug
11.修复示范版本召唤白虎无效的bug(技能数据库名称为"召唤圣兽",改为"召唤白虎即可,同时需要怪物数据库配置相应的召唤兽)
12.版本管理器中在线技术交流平台上线,希望大家bug提交和经验文章都转移到该平台
>[danger] 以下为非bug,但是需要注意的事项:
1.千里传音的使用:示范版本在脚本里模拟了千里传音的使用,所以"@传"命令执行时调用了脚本处理,如果需要调用默认处理请删掉脚本对应的部分(千里传音物品: StdMode=7 Shape=0)
2.如果需要在WIN7及更高版本操作系统中使用DX9,请发布时附带d3dx9\_33.dll文件
## 12月15日
1.修复NPC可修复非装备类物品,导致物品数据错误的bug
2.增强版本管理工具版本管理界面、脚本编写界面及其他文本编辑界面文本搜索及替换功能
3.增加单脚本文件保护(其他人可以打开版本文件编辑,但是被保护的文件需要校验密码后才可以打开编辑)
4.支持对话框中命令下划线开关。如果表示不显示下划线,而则显示下划线
5.开放面对面交易按钮(M2Server->游戏参数->客户端控制),该按钮默认为开启状态
6.修复同行会的管理员面对面可以将自己的行会进行结盟的Bug
7.修复获取地图怪物数量时数量重复的bug
8.增加DeleteDelayCallMethod函数,用来删除DelayCallMethod指定的延迟调用
9.修复传统脚本SET赋值无效的bug
10.修复坐骑素材读取路径错误的bug
11.修复武器负重计算到人物穿戴负重的bug
## 11月24日
1.角色增加DelayCallMethod函数,用来更简单的做延时函数调用(注意和DelayGoto的区别)
2.修复客户端截取用户名导致名字偏长的角色无法进入游戏的bug
3.支持普通脚本混编模式(可加快一般脚本编写速度)
4.修复人物使用药品的时候可能出现药品消失的bug
5.修复批量导入PNG时不透明的bug
## 11月15日
1.修复StdMode=2时物品类型不显示的bug
2.修复自定义UI中输入框值作为参数传输时可能不准确的Bug
3.修复自定义技能能力值来源为射术和刺术时无法按照相关能力值进行输出的bug
4.修复自定义技能被动属性中吸收伤害、伤害反弹、伤害加成、致命一击及会心一击无效的bug
5.修复自定义技能物理攻击时触发(如攻杀剑术)类型无伤害输出及不计延迟时间的bug
6.M2中增加默认的强化属性(修复全新安装下如果不设置强化属性会出现强化不显示属性的bug),请自行修改强化等级对应的属性及值
7.更新登陆器最多可同时打开5个
8.修复天下第一雕像外观显示错误的bug(请参考示范版本的天下第一设置进行修改)
9.修复诱惑之光类型的召唤技能在召唤下属的时候,新召唤的下属可能会持续被原有的下属攻击的bug
10.提高自定义技能中诱惑怪物的成功机率
11.修复刺客残毒药无效的bug(以自定义技能方式处理,请参考示范版本相关设置)
12.修复自定义技能禁止移动后仍然可以移动的bug
13.修复0级灵魂陷阱无法锁住目标的bug(参考示范技能设置,锁定时间为:(Power+Random(MaxPower - Power)) \* 技能等级 \* 1000毫秒
14.修复人物死亡身上物品掉落后不刷新人物属性及外观的bug
15.修复技能设置最大攻击距离为0时导致近身攻击无效的bug(修复半月弯刀)
16.修复切换人物后感叹号按钮依旧存在上一次数据的bug
17.修复自定义技能判断目标释放环绕于自身无效的bug
18.版本工具地图导入支持“\[地图ID|地图文件名 地图名\]”格式的导入
19.修改客户端ALT+Q为大退游戏
20.修复武器攻速显示错误的bug(Mac2 0-9为减速度, 11-20为加速度(Mac2-10))
21.修复使用声望卷时客户端不更新的Bug
22.修复副本可能刷不出怪的bug
23.修复自定义技能召唤类无效的bug
## 11月12日
1.修改全新安装时M2人物速度控制跑和走为600毫秒(影响客户端角色速度, 建议速度为500-600,客户端视觉更流畅)
2.修复自定义技能半月类型释放后关闭无效的bug
## 11月11日
1.修复聚灵珠物品属性显示错误的bug
2.修复使用脚本发送物品到聊天信息时会将属性字符串显示出来的bug
3.增加"77Resource\\Data\\Images.data"文件的读取(建议一些自定义自己的素材放到里面,减少对Prguse.data文件素材的增加操作)
## 11月10日
1.调整地图读取方式,在版本管理器中如果地图文件名前加"$"则表示强制从"77Resource\\Map\\"目录下读取地图,同时微端也只从对应的位置读取,如果不加"$"则优先从"77Resource\\Map\\"目录下读取,如果没有相应的地图文件则从根目录的Map文件夹读取,但是微端则只从根目录Map文件夹下读取。如"0.map"和"$0.map"读取位置是不一样的
2.微端修复及读取规则调整
3.修复多个下属存在时,当一个下属攻击其他对象而另外的下属处于围观状态的Bug
4.修复自定义技能类烈火召唤类技能冷却时间及超时时间无效的bug
修复自定义技能类烈火召唤类技能攻击可能无效的bug
5.修复防外挂处理机制可能造成错误的加速判断的bug
## 10月27日
1.人物增加函数SetActiveTitle,用来设置或者取消当前称号
2.修复称号翻页后设置无效的Bug
2.修复10月26日更新导致的UI面板无属性的bug,修改人物初始魔法躲避为10%,修复称号系统魔法躲避显示错误的Bug
## 10月26日【必须使用全套最新程序】
1.修复版本管理器中自定义Buffer文字颜色及背景颜色修改无效的Bug
2.物品对象TStdItem开放相关绑定属性读取,如是否存仓、是否可修理及是否绑定等(需要注意与TUserItem存在的区别)
3.宝石属性增加武术属性
4.Gamelib增加AddMonNpc函数及及RemoveMonNpc函数用来增加删除怪物Npc
5.自定义技能增加“允许选择死亡对象”选项(可用来处理类似复活术技能)
6.修复M2重新加载版本相关的数据时,可能造成数据丢失的Bug
7.修复魂炼系统默认升级处理没有武术的Bug
8.完成称号系统(请注意更新Prguse.data,称号素材来自于Title.data,每3个图片表示一个称号,分别表示正常、按下及鼠标经过的状态)
人物增加函数AddTitle、RemoveTitle及属性ActiveTitle、TitleCount、TitleItems
9.取消M2全新安装时人物死亡处理默认为回城复活的方式
10.\[重要\]全面启用UNICODE(UTF-8 修复特殊字符乱码或其他语言系统乱码的bug)
11.自定义窗口物品框增加物品放入及取下时触发事件(函数定义同main函数,可用来更新界面描述信息)
NPC及人物增加函数UpdateSay ,用来更新自定义界面的文字描述
12.自定义UI增加编辑框类型
13.调整物品数据库StdMode=19的项链的魔法躲避属性AC2读取方式(如白色虎齿项链,调整前AC2的值为2,表示魔法躲避20%,调整后为2%)
修复套装属性设置魔法躲避值为50,而实际效果为500的bug
14.修复I标签指定F属性从任意data文件中取素材均从Prguse.data文件中读取的bug
## 10月12日
1.修复物品数据库绑定状态无效的Bug(物品生成的获取数据库指定的绑定状态,之后该绑定状态属物品本身,与数据库设置无关)
2.集成怪物说话信息到版本文件中
3.修复逐日剑法不会自动调整到一条直线上再攻击从而导致攻击无效的Bug
4.修复版本管理器中游戏数据库SQL使用"%"执行LIKE操作无效的Bug
5.角色增加当前等级经验值上限属性MaxExp
背包负重Weight, 最大背包负重MaxWeight
穿戴负重WearWeight,最大穿戴负重MaxWearWeight
手持负重HandWeight,最大手持负重MaxHandWeight
6.修复客户端技能冷却时间在移动及被攻击状态下计算不正确的Bug
7.增强技能数据容错处理(如示范版中将万箭齐发的Power设置为50,而将MaxPower设置为0,从而导致数据溢出出现非正常攻击力)
8.修复武僧可选择女性的Bug
9.修复在连续使用有冷却时间的技能时可能会卡住的Bug(技能释放失败)
10.加强角色转职及调整性别时的逻辑处理(限制职业及性别)
11.\[重要\]调整自定义技能脚本触发的函数入口声明,增加鼠标所在的X、Y坐标参数,详见示范版本。
函数声明格式:
```
function 函数名(ASource, ATarget: TActor; ATargetX, ATargetY, AMouseX, AMouseY: Integer; AList: TActorList; AMagic: TUserMagic): Boolean;
```
## 10月1日
1.修复自定义技能烈火类召唤技在释放的时候会绘制技能效果且会卡住的bug
2.修复自定义技能命中后的目标效果播放时机不正确的bug
3.修复自定义技能MP不足时仍会播放释放效果的bug
4.自定义技能客户端渲定义->辅助增加是否锁定目标选项,选中后客户端会执行魔法锁定
5.自定义技能客户端渲定义增加效果帧播放间隔时间(毫秒)
6.M2游戏参数->游戏选项(2)增加"启用怪物攻击技能选择",MagicNpc增加函数MonSelectMagicBeforeAttack,两者配合用来执行除人物及人形怪以外的怪物在攻击时是否选择技能的处理(当前只支持远程魔法类技能)
7.角色对象增加Damage函数,用来表示当前对象针对目标直接执行伤害点数(此伤害点数无视防御,如果需要计算防御请自行在脚本中处理,同时该伤害可被目标反弹)
8.怪物数据库增加WC字段(武术),当怪物执行武僧技能时采用此字段的值做技能伤害输出
## 9月27日
1.修复武器幸运显示为双倍的Bug
2.修复脚本引擎变量解析及函数返回存在的Bug
## 9月25
1.修复狮子吼绘制错误的bug
2.修复自定义技能范围对象选择方式为“作用于魔法起点为中心的范围上”时存在方向计算错误的Bug
3.更改示范版本技能“降龙伏虎”、“达摩棍法”的攻击范围,自定义技能如果攻击多条线请参考这两个技能的设置
4.修复部分Buffer不提示的Bug
5.修复Gamelib.SaveItemToStore及Gamelib.LoadItemFromStore失效的Bug
## 9月22
1.修复弓箭手旋风腿可推开等级比自己高的角色的Bug
2.修复M2自动升级ItemStore时可能报错导致M2无法继续执行的Bug
3.增加TArgs参数对象Add函数及Clear函数
4.修复MySQL在升级时无法创建自增字段导致升级角色表失败的Bug
5.提升全套程序启动速度(程序文件本身体积略有增加)
## 9月21日\[六职业 必须使用全套最新程序\]
1.修复无法删除人物的Bug
2.修复打开自定义窗口后无法使用0..6的快捷键的bug
3.修复脚本存仓不刷新负重的Bug
4.修复Stdmode=26类物品不计算防御的Bug
5.修复自定义技能已知Bug
6.实现武僧职业,以自定义技能实现全部武僧技能(技能参数请自行调整,装备请自行添加,成长属性请自行调整)
7.增加装备属性下限 极品属性支持(需要开启属性下限 )
8.修复矿区爆率调整编辑时,点击左边的地图爆率不更新的bug
9.修复版本工具关闭时可能报错的Bug
10.调整持久值最大可为21亿
11.角色(怪物及人物)增加属性NoDropItem及NoDropUseItem用来表示是否死亡爆出物品
12.修复弓箭手部分技能数据库设置伤害无效的Bug
13.修复网关之间部分数据传输没处理封包校验而导致校验失败的Bug
14.修复0831版人物登陆总是请求更新物品数据库缓存的Bug
15.内挂增加MP特殊药品保护,修复内挂保存及读取存在错误的Bug
16.修复伤害减免(伤害吸收)计算错误导致无效的Bug
17.修复解包物品空间需求计算错误导致部分物品无法解包的Bug
18.修复超级MP强化水时间无效的Bug
19.取消内挂对魔血石气血石持久提示(只针对非消耗品提示,如武器、首饰及坐骑等)
20.修复登陆器注册新账号及修改密码成功之后再次打开提交按钮不可操作的Bug
注意:本次更新后引擎将自动升级角色数据库、无限仓库、邮件系统及自定义物品存储系统(ItemStore.dat),在更新前请先备份相关数据
## 8月31日
1.修复弓箭手按下Shift键强制攻击时相关错误的Bug
2.更新技能提示信息为技能数据库中编写的提示信息(提示信息内容与NPC对话内容编辑方式相同)
3.修正自定义技能释放无针对目标的时候出现卡顿的bug
4.自定义技能增加脚本触发处理MagicNpc
5.游戏数据库SQL编辑器支持Replace函数执行字符串替换。如:UPDATE StdItems SET Name=Replace(Name, '戒指', '1戒2指3')
6.\[重要\]启用全职业魔法数据库最大攻击距离设置。攻击距离可选范围为0-14,当最大距离为0时不计算距离,即无论远近均可释放,一般适用于对自身释放的技能,比如隐身、魔法盾及抗拒火环等;1-14则计算距离,不管是近攻技能还是远程技能,只要与目标的距离在攻击距离之内即可释放出来。可参考示范版本进行距离设置 (修正自定义技能远程魔法可无视距离施法的Bug)
7.修复脚本减少金币时可出现负数的Bug(即不可将玩家的金币指定为负数)
8.修复马牌在无套装的情况下显示套装属性的Bug
9.修复使用叠加的药品背包负重不刷新的Bug
10.\[重要\]修复RunGate开启外挂控制后近身攻击时加速判断不正确的Bug。建议开启RunGate外挂控制功能
11.修复私聊出现信息丢失的Bug
12.TPlayObject(玩家角色)增加MachineCode属性,表示客户端机器码,用来区分是否来自于同一机器的不同账号或角色
13.修复刺杀隔位计算错误导致攻击无效的Bug
14.修复刺客鬼灵步针对障碍物释放后造成所在坐标范围随机移动的Bug
## 8月24日
1.修复物品爆出前对物品属性修改无效的Bug
2.修复近战技在Ctrl键控制下可持续释放的Bug
3.修复近战技能控制有问题的bug
4.修复宝箱爆率文件打开报错的Bug
5.调整 NPC对话框内容编辑 中E、U属性与S属性可共存,当属性字符串中包含E、U属性的同时又包含了S属性,则不显示装备图片,显示为S属性的内容,鼠标移上去的时候显示装备提示
6.Gamelib.ThrowItem及ThrowItemEx函数支持金币爆出
7.M2中在线人物查看支持显示玩家当前客户端版本显示
8.修复版本工具中预览资源文件夹下的怪物及衣服素材无效的bug(需要设置版本工具的环境变量)
9.修复登陆器打开注册、修改密码及设置等窗口后切换到其他界面,然后再切换到登陆器,此时登陆器界面绘制错误的Bug
10.版本数据库导入兼容其他引擎的部分命名不同的字段
11.修复8.17版客户端不显示宝石属性的Bug
12.修正某些情况下数据缓存更新导致物品显示错误的Bug
## 8月17日\[必须使用全套最新程序\]
1.修复宝石第一个属性不可错过255的Bug(宝石属性设置已调整,查看宝石属性设置 )
\[重要 \]如果使用的不是示范版本,则需要在版本数据库管理 中执行批量更新宝石数据SQL:
```
UPDATE StdItems SET DC=MAC,DC2=MAC2,MAC=AC,MAC2=AC2,AC=Anicount,AC2=Source,Anicount=0,Source=0 WHERE StdMode=29
```
2.支持技能自定义,技能数据表增加优先等级及最大攻击距离字段(近战技需要设置,请参考示范版本)
3.修复M2不读取角色携带装备的攻击速度的Bug
4.修复M2激活套装属性但可能不赋予给人物的Bug
5.增加套装组成内容显示,可通过装备提示自定义 设置
6.加强封包数据校验 \[防外挂设置 \]
7.修复无限仓库不保存及数量不可超过46个的Bug
8.修复自定义物品类型名称 对部分装备类型无效的Bug
9.修复部分环境下客户端登陆黑屏的Bug
10.Gamelib.Mogen 函数增加范围参数Range用来表示刷怪坐标范围(如果版本中使用了该函数刷怪,请更新该函数参数)
11.调整RandomMove函数参数增加RandomMoveEx函数,用来实现本地图随机传送或指定地图随机传送
12.修复装备提示自定义中将基础属性的标题内容置为空后导致基础属性不显示的Bug
13.修复NPC对话框内容编辑 中属性字符串中I标签 无效的Bug
14.调整NPC对话框内容编辑 素材对齐方式。当指定了I、E、U节点的宽W和高H的值后,其中装备图片根据起始位置及宽高自动居中显示
15.修复怪物爆物在部分情况下提示信息有误的Bug
## 7月27日\[必须使用全套最新程序\]
1.调整数据传输格式,减少了不必要的数据传输
2.人物开放普通仓库数据访问及无限仓库数据访问,支持从仓库取出物品同时也支持将物品存放进仓库
3.Npc对话增加U属性段,用来显示一个用户的物品(区别E属性段显示数据库物品,支持在聊天框显示此属性段)
4.修复物品数据库中设置绑定状态后客户端不显示的Bug(取消“不可交易,不可出售,丢弃消失”定义,直接定义为获取后绑定,即物品显示为“已绑定”)
5.修复角色AddExp函数减少角色经验值无效的Bug
6.修复宝箱在背包中无法双击打开的Bug
修复角色OpenBox 不发放物品的Bug
角色增加函数OpenBoxEx 用来打开开启宝箱界面,根据宝箱配置可执行多次物品抽取
点击查看如何配置宝箱爆率及如何在物品数据库中配置宝箱物品
7.修复爆率设计中对新建爆率项刷新不准确的Bug
爆率设计支持批量调整替换功能
8.\[重要\]修复网关异常断开重连导致引擎无法长时间运行的bug
9.增加宝石属性(与装备附加属性相同)
扩展宝石最大属性数到3
10.修复客户端不加载关系系统的Bug
修复关系系统无法删除黑名单角色的Bug
11.修复武器攻击速度和准确存在附加极品属性时显示不正确的Bug
12.优化机器人执行时间判断方式(修复部分情况下机器人不执行的Bug)
13.修复M2中物品项链手镯刺术及射术设置后不加载的bug
14.优化微端数据传输效率
15.技能数据库增加自动追踪机率字段。以雷电术为例,当玩家向位于某点的目标释放雷电术后,在雷电术击中目标前,该目标移动了位置,则目标不会被击中,设置该字段后,引擎有概率自动调整技能到目标的位置达到击中目标的效果。该功能与客户端内挂自动锁定的区别在于,客户端自动锁定表示玩家下次技能选择目标,但是从玩家释放技能到M2处理这个间隔时间里,目标是可能已移动;而该字段设置表示玩家攻击了某目标后M2处理这个攻击事件,目标可能已移位,但是M2会自动调整到目标新的位置。该字段默认值为0,即不追踪,最大值为100,即百分百概率追踪。同时此功能包含了原有的灵魂火符设置里的自动锁定功能,故灵魂火符的自动锁定设置取消。
16.修复成长公式只保存战士的Bug
17.修复组队状态下角色死亡后,不会刷新其他队员状态的Bug
18.修复当物品数据库更新后玩家登陆游戏客户端可能会出现显示物品数据错乱的Bug
19.修复当人物中毒死亡后使用复活中毒效果不消失的Bug
20.当DBServer只允许创建战法道3职业时,客户端装备提示取消职业战法道通用显示
21.怪物NPC增加“守护”属性,默认为选中状态。当选择此属性后,怪物Npc在没攻击对象的时候会回到守护坐标上,如果不勾选此属性,则怪物在其守护范围内可任意移动,位置将不固定(不勾选此选项当怪物NPC的位置被其他对象占有时,怪物NPC不会一直转圈试图归位)
22.修复当背包满后将背包装备穿戴到身上导致装备消失的Bug
23.修复地面对象搜索可能出现部分对象不显示的Bug
24.UI设计自定义窗口属性增加手动关闭窗口属性,开启该属性后客户端打开此窗口只有退出游戏或手工关闭的时候该窗口才关闭
25.角色增加CloseWindow函数,用来关闭一个打开的自定义窗口
## 7月13日
1.修复导入数据文件时刺术和射术无效的Bug
2.修复客户端部分情况下Data格式资源文件内Png有黑边的bug
3.修复商铺购买叠加物品时可能提示货币不足的Bug
4.修复装备持久提示时显示的装备名称不为最终客户端过滤后的名称而为数据库原始名称的Bug
5.调整NPC素材算法,支持盛大5个npc素材文件及Resource下5个npc文件,点击查看详情
6.M2开放21亿等级上限(版本等级上限请在M2中自行调整,客户端、DBServer、M2Server必须使用最新版本)
7.修复默认小地图样式时地图标识位置偏差的Bug
8.修改游戏数据库导出为JSON格式后可能无法导入的Bug
9.开放角色成长计算(修正弓箭手HP计算错误的Bug)。请注意,本项更新采用全新的成长配置参数,且人物基础属性均可在配置中调整。详见角色成长属性调整
## 6月26日
1.修复人物在中毒状态下死亡上线/复活毒依旧存在的Bug
2.修复老客户端下图层绘制首位颠倒的Bug
3.修复人物扔装备触发QFunctionNpc中PlayerThrowItem函数时,如果此时脚本对准备扔掉的装备执行了删除或穿戴操作,此时客户端背包还存在物品必须手工刷新的Bug(如果Accept的值不为False,只要物品还在背包就一定会被扔掉)
4.修复进入隐身模式后人物无法移动及攻击的Bug
5.物品增加属性Price2表示物品当前状态的卖价(不计算NPC折扣部分)
6.修复弓箭手左键使用精准箭术远程攻击时有冷却时间的技能可被无限执行的Bug
7.装备提示定义中增加“显示分组间距”属性,勾选后显示分组间距(比如基础属性与附加属,分别表示两个分组,这两个组在显示间距的时候,中间的距会稍微加大些)。默认为显示
8.修复属性设计中对字符串类设置为空然后保存,下次打开版本文件该属性为默认值的Bug(如装备提示中修改“\[基础属性\]”为空,下次打开依旧为这个值)
\[注意\]此bug修复对装备提示产生影响,当类似设置“\[基础属性\]”为空的时候,装备提示中跳过这行显示,如果不想显示“\[基础属性\]”这几个字,直接置为空即可,如果为空格则此行显示为空行
9.修复队员血条上弓箭手和刺客职业显示错误的Bug
10.修复分身术制造的角色不使用技能的Bug,分身攻击速度请在分身技能设置中调整(示范版本中,物品数据库分身术为全职业使用,而技能数据库限制为法师使用,请根据需要自行调整,示范版本中修改为全职业使用)
## 6月22日
1.角色扩展一个ShowSighIcon函数,用来方便处理感叹号图标按钮
2.修正角色属性MailCount和MailUnreadCount属性定义错误的Bug
3.修复脚本从当前单元跳转到其他单元并在其他单元使用了NPC对话框后可能弹出来的窗口无法点击其中的链接的Bug
4.修复下属被改名后释放召唤技能无法召回的Bug
5.修复版本工具中修改爆率可能报错的Bug
6.修复版本工具中属性编辑器设置数据可能报错的Bug(如UI设计)
7.修复弓箭手无法开怪物宝箱的Bug
8.修复Race=32,RaceImg=26的采集类怪不显示采集血条和百分比进度的Bug
9.\[重要\]由于QFunctionNpc中的装备穿戴事件与角色的装备穿戴函数命名相同,导致部分版本开发人员混淆使用导致脚本死循环,故替换QFunctionNpc单元中的装备脱下事件TakeOffItem为OnTakeOffItem,替换QFunctionNpc单元中的物品穿戴事件TakeOnItem为OnTakeOnItem,角色的装备穿戴函数依旧为TakeOnItem和TakeOffItem,如果使用的不是示范版本,请手工修改QFunctionNpc中对应的事件函数
10.修复角色穿戴装备触发QFunctionNpc中的TakeOnItem函数时,在函数中又执行TakeOnItem函数造成死循环从而导致M2崩溃的Bug;角色增加CheckCanTakeOnItem和CheckCanTakeOffItem函数,用来检查装备是否可穿戴在某个位置或某个位置的装备是否可被取下
11.修改毒符位置装备穿戴触发QFunctionNpc事件的条件为:StdMode=25,且Shape值为1、2或5的时候不触发事件(即毒和符不触发),其他设置在此位置可触发事件
12.优化DX7和DX9的环境中图形处理速度(客户端推荐使用DX9以获得最佳体验)
13.修复当矿区爆率中包含金币时金币为必爆的Bug
14.修复地图事件 触发不准确及附属地图中地图事件无效的Bug(示范版本中针对地图:比奇省->附属地图->废矿入做出了地图事件示例,供大家参考,测试时请开启M2中地图事件)
15.\[作废\]修复中毒后下线然后再次上线毒依旧存在的Bug
16.修复卖出可叠加物品给NPC后可以在NPC处无限回购的Bug
17.修复开宝箱时物品全部显示3个开孔个数的Bug
18.修复取消装备提示效果自定义中“装备提示显示加星”选项无效的Bug
19.装备提示定义中增加“显示属性增加值”属性,勾选后显示属性的增加值,即类似"\[+1\]"的部分。默认为显示
20.修复将属性点 加到刺术或射术上时,属性点被扣减而属性没增加的Bug
## 6月9日
1.修复角色属性MP读写错误的Bug
2.取消类似僵尸复活后可以继续爆物的功能
3.修复弓箭手普通攻击时无法释放魔法的bug
4.修复客户端允运行一段时间后可能出现一些假人现象(存在M2中并不存在的角色,不可被操作)
5.TDataSet增加IsEmpt属性判断数据集是否为空示例
6.修复修改职业到弓箭手无效的Bug 示例
7.取消新建人物后引擎内置的物品发放功能,针对新建人物的物品发放请使用脚本处理
8.支持JSON读写
9.版本管理器中支持游戏数据库直接通过SQL执行维护
10.修复物品离线消失无效的Bug
11.修复Player.Recallmob召唤下属时指定的下属等级无效的Bug
12.将游戏物品数据库中物品说明字段的长度从100增加到1024,可以设计出内容更丰富的物品备注
13.修复ChangeReNewLevel函数调整转生等级和等级不会实时刷新的Bug
## 6月2日
1.修复分组爆率时对分组的选择存在错误的Bug
分组爆率方式为:分组爆率在被选中之后随即抽取其中的一个物品项,然后根据该物品项的爆出机率判断是否可以爆出所以分组爆率内部的物品同时最多只
有一个物品被爆出,如果分组被选中之后需要必爆其中的一个物品,则分组内物品的爆率需要设置为1/1
2.客户端取消直接转为32色图片,采用素材默认色深,降低了客户端内存使用
3.登陆器配置增加客户端DirectX版本选择,默认为9,当选择的版本不存在时自动匹配系统存在的版本(7、9、11中的版本)
4.修复物理防御和魔法防御下限高于上限的时候出现的错误攻击值
5.修复弓箭手衣服内观错位的Bug
## 5月29日
1.支持人物属性下限高于上限的处理(类似罗刹穿戴限类性的处理)
2.支持道士技能是否使用毒符的开关,在不使用毒符的情况下,红绿毒为轮流使用;支持人形怪技能释放是否扣减MP值选项,如果扣减MP值当人形怪MP值不够
时将无法释放需要MP的技能,默认为不扣减MP值。默认为需要使用(功能设置->技能需法->基>参数)
3.修复5.25版中在M2上设置技能参数后可能会导致道士召唤失效的Bug
4.版本工具地图文件检查最增加地图缺失文件检查
5.修复0525版冷却时间长的技能释放后无法释放5他技能的版ug(如弓箭手万箭齐发)
6.将人形怪技能加入控制,修复人形怪弓箭手无限释放万箭齐发的Bug
7.系统单元Sys加tils加入函数DirectoryExists,用来判断文件路径是元存在,函数声明:
```
function DirectoryExists(const Dir: String): boolean;
```
和CreateDir、RemoveDir一样,该函数允许操作的路径只能是引擎Envir之下的路径,其他位置的路径判断永远为False,CreateDir则无法创建Envir目录
之外的路径,RemoveDir无法删除Envir之外的路径
示范版本单元扩展属性示例Q53第67行示范了使用方法
该函数只针对函ascal脚本,lu库脚本则自行使用io库中的函数处理
8.修复人物名称以数字结束时召唤的下属显示的人物名称会过滤掉数字部分的Bug
9.M2下String.ini文件增加国家和阵营消息前缀控制,分别是NationMsgPreFix和CampMsgPreFix,默认为“\[国\]”和“\[阵\]”,可自行更改
10.修复弓箭手蓄势待发无效的Bug(精准箭术下才会触发蓄势待发,该技能为被动释放)
## 5月25日
1.修复关系系统中的逻辑错误
2.更新当不允许客户端创建刺客或弓箭手时客户端装备及人物属性不显示相关属性(脚本中仍然具有相关属性,写版本时跳过相关属性即可)
3.彻底修复DX11(Win7)中按钮点不中的Bug
4.梳理及修复刺客弓箭手技能
5.【重要】启用魔法数据库中释放间隔字段的作用(单位毫秒,两系统技能两次释放的间隔),增魔法数据库技能失效时间字段(单位毫秒),用于类似战士
烈火召唤后保持多长时间后失效的处理以及弓箭手收天神下凡恶魔降临有效时间的处理。请参考相关技能进行释放间隔时间设置
6.【重要】修复M2内存管理bug(高速运行或长时间运行后内存不释放导致内存占用增加最终M2崩溃的Bug)
7.修复版本管理工具中添加特效帧无效的Bug
8.修复困魔咒不识别阵营的Bug
9.修正召唤圣兽召唤出的怪物和召唤神兽一样的Bug
10.修正弓箭手天神下凡为伤害吸收、恶魔降临为增加箭术上限以及客户端变身效果(M2中可配置)
11.修正M2中弓箭手精准箭术攻击模式选择无效的Bug
12.更新客户端命令集单元(G\_Commander)中的TCommander对象,修正版本管工具中报Destroy函数没定义的bug
13.修复关闭服务器时不保存玩家数据的bug
14钟修正,场数据保存为每8分钟一次,而不是原来的只在关闭时保存
15.修正GameCenter运行时无法执行自动备份的Bug;修复合区中的多个Bug(市场合并错乱)
16.修复鸡鹿一类怪物挖出的肉的持久多数时候持久为0的bug
5@月10日
1.取消脚本GameLib.Mission及GameLib.MobPlace配合刷怪的函数,改用单独的GameLib.MobPlace来实现刷怪
原GameLib.Mission指定怪物集中地点,GameLib.MobPlace则刷怪向集中地点行进,因大家在使用中可能存在一些误操作会导致刷怪出现问题。
故只留下GameLib.MobPlace函数(原GameLib.MobPlaceEx)刷怪,该函数定义为:
```
procedure MobPlace(const AMissionMap: String; AMissionX, AMissionY: Integer; const AMonName: String; const AX, AY: Integer;
ACount: Integer=1; ARange: Integer=0; ACamp: Byte = 0; ANation: Byte = 0);
//第一个参数AMissionMap指定刷新的地图,
//第二三个参数AMissionX及AMissionY则指定了怪物集中的坐标,
//第四个参数AMonName指定刷新的怪物的名称,
//第五六个参数AX, AY指定怪物刷新的坐标,ACount为刷新怪物个数,ARang为刷新偏移范围,ACamp及ANation分别为阵营及国别
```
>[danger] 需要注意区分的是:MonGen是普通刷新方式, MobPlace是将怪物刷新与某点然后向另外一点集中
2.地图增加属性Freeing,表可副本地图正在被释放,非副本地图一直返回为Fa地se,副本地图返回为true的时候人物入可以通过传送命令进入此地图
3.修正副本明图释放时可能导致M2崩溃的Bug(请参考Dota对战NPC相关说2)
5.增加扩展属性Data示例(使用不当可能导致一系列错误,比如重新加载脚本后出现一些问题)。
全局脚本(公共单元)->扩展属性示例,客户端命令集(Yaoqingma函数),ManagerNpc.PlayerOnInitialization 几处演示了使用方法
## 5月1日
1.修复自动寻路时小地图上不显示轨迹的Bug
2.修复装备提示宝石射术和刺术显示为未知的Bug
3.调整客户端DX库加载为根据系统DX版本自动加载,即当前系统安装了DX11则采用DX11的版本,安装了DX7就采用DX7版本,如果DX7、9、10及11均没被发现,则按照DX9加载,此时可能机器就必须安装DX9
4.重新设计计性点界面
5.修复M2重新加载技能后客户端技能显示可能混乱的Bug
6.修复套装属性设计中出现重复魔防上限的Bug
7.修复当人物HP/MP上限过低时可能出现不回复的Bug(如人物等级过低)
8.修复M2设置的稳如泰山选项在客户端有时无效的Bug
9.取消Reserved字段为8来处理死亡消失(祈祷系列),改为道具状态中的死亡消失控制,同时修复由此而影响到马牌在人物死亡后消失的Bug
10.修复练功师、采集类的怪物和人物重叠时被挤出原位置的Bug
11.修复人物TitleName绘制位置不一致的Bug,同时修改TitleName默认字体颜色为白色黑边不收人物名称颜色影响
12.更新NPC对象函数SetEffigyState,增加Job参数,用来支撑弓箭手和刺客的雕像。新的使用方法参考示范版本
13.支箭弓箭手及刺客人形怪
14.修复M2等级属性中无法查看刺客职业及无法查看刺术和射术的Bug
15.修正弓箭手、刺客发型Bug
16.怪物数据库增加刺术PC和射术TC字段(针对人形怪,魔法、道术、刺术以及射术很重要)
17.修复版本工具中删除套装后可能不会更新客户版的Bug
18.示范版本中增加数据操作示例:脚本控制中心->全局脚本\[公共单元\]->DB操作示例
19.修改离线挂机处理:当前账号登陆时线踢掉所有非挂择进入游戏的离线挂机角色
20准修复弓箭手精准箭术升级后不刷新准确点的Bug
## 4月20日
1.修复及.善归来版、新热血版登陆及角色选择界面
2.修复M2中转生系统设置无法保存的Bug
3.修复无法通过脚本修改物业到弓箭手(刺客的B允g(修改职业时将自动脱下已穿戴的不符合职业的装备到背包,如果背包空格不够则直接以爆出的方式处理,绑于不允许爆出不允许交易类及绑定物品则直接
采取销毁处理所,以如果脚本调整职业时尽量检查背包空格数,如果背包空格不够则提示用户取下装备)
4.修复查看弓箭手装备时,男女素材对换的Bug
5.修复因为物品结构调整导致脚本中AddPoint失效的Bug
6.宝石增加射术和刺术类型(物品数据库AniCount宝石增加属性类型,Source为增加属性点数:1 物防上限 2 魔防上限 3 物攻上限 4 魔攻上限 5 道术上限 6 HP上限 7MP上限 8 射术上限 9 刺术上限)
7.修复物品自定义颜色取值错误的bug(导(扔出色地面颜色显示不正确)
8.修复商铺购买的物品可能出现一些附加属性错乱的Bug
9.修正刺客武器图层绘制错误的Bug
10.修复药品信息显示为百分比的Bug
11.版本管理器登陆器列表设计中增加客户端样式配置,同时DBServer增加允许的职业范围控制(客户端不可以创建DBServer允许范围外的职业类型)
12.修复某些情况下角色选择界面无法保存当前选择角色的Bug
13.修复Gamelib.DBEngine取数据库连接对象失败造成一系列数据库操作无法完成的Bug.Gamelib.DBEngine增加BeginTran启动事务、CommitTran提交事务及RollbackTran回滚事务
14.减小怪物集中刷新模式中实际怪物刷新位置的偏差(集中刷新模式为选择一个刷怪位置,然后在选定的位置上偏移随机距离进行刷新,所以是集中刷新在某个范围内)
15.修复关闭及打开组队功能的延迟过长的Bug
16.修复当删除人物同时该人物在M2中存在的时候M2报报仇数据失败,角色信息丢失的Bug
17.修复装备对比提示时位于第二三个位置的装备的宝石镶嵌显示错位的Bug
18.修复机器人执行函数不可带参数及单元名的Bug(本次更新后允许使用参数,同时允许使用单元名,也就是时钟函数可不固定在机器人NPC里,如果不指定单元名则默认在机器人NPC里查找函数)
19.修复机能释放时MP不足提u为机能冷却的Bug
20.修复0408版脚本提提错误(如导致黄金黑店打暴开、充值系统出错以及可能导致M2CPU暴涨)
21.客户端支持Delete键取消当前魔法锁定的对象
22.修复武器不显示幸运诅咒的Bug
23.物品数据库Need及NeedLevel增加射术和刺术条件
24.修复4月7日版UI预览中消息编辑无法拷贝文本的Bug
25.修复部分业职业技能
## 4月7日
1.修复NPC.Take函数可能造成可叠加物品数量显示为0而不消失的Bug
2.修复人物AddedAbility属性中射术和刺术无效的Bug
3.修复机器人第一轮可能无法执行的Bug
4.GameLib增加函数AddRobot,,间添加一个定时执行的机器人,第一个参数为执行的时间,第二个参数为执行的函数,执行时间必须大于当执时间
(可通过DateUtils单元的EncodeDateTime函数来生成一个指定的时间,DateUtils单元的函数用法可通过baidu查找)
5.修复大刀卫士类型作为怪物NPC的时候可能不会主动攻击不同国别对象的Bug
6.重设物品结构,提升基础属性数据类型为Word型(如果使用之前的人物数据库,请使用版本工对人物数据表进行升级:打开版本文件->工具栏按钮“数据库”->角色数据库升级)
7.修复版本版本工具中预览自定义UI可能报错的Bug
8.修复客户端切换色彩位深后黑屏的Bug
9.修复角色属性Data赋值后重新加载脚本后能导致的2崩溃的Bug
10.修的ShowEffect不可重复播放的Bug
11.客户端及版本管理工具DirectX版本调整为DX9
12.修复AddedAbility属性错乱的Bug
13.修复拾取自定义名称物品时左上角提示仍为DB中的名字的Bug
14.修复怪物直接针对属性赋值(比如MaxHP)后怪物属性刷新的时候被还原的Bug
15.修复使用脚本增加副本中的NPC后可能导致错误及无法使用脚本删除副本中的NPC的Bug
16.修复重建副本可能出现怪物刷新缓慢的Bug
17.修复下属无法从副本活着出来的Bug
18.内置TMainMethod入口函数类型,同时支持CallMethod来调用一个TMainMethod函数,使用方法请参考本次更新版本中客户端命令集。
19.修复宝宝和角色同国家或同阵营的时显示为友好的颜色不显示宝宝等级对应颜色的Bug
20.修复魔法锁定无效的Bug
21.修正职业为:99:全职业通用 98:战法道通用 0:战士 1:法师 2:道士 3:刺客 4:弓箭手
22.开放归来客户端下五职业测试,DBServer增加客户端可创建人物数量选项,客户端选项增加客户端类型选项,默认为原版(五职业内容不代表最终版,但是基础内容不变)
23.修正角色名称在属性界面显示出属性字符的Bug
24.取消登陆器在16位色桌面中使用Alpha透明处理
## 3月7日
1.修复商铺热卖第五个物品不显示的Bug
2.角色增加CheckItemSoulLevelUp函数,用来检查一个物品是否可以执行魂炼升级(通过代码调整魂炼经验后再通过本函数来确定是否执行升级操作)。如: Player.CheckItemSoulLevelUp(AItem);
3.修复M2设置等级限制不保存的Bug
4.修复装备强化属性设置中项链设置无效的Bug
5.修复3月6日版客户端无法调用正常游戏模式的Bug
## 3月6日
1.修正无法看到他人骑马奔跑状态的Bug
2.物品数据库开放职业职业(Job)字段(99:全职业通用 98:战法道通用 0:战士 1:法师 2:道士 3:刺客 4:弓箭手)
五=业通用的h器:StdMode=6 Shape=19 (鹤嘴锄)
五职业通用的衣服:StdMode=10,11 Shape=1,2 (布衣,轻型盔甲)
>[danger] 注:此字段以前就设计了,当时默认值是0,所以本次更新如果不使用示范版本,请多选数据后点击右键菜单进行职业设置。此次更新后将以职业字段作为一个判定数据,所以必须重新设置职业,否则穿戴将会出现限制
3.修正人物属性MasterName无法写入的Bug(导致无法完成师徒系统)
4.修正装备属性AddHold无法赋值为-1及0的bug(导致无法将孔置为未开孔状态和未镶嵌状态)
5.怪物爆率设置增加“任意拾取”属性,选择此项后怪物爆出的物品将不限制拾取人,默认为不开启状态
7.修正NPC对话框中设置的函数参数对于掩码字符不转换的lug。比如""g#40和#41将会替换为“(”和“)”
8.角色增加属性Data(怪物、Npc及人物均包含此属性),用来在脚本中扩展任意的自定义数据。
```
procedure PlayerOnLogin(Npc: TNormNpc; Player: TPlayObject; OnlineAddExp: Boolean);
var
AData: TMyData;
begin
if Player.Data = nil then
begin
AData := TMyData.Create;
AData.OldIndex := 100;
Player.Data := AData;
end;
end;
```
>[danger] 注意:仅适用于pascal脚本,此属性默认值为nil,在脚本中如果针对此属性赋值后将在角色死亡的时候自动销毁
9.修正版本管理工具中素材批量导入时当文件名称格式不一致时导致顺序错误的Bug
10.修复2月16日版造成的魔防与魔法计算错误的Bug
11.修复可能出现右键无法装备戒指的Bug
12.支持默认合并可叠加物品,支持背包刷新时合并可叠加物品。(绑定状态及期限都相同)
13.修复当使用脚本修改穿戴在身上的坐骑属性后客户端不实时刷新的Bug
14.r持角色TargetActor属写的写入操作,即可给角色指定一个目标。
注意区分:eargetActor 表示当前攻击对象
LastHiter 表示被这个对象杀死
ExpHitter 表示死亡后由该对象获得经验值
15.开放对象属性RaceType,表示当前对象的种族类型(0:人物 150:人形怪 10:NPC)
16.开放AINpc,目前只处理对象Run过程,需要在M2游戏选项中启用该功能
17.物品提示中如果物品重量为0则不显示重量描述
18.修复武器不显示幸运及诅咒的Bug
19.修复某种情况下人形怪被成为友好的怪物NPC造成无法点击执行攻击的Bug
20.修复非友好的人形NPC在小地图上显示为绿色点的Bug
21.修法当M2允许客户端稳如泰山的时候客户端内挂无法选取户如泰山选项的Bug
22.M2参数设置中人物死亡选项增加尸体清理方式(修复人物死亡后一段时间再小退造成验证失败的Bug)
清理:踢出客户端连接并且清理尸体 不清理:不踢出连接也不城理尸体 回城复活:将 物传送回城并且复活
23.修复怪物NPC选择攻击红名及入侵怪物无效的Bug
24.修复个人机器人及系统机器4可能不会被执行的Bug
25.修复部分技能秒杀怪物后无物品爆出及经验获取的Bug
26.增加客户端使用StdMode=33的物品点击穿戴物品触发QF中函数ItemClickUseItem,函数定义:
```
Pascal:
procedure ItemClickUseItem(Npc: TNormNpc; Player: TPlayObject; ItemWhere: TItemWhere; Source, Dest: TUserItem; var Accept: Boolean);
begin
end;
Lua:
function ItemClickUseItem(Npc, Player, ItemWhere, Source, Dest, Accept)
return Accept
end;
//参数ItemWhere表示被点击的物品Dest穿戴在身上什么位置,
//Source表示客户端拿起的Stdmode=33的物品,
//Dest则是表示被点击的物品,
//Arcept表示是否执行,如果值为true则将删除Source这r物品
```
## 2月16日
1.NPC对话编辑支持支持提示信息,标识为“Hint”。如:{S=文字描述;Hint=提示信息}
2.自定义界面按钮、标签支持提示信息
3.修正1.29日版可能出现安全区识别错误的Bug
4.大幅提升判断角色是否处于地图安全区函数的性能
5.修正GameCenter中动eIP模式无效的Bug
6.修正M2列表信息中查看自定义装备名称可能报错及位置错误的Bug
7.5持人物属性超过65535
8.M2在运行期产生脚本错误的时候支持错误行号显示(当脚本报错请根据提示的信息进行排错)
9.更新Player.SendCountDownMessage函数结构,其后增加两个参数,分别是代表消息标记的Flag及代表是否改变
地图删除消息的ChangMapDelete, Flag默认为0,ChangMapDelete默认为False,以前的脚本本次不需要修改即可
编译。示例:
> //发送一条标记为10000的倒计时消息,该消息当角色切换地图的时候自动删除
> Pascal: Player.SendCountDownMessage('倒计时测试...', 0, 10000, True);
> Lua: Player:SendCountDownMessage("倒计时测试...", 0, 10000, true);
10.角色增加函数DeleteCountDownMessage,用来删除SendCountDownMessage发送的消息。示例:
```
Pascal: Player.DeleteCountDownMessage(10000);
```
```
Lua: Player:DeleteCountDownMessage(10000);
```
11.修复1.29日版客户端Png绘制错误的Bug
12.修复某些情况下,不应该显示的角色的名称重叠绘制在客户端右上角位置的Bug
13.版本地图配置增加新地图配置。分别为新旧地图对照坐标偏移设置及是否允许地图匹配新地图文件
14.支持采集类怪物。
数据库设置:R:ae=32 RaceImg=25 HP=采集耗时(秒)
当玩家采集结束时触发QF里的OnCollect函数执行确认采集操作,通过确认后触发QF中的ButchItem事件函数
15.QFunc加ionManagero加事件函数OnCollect,函数定义:
Pascaa:
```
procedure OnCollect(Npc: TNormNpc; Player: TPlayObject; Monster: TActor; var Accept: Boolean);
begin
end;
```
Lua:
```
function OnCollect(Npc, Player, Monster, Accept)
reture Accept;
end;
```
16.M背游戏选项增加删除过期物品选项,选择删选项后会自动删除背包及穿戴的过期物品
17.M2游戏选项增加包裹空间不足爆物到地面7项,选择后当挖取物品(挖矿、挖尸体,采集)包裹空间不够时直接将
物品到地面,如果不选择则接接退出物品获得过程。
18.修复封包密码超过一定长度后无效的Bug
19.修复客户端人物属性声望不正确的Bug
20.开放基础属性属写操作。
> 分别是血量HP、最大血量Max大P、魔血值MP、最大H血值MaxMP、
> 物攻下限DCMin、物攻上限DCMax、魔攻下限MCMin、魔攻上限MCMax、道攻下限SCMin、道攻上限SCMax、
> 物防下限ACMin、物防上限ACMax、魔防MACMin、魔防上限MACMax、
> 敏捷SpeedPoint、准确HitPoint、行走速lWalkSpeed、行走k伐WalkStep、行走间隔WnlkWait、
> 攻击速度AttackSpeed
>[danger] 注意:所有下限值不得高于上限值,如果超过则以上限取值
使用说明:这些属性都是直接操作对象的基础属性,但是不可以对玩家操作,因为玩家的属性会因装备变化而重新计算,
如果需要操作玩家的基础属性,请参考示范版本中全局脚本的“人物属性固定加成”中的处理方法
21.开放怪物怪物文件名率性DropName,在需要的时候可将怪物的爆率文件重定向到另外的一个爆率文件上。
如:Mon.DropNamn := '变异鸡爆率';
22.开放怪物名称修改功能。如:Mon.Name := '变异公鸡'
>[danger] 注:脚本中对人物的名称调整也可以通过编译,但实际只对非人物的对象起作用
23.修复版本工具中无法添加数据到空的游戏数据表中
24.修复版本工具中编辑物品数据库时自定义特效点击可能不出现下拉框的Bug
25.新增工具Table2Json.exe,位于Tools目录下,用来将DB格式的文件转换为JSON格式,然后以JSON格式导入到版本文件中,
解决部分机器无法导入数据的问题。注意:此工具基于BDE,必须安装BDE才可以使用
26.修u某些情况下聊天框内容缓存清除无效的Bug
27.支持背包及装备栏Alt+左键点击物品触发QF里函数的功能
Pascal:
```
procedure AltAndLButtonClickBagItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem);
begin
end;
procedure AltAndLButtonClickUseItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; ItemWhere: TItemWhere);
begin
end;
```
Lua:
```
function AltAndLButtonClickBagItem(Npc, Player, Item)
end;
function AltAndLButtonClickUseItem(Npc, Player, Item, ItemWhere)
end;
```
28.修正Lua脚本中角色属性HasGuild命名错误导致HasGuild判断是否属于加入行会失败的Bug
## 1月29日
1.修复客户端某些时候截图为全黑色的Bug
2.修正马牌设置Resverd字能后导无马牌可能无法取下的Bug
3.修正登陆器始终保持在顶层的bug
4.版本管理器代码提示以分类按照首字母排序
5.Gamelib增加函数MobPlaceEx用来刷新自动集中的怪物,同MobPlace的区别是MobPlace需要先调用Mission函数
来指定集中信息,而MobPlaceEx则是直接通过参数指定了集中信息。如:
```
Gamelib.MobPlaceEx('0', 100, 100, '鸡', 300, 300,10);
//在比奇的300、300的坐标上刷10只自动向坐标100、100靠拢的鸡
```
6.修正头顶特效在人物跑动的时候上下“跳动”的Bug
7.修正版本管理器加载时间显示错误的bug
8.修正人物名称过长造成无法进入游戏及回退到登陆器界面UI显示错误的Bug
9.修正版本管理器中设置NPC形象报错形Bug
10.修正角色外观发生变化时刷新可能有延迟的bug(如上下马、换装)
11.修正通过脚本调整装备颜色后,装备在地面上显示名称颜色和修改后颜色不一致的Bug
12.修正版本中设置安全范围从对光环有效而对实际功能无效的Bug。当安全范围设置为0的时候2则范围从M2配置中
读取(M2->参数设置->坐标范围),如果范围大于0则直接读范围值作为安全区作用范围。
13.修正登陆提示编辑窗口打开报错的Bug
14.修正道装属性中攻、魔、道、防御、魔法防、倍数计算方式。
以攻击为例,计算公式为:攻击力=人物当前总攻击力 \* (1 + 攻击倍数 / 100)
假设人物攻击为100,攻击倍数增加为15%攻根据此算法攻物的最终攻击为115
版本工具中设置套装攻击倍数的值为百分比值,即属性编辑器中填写增加属性为15,实际为15%
15.取消M2中控制客户端显示加星数量,现由UI设计器中装备提示效果自定义中控制
16.修正聊天框发送自定义名称的装备可能出现显示出标识符的Bug
17.修正账号服务器更新账号信息无效的Bug
18.修正M8计算过期物品属性的Bug,修正人物身上穿戴有过期下品不自动取下的Bug
19.修正Buf倒计时显示时间计算错误的Bug
2装.修正自定义UI窗口里面不显示装备提示的Bug
21.修正可ESC关闭的窗口在获得焦点的状态下无法ESC关闭的Bug
22.修正客户端对马的外观读取为第一匹马的素材的Bug
## 1月19日
1.修复AddExp函值执行后提示数值错误的Bug
2.修正物理攻击会变慢的Bug
3.修正打怪经验获取为数数据库经验的两倍的Bug
4.修正商城购买按钮在可购买u情况下为灰色的Bug
5.取消学习技能成功后弹出提示框
6.修复Map.GetMonCountEx在副本中无效的Bug
7.修正加属性点窗口坐标错位的Bug
8.修正天下第一及暴击效果错位的Bug(素材偏移调整)
9.修复勋章和魔血石装备对比错误的Bug
10.修统魂炼系统经验值无法保存的Bug
11.支持装备提示自定义
12.支持进度条失败触发
aPascal:
```
procedure ProgressFaild(Npc: TNormNpc; Player: TPlayObject; EventID: Integer)
```
Lua:
```
function ProgressFaild(Npc, Player, EventID)
end;
```
参数EventID为当前进度条事件ID
13.修正聊天栏激活状态无法F1-F12的Bug
14.内挂支持尸体清理
15.修正一个副本关闭时造成其他副本停止的Bug
16.修正创建新建角色时客户端可能使用相同名称的其他角色内挂配置导致客户端在一些数据处理上的错误
17.修正登陆器计计界.信息标签点击后创建的组件为游戏列表组件的Bug
18.修正称号在用户界面及及会界面显示不正确的Bug
19.修正角色手负重力不显示的Bug
20.修正号物头顶称号绘制波动的Bug
21.修正脚本TakeOn及TakeOff之后客户端不及时刷新的Bug
穿戴示例:
```
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
AItem: TUserItem;
beg n
Npc.Say(Player, S);
Player.TakeOffItem(wWeapon);
Player.RecalcAbilitys;
AItem := Npc.GiveItem(Player, '乌木剑');
if AItem <> nil then
begin
Player.TakeOnItem(AItem, wWeapon);
Player.RecalcAbilitys;
end;
end;
```
- 更新日志
- 2021年更新日志
- 2020年更新日志
- 2019年更新日志
- 2017年更新日志
- 2016年更新日志
- 2015年更新日志
- 2014年更新日志
- 2013年更新日志
- 游戏对象
- GameLib
- TActor
- TActorList
- TAddedAbility
- TAddLevelItem
- TAddPointItem
- TArgs
- TAttatckMode
- TDBEngine
- TEnvirnoment
- TFunctionFlag
- TGuild
- TItemState
- TItemWhere
- TMissionItem
- TMissionLinkItem
- TMissions
- TNormNpc
- TPlayMonster
- TPlayMonsterNPC
- TPlayObject
- TStdItem
- TStoreItemList
- TToptenz
- TUserCastle
- TUserItem
- TUserMagic
- TVarValue
- Tbuff
- TBuffCategory
- TBuffAbilityType
- TBuffStatusType
- TBuffIntervalType
- 固定NPC
- AINpc
- ExternalNPC
- MagicNpc
- ManagerNPC
- MapEventNPC
- MissionsNpc
- QFunctionNPC
- RobotManagerNPC
- TimeManagerNPC
- 自定义功能
- 自定义客户端UI
- Buffer效果自定义设计
- UI管理界面预览
- 如何实现物品放入或取下时的函数触发
- 自定义窗口
- 自定义界面中编辑框参数发送方式
- 自定义客户端装备提示效果
- 自定义特效
- 自定义装备提示样式
- Buff系统说明
- 自定义技能编辑器
- 技能扩展自定义
- 自定义技能初识
- 被动技能属性定义
- 技能模式定义
- 客户端效果定义
- 主动技能动作定义
- 新自定义技能编辑器
- 初始编辑器
- 自定义编辑器使用说明
- 如何实现自定义怪物
- 脚本实例
- NPC对话编辑
- 宝宝叛变的启动和停止
- 创建脚本单元
- 创建一个藏匿于地图上的攻击事件
- 地图传送
- 获取服务器名称
- 获取玩家任务信息
- 检测是否为沙城成员
- 角色称号、头顶花翎、头顶特效设置
- 判断PK值
- 判断队伍信息
- 判断角色对面是一个什么对象
- 判断角色金币、元宝及礼金等数量
- 判断角色所在的地图信息
- 判断角色性别
- 判断角色职业
- 判断两个角色之间的距离
- 判断是否为队长
- 判断是否为行会掌门
- 判断是否为沙巴克城主
- 判断有某一物品的数量
- 判断转生等级及等级
- 让目标移动到指定的坐标
- 让玩家回城
- 如何播放一个声音文件
- 如何操作Check状态检查
- 如何操作数据库
- 如何查看玩家IP来源
- 如何查看装备是否可被穿戴或取下
- 如何查找一个行会
- 如何充值角色的属性点
- 如何初始化全局变量
- 如何穿戴或取下一件装备
- 如何创建一个副本地图
- 如何创建一个行会
- 如何打开一个宝箱
- 如何打开指定的URL
- 如何弹出对话框让玩家选择执行
- 如何读写个人变量、行会变量及全局变量
- 如何读写文本文件
- 如何发送各种文字信息
- 如何访问其他角色
- 如何复活
- 如何给客户端发送一个标题栏闪动
- 如何给玩家发放物品
- 如何更新自定义窗口上的内容
- 如何关闭进度条
- 如何关闭一个打开的自定义窗口
- 如何过滤字符串中的文字
- 如何获得地图上全部玩家的信息
- 如何获得地图上指定范围内的怪物数量
- 如何获取丢在地上物品对象
- 如何获取角色当前使用的称号
- 如何获取角色负重
- 如何获取角色在线时长
- 如何获取排行榜信息
- 如何获取人物当前获得的称号信息
- 如何获取坐标上指定范围内的全部怪物
- 如何加入或离开队伍
- 如何加入一个指定的行会
- 如何加载和保存自定义的配置文件(INI文件读写
- 如何监控攻击模式的更改
- 如何监控玩家扔物品
- 如何检查目标是否处于某种状态
- 如何将NPC设置为当前玩家的雕像
- 如何将地图上的角色全部随机传送到另外一个地图上
- 如何将指定玩家传送到身边
- 如何将装备显示在NPC对话框上
- 如何脚本封速
- 如何脚本刷怪
- 如何脚本增加和删除一个NPC
- 如何脚本增加和删除一个怪物NPC
- 如何禁止玩家聊天
- 如何开启及停止自动增加经验值
- 如何克隆玩家为人形怪
- 如何判断当前等级的经验值上限
- 如何判断队伍中是否为不同职业的角色
- 如何判断角色是否为新人
- 如何判断玩家曾经是否接过某任务
- 如何清除地图上的怪物
- 如何请求一个URL
- 如何取得地图上的怪物数量
- 如何取得行会全部称号及全部成员信息
- 如何取得全部在线用户信息
- 如何取得玩当前机器的机器码
- 如何取得物品的数据库单价和销售价格
- 如何取得邮件的数量信息
- 如何取得自定义界面里面玩家放入的物品信息
- 如何让打开客户端的背包、商城及市场
- 如何让他人执行指定的脚本
- 如何删除或修改行会称号
- 如何删除玩家的物品
- 如何删除一个称号
- 如何删除一个副本地图
- 如何删除一个扩展按钮
- 如何删除一个延时调用函数
- 如何设置当前称号
- 如何设置角色死亡不爆出
- 如何实现充值平台对接
- 如何实现骰子
- 如何实现无敌隐身
- 如何实现物品属性转移(物品复制)
- 如何实现一个带参数的输入框
- 如何实现一个机器人
- 如何实现自定义装备爆出提示
- 如何使用JSON对象
- 如何使用角色S、P及N变量
- 如何使用静态数组和动态数组
- 如何使用升级加属性点
- 如何收取城堡金币
- 如何随机刷新物品属性
- 如何踢出在线人物
- 如何添加一个称号
- 如何调整角色的HP、MP值
- 如何调整角色声望值
- 如何调整人物攻击模式
- 如何调整人物转生等级
- 如何调整限时杀怪经验倍率
- 如何调整装备属性上限
- 如何完全控制他人
- 如何显示一个进度条
- 如何修改怪物名称
- 如何修改行会帮主
- 如何修改人物技能属性
- 如何修改一个物品的属性
- 如何延时调用一个函数
- 如何以爆物的方式将一个怪物的爆率给玩家
- 如何用脚本存取物品
- 如何在地图上爆出一个指定的物品
- 如何在行会指定的称号里面添加成员
- 如何在脚本中引用外部DLL
- 如何在客户端显示一个特效
- 如何增加和移除一个个人时钟事件
- 如何增加或减少角色经验值
- 如何增加一个地图连接点
- 如何增加一个行会的称号
- 如何增加一个扩展按钮
- 如何召唤下属
- 如何指定删除角色身上的装备
- 如何重新计算排行榜
- 如何转职
- 如何自动增加或减少元宝
- 如何做一个感叹号提示
- 实现自定义的客户端命令集
- 推开指定的目标
- 修改怪物的爆率为一个指定的爆率文件
- 循环自身全部技能
- 如何设置装备掉落触发脚本处理
- 如何设置装备掉落提示
- 给玩家添加一个未接任务
- 给玩家添加一个已接任务
- 补丁规则
- NPC补丁设置
- Prguse.data文件编辑的注意事项
- 引擎补丁规则
- 地图补丁规则
- 盾牌补丁
- 怪物补丁设置
- 头发补丁设置
- 武器及衣服补丁设置方法
- 坐骑补丁设置
- 操作相关
- 数据库设置
- 版本数据库管理
- 锄头设置方法
- 攻速及幸运设置
- 技能特殊设置
- 扩展数据管理
- 魔法数据设置要点
- 人形怪穿戴及技能设置
- 人形怪攻击速度设置
- 人形怪数据库设置
- 如何配置宝箱及钥匙
- 如何设置解包物品
- 如何设置一个固定位置的传送道具
- 设计采集类怪物
- 设置自定义物品种类名称
- 数据库报错问题
- 特殊物品属性设置说明
- 添加宝石物品
- 添加可穿戴宝石、气血石及魔血石物品
- 物品数据库设置说明
- 游戏数据库的导入导出
- 服务端操作
- [M2]开启物品属性下限功能
- 摆摊相关
- 备份与恢复
- 防外挂设置
- 服务端部署
- 合区
- 角色成长属性调整
- 配置排行榜系统
- 如何查看M2Server所在机器的机器码
- 如何实现多机负载
- 网关防攻击配置
- 游戏网关性能设置
- 任务系统
- 脚本混编说明
- Call命令说明
- 参数Args的读取
- 存在的意义
- 让他人执行脚本
- 如何定义常量
- 如何读写变量
- 如何实现混编
- 特殊标志段说明
- 特殊的CHECK和SET
- 调整杀怪倍率
- 支持编译时错误提示
- 地图配置
- 地图NPC配置
- 地图安全区编辑
- 地图创建及属性说明
- 地图杀怪任务触发
- 地图事件编辑
- 地图刷怪配置
- 地图挖矿设置
- 附属地图配置
- 关联到盛大新格式地图
- 检查地图文件使用情况
- 卫士配置
- 登陆器操作
- 登陆器自我更新
- 登录器界面组件介绍
- 登录器设计界面初识
- 管理登陆器列表
- 将登陆器列表部署到服务器
- 客户端控制
- 客户端样式选择
- 列表设计界面初识
- 如何创建登陆器皮肤
- 如何生成登陆器文件
- 玩家登陆器选项
- 微端控制
- 版本管理器
- NPC对话内容编辑
- 版本文件二次注册使用方法
- 查看程序是否更新
- 创建新的版本文件
- 单个脚本加密方法
- 额外数据库信息配置
- 给版本设置一个唯一ID
- 怪物爆率配置
- 将版本运行所需的配置文件植入版本文件中
- 角色登陆提示信息
- 脚本分类说明
- 脚本机器人配置
- 配置宝箱
- 配置怪物说话
- 如何开启技能自动追踪目标的功能
- 如何实现登陆器图标及客户端Logo的替换
- 如何下载最新版本
- 商城(元宝、礼金)管理
- 商贩贩卖物品配置
- 设置版本工具环境变量
- 套装配置
- 添加一个盾牌物品
- 系统提示信息配置
- 一键导入其他引擎的版本
- 远程管理
- 资源数据管理
- 如何添加一个任务模板中的任务
- 其他辅助说明
- [重要]脚本编写注意项
- 256颜色值
- IP库
- Mir200_Envir下的列表文件详解
- 各种时间控制方法
- 怪物DB数据
- 怪物Race设置
- 键盘码对应数值表
- 脚本系统与系统安全说明
- Pascal基础说明
- Pascal变量类型
- Pascal数据类型
- 基础函数及单元
- 客户端标签变量
- 疑问/建议/反馈/留言
- 在线教程
- 引擎下载