c++
XINGTECODE
这个作者很懒,什么都没留下…
展开
-
海盗王背包面板修改
海盗王的原版背包和装备栏是集成在一起的,上部分是装备栏,下部分是背包栏,特别是背包栏,默认只显示 4 - 4 的16格,现在普遍都是大背包48格以上,物品多的时候,需要上下滚动,使用和移动物品非常不方便。顺带把同时弹出背包和临时背包的功能改了,只单独弹出背包栏,临时背包改面板按钮打开,这个平时也用得不多,同时弹出2个确实有点不太人性。左边弹出装备栏,右边弹出临时背包,能显示 4 - 8 共32格,比原来好太多了,跟其他功能面板配合也很完美。看来真不好改,怪不得没人愿意改,没熟悉源代码的,还真不好下手。原创 2024-01-22 10:50:02 · 479 阅读 · 2 评论 -
海盗王NPC出售物品解析器
将NPC的出售列表直接复制过去粘贴上,点击 解析,就能在右边的列表里自动解析出来具体的物品名称和说明。想到之前有做过一个物品编辑器,于是就想在那个基础上再增加一个NPC物品分析器功能。在编辑或者查看NPC出售物品的时候,需要了解它到底出售了那些物品。当物品很多的时候,就很难一个一个地去查了。原创 2024-01-19 14:31:22 · 426 阅读 · 0 评论 -
年度最整洁的海盗3.0版本
现在在我这里即使锁屏后,选区和登陆账号输入界面的文字依然清晰可见,不会消失,真是十分意外,之前费劲了心思都没找到是哪里的问题而导致无法修复,这下竟然好了,太意外了。抱着试一下的心态改了一通,没想到竟然成了,把那个游戏引擎直接集成到跟游戏程序一起,然后再把之前那个icu的库也一并更换成新版的。经过调试,发现是那个MindPower3D的dll,在跳转地图等情况下卸载清理内存的时候,会偶发出现空指针引起的。集成引擎后,程序文件变大了一些,但是挂机能感觉到比之前顺畅了,可能是直接内部优化了函数调用的原因。原创 2024-01-05 17:06:31 · 495 阅读 · 2 评论 -
VS2019 error LNK2001: 无法解析的外部符号 解决方法
1>libeay32.lib(pem_lib.obj) : error LNK2019: 无法解析的外部符号 ___iob_func,函数 _PEM_def_callback 中引用了该符号。1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析的外部符号 _vfprintf,函数 _OPENSSL_showfatal 中引用了该符号。========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========原创 2023-05-24 11:17:22 · 2291 阅读 · 0 评论 -
海盗王实现随身NPC功能
一般正常情况下,是在城里或者野外,来到一个NPC旁边,点击打开交易功能,才能进行物品的购买和出售。随身NPC可以在身边没有NPC的情况下,通过工坊的按钮,直接打开一个跟售卖NPC一样的窗口,在里面可以购买到常用的物品,当然也可以把背包的物品出售换成海盗币。研究了一段时间相关的代码后,发现那个交易的NPC代码是绑定到具体NPC的,交易的时候调用了NPC的对话功能,然后才弹出窗口交易窗口,交易时会进行物品列表校验的。经过实践,既保留原有的NPC交易功能,有增加了随身NPC交易功能,完美实现了这个功能。原创 2023-03-03 18:44:24 · 264 阅读 · 0 评论 -
海盗王实现9槽精炼功能
后面,又出来黑龙宝石、2属性、3属性、4属性、5属性,还有加暴击这类宝石,造成原有的3槽根本不够精炼这么多种类的宝石,只能选择其中三种,造成宝石资源浪费,非常不合理的设置。听说有人实现过5槽的,但是没有亲身体验过,怎么实现的不得而知。经过翻看源代码和不断思考构思,终于想到了方法,在现有情况下,进行了扩展,经过实践和测试,证明是成功的,完美实现了9槽精炼,可以最多打到9种不同的宝石,合计81级最高精炼等级。这种实现方法不需要修改数据库,但是跟已有的数据不能兼容,必须是新建角色才能,旧角色会报错。原创 2023-02-25 14:21:51 · 552 阅读 · 1 评论 -
海盗王实现物品999个堆叠
为了解决这个问题,又把代码翻了一遍,找到交易处理的地方,一番修改后,改了几次,才实现了单次单格交易999个,方便很多了。但是,又有一个问题来了:跟别人交易的时候,一样是一次单格只能交易99个,交易一组999个,要10次,不能忍受吧。很多开海盗王游戏的,把物品堆叠数量改999个后,可以装下更多的物品了。实现这个要修改源代码重新编译的,没有源码的同学就别折腾了。原创 2023-02-15 08:41:33 · 285 阅读 · 0 评论 -
实现海盗王地图跳转点显示
玩海盗王这个游戏的都知道,它的固定地图跳转点是一个转动的光圈,上面啥也不显示,根本不知道是跳往那里的,除非你试过了。如果实现在它上面显示一个名字,说明跳转点名称,这会更加友好点。特别说明下,这是要修改源代码,重新编译才能实现的。没有源代码的同学们就不要去尝试了。花了很多时间,找到相关的文件,做了修改,然后尝试了下,真的能显示出来了。看下面的效果图,感觉还是非常不错。原创 2023-02-14 19:44:24 · 230 阅读 · 0 评论 -
海盗王3.0版本60帧版的体验
于是,我屏蔽它这个功能。仔细看了下代码,没发现其他人修改的痕迹,应该是原来官方的人做过的修改或者尝试,后来由于某种原因,没有用上就停用了。传到我这里的时候,已经是个残缺的半成品,很多代码被人为修改或者注释过,而且连引擎都没的。后来无意中修复了一个残缺的3.0端,发现它的默认帧频是60FPS的,而且动作等都很协调,没有之前的那种现象。体验一番后,发现60FPS的,的确比30FPS要好点,释放技能、打怪、走路都比较顺滑,值得推荐。翻看了以前保留的那些资源,找到一个有点匹配的,重新修改了一番,终于套上勉强用了。原创 2022-11-17 18:56:54 · 1356 阅读 · 4 评论 -
纯正国内的海盗王3.0修复端
这个国内的版本,没有发现老外动过的痕迹,都是国内人员编辑的注释,跟其他版本的客户端版本截然不同,非常新,运行后跟国内的3.0版本非常一致。2.0的老外修改的太多了,而且特效文件被他们重新改过了,修复起来非常麻烦,尽快最后可以正常使用了,但是时不时会卡卡的,无法完美解决问题。无意间,重新发现这个国内的高版本源码,试了下,刚好手头搞好了新版本的服务端,有些缺少的文件正好有点眉目,便重新修复起来。目前,国内3.0的客户端尚未有源码流出,看到在开的服和公开的版本,几乎差不多的,可以肯定是出自同一个人之手。原创 2022-11-14 11:04:16 · 1076 阅读 · 4 评论 -
###.obj : error LNK2001: 无法解析的外部符号“class ### ###”(?### n0O3###’OA)
在用vs2019编译一个游戏exe,遇到过一个非常麻烦的问题:报***.obj LNK2001 无法解析的外部符号。后来,无意中看到引擎定义的导出extern变量是有#define #### 的,这个是在预编译定义里设定的。1、一个3D的游戏引擎,先编译成lib和dll,里面有在头文件导出extern的变量供游戏使用;在游戏exe这边,却在预编译里定义了另外一个不同的名称,试着改成相同的,竟然顺利通过编译了。这到底差别在哪里呢?比对了另外一个差不多同样代码的别人的项目,它是可以编译成功的。原创 2022-11-08 11:31:52 · 2032 阅读 · 1 评论