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

注册 登录

QQ登录

只需一步,快速开始

查看: 6682|回复: 13
打印 上一主题 下一主题

避难所2(Sheltered 2)v1.0.10 正式版的DLL修改,附改好的文件。

[复制链接]

4

主题

167

帖子

354

积分

高级玩家

Rank: 4

贡献度
19
金元
2776
积分
354
精华
0
注册时间
2013-3-31
跳转到指定楼层
主题
发表于 2021-11-4 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hzzyca 于 2021-11-4 17:42 编辑

目前避难所2Sheltered 2)正式版已更新至v1.0.10版本,游戏有了较大变动,修正了不少的bug,之前V1.0.4版本的修改已不再适用,所以新开个贴子记录现在的修改点,也方便给大家参考。
修改需要工具:dnspy
修改 游戏目录\Sheltered2_Data\Managed\Assembly-CSharp.dll文件,修改前建议做好备份
需具备部分编程知识。
重要提示:
一般来说,我下面说的 找到 XX方法,就是用dnspy 编辑方法(C# 功能修改, 即在对应方法名称上点击右键,在弹出的菜单中选 编辑方法 C#
如果是修改 XX 字段 ,就要用 编辑类(C#  功能。
附件提供了修改好的文件供大家使用,部分修改数值有做调整。对不喜欢关注细节的同学可以直接文末下载DLL文件。
一、 种植、陷阱相关
1.必出三星材料和种子
找到Object_Planter 类下面的 HarvestPlant 方法  
ItemStack itemStack= new ItemStack(this.m_plantType.dictionaryKey, (ItemStack.Quality)this.m_quality,1, ItemStack.SpawnType.None);
。。。。
ItemStack item = newItemStack(this.m_seedType.dictionaryKey, (ItemStack.Quality)this.m_quality, count,ItemStack.SpawnType.None);
改为
ItemStack itemStack= new ItemStack(this.m_plantType.dictionaryKey, ItemStack.Quality.Excellent, 1,ItemStack.SpawnType.None);
。。。
ItemStack item = newItemStack(this.m_seedType.dictionaryKey, ItemStack.Quality.Excellent, count, ItemStack.SpawnType.None);
if (UnityEngine.Random.value > 0.5f)
改成
if (UnityEngine.Random.value > 0f)
100%机会掉落种子
2.作物无需浇水
找到Object_Planter 类下面的 UpdatePlant方法  
this.m_currentWaterLevel= Mathf.Max(this.m_currentWaterLevel - Time.deltaTime * this.WaterDeclinePerSecond, 0f);
改为
this.m_currentWaterLevel= 100f;
3. 作物无视温度生长
找到Object_Planter 类下面的 UpdatePlant方法  
float currentTemperature = base.currentArea.CurrentTemperature;
改成
float currentTemperature = this.m_minTemperature;
4. 作物5倍生长速度
找到Object_Planter 类下面的 UpdatePlant方法  
this.m_currentGrowTime+= Time.deltaTime * num;
改成
this.m_currentGrowTime+= Time.deltaTime * num * 5f;
5.解除种植类型限制
找到PlantManager类下面的 GetSeedList方法  
可以找到两条  contents.RemoveAt(i);   
直接删掉第2
6.陷阱捕猎几率修改
找到WildlifeMovement类下面的 AttemptToNibble方法  
if (UnityEngine.Random.value < 0.4f)
改成
if (UnityEngine.Random.value < 0.9f)
上套机会90%
7.陷阱可用次数不减
找到Object_SnareTrap类下面的 UseTrap方法  
this.m_uses--;
改成
this.m_uses=3;
二、仓库、物品相关
1. 物品仓库容量修改
找到ShelterInventoryManager 类的 RefreshMaxWeight() 方法:
num += this.m_allStorage.maxWeight;   
改为  
num += this.m_allStorage.maxWeight* 50f;         
普通物品容量放大50倍,无需重开游戏即可生效。
2.水箱容量修改
找到WaterManager类下面的 RefreshMaxWaterCapacity方法  
this.waterStorageCapacity+= this.m_waterContainers.storageCapacity ;
改为
this.waterStorageCapacity+= this.m_waterContainers.storageCapacity * 50f;
水箱容量放大50倍,无需重开游戏即可生效。
3. 食品柜、药品柜容量修改
找到Object_Base_WithStorage类的 Awake方法:
base.Awake();
改为  
base.Awake();
this.m_maxWeight *= 50f;
食品柜、药品柜容量放大50倍,需新制作的才有效,原有柜子不生效,新开游戏的话初始柜子也有效。与上述两个修改效果不叠加。
物品重量缩小10(不建议使用,容易有bug)
找到ItemStack类的 GetStackWeight() 方法:
return (float)Mathf.RoundToInt(this.m_def.weight * (float)this.amount * 10f) / 10f;
改为  
return (float)Mathf.RoundToInt(this.m_def.weight * (float)this.amount * 10f) / 100f;
4.食物不腐烂
找到 Object_Base_WithStorage 类下面的 GetTemperature方法  
把最后一个return this.xxxxxxx;改为  
return -10f;
5.雨水过滤效率500
找到Object_WaterFilter类下面的 update方法  
base.Update();
改为
base.Update();
this.m_waterFilteringEfficiency= 500f;
6.污水自动增长和快速处理
找到Object_WaterPurifier类下面的 Update 方法  
if (this.m_storedWater< 1f)
    {
        this.m_purifyTimer = this.m_purifySpeed;
        return;
    }
改为
if (this.m_storedWater< 1f)
    {
        this.m_purifyTimer = this.m_purifySpeed/ 10f;
        this.AddContaminatedWater(1f);
        return;
    }
this.m_purifyTimer = this.m_purifySpeed;
    WaterManager.instance.AddWater(1f, false);
    this.RemoveContaminatedWater(1f);
改为
    this.m_purifyTimer = this.m_purifySpeed / 10f;
    WaterManager.instance.AddWater(200f, false);
    this.RemoveContaminatedWater(1f);
每次10秒净化1点污水,得200净水。在没有污水时每20秒自动增加1点污水。
三、设备、物品相关
1.降低设备损耗速度50
找到Object_Integrity类下面的 UpdateIntegrity方法
if (this.m_integrityReductionType == Object_Integrity.IntegrityReductionType.Never)
改成
this.m_degradeRatePerGameHour= 0.02f;
if (this.m_integrityReductionType == Object_Integrity.IntegrityReductionType.Never)   
耐久降低速度减少50
2. 设备耐久上限修改(两种方法二选一
SetMaxIntegrity 方法中:
this.m_maxIntegrity= Mathf.Clamp((float)value, 5f, 100f);
改为
this.m_maxIntegrity= Mathf.Clamp((float)value, 1000f, 1100f);
自制设备耐久上限修改为1000(原有设备不变,新建造的设备才有效)
Repair 方法中:
if (this.m_isBroken)
改为
this.m_maxIntegrity=1000f;
if (this.m_isBroken)
每次维修时将设备耐久上限设为1000,对原有设备也有效,跟前面耐久上限修改二选一即可。
3.制作物品修改
找到CraftingManager类下面的 FinishInteraction方法
ShelterInventoryManager.instance.AddItems(new ItemStack(dictionaryKey, (ItemStack.Quality)qual, 1, ItemStack.SpawnType.None), false);
改成:
ShelterInventoryManager.instance.AddItems(new ItemStack(dictionaryKey, ItemStack.Quality.Excellent, 10, ItemStack.SpawnType.None), false);
制作物品三星,10倍产量
4.回收物品修改
两处地方需要修改:
一是找到ItemStack类下面的 GetSpecificRecycleItems方法
list2.Add(new ItemStack(itemStack.def.dictionaryKey,itemStack.quality, itemStack.amount * customAmount, ItemStack.SpawnType.None));
改为
list2.Add(new ItemStack(itemStack.def.dictionaryKey,ItemStack.Quality.Excellent, itemStack.amount * customAmount*10, ItemStack.SpawnType.None));
二是找到ItemStack类下面的 GetRecycleItems方法
list.Add(new ItemStack(this.def.recycleItems_Poor.def.dictionaryKey…
。。。
list.Add(new ItemStack(this.def.recycleItems_Okay[j].def.dictionaryKey…
。。。
list.Add(new ItemStack(this.def.recycleItems_Good[k].def.dictionaryKey…
改成list.Add(new ItemStack(this.def.recycleItems_Poor.def.dictionaryKey, ItemStack.Quality.Excellent, this.def.recycleItems_Poor.amount * customAmount * 10, ItemStack.SpawnType.None));
。。。
list.Add(new ItemStack(this.def.recycleItems_Okay[j].def.dictionaryKey, ItemStack.Quality.Excellent, this.def.recycleItems_Okay[j].amount * customAmount * 10, ItemStack.SpawnType.None));
。。。
list.Add(new ItemStack(this.def.recycleItems_Good[k].def.dictionaryKey, ItemStack.Quality.Excellent, this.def.recycleItems_Good[k].amount * customAmount * 10, ItemStack.SpawnType.None));
回收出三星材料,数量10
四、电器类修改
1.耗电量降低100
找到Object_Powered类下面的SetPowerRequiredPerGameHour方法  
this.m_powerRequiredPerGameHour = amount;
改为
this.m_powerRequiredPerGameHour = amount / 100f;
2.风车恒定20倍最大功率输出
找到Object_WindTurbine类下面的 Update 方法  
this.m_outputPerSecond= Mathf.Clamp(this.m_currentSpeed / this.m_maxRotationSpeed * this.m_maxOutputPossible,0f, this.m_maxOutputPossible);
改为
this.m_outputPerSecond= Mathf.Clamp(this.m_maxOutputPossible*20f, this.m_maxOutputPossible*20f , this.m_maxOutputPossible*100f);
3.发电机燃料零消耗
找到Object_PowerSourceWithStorage类下面的FuelToBurnHours方法
return fuel / PowerManager.instance.GetHourlyPowerUsage() * base.efficiencyPercent;
改成
return 0f;
4.制冷、制暖效果修改
找到Object_AirCon类下面的CalculateHeatEmission方法
base.currentArea.additionalHeat += Mathf.Max(-num, this.m_heatEmissionPerHour);
改成
base.currentArea.additionalHeat += Mathf.Max(-num, this.m_heatEmissionPerHour)*50f;
制冷效果50倍,所有风扇、空调通用。
找到Object_Heater类下面的CalculateHeatEmission方法
base.currentArea.additionalHeat += Mathf.Min(this.targetTemp - (base.currentArea.CurrentTemperature + base.currentArea.LeakedHeatPerHour), this.m_heatEmissionPerHour);
改成
base.currentArea.additionalHeat += Mathf.Min(this.targetTemp - (base.currentArea.CurrentTemperature + base.currentArea.LeakedHeatPerHour), this.m_heatEmissionPerHour)*50f;
制暖效果50倍,所有电暖器通用,不适用1级的取暖火炉和焚烧炉。
5.油灯修改
找到Object_Lantern类下面的Update方法
this.m_fuelLevel -= Time.deltaTime * (1f / this.m_fuelBurnTime);
改成
this.m_fuelLevel -= Time.deltaTime * (1f / this.m_fuelBurnTime)*0.1f;
油脂消耗减少10
五、动作加快
1.秒睡+快速疗伤
找到ObjectInteraction_Sleep , ObjectInteraction_SleepBunkBed类下面的BeginInteraction方法
this.interactionLength= memberRH.member.needs.fatigue.Value / 100f * num2;
this.m_restAmountPerSecond= 100f / num2;
this.m_healAmountPerSecond= 100f / num3;
改为
this.interactionLength= memberRH.member.needs.fatigue.Value / 1000f * num2;
this.m_restAmountPerSecond= 1000f / num2;
this.m_healAmountPerSecond= 1000f / num3;
睡眠效率翻了10倍,疗伤速度10
2.各种工作速度提升
找到ObjectInteraction_ConstructObject类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍快速建筑
找到ObjectInteraction_CraftItem类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍快速制作
找到ObjectInteraction_Repair类下面的 BeginInteraction方法
this.m_repairPerSecond= 1.5f;
改为
this.m_repairPerSecond= 100f;
100倍快速修理
找到ObjectInteraction_RepairItem类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍快速修理物品
找到ObjectInteraction_RepairWeapon 类下面的UpdateInteraction方法
interactionTimers[getID] += 1f * Time.deltaTime;
改为
interactionTimers[getID] += 10f * Time.deltaTime;
10倍快速修理武器
找到ObjectInteraction_DeconstructObject类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍快速拆除设备
找到ObjectInteraction_Dismantle类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍快速回收物品
找到ObjectInteraction_CleanObject类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍清理桌子和发电机等物品
找到ObjectInteraction_Excavate类下面的 GetSpeedMulti方法
return num;
改为
return num + 10f;
10倍速挖掘新房间
3.工作疲劳值增长降低100
找到ObjectInteraction_Base类下面的 ApplyFatigue方法
this.m_FatigueAccumulator += this.FatigueRate * this.m_fatigueRateMultiplier * Time.deltaTime ;
改为
this.m_FatigueAccumulator += this.FatigueRate * this.m_fatigueRateMultiplier * Time.deltaTime *0.01f;
4.快速打扫
找到Job_CleanShelter类下面的 UpdateJob方法
this.currentCleanTimer-= Time.deltaTime * 1f ;
改为
this.currentCleanTimer-= Time.deltaTime * (this.GetSpeedMulti() + 10f);
清洁效率10倍,但人物动作速度不变。
六、人物相关
1. 经验及技能点修改
找到BaseStat类下面的 IncreaseExp方法(有两个,同样修改)
if (this.experience >= BaseStat.ExpLevel[this.level + 1])
。。。。
if (this.experience >= BaseStat.ExpLevel[i + 1])
改成:
if ((this.experience*50) >= BaseStat.ExpLevel[this.level + 1])
。。。。
if ((this.experience*50)  >= BaseStat.ExpLevel[i + 1])
升级所需经验减少50
把两条
this.professionSkillPoints += BaseStat.skillPointsPerLevel[this.level];
改为
this.professionSkillPoints += BaseStat.skillPointsPerLevel[this.level]+10;
每次升级多给10点技能点
2.提高人物属性上限的实验修改
找到ObjectInteraction_Experiment类下面的 FinishInteraction方法
float num = 0.25f;
改成
float num = 0.8f;
实验成功几率80
找到BaseStat类下面的 Experiment方法
this.m_experimented = true;
改为
this.m_experimented = false;
实验次数无限
3.锻炼经验修改
找到ObjectInteraction_Exercise类下面的UpdateInteraction 方法
this.totalXpNeo = Mathf.Min(this.timer, this.interactionLength) * (float)this.m_experienceGain;
this.totalXpFortNeo = Mathf.Min(this.fortitudeTimer, this.interactionLength) * (float)this.m_experienceGain * 0.75f;
改成
this.totalXpNeo = Mathf.Min(this.timer, this.interactionLength) * (float)this.m_experienceGain*10f;
    this.totalXpFortNeo = Mathf.Min(this.fortitudeTimer, this.interactionLength) * (float)this.m_experienceGain * 0.75f*10f;
锻炼的属性经验和耐久经验10倍,目前游戏的经验计算机制修改了,锻炼过程中不显示经验变化,可以等人物锻炼一段时间后手动取消,系统就会自动计算所获经验,不需要等待整个锻炼动作全部完成。
4.读书经验修改
找到ObjectInteraction_ReadCharismaBook    ObjectInteraction_ReadIntelligenceBook ObjectInteraction_ReadPerceptionBook类下面的 UpdateInteraction 方法,修改方法一样:
int num = this.m_experienceGain * this.characterLevel;
改成
int num = this.m_experienceGain * this.characterLevel*10;
读书学习经验10
5.行走速度加快(建议2倍速,快了容易卡
找到MemberNavigation类下面的 GetWalkSpeed方法
return this.m_walkSpeed*this.m_walkSpeedTraitMultiplier*this.m_walkSpeedMultiplier;
改为
   return this.m_walkSpeed * this.m_walkSpeedTraitMultiplier* this.m_walkSpeedMultiplier * 2f;
6.强制解除人物卡死状态修改
找到ObjectInteraction_AddFat类下面的 OnInteractionSelected方法
InteractionManager.instance.SelectedMember.member.AddJob(new Job(InteractionManager.instance.SelectedMember, base.obj, this, base.obj.GetInteractionTransform(0, false), false, 0f, 0f));
改成
InteractionManager.instance.SelectedMember.member.FinishInteracting();
InteractionManager.instance.SelectedMember.member.AddJob(new Job(InteractionManager.instance.SelectedMember, base.obj, this, base.obj.GetInteractionTransform(0, false), false, 0f, 0f));
只要选择给油灯加油,就会强制解除人物当前卡死动作。
7. 心理咨询、手术成功几率修改
找到ObjectInteraction_TherapyObjectInteraction_Surgery类下面的 FinishInteraction方法
float num = 0.5f;
改为
float num = 0.8f;
成功几率提高至80%


附件:修改好的文件,部分数值有调整,不会过于imba







本帖子中包含更多资源

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

x
回复

使用道具 举报

4

主题

167

帖子

354

积分

高级玩家

Rank: 4

贡献度
19
金元
2776
积分
354
精华
0
注册时间
2013-3-31
舒服的沙发
 楼主| 发表于 2021-11-4 17:41 | 只看该作者
八、探险、任务相关



1.轻松完成抓捕任务,任意阵营囚犯都可以交任务

找到JobStage_CheckCaptives类下面的 CaptiveCheck方法

return …….;

改为

return SlaveManager.instance != null && SlaveManager.instance.CurrentSlaves.Count > 0;





2.人物外出负重修改

找到Member 类下面的 GetCarryWeight 方法

float num = this.m_baseCarryingCapacity + (float)(base.baseStats.Strength.Level * 5);  

改为

float num = this.m_baseCarryingCapacity + (float)(base.baseStats.Strength.Level * 200) + 1000f;

初始负重加1000,人物每点力量加200负重。



3. 战斗杀人不触发坏心情

找到Member 类下面的 OnHumanKilledInCombat方法

this.m_humansKilledInCombat++;

改为

this.m_humansKilledInCombat=0;



4.植物采集修改

找到Party类下面的 Update_Foraging方法

this.m_forageTimer -= Time.deltaTime;

改为

this.m_forageTimer -= Time.deltaTime * 10f;

采集加速10倍



在 ControlRegion、MapTile 类下面的 GetForagingRewards方法里



list.Add(new ItemStack(allItemsByType[UnityEngine.Random.Range(0, allItemsByType.Count)].dictionaryKey, (ItemStack.Quality)num2 , 1, ItemStack.SpawnType.None));

改成

list.Add(new ItemStack(allItemsByType[UnityEngine.Random.Range(0, allItemsByType.Count)].dictionaryKey, ItemStack.Quality.Excellent, 30, ItemStack.SpawnType.None));

收获植物品质3星,数量30倍



5.打猎修改

找到Party类下面的 Update_Hunting方法

this.m_huntTimer -= Time.deltaTime;

改为

this.m_huntTimer -= Time.deltaTime * 10f;

打猎加速10倍



狩猎收获修改:

在 ControlRegion、MapTile 类下面的 GetHuntedRewards 方法里



list.Add(new ItemStack("meat", (ItemStack.Quality)num2 , 1, ItemStack.SpawnType.None));

...

list.Add(new ItemStack("Leather", (ItemStack.Quality)num2 , 1, ItemStack.SpawnType.None));

...

list.Add(new ItemStack("animalFat", (ItemStack.Quality)num2 , 1, ItemStack.SpawnType.None));

...

改成

list.Add(new ItemStack("meat", ItemStack.Quality.Excellent, 1, ItemStack.SpawnType.None));

list.Add(new ItemStack("meat", ItemStack.Quality.Excellent, 1, ItemStack.SpawnType.None));

list.Add(new ItemStack("meat", ItemStack.Quality.Excellent, 1, ItemStack.SpawnType.None));

....

list.Add(new ItemStack("Leather", ItemStack.Quality.Excellent, 11, ItemStack.SpawnType.None));

....

list.Add(new ItemStack("animalFat", ItemStack.Quality.Excellent, 11, ItemStack.SpawnType.None));

list.Add(new ItemStack("bone", ItemStack.Quality.Excellent, 11, ItemStack.SpawnType.None));



....

收获的肉、皮、脂肪、骨头品质3星,数量11倍。原本游戏狩猎不给骨头,只能通过家里陷阱取得,这里我增加了骨头的获取。

肉类因不可堆叠,所以一条语句只给1个,上面重复3次就给3个肉,可以根据自己需要继续重复多次。





6.资源点加速

找到Party类下面的 Update_GeneratingResource方法

this.m_currentActionTimer -= Time.deltaTime * this.m_workingTimerModifier;

改为

this.m_currentActionTimer -= Time.deltaTime * this.m_workingTimerModifier * 10f;

生产资源加速10倍



7.搜索修改

找到Party类下面的 Update_SearchingPOI方法

this.m_currentActionTimer -= Time.deltaTime;

改为

this.m_currentActionTimer -= Time.deltaTime * 10f;

搜索加速10倍



8.可搜索地点修改

在 PointOfInterest_Data类下面的 CheckForRestock 方法里

int restockFrequency = this.settings.m_restockFrequency ;

改成

int restockFrequency = this.settings.m_restockFrequency / 12;

可搜索地点每4小时更新一次物品



int num3 = 50 - this.inventory.GetTotalItemCount();

改成

int num3 = 100 - this.inventory.GetTotalItemCount();

可搜索地点物品上限改为100个



foreach (KeyValuePair<string, List<ItemStack>> keyValuePair in this.settings.searchItemSettings.GetRandomItems(num2 ))

改成

foreach (KeyValuePair<string, List<ItemStack>> keyValuePair in this.settings.searchItemSettings.GetRandomItems(num2 * 5))

每次更新物品数量5倍



9.跑图加速

找到Party类下面的 Update_Traveling方法

this.m_distanceTravelledToTile += Time.deltaTime;

this.m_timeToNextAction += Time.deltaTime;

改为

this.m_distanceTravelledToTile += Time.deltaTime * 10f;

this.m_timeToNextAction += Time.deltaTime * 10f;

移动加速10倍



10.探险队装备耐久磨损减少100倍

在 itemStack 类下面的 UseEquipment方法里

this.SetIntegrity(this.integrity - 100f * this.def.GetQualityStats(this.m_quality).m_integrityValue);

改成

this.SetIntegrity(this.integrity - 1f * this.def.GetQualityStats(this.m_quality).m_integrityValue);

装备耐久损耗减少100倍



11.外出探险无食物正常战斗

在 CombatManager类下面的 EnterState_SettingUp 方法里

bool flag2 = this.m_currentParty != null && this.currentParty.rations <= 0f;

改成

bool flag2 = this.m_currentParty != null && this.currentParty.rations < 0f;

进入战斗时,无食物不减行动力





九、交易相关

1.商人物品修改

不建议数量修改过大,因为游戏优化差,物品一多很容易卡死,慎重修改

在 NPCTraderPreset类下面的 GetRandomInventory方法里

for (int k = 0; k < num; k++)

改成

for (int k = 0; k < num*5; k++)

商品种类增加5倍



ItemStack item = new ItemStack(list2[index].dictionaryKey, (ItemStack.Quality)qual, 1, ItemStack.SpawnType.None);

改成

ItemStack item = new ItemStack(list2[index].dictionaryKey, ItemStack.Quality.Excellent, 5, ItemStack.SpawnType.None);

每种商品数量5倍



2.交易成功率提升

在 TradePanel类下面的 GetSuccessfulHaggleChance方法里

return Mathf.Clamp(Mathf.Floor((40f * num2 - 4000f) / ((float)highestStat + num) + 100f), 0f, 100f);

改为

return Mathf.Clamp(Mathf.Floor((40f * num2 - 4000f) / ((float)highestStat + num) + 100f) +50f, 0f, 100f);

交易成功几率增加50%

回复 支持 反对

使用道具 举报

0

主题

50

帖子

109

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1094
积分
109
精华
0
注册时间
2013-8-20
硬硬的板凳
发表于 2021-11-5 10:45 | 只看该作者
大佬游戏更新了....到0.14版了,这次按照你说的这个修改,点编译后直接说代码错误,然后我发现就算不修改,点击方法编译也显示代码错误,直接连修改的机会都没有机会都没有了。
回复 支持 反对

使用道具 举报

4

主题

167

帖子

354

积分

高级玩家

Rank: 4

贡献度
19
金元
2776
积分
354
精华
0
注册时间
2013-3-31
冰凉的地板
 楼主| 发表于 2021-11-7 02:48 | 只看该作者
鱼葱!!! 发表于 2021-11-5 10:45
大佬游戏更新了....到0.14版了,这次按照你说的这个修改,点编译后直接说代码错误,然后我发现就算不修改, ...

更新以后不一定适用了,这些只是供参考,游戏bug太多,更新频繁,已经不想再弄了,等它出到最后的稳定版再看吧
回复 支持 反对

使用道具 举报

0

主题

50

帖子

109

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1094
积分
109
精华
0
注册时间
2013-8-20
5#
发表于 2021-11-10 19:00 | 只看该作者
好吧不过还是谢谢大佬的分享
回复 支持 反对

使用道具 举报

3

主题

792

帖子

1088

积分

游戏狂人

Rank: 6Rank: 6

贡献度
12
金元
10403
积分
1088
精华
0
注册时间
2018-7-29
6#
发表于 2021-11-13 18:36 | 只看该作者
感谢大佬分享,爱你
回复 支持 反对

使用道具 举报

0

主题

51

帖子

107

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1072
积分
107
精华
0
注册时间
2015-6-19
7#
发表于 2021-11-14 22:07 | 只看该作者
感谢大佬,大部分内容.14还可用
雨水过滤效率的那个,初始有效,升级效率以后就失效了
空调锅炉,.14版本已失效,只有些变频节能的内容

另外请问,我想做一个类似早期铁链回收bug的功能,一个铁链回收给12块铁板,这个要从哪里修改。
回复 支持 反对

使用道具 举报

4

主题

167

帖子

354

积分

高级玩家

Rank: 4

贡献度
19
金元
2776
积分
354
精华
0
注册时间
2013-3-31
8#
 楼主| 发表于 2021-11-17 17:11 | 只看该作者
水果hunter 发表于 2021-11-14 22:07
感谢大佬,大部分内容.14还可用
雨水过滤效率的那个,初始有效,升级效率以后就失效了
空调锅炉,.14版本已 ...

4.回收物品修改
两处地方需要修改:
一是找到ItemStack类下面的 GetSpecificRecycleItems方法
list2.Add(new ItemStack(itemStack.def.dictionaryKey,itemStack.quality, itemStack.amount * customAmount, ItemStack.SpawnType.None));
改为
list2.Add(new ItemStack(itemStack.def.dictionaryKey,ItemStack.Quality.Excellent, itemStack.amount * customAmount*10, ItemStack.SpawnType.None));
二是找到ItemStack类下面的 GetRecycleItems方法
list.Add(new ItemStack(this.def.recycleItems_Poor.def.dictionaryKey…
。。。
list.Add(new ItemStack(this.def.recycleItems_Okay[j].def.dictionaryKey…
。。。
list.Add(new ItemStack(this.def.recycleItems_Good[k].def.dictionaryKey…
改成list.Add(new ItemStack(this.def.recycleItems_Poor.def.dictionaryKey, ItemStack.Quality.Excellent, this.def.recycleItems_Poor.amount * customAmount * 10, ItemStack.SpawnType.None));
。。。
list.Add(new ItemStack(this.def.recycleItems_Okay[j].def.dictionaryKey, ItemStack.Quality.Excellent, this.def.recycleItems_Okay[j].amount * customAmount * 10, ItemStack.SpawnType.None));
。。。
list.Add(new ItemStack(this.def.recycleItems_Good[k].def.dictionaryKey, ItemStack.Quality.Excellent, this.def.recycleItems_Good[k].amount * customAmount * 10, ItemStack.SpawnType.None));
回收出三星材料,数量10

应该是改这个地方,倍数自己设置就行,太大了容易死机

回复 支持 反对

使用道具 举报

0

主题

227

帖子

241

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2407
积分
241
精华
0
注册时间
2018-11-23
9#
发表于 2021-12-3 08:48 | 只看该作者
请问下大佬容量还能改吗
回复 支持 反对

使用道具 举报

7

主题

332

帖子

610

积分

超级玩家

Rank: 5Rank: 5

贡献度
13
金元
5575
积分
610
精华
0
注册时间
2017-9-6
QQ
10#
发表于 2021-12-4 13:40 | 只看该作者
大佬,书包容量那些能改吗?
回复 支持 反对

使用道具 举报

6

主题

1019

帖子

880

积分

超级玩家

Rank: 5Rank: 5

贡献度
21
金元
7956
积分
880
精华
0
注册时间
2007-3-18
11#
发表于 2021-12-12 22:30 | 只看该作者
本帖最后由 濑田宗次郎 于 2021-12-12 22:50 编辑

补充
商人来的概率 * 5
搜索ObjectInteraction_RadioBroadcastForTraders  修改FinishInteraction方法
float num = 1f - (float)memberRH.member.baseStats.Charisma.Level / 100f - (float)NPCVisitManager.instance.unsucessfulTraderBroadcasts * 0.05f;
改为
float num = 1f - (float)memberRH.member.baseStats.Charisma.Level / 20f - (float)NPCVisitManager.instance.unsucessfulTraderBroadcasts * 0.05f;
然后诟病的工作时遭遇概率
搜索Party 修改Update_GeneratingResource方法
this.detectionChance = Mathf.Min(80, this.detectionChance + 10);
改为1/5
this.detectionChance = Mathf.Min(80, this.detectionChance + 2);


回复 支持 反对

使用道具 举报

18

主题

402

帖子

629

积分

超级玩家

Rank: 5Rank: 5

贡献度
20
金元
5493
积分
629
精华
0
注册时间
2017-3-9
12#
发表于 2022-2-22 19:27 | 只看该作者
hzzyca 发表于 2021-11-17 17:11
4.回收物品修改两处地方需要修改:一是找到ItemStack类下面的 GetSpecificRecycleItems方法把list2.Add(n ...

咦?到这里就没了吗?属性的修改或者血量的修改...(领袖)
回复 支持 反对

使用道具 举报

17

主题

551

帖子

1968

积分

游戏狂人

Rank: 6Rank: 6

贡献度
165
金元
13082
积分
1968
精华
0
注册时间
2017-3-18

3DM MOD站(白银)

13#
发表于 2022-4-24 16:46 | 只看该作者
补充一下新版本的一个小改动
杀人不触发坏心情还要在EncounterMember 类中找到
private void OnEnemyKilled 函数
.......

删除
this.partyMember.GetMember.moodModifiers.AddMoodModifier(MoodModifierType.KilledSomeone, "");
这行代码即可。
回复 支持 反对

使用道具 举报

2

主题

328

帖子

489

积分

高级玩家

Rank: 4

贡献度
0
金元
4890
积分
489
精华
0
注册时间
2013-12-20
14#
发表于 2022-7-14 00:16 | 只看该作者
大佬游戏更新了....这次按照你说的这个修改,点编译后直接说代码错误,然后我发现就算不修改,点击方法编译也显示代码错误,直接连修改的机会都没有机会都没有了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-27 02:16 , Processed in 0.122303 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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