心愿兰影 发表于 2023-6-18 00:19

给大富翁11的道具使用加自定义道具锁,可以实现道具使用不销毁功能

这是补丁篇的代码说明。
一、添加道具上锁数据,需要修改GameManager类的Start方法。


1、使用DnSpy,打开“richman11_Data/Managed/Assembly-CSharp.dll”,全局搜索GameManager类,打开并选中Start方法,右键→编辑方法。

2、添加代码
先在Start方法外,定义一个公开的变量lockCardIdDic,用来存放上锁卡牌的id字典
public System.Collections.Generic.Dictionary<int, bool> lockCardIdDic = new System.Collections.Generic.Dictionary<int, bool>();之后,在Start方法中初始化该变量。
this.lockCardIdDic = new System.Collections.Generic.Dictionary<int, bool>();接着,检测本地配置文件“LockCardIds.txt”是否存在,不在则创建,存在则读取并给变量lockCardIdDic填充数据。
<blockquote>string filePath = System.IO.Path.Combine(Application.dataPath, "../LockCardIds.txt");3、保存修改,点击左下角的编译。

4、保存编译数据,点击文件→保存模块或全部保存,即可。这时候可以在其他地方的脚本中访问该字段。

二、添加销毁道具检测,使上锁数据生效。需要修改BattleBaseInfo类的DelCard方法。

1、全局搜索DelCard方法,并打开所在类。
2、编辑方法,右键→编辑方法
3、将原有的卡牌销毁代码进行替换
this.pNowCardBagList.RemoveAt(i);替换为
if (!this.bSelf)//先检测是不是自己,不是就销毁道具
{
      this.pNowCardBagList.RemoveAt(i);
}
else if (!GameManager.Instance.lockCardIdDic.ContainsKey(cardid))//如果是自己,则检测是否道具上锁了,没有上锁就销毁道具
{
      this.pNowCardBagList.RemoveAt(i);
}
4、编译,如果报错“BattleBaseInfo……”,点击跳转到当前行,并将BattleBaseInfo改为var,重新点击编译即可。
BattleBaseInfo staffInfo = BattleMgr.Base.GetStaffInfo(staffByGroup);改为
var staffInfo = BattleMgr.Base.GetStaffInfo(staffByGroup);
5、最终文件→全部保存,重新运行游戏即可!

**** Hidden Message *****

zjk1997622 发表于 2023-6-21 20:35

厉害
66666666666

390136921 发表于 2023-6-26 17:09

看看隐藏内容是什么!谢谢!感谢分享!论坛因你更精彩!

playlvming 发表于 2023-6-27 14:44

32312321321321

雪域神天 发表于 2023-6-29 20:46

66666666666666

givildns 发表于 2023-7-1 00:45

66666太厉害了

tangsenbo 发表于 2023-7-3 02:53

666666666666

srzyhead 发表于 2023-7-5 21:36

顶顶顶顶顶顶顶顶顶

无奈dd 发表于 2023-7-8 18:19

谢谢分享

asdfqwertyuio 发表于 2023-7-8 20:14

666666666666

九张机 发表于 2023-7-16 22:06

666lhl66666

qjytd001 发表于 2023-7-22 15:18

324324234234324

龍渊 发表于 2023-7-25 16:27

666666666666666

xhw1997 发表于 2023-7-25 17:56

6666666666666

空城OvO 发表于 2023-7-27 00:32

666666666666666

对ni不变 发表于 2023-7-28 21:50

666666666

烂墨穿石 发表于 2023-7-29 13:50

太复杂了,看不懂

心愿兰影 发表于 2023-7-30 23:46

烂墨穿石 发表于 2023-7-29 13:50
太复杂了,看不懂

可以直接使用我打包好的dll
https://bbs.blacksheepgame.com/thread-6429118-1-1.html

comeonnan 发表于 2023-8-3 20:48

666666666666

xing7681 发表于 2023-8-24 23:21

这个方法 大富翁10 能用不?

幽靈追獵者 发表于 2023-8-26 15:17

444444444444

ggaann 发表于 2023-9-4 14:38

好高大上...

DreYU 发表于 2023-9-5 22:37

666666666666

haoerppp 发表于 2023-9-7 01:37

666666666666666

opop168 发表于 2023-9-16 01:22

感谢LZ的分享,很值得的~!!!

南侠香蕉 发表于 2023-10-10 00:11

能不能直接发我一个覆盖

心愿兰影 发表于 2023-10-12 11:36

南侠香蕉 发表于 2023-10-10 00:11
能不能直接发我一个覆盖

修改大富翁11卡牌道具使用方式 - 《大富翁11》 - 3DMGAME论坛 - Powered by Discuz!

ck9750 发表于 2023-10-15 20:26

666666666666666666666666666666

magicking 发表于 2023-10-18 15:36

感谢分享

zipoo1234 发表于 2023-10-22 13:21

感谢分享~
页: [1] 2 3 4
查看完整版本: 给大富翁11的道具使用加自定义道具锁,可以实现道具使用不销毁功能