注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 庇护所 庇护所2 微改数据教程
查看: 3696|回复: 1
打印 上一主题 下一主题

[分享] 庇护所2 微改数据教程 [复制链接]

帖子
3
精华
0
积分
2
金钱
83
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2022-7-9 03:52:15 |只看该作者 |倒序浏览

Illness Dehydration  脱水

public override void Initialize(Member member)
        base.Initialize(member);
        this.m_requiredThirstDuration = 0f;
        this.m_healthDamageInterval = 30f; 【此处是伤害间隔,数值越大掉血越慢 可修改数据:30F】
        this.m_thirstHealthDamageAmount = 1;此处是每次掉血数量,保持1不变
        this.m_healthDamageTime = 0f;

Illness FoodPoisoning 食物中毒

private float baseDuration = 0.01f * TimeManager.secondsInGameDay;

此处是食物中毒持续时间,数值越小 中毒恢复越快

Illness HeatExhaustion 热衰竭【简称:中暑】

public override void Initialize(Member member)
        base.Initialize(member);
        this.m_requiredHotDuration = TimeManager.secondsInGameDay / 24f * 20f;

此处是在热的温度持续多久 方可造成热衰竭 数值越大抗热时间越久 可修改数据:20F
        this.m_requiredColdDuration = TimeManager.secondsInGameDay / 24f * 0.1f;

此处是已中暑在低温环境下多久可恢复正常 数值越小恢复越快 可修改数据:0.1F
        this.m_heatDamageInterval = TimeManager.secondsInGameDay / 24f * 2f;

此处是伤害间隔,数值越大掉血越慢 可修改数据:2F】
        this.m_heatHealthDamageAmount = 1;此处是每次掉血数量,保持1不变
        this.m_heatDamageTime = 0f;

Illness Hypothermia 冰冻症【简称:冻伤】

public override void Initialize(Member member)
        base.Initialize(member);
        this.m_requiredColdDuration = TimeManager.secondsInGameDay / 24f * 20f;

此处是在寒冷的温度持续多久 方可造成冻伤 数值越大抗寒冷时间越久 可修改数据:20F
        this.m_requiredWarmthDuration = TimeManager.secondsInGameDay / 24f * 0.1f;

此处是已冻伤在高温环境下多久可恢复正常 数值越小恢复越快 可修改数据:0.1F
        this.m_hypoDamageInterval = TimeManager.secondsInGameDay / 24f * 2f;

【此处是伤害间隔,数值越大掉血越慢 可修改数据:2F】
        this.m_hypoHealthDamageAmount = 1;此处是每次掉血数量,保持1不变
        this.m_hypoDamageTime = 0f;
Illness Malnourishment 营养不良【简称:饥饿】

public override void Initialize(Member member)
        base.Initialize(member);
        this.m_requiredHungerDuration = 0f;
        this.m_healthDamageInterval = 30f;【此处是伤害间隔,数值越大掉血越慢 可修改数据:30F】
        this.m_hungerHealthDamageAmount = 1;此处是每次掉血数量,保持1不变
        this.m_healthDamageTime = 0f;

ObjectInteraction Rest  休息【回血用的】单人床
    public override bool BeginInteraction(MemberReferenceHolder memberRH)
        base.BeginInteraction(memberRH);
        this.m_startHealth = (float)memberRH.member.health;
        float num = TimeManager.instance.GameSecondsToRealSeconds(3600f * this.m_healingRate);
        float num2 = 0f;
        if (this.CheckForSkill(ProfessionsManager.ProfessionSkillType.BedsideManner, memberRH))
            num2 += num * 0.1f;
        if (memberRH.member.profession.AllUnlockedSkills.ContainsKey(ProfessionsManager.ProfessionSkillType.FastHealer))
            num2 += num * 0.05f * (float)memberRH.member.profession.AllUnlockedSkills[ProfessionsManager.ProfessionSkillType.FastHealer].m_skillLevel;
        num -= num2;
        this.interactionLength = ((float)memberRH.member.maxHealth - (float)memberRH.member.health) / 1000f * num; 【此处是休息用的时间 数值越大 使用时间越短 可修改数据:1000F】
        this.m_healAmountPerSecond = 1000f / num;【此处是回血速度数值越大回血越快 可修改数据:1000F】
        memberRH.member.needs.fatigue.Pause();
        memberRH.transform.rotation = Quaternion.LookRotation(-base.obj.GetInteractionTransform(0, memberRH.member.isSlave).forward);
        memberRH.member.StartInteractingWithObjectInt();
        memberRH.member.TriggerAnim("Sleep");
        if (this.bed)
            this.bed.memberSleeping = memberRH;
            this.bed.m_degradeFromUse = true;
        return true;
ObjectInteraction Rest With Bunk Bed 休息【回血用的】双人床【修改和单人床一样 此处代码就不重复发了】

ObjectInteraction Shower 淋浴

public override bool BeginInteraction(MemberReferenceHolder memberRH)
        Object_Shower component = base.GetComponent<Object_Shower>();
        if (component == null)
            Debug.LogError("Interaction_Shower: Can't find shower to shower in");
            return false;
        component.ToggleCurtain(true);
        component.UseShower(true);
        component.m_degradeFromUse = true;
        float num = TimeManager.instance.GameSecondsToRealSeconds(3600f * base.StartingInteractionLength);此处可修改清洁所需时间 数值越大清洁速度越快 可修改数据:3600F
        this.interactionLength = memberRH.member.needs.dirtiness.NormalizedValue * num;
        this.m_cleanlinessAmountPerSecond = 1000f / num;此处修改每秒清洁度 数值越大清洁度越大 可修改数据:1000F
        this.m_waterUsagePerSecond = component.WaterUsage / num;
        this.m_waterUsed = 0f;
        if (this.m_hasSoap)
            num *= 0.75f;
            this.m_waterUsagePerSecond *= 0.75f;
        memberRH.transform.position = component.GetInteractionTransform(0, false).position;
        memberRH.member.StartInteractingWithObjectInt();
        memberRH.member.TriggerAnim("Shower");
        return base.BeginInteraction(memberRH);

ObjectInteraction Sleep 睡眠 【单人床】

public override bool BeginInteraction(MemberReferenceHolder memberRH)
        base.BeginInteraction(memberRH);
        float num = base.StartingInteractionLength;
        this.setParticles = false;
        if (memberRH.member.traits.HasStrength(Traits.Strength.DeepSleeper))
            num *= 0.75f;
        else if (memberRH.member.traits.HasWeakness(Traits.Weakness.LightSleeper))
            num *= 1.25f;
        float num2 = TimeManager.instance.GameSecondsToRealSeconds(3600f * num);
        this.interactionLength = memberRH.member.needs.fatigue.Value / 1000f * num2;

此处是使用时间 数值越大使用越快可修改数据:1000F
        this.m_restAmountPerSecond = 1000f / num2;                              

【此处是恢复睡眠,数值越大恢复越大 可修改数据:1000F】
        float num3 = TimeManager.instance.GameSecondsToRealSeconds(3600f * this.m_healingRate);
        this.m_healAmountPerSecond = 1000f / num3;

【此处是恢复健康,数值越大恢复越大 可修改数据:1000F】
        memberRH.member.needs.fatigue.Pause();
        memberRH.transform.rotation = Quaternion.LookRotation(-base.obj.GetInteractionTransform(0, memberRH.member.isSlave).forward);
        memberRH.member.StartInteractingWithObjectInt();
        memberRH.member.TriggerAnim("Sleep");
        if (memberRH.member.CurrentArea.CurrentAssignedMember != memberRH.member.GetID && memberRH.member.CurrentArea.CurrentAssignedMember != -1)
            MemberManager.instance.GetMemberByID(memberRH.member.CurrentArea.CurrentAssignedMember).moodModifiers.AddMoodModifier(MoodModifierType.SomeonesInMyBed, "");
        if (this.bed)
            this.bed.memberSleeping = memberRH;
            this.bed.m_degradeFromUse = true;
        return true;

ObjectInteraction SleepBunkBed 睡眠 【双人床】

【修改和单人床一样 代码就不重复发了】

Object CCTV 监控

private float m_breachWarningTime = 360f; 【此处修改监控提前发现敌人预警 数值越大 提前时间越早 可修改数据:360F】

Object Integrity 建筑完整度【简称:耐久】多处修改

第一处:protected virtual void UpdateIntegrity()
        if (this.m_integrityReductionType == Object_Integrity.IntegrityReductionType.Never)
            return;
        if (this.m_integrityReductionType == Object_Integrity.IntegrityReductionType.InUse && (!this.beingUsed || !this.m_degradeFromUse))
            return;
        if (!base.isOperating)
            return;
        if (TutorialManager.Instance != null && TutorialManager.Instance.IsTutorialActive)
            return;
        if (LeaderTraitsManager.instance.Neglectful)
            this.m_integrity -= this.m_degradeRatePerRealSecond * this.m_degredationModifier * 1E-05f * Time.deltaTime;  【此处修改数据:1E-05F 数值越大,耐久掉的越慢】
        else
            this.m_integrity -= this.m_degradeRatePerRealSecond * this.m_degredationModifier * Time.deltaTime;
        if (this.m_integrity < this.m_smokeThreshold != this.m_isSmoking)
            this.SetSmokingState(!this.m_isSmoking);
        if (this.m_integrity <= 0f && !base.isBroken)
            this.m_integrity = 0f;
            this.OnItemBroken();

第二处:m_degredationModifier = 0.001f;【此处修改数据:0.001F 】

第三处:private float m_degradeRatePerGameHour = 1E-05f;【此处修改数据:1E-05F 】

地四处:m_degredationModifier = 0.001f;【此处修改数据:0.001F 】

建筑完整度修改注意:四处修改完后,已建造的设施不接受修改过的数据,需要把原先建好的设施拆除后,重新建造,才能有效,系统开局自带的设施无法接受此数据,但是测试发现,把自带设施升级后有轻微作用缓解设施耐久老化。数据修改完后,建造设施最好用3星材料建造,尽可能的让设施的耐久度最大化。游戏建议把主角所有属性升满20,开局直接冒险找到新秩序总部,灭了他,可以直接解锁四级建筑,搭配修改过的完整度,保持耐久最大化。打架推荐使用【精密二过一】技能,此技能在智力里面解锁,读智力书快速的升级获得属性。

另外:有些玩家说CE不能修改属性点,其实可以的,反向修改就行了下面介绍CE修改教程。

一、比如开局选择运动健将属性

力量3

敏捷5

魅力3

感知1

智力2

毅力4

剩余点数:0

二、我们把属性全部还原成1 结果如下:

力量1

敏捷1

魅力1

感知1

智力1

毅力1

剩余点数:12

三、打开CE修改器 打开对应游戏进程 4字节 精确数值 搜索1会跳出一堆数据出来

四、切换到游戏给每个属性加一点变成如下数据:

力量2

敏捷2

魅力2

感知2

智力2

毅力2

剩余点数:6

五、切换CE 再次搜索数据2  多次点击再次搜索刷新数据 此次差不多还是一两百个了

六、切换到游戏再给每个属性加一点变成如下数据:

力量3

敏捷3

魅力3

感知3

智力3

毅力3

剩余点数:0

七、切换CE 再次搜索数据3  多次点击再次搜索刷新数据 此次应该出现18个左右的数据了。

八、切换到游戏,把属性恢复成如下数据:

力量1

敏捷1

魅力1

感知1

智力1

毅力1

剩余点数:12

九、切换到CE,你会发现CE列表数据全部变成1了,下面我们把CE列表数据全部修改成5

十、再次切换到游戏,随便给一个属性加一点,你会发现数据会变成如下:

力量5

敏捷5

魅力5

感知5

智力5

毅力5

剩余点数:-12

这样我们的属性就修改成功了,其他两个人物角色也是这样修改。

教程到此结束。


使用道具 举报

帖子
318
精华
0
积分
159
金钱
3902
荣誉
0
人气
0
评议
0
沙发
发表于 2022-8-14 13:40:18 |只看该作者
支持,大佬nb!!!!

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-5-6 20:09 , Processed in 0.343821 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到