新手向游戏修改攻略
适合有编程基础的人,最好有一定的英语功底,其他要求无.使用的修改工具是dnspy,用于直接反编译unity游戏的dll文件并且修改源码.
软件下载地址(二选一,第一个是官方地址,会更新):
github: https://github.com/dnSpyEx/dnSpy/releases
链接: https://pan.baidu.com/s/1SDyNkZyP6RTO7gQWVvB5uw?pwd=8j1f
软件使用简述:
[*]双击工具安装目录里的dnSpy.exe,选择左上角菜单:文件->打开,选择下一站江湖游戏部署目录\下一站江湖Ⅱ_Data\Managed\Assembly-CSharp.dll
[*]左上角菜单:编辑->搜索程序集,打开全局搜索,这个最重要的功能,搜索感兴趣的代码.搜索有一个子选项,"数字/字符串"和"以上所有".其中"数字/字符串"更常用,所有游戏里的提示文本一般靠这个.
[*]通过搜素打开的代码编辑界面默认是只读模式,需要编辑就右键菜单,选择"编辑方法"打开菜单编辑源码,修改后点击编译保存,有些时候点击编译会报错,但是不一定是代码没写好,只需要重新打开dll重新修改即可,原理未知.要真正修改dll还需要点击左上角菜单:文件->全部保存,且建议每修改一次就全部保存一次,不全部保存就修改其他地方容易报错.
[*]还有一种修改方式是右键菜单的"编辑IL指令",这个类似于汇编修改,除非是高手,否则很难看懂,但是该方式非常适合修改数值和文本,修改后编译基本不会报错.
[*]善用右键菜单的"分析"来查找函数调用
正文开始:
游戏修改的核心实际就是找到待修改逻辑的代码点.下一站江湖里各种操作后的提示信息就是关键点.
比如我想修改制作时特殊物品出现概率,那么我肯定要找到制作物品的相关代码.
比如在制作戒指春盟成功后,左边会有提示文本:制作春盟成功,那么直接在搜索界面搜索"成功"(搜索选项需要选择"数字/字符串"),为啥不搜索"制作春盟成功"这6个字应该不用我说吧?
搜索后会有三个结果随便点击一下,在点击MoveNext时会打开如下代码,这一看就是制作时的相关逻辑了.
查看发生彩蛋的条件"item.m_pProtoId != this.assemblyData.itemId",item应该就是道具的意思,结合else里的信息,猜测就是道具的m_pProtoId如果跟预期的道具id不一致,说明本次制作的道具就是特殊道具.那么就可以往上搜索(不是使用全局搜索,而是当前菜单的搜索,ctrl+f打开)m_pProtoId,很快就可以看到如下代码
可以看到"item.m_pProtoId = this.assemblyData.itemId;"在赋值后,后续还可能发生"item.m_pProtoId = num5;",这明显应该是先生成普通物品,特定情况下会变成特殊物品.再查看这一行代码"if (global::UnityEngine.Random.Range(0, 2000) < num6)"这不明显是生成一个0-2000之间的随机数,如果小于num6就能变成特殊物品,原版的2000是10000,这是我已经修改的结果.所以我需要放大5倍概率,把10000改为2000就可以.推荐使用IL指令修改.
进阶教程:
**** Hidden Message ***** 本帖最后由 zhengqieqie2008 于 2024-7-11 20:18 编辑
秘技和功体技能装备数量的修改
打开武学界面,全局搜索界面的一些文字基本搜不到有效信息.但是如果技能冷却时,这时候拖动更换技能会提示文本"原有技能冷却中,不能更换".
全局搜索能发现如下代码
结合拖动技能时提示冷却不成功,如果成功会播放声音,基本可以确定这个函数可以控制角色装备的技能:WorldManager.Instance.m_PlayerEntity.m_SpellManager.EquipSpell.
接下来是思考如何增加可装备技能数量,其实牛逼的方式当然是增加技能栏,由用户自由决定配置哪个技能,但是我没这个能力,没搞定.
所以我想到的是切换套路时秘技和功体.在切换套路时会提示"成功切换刀套路",全局搜索成功切换,找到如下代码
用到的很多函数和常量等都是在研究WorldManager.Instance.m_PlayerEntity.m_SpellManager.EquipSpell函数时学会的.
在函数末尾增加如下代码(代码在附件"增加技能数量.txt"),直接用就行,能够实现切换套路时自动装备所有学会的秘技和最多7个功体.
666666666666666666
dddddddddddddddddddddddddddd
DDDDDDDDDDDDD 看看能不能学会
下载试用一下,如果用着不错就给楼主顶贴!你说的观点我也很支持! ddddddddddddddddddddddd 本帖最后由 大叔很有爱 于 2024-7-11 16:46 编辑
问一下大佬,我就改了特殊物品的概率,然后保存出来的文件比原文件小了 50K?{:3_126:} 学习学习学习学习
新手向游戏修改攻略 谢谢分享!!!!!!!!!!!!
大叔很有爱 发表于 2024-7-11 16:13
问一下大佬,我就改了特殊物品的概率,然后保存出来的文件比原文件小了 50K? ...
我也是游戏开发纯新手.
别在乎这么多了,能用就行{:3_111:}
我来看看!!!
6666666666666
原来有指导文!太好了 ddddddddddddddddddddddddddddd
66666666666666666666
666666666666666666
·······························
666666666666666
ˊˊˊˊˊˊˊˊˊ6666666666666666666
66666666666666
111111111111
委屈热污染去
感谢分享,很实用 太难了,感觉小白看不懂啊
流通的瞬间 发表于 2024-7-12 19:33
太难了,感觉小白看不懂啊
需要有编程基础的
666666666666666 6666666666666666