3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 侠客前传 | 刺客信条 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 6798|回复: 5
打印 上一主题 下一主题

[分享] 冰萝卜太少怎么办——通过dnspy使得所有种子翻倍

[复制链接]

2

主题

287

帖子

595

积分

高级玩家

Rank: 4

贡献度
30
金元
4653
积分
595
精华
1
注册时间
2013-6-28

G胖の微笑

跳转到指定楼层
主题
发表于 2017-6-24 11:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先说明这毕竟是修改游戏的内置文件,肯定是会影响游戏体验的,修改请慎重。

本来主要思路是想修改植物成熟后种子掉落的多少,但是一来是发现种类繁多,改起来特别麻烦,二来是冰萝卜不能实现增殖

在Assembly-CSharp.dll中,种子的管理有一个专门的类,我们只需要修改这个类,就可以实现所有种子的修改。

在Dnspy中,我建议采用IL指令修改,
一是IL指令的修改不需要把Assembly-CSharp.dll放在原来的编译环境下(也就是在原目录下),这样可以避免改错了游戏打不开。
二是IL指令可以修改一些更加深层次的操作。
直接 反编译—编译 的话可能导致变量名字变化,不美观。

当然有些东西IL不能完全解决,但是这就无所谓了。

一下是操作

首先找到这个SeedProducter的DropSeed函数,看到第9行引用了一个函数,这个函数以seedInfo.seesId为参量,所以我们猜测这是一个在游戏中添加种子的函数,看到参数后面的1没有,猜测那就是产生种子的数量。


我们要种子数量法翻倍,就把1改为2即可

在第9行的地方右键进入IL编辑,却没有发现1这个参数。

但是注意到第8行,操作码是ldc.i4.1,其实这个就是在调用1这个量,只不过1太常用了,于是直接写在了操作码里面


如上图,我们把操作码改为ldc.i4.2.然后点击确定,保存。


回来就会发现第9行的函数,后面变成了2.

最后保存退出,进入游戏后可以发现。你种下一颗刺花消耗一颗种子,然后马上拔出却会得到2颗种子。

冰萝卜我没有实验,但是道理应该差不多。这样游戏中的冰萝卜就不会那么稀缺了





萌新第一次发帖,各位看完顶一下帖子吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2
回复

使用道具 举报

2

主题

287

帖子

595

积分

高级玩家

Rank: 4

贡献度
30
金元
4653
积分
595
精华
1
注册时间
2013-6-28

G胖の微笑

舒服的沙发
 楼主| 发表于 2017-6-24 11:31 | 只看该作者
duguyixuan123 发表于 2017-6-24 11:25
感谢分享。不过目前缺氧利用Bug和Debug玩起来还是蛮轻松的。动态链接库修改起来烦琐,并且游戏更新后就会失 ...

不能Debug出冰萝卜,温泉降温还是得靠萝卜,所以才搞了这个东西

回复 支持 反对

使用道具 举报

0

主题

13

帖子

72

积分

初级玩家

Rank: 2

贡献度
0
金元
724
积分
72
精华
0
注册时间
2016-1-17
硬硬的板凳
发表于 2017-6-24 13:44 | 只看该作者
能帮忙修改好了那些植物种子,发文件出来么,打算弄个植物园,版本,220993。
回复 支持 反对

使用道具 举报

15

主题

930

帖子

976

积分

超级玩家

Rank: 5Rank: 5

贡献度
61
金元
7322
积分
976
精华
0
注册时间
2008-6-22
冰凉的地板
发表于 2017-6-26 17:52 | 只看该作者
感谢楼主分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|咖绿茵|求知网|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2024-4-25 08:28 , Processed in 0.133836 second(s), 19 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表