地表法则先遣者修改文件
本人纯小白,只能修改无限鸟蛋,具体需要用到软件“dnspy”废话不多说,直接上修改步骤。
第一步:找到游戏目录ROL_Data文件夹并打开,在打开Managed文件夹,备份好Assembly-CSharp.dll此文件。
第二步:打开dnspy,读取Assembly-CSharp.dll,依次打开列表找到BirdHouse
第三步:具体修改如下:
修改第一处:// Token: 0x060002F4 RID: 756
private void updateData()
{
for (int i = 0; i < Loads.DownLand_Data_Now.Count; i++)
{
if (this.zoneID == Loads.DownLand_Data_Now[i][0])
{
if (float.Parse(Loads.DownLand_Data_Now[i][this.OnlyIndex]) * this.outSpeed > this.MaxNumOutProp)
{
Loads.DownLand_Data_Now[i][this.OnlyIndex = (this.MaxNumOutProp / this.outSpeed).ToString();
}
this.outPropNum = float.Parse(Loads.DownLand_Data_Now[i][this.OnlyIndex]) * this.outSpeed + 5f; 此处+5是需要添加的。
return;
}
}
}
修改第二处:
// Token: 0x060002F5 RID: 757 RVA: 0x0001EEF8 File Offset: 0x0001D0F8
private void updateShow()
{
if (this.isFixed)
{
if (!base.transform.Find("ShowA").gameObject.activeSelf)
{
base.transform.Find("ShowA").gameObject.SetActive(true);
}
if (base.transform.Find("ShowB").gameObject.activeSelf)
{
base.transform.Find("ShowB").gameObject.SetActive(false);
}
if (base.transform.Find("UI_BT").Find("FixBT").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("FixBT").gameObject.SetActive(false);
}
if (!base.transform.Find("UI_BT").Find("back").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("back").gameObject.SetActive(true);
}
if (this.outPropNum >= 1f)
{
if (base.transform.Find("propShow").childCount > 0)
{
if (base.transform.Find("propShow").GetChild(0).GetComponent<PropGet>().Num != (float)Mathf.FloorToInt(this.outPropNum))
{
base.transform.Find("propShow").GetChild(0).GetComponent<PropGet>().Num = (float)Mathf.FloorToInt(this.outPropNum);
}
}
else
{
GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>((GameObject)Resources.Load("PropGet"));
gameObject.name = "dgop002";
gameObject.GetComponent<PropGet>().Num = (float)Mathf.FloorToInt(this.outPropNum) * 5f; 此处*5是需要添加的。
gameObject.GetComponent<PropGet>().ClassID = 11;
gameObject.transform.parent = base.transform.Find("propShow");
gameObject.transform.localPosition = new Vector3(0.1f, 0f, 0f);
gameObject.transform.localScale = new Vector3(1f, 1f, 1f);
}
}
}
else
{
if (base.transform.Find("ShowA").gameObject.activeSelf)
{
base.transform.Find("ShowA").gameObject.SetActive(false);
}
if (!base.transform.Find("ShowB").gameObject.activeSelf)
{
base.transform.Find("ShowB").gameObject.SetActive(true);
}
if (!base.transform.Find("UI_BT").Find("FixBT").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("FixBT").gameObject.SetActive(true);
}
if (base.transform.Find("UI_BT").Find("back").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("back").gameObject.SetActive(false);
}
}
if (this.isgetplayer && this.player.transform.position.x - base.transform.position.x >= -2f && this.player.transform.position.x - base.transform.position.x <= 2f && base.transform.Find("propShow").childCount > 0 && !base.transform.Find("ShowA").Find("Bird").gameObject.activeSelf)
{
base.transform.Find("ShowA").Find("Bird").gameObject.SetActive(true);
}
}
这两处修改完,进游戏体验无限鸟蛋吧,前提需要自己先用2根绳子把狩猎区的鸟窝建好。
本帖最后由 暧昧√ 于 2023-7-20 20:46 编辑
增加渔网修改:代码如下↓↓↓↓↓↓搜索FishNet// FishNet渔网修改和鸟笼一样,无限资源,只是地图选址不一样。
// Token: 0x0600038B RID: 907
private void updateData()
{
for (int i = 0; i < Loads.DownLand_Data_Now.Count; i++)
{
if (this.zoneID == Loads.DownLand_Data_Now[i][0])
{
if (float.Parse(Loads.DownLand_Data_Now[i][this.OnlyIndex]) * this.outSpeed > this.MaxNumOutProp)
{
Loads.DownLand_Data_Now[i][this.OnlyIndex = (this.MaxNumOutProp / this.outSpeed).ToString();
}
this.outPropNum = float.Parse(Loads.DownLand_Data_Now[i][this.OnlyIndex]) * this.outSpeed + 5f; 此处+5需要添加
return;
}
}
}
第二处修改
// FishNet
// Token: 0x0600038C RID: 908
private void updateShow()
{
if (this.isFixed)
{
if (!base.transform.Find("ShowA").gameObject.activeSelf)
{
base.transform.Find("ShowA").gameObject.SetActive(true);
}
if (base.transform.Find("ShowB").gameObject.activeSelf)
{
base.transform.Find("ShowB").gameObject.SetActive(false);
}
if (base.transform.Find("UI_BT").Find("FixBT").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("FixBT").gameObject.SetActive(false);
}
if (!base.transform.Find("UI_BT").Find("back").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("back").gameObject.SetActive(true);
}
if (this.outPropNum >= 1f)
{
if (base.transform.Find("propShow").childCount <= 0)
{
GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>((GameObject)Resources.Load("PropGet"));
gameObject.name = this.fishAll[TrueRandom.GetRanom(this.fishAll.Count)];
gameObject.GetComponent<PropGet>().Num = (float)Mathf.FloorToInt(this.outPropNum) * 5f; 此处*5需要添加
gameObject.GetComponent<PropGet>().ClassID = 11;
gameObject.transform.parent = base.transform.Find("propShow");
gameObject.transform.localPosition = new Vector3(0f, 0f, 0f);
gameObject.transform.localScale = new Vector3(1f, 1f, 1f);
return;
}
if (base.transform.Find("propShow").GetChild(0).GetComponent<PropGet>().Num != (float)Mathf.FloorToInt(this.outPropNum))
{
base.transform.Find("propShow").GetChild(0).GetComponent<PropGet>().Num = (float)Mathf.FloorToInt(this.outPropNum);
return;
}
}
}
else
{
if (base.transform.Find("ShowA").gameObject.activeSelf)
{
base.transform.Find("ShowA").gameObject.SetActive(false);
}
if (!base.transform.Find("ShowB").gameObject.activeSelf)
{
base.transform.Find("ShowB").gameObject.SetActive(true);
}
if (!base.transform.Find("UI_BT").Find("FixBT").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("FixBT").gameObject.SetActive(true);
}
if (base.transform.Find("UI_BT").Find("back").gameObject.activeSelf)
{
base.transform.Find("UI_BT").Find("back").gameObject.SetActive(false);
}
}
}
本帖最后由 暧昧√ 于 2023-7-20 20:44 编辑
增加温室木材燃烧时长修改搜索HotHousePanel
找到如下的代码层
// HotHousePanel
// Token: 0x060004DA RID: 1242
private void updateAddTime()
{
this.AddTime = 0f;
for (int i = 0; i < this.propSelected.Count - 1; i += 2)
{
for (int j = 0; j < Loads.WoodData.Count; j++)
{
if (this.propSelected[i == Loads.WoodData[j][0])
{
this.AddTime += float.Parse(this.propSelected[i + 1]) * float.Parse(Loads.WoodData[j][1]) * 10f;此处*10需要自己添加这样修改,1个材料可以增加10倍的燃烧时长
break;
}
}
}
}
这游戏有吃的基本就稳了生活 本帖最后由 暧昧√ 于 2023-7-21 08:43 编辑
新增采集木头石头速度修改搜索GetWoodStone
找到如下代码层
// GetWoodStone
// Token: 0x06000C31 RID: 3121
private void updateShow()
{
this.filltJinDu += 0.1f;把原有的0.004修改成0.1,
if (this.filltJinDu <= 1f)
{
base.transform.Find("clock").Find("clockT").GetComponent<Image>().fillAmount = this.filltJinDu;
return;
}
if (Loads.IsGetSWOn == 0)
{
base.transform.parent.parent.gameObject.SendMessage("GetProp");
Loads.isOpenGetWoodStoneShowPanel = false;
return;
}
base.transform.parent.parent.gameObject.SendMessage("GetProp");
this.filltJinDu = 0f;
base.Invoke("delayStop", 0.1f);
}
感谢楼主分享的技巧 暧昧√ 发表于 2023-7-20 20:42
增加温室木材燃烧时长修改搜索HotHousePanel
找到如下的代码层
// HotHousePanel
大佬,这里是加上“*10f”吗?星号跟数字之间有没有空格啊?
yujianzhe 发表于 2023-7-21 12:15
大佬,这里是加上“*10f”吗?星号跟数字之间有没有空格啊?
有空格
暧昧√ 发表于 2023-7-21 13:04
有空格
采集速度改了但是还要持续动作...
大佬能出个改皮数量的吗 随便去个地方,将背包里的某物品丢弃,必须是两个以上,看到界面后,打开ce,4字节,搜索你要丢的数量,按减号按钮,点击确认{:3_143:} 修改背包 查找UpBagPanel
// Token: 0x04000AC7 RID: 2759
private int lv_max = 10; 这里修改最高升级等级把10改大 上限没试过 一级加5点背包容量
Mathf.CeilToInt((float)Loads.Bag_Lv / 2f 这样的有三个 修改升级背包所需要的皮的数量 把2F改大 这是一个除法 最低需要消耗一张皮
好了 现在你有一个超级无敌大背包了 去全世界搜刮资源吧 这个世界已经难不倒你了 感谢楼主,楼主太强了{:3_104:} 汪汪队立大功
查找 DogGetAnimal >OnTriggerEnter2D
gameObject.GetComponent<PropGet>().Num = 1f;
修改1f 为你想要的数字 比如100f
效果就是 狗咬住 小动物后 在狗嘴里克隆了100只 好了 你放生 狗咬回来复制 再放生 再咬回来复制 功德无量现在实现了小动物自由了 搜索showprop,找到animal的那一个
gameObject2.GetComponent<PropGet>().Num = 1f;
gameObject2.GetComponent<PropGet>().ClassID = 1;
gameObject2.transform.parent = base.transform.Find("propShow");
gameObject2.transform.localPosition = new Vector3(-0.6f, 0f, 0f);
这一部分Num =后面的数字是一只动物掉落多少毛皮 注意还有一个animalguide,那个有几个能改掉落油脂和肉的数量,但是修改后会造成大型动物生成概率降低 种植箱快速成熟
查找 AddWenLvBT 和RemoveWenLvBT
修改成
// Token: 0x060004D4 RID: 1236 RVA: 0x00038DB0 File Offset: 0x00036FB0
private void AddWenLvBT()
{
if (this.WenDuLv < 1000000f)
{
this.WenDuLv += 10000f;
}
else
{
Loads.NomalTip_now.Add(new List<string>
{
"Text",
"1",
Loads.UI_Text
});
}
this.updateshowSet();
}
// Token: 0x060004D5 RID: 1237 RVA: 0x00004E74 File Offset: 0x00003074
private void RemoveWenLvBT()
{
if (this.WenDuLv > 1f)
{
this.WenDuLv -= 10000f;
}
this.updateshowSet();
修好温室后 加点柴 打开温度催生 种植物秒熟 现在只要拿到西瓜种子 就能实现西瓜自由了 1390909926 发表于 2023-8-1 18:00
注意还有一个animalguide,那个有几个能改掉落油脂和肉的数量,但是修改后会造成大型动物生成概率降低 ...
油脂和肉的数量 具体在哪改?
锅要炸了
查找 Bonfires 》updateShow
gameObject.GetComponent<PropGet>().Num = (float)int.Parse(this.AllpropID_out_now) * 100f;
gameObject2.GetComponent<PropGet>().Num = 100f;
这两处修改
效果为 一份材料 100份成品
还有一个修改野外篝火 TempBonfire 》updateShow
gameObject.GetComponent<PropGet>().Num = (float)int.Parse(this.AllpropID_out_now) * 100f;
gameObject2.GetComponent<PropGet>().Num = 100f;
同样100倍效果 但是野外篝火只能烤食物 黄金矿工
查找 RockBoom 》updateShow
gameObject.GetComponent<PropGet>().Num = (float)(TrueRandom.GetRanom(int.Parse(Loads.AllBoomData) - int.Parse(Loads.AllBoomData)) + int.Parse(Loads.AllBoomData)) * 100f;
这处修改
效果为 一份火药 炸100份材料 地洞里炸石头的那个
好了 黄金 矿石 煤 自由了 好了 现在就是没找到水在哪改 改了水的话 就基本没有出门的动力了 所以水就懒得找了 多出门转转吧 猎杀大动物掉落油脂和生肉的地方我已经找到了 但是改了锅以后 这个就没有必要了 煎一块油脂有一百份油 煎一份肉有一百份肉 就没必要去改掉落了 这个游戏到这里就基本告一段落了 改了上面这些 只要你不自己作死 就基本不会死 后面看还有那个大佬能整点新花样吧
个人感觉最好用的是带汪汪的那个人物 狗的作用是真的强 小动物能直接叼 大动物可以赶过来 你自己拿棒子敲死就行 根本不用子弹
最后附一个狗的移动速度修改
查找dog 》initData
private void initData()
{
this.isdeadEnd = false;
this.animal_animator = base.transform.GetComponent<Animator>();
for (int i = 0; i < Loads.All_Player.Count; i++)
{
if (Loads.MyPlayerID == Loads.All_Player)
{
this.run_speed = 6.2f + float.Parse(Loads.All_Player) * 0.6f * 4f;
break;
}
}
this.move_speed = 12f;
this.RunSpeedScale = 4f;
数字不要改太大 不然你会看到 毫无用处的闪电狗 造粪机器
查找 Player_N 》addShit
gameObject.GetComponent<PropGet>().Num = 100f;
这挺有趣 随便吃点造成腹泻的食物 当人物腹泻的时候 一次拉100份粑粑 粑粑可以在种植箱提升作物产量
这个有点和快速成熟有点冲突 因为成熟速度太快 你没法施肥;P 毁游戏修改 一生二 二生四 四生万物
查找PropContain_forest》AddProp_throw
gameObject.GetComponent<PropGet>().Num = (float)int.Parse(Loads.PropID_Throw) * 2f;
效果为 在野外 把东西丢地上 一个变两个 十个变二十个 无限指数级复制 比上面那位用CE的大兄弟方便多了
苍月·天羽 发表于 2023-8-1 18:45
油脂和肉的数量 具体在哪改?
也在NUM后边,但是建议别修改,我修改之后开新档3个地图才找到一只动物
1390909926 发表于 2023-8-7 16:49
也在NUM后边,但是建议别修改,我修改之后开新档3个地图才找到一只动物
...
我知道在哪改了 没发现你说的问题 动物数量正常 食肉动物2只 食草动物3-5 只可能是你漏了 或者改错了麽个数值 不过改了锅之后 这个改不改无所谓了 不过还是谢谢 初始物资箱修改
找到getprop的bultbox
这一部分是初始物资的数量和种类,注意有三种子弹类型分别应用三种数据
以劣质箭矢为例
this.GetporpData.Add(new List<string>
{
"ibop004",
(TrueRandom.GetRanom(10) + 15).ToString()
ibop004是劣质箭矢代码,如果修改为igop004初始会给优质箭矢。括号外的数字是物品的最小值,最大值要加上括号内的数字,比如劣质箭矢的初始数量就在15到25之间。
this.GetporpData.Add(new List<string>
{
"erop016",
(TrueRandom.GetRanom(5) + 4).ToString()
这个是水的数量,修改逻辑同理
this.GetporpData.Add(new List<string>
{
"hrop014",
"2"
});
这个是木材的数量,固定给2个
增加新物品类型失败了,原因不明 以下是物品代码清单
"ibop001" 小型陷阱
"ibop002" 劣质子弹
"ibop003" 劣质麻醉弹
"ibop004" 劣质箭矢
"ibop005" 劣质麻醉箭矢
"ibop006" 劣质马鞍
"ibop007" 劣质缰绳
"ibop008" 劣质马蹄铁
"ibop009" 钥匙
"ibop010" 劣质霰弹
"ibop011" 劣质麻醉弹
"irop001" 中型陷阱
"irop002" 普通子弹
"irop003" 普通麻醉弹
"irop004" 普通箭矢
"irop005" 普通麻醉箭矢
"irop006" 普通马鞍
"irop007" 普通缰绳
"irop008" 普通马蹄铁
"irop010" 普通霰弹
"irop011" 普通麻醉弹
"igop001" 大型陷阱
"igop002" 优质子弹
"igop003" 优质麻醉弹
"igop004" 优质箭矢
"igop005" 优质麻醉箭矢
"igop006" 优质马鞍
"igop007" 优质缰绳
"igop008" 优质马蹄铁
"igop009" 撬棍
"igop010" 优质霰弹
"igop011" 优质麻醉弹
"erop016" 水
"egop001" 水果罐头
"egop002" 豆子罐头
"egop003" 蔬菜罐头
"egop004" 意面罐头
"egop005" 金枪鱼罐头
"egop006" 牛肉罐头
"egop007" 黑麦面包
"egop008" 甜甜圈
"egop009" 饼干
"egop010" 冰激凌
"egop011" 巧克力
"egop012" 水果糖
"egop013" 棒棒糖
"egop014" 可乐
"egop015" 果汁
"hgop002" 优质曼陀罗
"hgop003" 优质凤尾草
"hgop004" 优质夏枯草
"hgop005" 优质车前草
"hgop006" 优质甘草
"hgop007" 优质龙芽草
"hgop008" 优质紫苏
"hgop009" 优质鱼腥草
"hgop010" 优质薄荷
"hgop011" 优质罗勒叶
"hgop012" 优质鼠尾草
"hgop013" 草绳
"hgop019" 完整兽皮
"hrop014" 木材
"hrop015" 钢铁
"hrop016" 石头
"hrop017" 火药
"hrop018" 铁矿石
"hrop020" 羽毛
"hrop021" 臭鼬素
"hrop022" 动物尿液
"hrop023" 粪便
"hrop024" 煤炭
"hrop025" 黄金
"hrop026" 钻石
"hrop027" 木炭
"hrop028" 硝石
"hrop029" 硫磺
"hbop019" 破损兽皮
"grop001" 成人杂志
"grop002" 小说著作
"grop003" 人物传记
"grop004" 文学期刊
"grop005" 科学书籍
"grop006" 八卦书刊
"jrop001" 臭鼬
"jrop002" 豪猪
"jrop003" 草原鼠
"jrop004" 松鼠
"jrop005" 雄鸡
"jrop006" 雌鸡
"jrop007" 野兔
"jrop008" 狐狸
"dgop001" 新鲜鸡蛋
"dgop002" 新鲜鸟蛋
"drop003" 蜂蜜
"drop004" 松露
"drop005" 鸡油菌
"drop005" 红蘑菇
"drop007" 白蘑菇
"drop008" 草菇
"drop009" 鹿花菌
"drop010" 迷幻蘑菇
中间是其他虫子
"drop018" 蜂王
"frop001" 葡萄酒
"frop002" 朗姆酒
"frop003" 伏特加
"frop004" 啤酒
"arop001" 动物脂肪
"arop002" +2000的肉
"arop003" 野牛肉
"arop004" 角马肉
"arop005" 马肉
"arop006" 山羊肉
"arop007" 角羊肉
"arop008" 长角羚羊肉
"arop009" 叉角羚羊肉
"arop010" 跳羚羊肉
"arop011" 驯鹿肉
"arop012" 狐狸肉
"arop013" 泽鹿肉
"arop014" 斑鹿肉
"arop016" 野猪肉
"arop017" 水豚肉
"arop018" 棕熊肉
"arop019" 野狼肉
"arop020" 山狮肉
"arop021" 鸟肉
"arop022" 豺狗肉
"arop023" 野兔
"arop024" 鸡肉
"arop025" 豪猪肉
"arop026" 臭鼬肉
"arop027" 大鲤鱼
"arop028" 小鲤鱼
"arop029" 大鲶鱼
"arop030" 小鲶鱼
"arop031" 大鲑鱼
"arop032" 小鲑鱼
"arop033" 河豚
"arop034" 松鼠肉
"arop035" 草原鼠肉
"arop036" 死鸟
"arop037" 死鱼
"arop039" 螃蟹
"arop040" 河蚌
"arop040" 田螺
"arop040" 狐狸肉
"cgop001" 成熟的西瓜
"cgop002" 成熟的甘蔗
"cgop004" 成熟的番茄
"cgop005" 成熟的葡萄
"cgop006" 成熟的草莓
"cgop007" 成熟的树莓
"cgop008" 成熟的蓝莓
"bgop001" 马铃薯
"bgop002" 优质木薯
"bgop003" 优质番薯
"bgop004" 优质大麦
"bgop005" 优质水稻
"bgop006" 优质花生
"bgop007" 优质大豆
"bgop008" 优质玉米
"bgop009" 优质橡子
"bgop010" 优质豌豆
子弹精确度修改
找到updateprecise的shootline
this.ShootPrecise = Mathf.FloorToInt(this.ShootPrecise_init * (100f - 100f * this.ShootPreciseScale));
this.Attack_Num = (float)Mathf.FloorToInt(this.Bult_AttackNum - this.Bult_AttackNum * this.ShotAttackScale);
this.MaZui_Num = (float)Mathf.FloorToInt(this.Bult_MaZuiNum - this.Bult_MaZuiNum * this.ShotAttackScale);
伤害我还没明白咋改,但是精确度修改把第一个100f增大或者把第二个100f减小都可以 改伤害直接把减号改成加号就行,不过那样的话距离越近伤害越低,最低不会低于子弹基础数值 1390909926 发表于 2023-8-9 13:29
改伤害直接把减号改成加号就行,不过那样的话距离越近伤害越低,最低不会低于子弹基础数值 ...
这样改可以保证有命中的同时 又有伤害和麻醉效果 this.ShootPrecise = Mathf.FloorToInt(this.ShootPrecise_init * (256f - 1f * this.ShootPreciseScale));
this.Attack_Num = (float)Mathf.FloorToInt(this.Bult_AttackNum + 255f + this.Bult_AttackNum * this.ShotAttackScale);
this.MaZui_Num = (float)Mathf.FloorToInt(this.Bult_MaZuiNum + 255f + this.Bult_MaZuiNum * this.ShotAttackScale);
数值不用该太大 反正都是一枪倒
页:
[1]
2