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

注册 登录

QQ登录

只需一步,快速开始

查看: 15696|回复: 87
打印 上一主题 下一主题

[原创] dnspy创意修改集合

  [复制链接]

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
跳转到指定楼层
主题
发表于 2021-10-27 13:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fanvalen 于 2023-6-4 23:09 编辑

密码:3dm
火箭修改墙 空间大小 速度 飞行距离 载重 高度
https://bbs.3dmgame.com/thread-6234395-1-1.html
娱乐设备使用时间修改
https://bbs.3dmgame.com/thread-6234730-1-1.html
温控三件套
https://bbs.3dmgame.com/thread-6235776-1-1.html
魔改空瓶空罐
https://bbs.3dmgame.com/thread-6226335-1-1.html
反熵逆天
https://bbs.3dmgame.com/thread-6237208-1-1.html
供给传送
https://bbs.3dmgame.com/thread-6237376-1-1.html
辐射强度
https://bbs.3dmgame.com/thread-6237767-1-1.html
小动物喂食加强
https://bbs.3dmgame.com/thread-6238134-1-1.html
技能点溢出解决
https://bbs.3dmgame.com/thread-6239127-1-1.html
基础过热温度提高+材料过热温度附加值
https://bbs.3dmgame.com/thread-6239284-1-1.html
小人基础属性
https://bbs.3dmgame.com/thread-6245146-1-1.html
小人技能点
https://bbs.3dmgame.com/thread-6245767-1-1.html
无限穿送门
https://bbs.3dmgame.com/thread-6246966-1-1.html
建筑重叠建造
https://bbs.3dmgame.com/thread-6247327-1-1.html
研究经验改大
https://bbs.3dmgame.com/thread-6247802-1-1.html
太空服加防辐射
https://bbs.3dmgame.com/thread-6248856-1-1.html
辐射粒子加快获得
https://bbs.3dmgame.com/thread-6249956-1-1.html
整合的dll仅支持v490405版
https://bbs.3dmgame.com/thread-6251113-1-1.html

全建筑可左右镜像(已修正可用)
https://bbs.3dmgame.com/thread-6286300-1-1.html
米虱木加农民呵护buff
https://bbs.3dmgame.com/thread-6294535-1-1.html
果虫甲虫照料效果提升翻倍
https://bbs.3dmgame.com/thread-6294855-1-1.html
工程师打的芯片效果翻倍
https://bbs.3dmgame.com/thread-6295791-1-1.html
太阳能超变修改
https://bbs.3dmgame.com/thread-6296055-1-1.html
树鼠种植规则修改
https://bbs.3dmgame.com/thread-6296335-1-1.html
学一个技能得100士气
https://bbs.3dmgame.com/thread-6298929-1-1.html
压力喜悦反应固定
https://bbs.3dmgame.com/thread-6317612-1-1.html
低版打开高板存档
https://bbs.3dmgame.com/thread-6319382-1-1.html
允许挖中子
https://bbs.3dmgame.com/thread-6322170-1-1.html
永不完蛋
https://bbs.3dmgame.com/thread-6323492-1-1.html
孵化检测buff输出信号,用于省电控制发热
https://bbs.3dmgame.com/thread-6324395-1-1.html
海绵擦水无限制
https://bbs.3dmgame.com/thread-6325517-1-1.html
无人操作全自动
https://bbs.3dmgame.com/thread-6325557-1-1.html
增删小人特质
https://bbs.3dmgame.com/thread-6325684-1-1.html
自动炼油机
https://bbs.3dmgame.com/thread-6325721-1-1.html
超大范围挖建隔墙隔块操作
https://bbs.3dmgame.com/thread-6325967-1-1.html
种子掉落概率+变异+数量
https://bbs.3dmgame.com/thread-6326679-1-1.html
氧齿蕨效率提高
https://bbs.3dmgame.com/thread-6326691-1-1.html
土星动物捕草提高
https://bbs.3dmgame.com/thread-6326736-1-1.html
打印门无限重置
https://bbs.3dmgame.com/thread-6327025-1-1.html
天然气发电机烧高硫
https://bbs.3dmgame.com/thread-6327280-1-1.html
保留更多的存档数量
https://bbs.3dmgame.com/thread-6327812-1-1.html
钻头挖掘和小行星恢复速度
https://bbs.3dmgame.com/thread-6329210-1-1.html
限流阀无需小人摸+流量最小
https://bbs.3dmgame.com/thread-6329611-1-1.html
分诊床秒回血
https://bbs.3dmgame.com/thread-6332142-1-1.html
野生植物周期比种植还少
https://bbs.3dmgame.com/thread-6332336-1-1.html
乔木变异
https://bbs.3dmgame.com/thread-6333693-1-1.html
反应堆相关
https://bbs.3dmgame.com/thread-6334104-1-1.html
望远镜在家看超远
https://bbs.3dmgame.com/thread-6334780-1-1.html
星际发射
https://bbs.3dmgame.com/thread-6335075-1-1.html
打印门更多选择小人减少
https://bbs.3dmgame.com/thread-6335510-1-1.html
辐射蜂巢
https://bbs.3dmgame.com/thread-6335839-1-1.html
巨型电池计算总平均功率
https://bbs.3dmgame.com/thread-6336683-1-1.html
时空裂缝开启器制造即时陨石
https://bbs.3dmgame.com/thread-6338671-1-1.html
跨星系输电的电池
https://bbs.3dmgame.com/thread-6339044-1-1.html
气压服装备加属性等级
https://bbs.3dmgame.com/thread-6340917-1-1.html
无限埋葬的墓碑
https://bbs.3dmgame.com/thread-6341678-1-1.html
梦境合成各种需求变小,添加在菜单中可随地造
https://bbs.3dmgame.com/thread-6343838-1-1.html
小动物衍变器太远了我要搬回家
https://bbs.3dmgame.com/thread-6343997-1-1.html
野生动物每天一个蛋
https://bbs.3dmgame.com/thread-6344314-1-1.html
无需睡觉的小人(黑心老板)
https://bbs.3dmgame.com/thread-6344402-1-1.html
解除火箭建造数量限制
https://bbs.3dmgame.com/thread-6344413-1-1.html
吐出更多co2,消耗更多的卡路里提高难度
https://bbs.3dmgame.com/thread-6344662-1-1.html
1人开局
https://bbs.3dmgame.com/thread-6345141-1-1.html
早晚控制时间控制
https://bbs.3dmgame.com/thread-6345151-1-1.html

打印舱&迷你舱拆迁和建造
https://bbs.3dmgame.com/thread-6348269-1-1.html
解锁皮肤
https://bbs.3dmgame.com/thread-6390185-1-1.html
地址调谐
https://bbs.3dmgame.com/thread-6390526-1-1.html
香料研磨增加
https://bbs.3dmgame.com/thread-6393050-1-1.html
陨石不砸坏
https://bbs.3dmgame.com/thread-6395452-1-1.html
电话信号增强任意点都可以搜到所有信号
https://bbs.3dmgame.com/thread-6400598-1-1.html
成就要求更改
https://bbs.3dmgame.com/thread-6402304-1-1.html
流星无伤不结块
https://bbs.3dmgame.com/thread-6409076-1-1.html
电池满电变能量棒,妈妈再也不怕浪费电力了
https://bbs.3dmgame.com/thread-6410064-1-1.html
梦境睡衣不减运动和体力
https://bbs.3dmgame.com/thread-6410304-1-1.html
打印门刷出的物品和条件
https://bbs.3dmgame.com/thread-6421104-1-1.html
田鼠拉屎不结块
https://bbs.3dmgame.com/thread-6423166-1-1.html
沙滩椅可恢复体力
https://bbs.3dmgame.com/thread-6425128-1-1.html
哈奇来种植
https://bbs.3dmgame.com/thread-6425936-1-1.html
技能重置移除坏特质
https://bbs.3dmgame.com/thread-6426256-1-1.html



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

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
舒服的沙发
 楼主| 发表于 2021-10-27 13:46 | 只看该作者
本帖最后由 fanvalen 于 2021-11-5 03:39 编辑

直接改吸顶灯无需电力就会发出300的辐射50的圆形范围,建造位置不受墙影响,也就是说可以凭空造
顺便给灯加强了一下,光的强度4w,范围99 形状圆形
懂的拿走代码,不懂别问我
CeilingLightConfig 下的
public override BuildingDef CreateBuildingDef()里
改BuildLocationRule build_location_rule = BuildLocationRule.OnCeiling;为 BuildLocationRule build_location_rule = BuildLocationRule.Anywhere;
作用是任意位置建造
  1. lightShapePreview.lux = 1800;
  2.                 lightShapePreview.radius = 8f;
  3.                 lightShapePreview.shape = global::LightShape.Cone;
复制代码
改为
  1. lightShapePreview.lux = 40000;
  2.                 lightShapePreview.radius = 99f;
  3.                 lightShapePreview.shape = global::LightShape.Circle;
复制代码
提高亮度扩大范围形状为圆

下面是辐射关键代码
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)下添加
  1. RadiationEmitter radiationEmitter = go.AddComponent<RadiationEmitter>();
  2.                 radiationEmitter.emitType = RadiationEmitter.RadiationEmitterType.Constant;
  3.                 radiationEmitter.radiusProportionalToRads = false;
  4.                 radiationEmitter.emitRadiusX = 50;
  5.                 radiationEmitter.emitRadiusY = radiationEmitter.emitRadiusX;
  6.                 radiationEmitter.emitRads = 45f;
  7.                 radiationEmitter.emissionOffset = new Vector3(0f, 0f, 0f);
复制代码
这里还要改一个才能保证灯的光生效
public override void DoPostConfigureComplete(GameObject go)下的
  1. light2D.Range = 8f;
  2. light2D.shape = global::LightShape.Cone;
  3. light2D.Lux = 1800;
复制代码

改为
  1. light2D.Range = 99f;
  2. light2D.shape = global::LightShape.Circle;
  3. light2D.Lux = 40000;
复制代码


评分

1

查看全部评分

回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
硬硬的板凳
 楼主| 发表于 2021-10-27 13:48 | 只看该作者
本帖最后由 fanvalen 于 2022-8-1 12:44 编辑

更正由于受植物影响我加了层区分结果导致游戏人物卡住不动,
现在我更正buildingDef.ObjectLayer = ObjectLayer.AttachableBuilding;//建筑附属
  1. using System;
  2. using TUNING;
  3. using UnityEngine;

  4. public class LadderConfig2 : IBuildingConfig
  5. {
  6.         public override BuildingDef CreateBuildingDef()
  7.         {
  8.                 string id = "PropLadder";
  9.                 int width = 1;
  10.                 int height = 1;
  11.                 string anim = "ladder_poi_kanim";
  12.                 int hitpoints = 10;
  13.                 float construction_time = 10f;
  14.                 float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2;
  15.                 string[] all_MINERALS = MATERIALS.ALL_MINERALS;
  16.                 float melting_point = 1600f;
  17.                 BuildLocationRule build_location_rule = BuildLocationRule.Anywhere;
  18.                 EffectorValues none = NOISE_POLLUTION.NONE;
  19.                 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER0, none, 0.2f);
  20.                 BuildingTemplates.CreateLadderDef(buildingDef);
  21.                 buildingDef.Floodable = false;
  22.                 buildingDef.Overheatable = false;
  23.                 buildingDef.Entombable = false;
  24.                 buildingDef.AudioCategory = "Metal";
  25.                 buildingDef.AudioSize = "small";
  26.                 buildingDef.BaseTimeUntilRepair = -1f;
  27.                 buildingDef.DragBuild = true;
  28.                 buildingDef.ObjectLayer = ObjectLayer.AttachableBuilding;
  29.                 return buildingDef;
  30.         }
  31.         public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
  32.         {
  33.                 GeneratedBuildings.MakeBuildingAlwaysOperational(go);
  34.                 Ladder ladder = go.AddOrGet<Ladder>();
  35.                 ladder.upwardsMovementSpeedMultiplier = 10f;
  36.                 ladder.downwardsMovementSpeedMultiplier = 10f;
  37.                 go.AddOrGet<AnimTileable>();
  38.         }
  39.         public override void DoPostConfigureComplete(GameObject go)
  40.         {
  41.         }
  42.         public LadderConfig2()
  43.         {
  44.         }
  45.         public const string ID = "PropLadder";
  46. }
复制代码



这是效果


我们来修复这个错误的提示
找到strings.buildings.prefabs
搜索propladder
添加一个effect

出来了


    public class PROPLADDER
    {
        public PROPLADDER()
        {
        }
        static PROPLADDER()
        {
        }
        public static LocString NAME = "Ladder";

        public static LocString DESC = "A hard plastic ladder.";

        public static LocString EFFECT = "move fast and beautiful.";
    }
当然你还可以在zh.po里对这个进行汉化





本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
冰凉的地板
 楼主| 发表于 2021-10-27 14:09 | 只看该作者
造一个只吸单种气体的气泵
  1. using System;
  2. using TUNING;
  3. using UnityEngine;

  4. // Token: 0x02002C1F RID: 11295
  5. public class GasPumpConfig3 : IBuildingConfig
  6. {
  7.         // Token: 0x0600AFCF RID: 45007 RVA: 0x0033ACF8 File Offset: 0x00338EF8
  8.         public override BuildingDef CreateBuildingDef()
  9.         {
  10.                 string id = "GasPump3";
  11.                 int width = 2;
  12.                 int height = 2;
  13.                 string anim = "pumpgas_kanim";
  14.                 int hitpoints = 30;
  15.                 float construction_time = 30f;
  16.                 float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1;
  17.                 string[] all_METALS = MATERIALS.ALL_METALS;
  18.                 float melting_point = 1600f;
  19.                 BuildLocationRule build_location_rule = BuildLocationRule.Anywhere;
  20.                 EffectorValues tier2 = NOISE_POLLUTION.NOISY.TIER2;
  21.                 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, tier2, 0.2f);
  22.                 buildingDef.RequiresPowerInput = true;
  23.                 buildingDef.PermittedRotations = PermittedRotations.FlipH;
  24.                 buildingDef.EnergyConsumptionWhenActive = 240f;
  25.                 buildingDef.ExhaustKilowattsWhenActive = 0f;
  26.                 buildingDef.SelfHeatKilowattsWhenActive = 0f;
  27.                 buildingDef.OutputConduitType = ConduitType.Gas;
  28.                 buildingDef.Floodable = false;
  29.                 buildingDef.ViewMode = OverlayModes.GasConduits.ID;
  30.                 buildingDef.AudioCategory = "Metal";
  31.                 buildingDef.PowerInputOffset = new CellOffset(0, 1);
  32.                 buildingDef.UtilityOutputOffset = new CellOffset(1, 1);
  33.                 buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 1));
  34.                 GeneratedBuildings.RegisterWithOverlay(OverlayScreen.GasVentIDs, "GasPump3");
  35.                 return buildingDef;
  36.         }

  37.         // Token: 0x0600AFD0 RID: 45008 RVA: 0x0033ADEC File Offset: 0x00338FEC
  38.         public override void DoPostConfigureComplete(GameObject go)
  39.         {
  40.                 go.AddOrGet<LogicOperationalController>();
  41.                 go.GetComponent<KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
  42.                 go.AddOrGet<LoopingSounds>();
  43.                 go.AddOrGet<EnergyConsumer>();
  44.                 go.AddOrGet<Pump>();
  45.                 go.AddOrGet<Storage>().capacityKg = 100000f;
  46.                 ElementConsumer elementConsumer = go.AddOrGet<ElementConsumer>();
  47.                 elementConsumer.elementToConsume = SimHashes.CarbonDioxide;
  48.                 elementConsumer.consumptionRate = 100000f;
  49.                 elementConsumer.storeOnConsume = true;
  50.                 elementConsumer.showInStatusPanel = false;
  51.                 elementConsumer.consumptionRadius = 99;
  52.                 ConduitDispenser conduitDispenser = go.AddOrGet<ConduitDispenser>();
  53.                 conduitDispenser.conduitType = ConduitType.Gas;
  54.                 conduitDispenser.alwaysDispense = true;
  55.                 conduitDispenser.elementFilter = null;
  56.                 go.AddOrGetDef<OperationalController.Def>();
  57.                 go.GetComponent<KPrefabID>().AddTag(GameTags.OverlayBehindConduits, false);
  58.         }

  59.         // Token: 0x0600AFD1 RID: 45009 RVA: 0x00085210 File Offset: 0x00083410
  60.         public GasPumpConfig3()
  61.         {
  62.         }

  63.         // Token: 0x0400AF91 RID: 44945
  64.         public const string ID = "GasPump3";
  65. }
复制代码



另外我要问一下
用复选框


go.AddOrGet<TreeFilterable>();或者go.AddOrGet<Filterable>();得到这样一个 SimHashes.CarbonDioxide;
单一元素不可改就是麻烦

由于是新增了文字描述没有添加稍后再改

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
5#
 楼主| 发表于 2021-10-27 14:48 | 只看该作者
这是一个脱盐器,增加了自动丢盐的功能,以后不需要小人去空盐了
顺便做了一个判断,原来的里面始终会残留一点盐水,现在不会残留了,残留了盐水拆的时候总是漏液
maxmass是控制转化的速度的,这里是10千克没秒,原来是5千克,管道老堵塞
这游戏说好的质量守恒结果有的地方就不行失望
  1. using System;
  2. using TUNING;
  3. using UnityEngine;

  4. // Token: 0x020009D7 RID: 2519
  5. public class DesalinatorConfig : IBuildingConfig
  6. {
  7.         // Token: 0x06002F32 RID: 12082 RVA: 0x0011D238 File Offset: 0x0011B438
  8.         public override BuildingDef CreateBuildingDef()
  9.         {
  10.                 string id = "Desalinator";
  11.                 int width = 4;
  12.                 int height = 3;
  13.                 string anim = "desalinator_kanim";
  14.                 int hitpoints = 30;
  15.                 float construction_time = 10f;
  16.                 float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3;
  17.                 string[] raw_METALS = MATERIALS.RAW_METALS;
  18.                 float melting_point = 1600f;
  19.                 BuildLocationRule build_location_rule = BuildLocationRule.OnFloor;
  20.                 EffectorValues tier2 = NOISE_POLLUTION.NOISY.TIER1;
  21.                 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, raw_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER0, tier2, 0.2f);
  22.                 buildingDef.RequiresPowerInput = true;
  23.                 buildingDef.EnergyConsumptionWhenActive = 480f;
  24.                 buildingDef.SelfHeatKilowattsWhenActive = 8f;
  25.                 buildingDef.ExhaustKilowattsWhenActive = 0f;
  26.                 buildingDef.InputConduitType = ConduitType.Liquid;
  27.                 buildingDef.OutputConduitType = ConduitType.Liquid;
  28.                 buildingDef.Floodable = false;
  29.                 buildingDef.ViewMode = OverlayModes.LiquidConduits.ID;
  30.                 buildingDef.AudioCategory = "Metal";
  31.                 buildingDef.UtilityInputOffset = new CellOffset(-1, 0);
  32.                 buildingDef.UtilityOutputOffset = new CellOffset(0, 0);
  33.                 buildingDef.PermittedRotations = PermittedRotations.FlipH;
  34.                 return buildingDef;
  35.         }

  36.         // Token: 0x06002F33 RID: 12083 RVA: 0x0011D2F4 File Offset: 0x0011B4F4
  37.         public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
  38.         {
  39.                 go.GetComponent<KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
  40.                 Storage storage = go.AddOrGet<Storage>();
  41.                 storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
  42.                 storage.showInUI = true;
  43.                 go.AddOrGet<Desalinator>().maxSalt = 10000f;
  44.                 var maxmass=10f;
  45.                 if(storage.capacityKG<maxmass)
  46.                 {
  47.                         maxmass=storage.capacityKG;
  48.                 }
  49.                 ElementConverter elementConverter = go.AddComponent<ElementConverter>();
  50.                 elementConverter.consumedElements = new ElementConverter.ConsumedElement[]
  51.                 {
  52.                         new ElementConverter.ConsumedElement(new Tag("SaltWater"), maxmass)
  53.                 };
  54.                 elementConverter.outputElements = new ElementConverter.OutputElement[]
  55.                 {
  56.                         new ElementConverter.OutputElement(maxmass*0.93f, SimHashes.Water, 0f, false, true, 0f, 0.5f, 0.75f, byte.MaxValue, 0),
  57.                         new ElementConverter.OutputElement(maxmass*0.07f, SimHashes.Salt, 0f, false, true, 0f, 0.5f, 0.25f, byte.MaxValue, 0)
  58.                 };
  59.                 ElementConverter elementConverter2 = go.AddComponent<ElementConverter>();
  60.                 elementConverter2.consumedElements = new ElementConverter.ConsumedElement[]
  61.                 {
  62.                         new ElementConverter.ConsumedElement(new Tag("Brine"), maxmass)
  63.                 };
  64.                 elementConverter2.outputElements = new ElementConverter.OutputElement[]
  65.                 {
  66.                         new ElementConverter.OutputElement(maxmass*0.7f, SimHashes.Water, 0f, false, true, 0f, 0.5f, 0.75f, byte.MaxValue, 0),
  67.                         new ElementConverter.OutputElement(maxmass*0.3f, SimHashes.Salt, 0f, false, true, 0f, 0.5f, 0.25f, byte.MaxValue, 0)
  68.                 };
  69.                 DesalinatorWorkableEmpty desalinatorWorkableEmpty = go.AddOrGet<DesalinatorWorkableEmpty>();
  70.                 desalinatorWorkableEmpty.workTime = 0.1f;
  71.                 desalinatorWorkableEmpty.workLayer = Grid.SceneLayer.BuildingFront;
  72.                 ElementDropper elementDropper = go.AddComponent<ElementDropper>();
  73.                 elementDropper.emitMass = 800f;
  74.                 elementDropper.emitTag = new Tag("Salt");
  75.                 elementDropper.emitOffset = new Vector3(0f, 1f, 0f);
  76.                
  77.                 ConduitConsumer conduitConsumer = go.AddOrGet<ConduitConsumer>();
  78.                 conduitConsumer.conduitType = ConduitType.Liquid;
  79.                 conduitConsumer.consumptionRate = 100f;
  80.                 conduitConsumer.capacityKG = 200f;
  81.                 conduitConsumer.capacityTag = GameTags.AnyWater;
  82.                 conduitConsumer.forceAlwaysSatisfied = true;
  83.                 conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store;
  84.                 ConduitDispenser conduitDispenser = go.AddOrGet<ConduitDispenser>();
  85.                 conduitDispenser.conduitType = ConduitType.Liquid;
  86.                 conduitDispenser.invertElementFilter = true;
  87.                 conduitDispenser.elementFilter = new SimHashes[]
  88.                 {
  89.                         SimHashes.SaltWater,
  90.                         SimHashes.Brine
  91.                 };
  92.                 Prioritizable.AddRef(go);
  93.         }

  94.         // Token: 0x06002F34 RID: 12084 RVA: 0x0001C8BB File Offset: 0x0001AABB
  95.         public override void DoPostConfigurePreview(BuildingDef def, GameObject go)
  96.         {
  97.                 base.DoPostConfigurePreview(def, go);
  98.         }

  99.         // Token: 0x06002F35 RID: 12085 RVA: 0x0001C8C5 File Offset: 0x0001AAC5
  100.         public override void DoPostConfigureUnderConstruction(GameObject go)
  101.         {
  102.                 base.DoPostConfigureUnderConstruction(go);
  103.         }

  104.         // Token: 0x06002F36 RID: 12086 RVA: 0x00009769 File Offset: 0x00007969
  105.         public override void DoPostConfigureComplete(GameObject go)
  106.         {
  107.                 go.AddOrGetDef<PoweredActiveController.Def>().showWorkingStatus = true;
  108.         }

  109.         // Token: 0x04001FCD RID: 8141
  110.         public const string ID = "Desalinator";

  111.         // Token: 0x04001FCE RID: 8142
  112.         private const ConduitType CONDUIT_TYPE = ConduitType.Liquid;

  113.         // Token: 0x04001FCF RID: 8143
  114.         private const float INPUT_RATE = 5f;

  115.         // Token: 0x04001FD0 RID: 8144
  116.         private const float SALT_WATER_TO_SALT_OUTPUT_RATE = 0.35f;

  117.         // Token: 0x04001FD1 RID: 8145
  118.         private const float SALT_WATER_TO_CLEAN_WATER_OUTPUT_RATE = 4.65f;

  119.         // Token: 0x04001FD2 RID: 8146
  120.         private const float BRINE_TO_SALT_OUTPUT_RATE = 1.5f;

  121.         // Token: 0x04001FD3 RID: 8147
  122.         private const float BRINE_TO_CLEAN_WATER_OUTPUT_RATE = 3.5f;
  123. }
复制代码
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
6#
 楼主| 发表于 2021-10-27 15:01 | 只看该作者
本帖最后由 fanvalen 于 2021-11-16 15:28 编辑

这是一个罐装器自动丢出瓶装气体 20kg一丢 支持8种常见气体
  1. <div class="blockcode"><blockquote>using System;
  2. using TUNING;
  3. using UnityEngine;

  4. // Token: 0x02000290 RID: 656
  5. public class GasBottlerConfig : IBuildingConfig
  6. {
  7.         // Token: 0x0600099E RID: 2462 RVA: 0x0009644C File Offset: 0x0009464C
  8.         public override BuildingDef CreateBuildingDef()
  9.         {
  10.                 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef("GasBottler", 3, 2, "gas_bottler_kanim", 100, 120f, BUILDINGS.CONSTRUCTION_MASS_KG.TIER4, MATERIALS.ANY_BUILDABLE, 800f, BuildLocationRule.OnFloor, BUILDINGS.DECOR.PENALTY.TIER1, NOISE_POLLUTION.NOISY.TIER0, 0.2f);
  11.                 buildingDef.InputConduitType = ConduitType.Gas;
  12.                 buildingDef.Floodable = false;
  13.                 buildingDef.ViewMode = OverlayModes.GasConduits.ID;
  14.                 buildingDef.AudioCategory = "HollowMetal";
  15.                 buildingDef.UtilityInputOffset = new CellOffset(0, 0);
  16.                 GeneratedBuildings.RegisterWithOverlay(OverlayScreen.GasVentIDs, "GasBottler");
  17.                 return buildingDef;
  18.         }

  19.         // Token: 0x0600099F RID: 2463 RVA: 0x000964D0 File Offset: 0x000946D0
  20.         public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
  21.         {
  22.                 Storage storage = BuildingTemplates.CreateDefaultStorage(go, false);
  23.                 storage.showDescriptor = true;
  24.                 storage.storageFilters = STORAGEFILTERS.GASES;
  25.                 storage.capacityKg = 100000f;
  26.                 storage.allowItemRemoval = false;
  27.                 go.AddOrGet<DropAllWorkable>();
  28.                 GasBottler gasBottler = go.AddOrGet<GasBottler>();
  29.                 gasBottler.storage = storage;
  30.                 gasBottler.workTime = 9f;

  31.                 ConduitConsumer conduitConsumer = go.AddOrGet<ConduitConsumer>();
  32.                 conduitConsumer.storage = storage;
  33.                 conduitConsumer.conduitType = ConduitType.Gas;
  34.                 conduitConsumer.ignoreMinMassCheck = true;
  35.                 conduitConsumer.forceAlwaysSatisfied = true;
  36.                 conduitConsumer.alwaysConsume = true;
  37.                 conduitConsumer.capacityKG = storage.capacityKg;
  38.                 conduitConsumer.keepZeroMassObject = false;
  39.                
  40.                 ElementDropper elementDropper = go.AddComponent<ElementDropper>();
  41.                 elementDropper.emitMass = 20f;
  42.                 elementDropper.emitTag = new Tag("gas");
  43.                 elementDropper.emitOffset = new Vector3(0f, 1f, 0f);
  44.                
  45.         }

  46.         // Token: 0x060009A0 RID: 2464 RVA: 0x0000695C File Offset: 0x00004B5C
  47.         public override void DoPostConfigureComplete(GameObject go)
  48.         {
  49.                 go.GetComponent<KPrefabID>().AddTag(GameTags.OverlayBehindConduits, false);
  50.         }

  51.         // Token: 0x040006A5 RID: 1701
  52.         public const string ID = "GasBottler";

  53.         // Token: 0x040006A6 RID: 1702
  54.         private const ConduitType CONDUIT_TYPE = ConduitType.Gas;

  55.         // Token: 0x040006A7 RID: 1703
  56.         private const int WIDTH = 3;

  57.         // Token: 0x040006A8 RID: 1704
  58.         private const int HEIGHT = 2;
  59. }
复制代码

回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
7#
发表于 2021-10-27 17:41 | 只看该作者
好东西,楼主费心了
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
8#
发表于 2021-10-27 17:43 | 只看该作者
问下大神,遗迹马赛克砖怎么添加啊
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
9#
 楼主| 发表于 2021-10-27 21:06 | 只看该作者
随便VV逛逛 发表于 2021-10-27 17:43
问下大神,遗迹马赛克砖怎么添加啊

这个简单
首先TilePOIConfig中
把buildingDef.DebugOnly = true;改成false
然后tuning.buildings中添加TilePOI 这个建筑有点怪在菜单图标和网格砖一样名字不一样
遗迹墙PropGravitasLabWall
遗迹窗PropGravitasLabWindow
横向窗PropGravitasLabWindowHorizontal
这些都是添加tuning.buildings,具体位置看上图 base下面
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
10#
发表于 2021-10-27 22:05 | 只看该作者
本帖最后由 随便VV逛逛 于 2021-10-27 22:52 编辑
fanvalen 发表于 2021-10-27 21:06
这个简单
首先TilePOIConfig中
把buildingDef.DebugOnly = true;改成false

谢谢大神,就是为了好看。我琢磨下


确定如你所说,图标一样,造出来是马塞克砖。是不是还有什么代码没改的

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
11#
发表于 2021-10-27 22:46 | 只看该作者
fanvalen 发表于 2021-10-27 21:06
这个简单
首先TilePOIConfig中
把buildingDef.DebugOnly = true;改成false

是不是要修改建筑图标啊,图标在哪个文档里啊?大神
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
12#
 楼主| 发表于 2021-10-27 23:03 | 只看该作者
随便VV逛逛 发表于 2021-10-27 22:46
是不是要修改建筑图标啊,图标在哪个文档里啊?大神

估计是因为不常用的,所以没有图标所以用了一个其他的图标占用
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
13#
发表于 2021-10-27 23:09 | 只看该作者
fanvalen 发表于 2021-10-27 23:03
估计是因为不常用的,所以没有图标所以用了一个其他的图标占用

游戏本体的建筑图标在哪个文档里啊?大神能找找吗?我找了好久都找不到
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
14#
 楼主| 发表于 2021-10-28 00:14 | 只看该作者
随便VV逛逛 发表于 2021-10-27 23:09
游戏本体的建筑图标在哪个文档里啊?大神能找找吗?我找了好久都找不到
...

图标需要另外的软件来看了
名字叫assetStudioGUI
打开.assets文件找,一般texture2d类型就是图形文件了
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
15#
发表于 2021-10-28 00:35 | 只看该作者
fanvalen 发表于 2021-10-28 00:14
图标需要另外的软件来看了
名字叫assetStudioGUI
打开.assets文件找,一般texture2d类型就是图形文件了

好的,我去弄个软件看看。大神,能不能把建筑添加排气管或排液管啊?比如电解器两排气管的代码。别人的MOD看不懂不会用,只会照着在原文代码里改
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
16#
 楼主| 发表于 2021-10-28 16:15 | 只看该作者
随便VV逛逛 发表于 2021-10-28 00:35
好的,我去弄个软件看看。大神,能不能把建筑添加排气管或排液管啊?比如电解器两排气管的代码。别人的MO ...

这个问题有点难,只是添加一个管道出口简单,但是要把散发的气体链接到管道里就不简单,这涉及更改底层。我另一个贴就是改底层的现在还没解决。如果你有mod发我一份我研究一下他们是怎么改的 可以的话放网盘

回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
17#
发表于 2021-10-28 16:46 | 只看该作者
fanvalen 发表于 2021-10-28 16:15
这个问题有点难,只是添加一个管道出口简单,但是要把散发的气体链接到管道里就不简单,这涉及更改底层。 ...

就是两个不好添加。
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
18#
发表于 2021-10-28 16:46 | 只看该作者
本帖最后由 随便VV逛逛 于 2021-10-28 16:48 编辑
随便VV逛逛 发表于 2021-10-28 16:46
就是两个不好添加。

加++++++++++++++++
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
19#
 楼主| 发表于 2021-10-29 14:33 | 只看该作者
本帖最后由 fanvalen 于 2021-10-30 00:14 编辑

你给的那个mod我昨天看了一下,作者自己写了一个方法,然后补丁到指定的建筑上,还做了保存记录和重加载。写的方法原理没搞懂,

我自己想了一下用游戏现有的功能做
首先添加两个管道出口,这个都是现有的
第一个
buildingDef.OutputConduitType = ConduitType.Gas;
buildingDef.UtilityOutputOffset = new CellOffset(0, 1);

第二个加在DoPostConfigureComplete
go.AddComponent<ConduitSecondaryOutput>().portInfo = new ConduitPortInfo(ConduitType.Gas, new CellOffset(1, 1));


我在楼下成功实现将气体传输到管道里,
比mod方法简单但是没有实现气体分离 不过都是小事 加个过滤器就好
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
20#
 楼主| 发表于 2021-10-30 00:11 | 只看该作者
电解器直接管道收集气体了不在四处逸散,虽然没有实现气体分离但是也算一种改进

  1. using System;
  2. using TUNING;
  3. using UnityEngine;

  4. // Token: 0x0200008A RID: 138
  5. public class ElectrolyzerConfig : IBuildingConfig
  6. {
  7.         // Token: 0x06000218 RID: 536
  8.         public override BuildingDef CreateBuildingDef()
  9.         {
  10.                 string id = "Electrolyzer";
  11.                 int width = 2;
  12.                 int height = 2;
  13.                 string anim = "electrolyzer_kanim";
  14.                 int hitpoints = 30;
  15.                 float construction_time = 30f;
  16.                 float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3;
  17.                 string[] all_METALS = MATERIALS.ALL_METALS;
  18.                 float melting_point = 800f;
  19.                 BuildLocationRule build_location_rule = BuildLocationRule.OnFloor;
  20.                 EffectorValues tier2 = NOISE_POLLUTION.NOISY.TIER3;
  21.                 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, tier2, 0.2f);
  22.                 buildingDef.RequiresPowerInput = true;
  23.                 buildingDef.PowerInputOffset = new CellOffset(1, 0);
  24.                 buildingDef.EnergyConsumptionWhenActive = 120f;
  25.                 buildingDef.ExhaustKilowattsWhenActive = 0.25f;
  26.                 buildingDef.SelfHeatKilowattsWhenActive = 1f;
  27.                 buildingDef.ViewMode = OverlayModes.Oxygen.ID;
  28.                 buildingDef.AudioCategory = "HollowMetal";
  29.                 buildingDef.InputConduitType = ConduitType.Liquid;
  30.                 buildingDef.UtilityInputOffset = new CellOffset(0, 0);
  31.                 buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(1, 1));
  32.                 buildingDef.OutputConduitType = ConduitType.Gas;
  33.                 buildingDef.UtilityOutputOffset = new CellOffset(1, 1);
  34.                 return buildingDef;
  35.         }

  36.         // Token: 0x06000219 RID: 537
  37.         public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
  38.         {
  39.                 CellOffset cellOffset = new CellOffset(0, 1);
  40.                 go.GetComponent<KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
  41.                 Electrolyzer electrolyzer = go.AddOrGet<Electrolyzer>();
  42.                 electrolyzer.maxMass = 1.8f;
  43.                 electrolyzer.hasMeter = true;
  44.                 electrolyzer.emissionOffset = cellOffset;
  45.                 ConduitConsumer conduitConsumer = go.AddOrGet<ConduitConsumer>();
  46.                 conduitConsumer.conduitType = ConduitType.Liquid;
  47.                 conduitConsumer.consumptionRate = 1f;
  48.                 conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.Water).tag;
  49.                 conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump;
  50.                 Storage storage = go.AddOrGet<Storage>();
  51.                 storage.capacityKg = 10f;
  52.                 storage.showInUI = true;
  53.                 ElementConverter elementConverter = go.AddOrGet<ElementConverter>();
  54.                 elementConverter.consumedElements = new ElementConverter.ConsumedElement[]
  55.                 {
  56.                         new ElementConverter.ConsumedElement(new Tag("Water"), 1f)
  57.                 };
  58.                 elementConverter.outputElements = new ElementConverter.OutputElement[]
  59.                 {
  60.                         new ElementConverter.OutputElement(0.888f, SimHashes.Oxygen, 343.15f, false, true, (float)cellOffset.x, (float)cellOffset.y, 1f, byte.MaxValue, 0),
  61.                         new ElementConverter.OutputElement(0.11199999f, SimHashes.Hydrogen, 343.15f, false, true, (float)cellOffset.x, (float)cellOffset.y, 1f, byte.MaxValue, 0)
  62.                 };
  63.                 Prioritizable.AddRef(go);
  64.                 ConduitDispenser conduitDispenser = go.AddOrGet<ConduitDispenser>();
  65.                 conduitDispenser.conduitType = ConduitType.Gas;
  66.                 conduitDispenser.alwaysDispense = true;
  67.                 conduitDispenser.elementFilter = null;
  68.         }

  69.         // Token: 0x0600021A RID: 538
  70.         public override void DoPostConfigureComplete(GameObject go)
  71.         {
  72.                 go.AddOrGet<LogicOperationalController>();
  73.                 go.AddOrGetDef<PoweredActiveController.Def>();
  74.         }

  75.         // Token: 0x0600021B RID: 539 RVA: 0x000038B5 File Offset: 0x00001AB5
  76.         public ElectrolyzerConfig()
  77.         {
  78.         }

  79.         // Token: 0x04000140 RID: 320
  80.         public const string ID = "Electrolyzer";

  81.         // Token: 0x04000141 RID: 321
  82.         public const float WATER2OXYGEN_RATIO = 0.888f;

  83.         // Token: 0x04000142 RID: 322
  84.         public const float OXYGEN_TEMPERATURE = 343.15f;
  85. }
复制代码


经过我的仔细阅读代码发现new ElementConverter.OutputElement中有一个是控制气体是存储还是散发再加上管道出口成功实现


本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
21#
 楼主| 发表于 2021-10-30 00:39 | 只看该作者
本帖最后由 fanvalen 于 2021-10-30 00:40 编辑

发电机也是同类原理这里以煤炭发电机为列
  1. using System;
  2. using TUNING;
  3. using UnityEngine;

  4. // Token: 0x020002A6 RID: 678
  5. public class GeneratorConfig : IBuildingConfig
  6. {
  7.         // Token: 0x06000A0B RID: 2571
  8.         public override BuildingDef CreateBuildingDef()
  9.         {
  10.                 string id = "Generator";
  11.                 int width = 3;
  12.                 int height = 3;
  13.                 string anim = "generatorphos_kanim";
  14.                 int hitpoints = 100;
  15.                 float construction_time = 120f;
  16.                 float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER5;
  17.                 string[] all_METALS = MATERIALS.ALL_METALS;
  18.                 float melting_point = 2400f;
  19.                 BuildLocationRule build_location_rule = BuildLocationRule.OnFloor;
  20.                 EffectorValues tier2 = NOISE_POLLUTION.NOISY.TIER5;
  21.                 BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER2, tier2, 0.2f);
  22.                 buildingDef.GeneratorWattageRating = 600f;
  23.                 buildingDef.GeneratorBaseCapacity = 20000f;
  24.                 buildingDef.ExhaustKilowattsWhenActive = 8f;
  25.                 buildingDef.SelfHeatKilowattsWhenActive = 1f;
  26.                 buildingDef.RequiresPowerOutput = true;
  27.                 buildingDef.PowerOutputOffset = new CellOffset(0, 0);
  28.                 buildingDef.ViewMode = OverlayModes.Power.ID;
  29.                 buildingDef.AudioCategory = "HollowMetal";
  30.                 buildingDef.AudioSize = "large";
  31.                 buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0));
  32.                 buildingDef.OutputConduitType = ConduitType.Gas;
  33.                 buildingDef.UtilityOutputOffset = new CellOffset(0, 1);
  34.                 return buildingDef;
  35.         }

  36.         // Token: 0x06000A0C RID: 2572
  37.         public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
  38.         {
  39.                 go.GetComponent<KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
  40.                 EnergyGenerator energyGenerator = go.AddOrGet<EnergyGenerator>();
  41.                 energyGenerator.formula = EnergyGenerator.CreateSimpleFormula(SimHashes.Carbon.CreateTag(), 1f, 600f, SimHashes.CarbonDioxide, 0.02f, true, new CellOffset(1, 2), 383.15f);
  42.                 energyGenerator.meterOffset = Meter.Offset.Behind;
  43.                 energyGenerator.SetSliderValue(50f, 0);
  44.                 energyGenerator.powerDistributionOrder = 9;
  45.                 Storage storage = go.AddOrGet<Storage>();
  46.                 storage.capacityKg = 600f;
  47.                 go.AddOrGet<LoopingSounds>();
  48.                 Prioritizable.AddRef(go);
  49.                 ManualDeliveryKG manualDeliveryKG = go.AddOrGet<ManualDeliveryKG>();
  50.                 manualDeliveryKG.SetStorage(storage);
  51.                 manualDeliveryKG.requestedItemTag = new Tag("Coal");
  52.                 manualDeliveryKG.capacity = storage.capacityKg;
  53.                 manualDeliveryKG.refillMass = 100f;
  54.                 manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.PowerFetch.IdHash;
  55.                 Tinkerable.MakePowerTinkerable(go);
  56.                 ConduitDispenser conduitDispenser = go.AddOrGet<ConduitDispenser>();
  57.                 conduitDispenser.conduitType = ConduitType.Gas;
  58.                 conduitDispenser.alwaysDispense = true;
  59.                 conduitDispenser.elementFilter = null;
  60.         }

  61.         // Token: 0x06000A0D RID: 2573 RVA: 0x00008849 File Offset: 0x00006A49
  62.         public override void DoPostConfigureComplete(GameObject go)
  63.         {
  64.                 go.AddOrGet<LogicOperationalController>();
  65.                 go.AddOrGetDef<PoweredActiveController.Def>();
  66.         }

  67.         // Token: 0x06000A0E RID: 2574 RVA: 0x00008859 File Offset: 0x00006A59
  68.         public GeneratorConfig()
  69.         {
  70.         }

  71.         // Token: 0x040006D1 RID: 1745
  72.         public const string ID = "Generator";

  73.         // Token: 0x040006D2 RID: 1746
  74.         private const float COAL_BURN_RATE = 1f;

  75.         // Token: 0x040006D3 RID: 1747
  76.         private const float COAL_CAPACITY = 600f;

  77.         // Token: 0x040006D4 RID: 1748
  78.         public const float CO2_OUTPUT_TEMPERATURE = 383.15f;
  79. }
复制代码

回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
22#
发表于 2021-10-30 04:28 | 只看该作者
fanvalen 发表于 2021-10-30 00:39
发电机也是同类原理这里以煤炭发电机为列

666点赞!我是琢磨了好久,没搞出来。你这才一天就出来了,厉害

回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
23#
发表于 2021-10-30 04:37 | 只看该作者
本帖最后由 随便VV逛逛 于 2021-10-30 05:01 编辑

大神有没有兴趣再玩点新东西
利用这个现有的遗迹双开大门,来实现电梯的功能。参照DLC的小人传送接收装置代码,并且添加到建造栏。

我正在弄这个自动贩卖机,想让它无中生有多种食物,并保鲜冷藏不腐烂,信号控制掉落,多次使用

虽然有点异想天开了,但我发现现在乐趣不在玩游戏,而在改游戏。哈哈

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
24#
 楼主| 发表于 2021-10-30 16:28 | 只看该作者
随便VV逛逛 发表于 2021-10-30 04:37
大神有没有兴趣再玩点新东西
利用这个现有的遗迹双开大门,来实现电梯的功能。参照DLC的小人传送接收装置 ...

电梯是不会做的(电梯只能上下还需要通道和小人运输机差不多),做个传送门吧这个工程量有点大,基本算是重写功能了,
但是传送门又有一个问题,如果是走到门那就传送了,则无法走到门的另一侧。
如果是点击传送那么又非常麻烦
还有一个问题就是是否双向传送的问题,单向就要两对个建筑才能来回,双向只需一对,如果一对多或任意门互传
这游戏传送原理很简单,先把小人隐藏,播放传送动画完毕后设置小人的坐标到另一端位置,再显示小人,至于如何获取坐标就需要参数获取。


最后就是你是夜猫子吗凌晨4-5点还来回复

回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
25#
发表于 2021-10-30 16:33 | 只看该作者
fanvalen 发表于 2021-10-30 00:11
电解器直接管道收集气体了不在四处逸散,虽然没有实现气体分离但是也算一种改进

我就只添加了一个出口,和改了两个false,别的没动
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
26#
发表于 2021-10-30 16:35 | 只看该作者
fanvalen 发表于 2021-10-30 16:28
电梯是不会做的(电梯只能上下还需要通道和小人运输机差不多),做个传送门吧这个工程量有点大,基本算是 ...

不懂的太多,在网上找编程教程呢。
回复 支持 反对

使用道具 举报

35

主题

286

帖子

584

积分

高级玩家

Rank: 4

贡献度
11
金元
5403
积分
584
精华
0
注册时间
2018-9-1
27#
发表于 2021-10-30 16:37 | 只看该作者
随便VV逛逛 发表于 2021-10-30 16:35
不懂的太多,在网上找编程教程呢。

如果只做传送门,照搬DLC里的小人发射器估计可行

回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
28#
 楼主| 发表于 2021-10-30 16:37 | 只看该作者
随便VV逛逛 发表于 2021-10-30 16:33
我就只添加了一个出口,和改了两个false,别的没动
  1. ConduitDispenser conduitDispenser = go.AddOrGet<ConduitDispenser>();
  2.                 conduitDispenser.conduitType = ConduitType.Gas;
  3.                 conduitDispenser.alwaysDispense = true;
  4.                 conduitDispenser.elementFilter = null;
复制代码
这个你要加不然不会走管道
这个就是管道出去的意思
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
29#
 楼主| 发表于 2021-10-30 16:38 | 只看该作者
随便VV逛逛 发表于 2021-10-30 16:35
不懂的太多,在网上找编程教程呢。

我是看b站unity3d入门教程
可以的话再学点c#的语言
回复 支持 反对

使用道具 举报

112

主题

731

帖子

1425

积分

游戏狂人

Rank: 6Rank: 6

贡献度
103
金元
10134
积分
1425
精华
0
注册时间
2014-11-30
30#
 楼主| 发表于 2021-10-30 16:44 | 只看该作者
随便VV逛逛 发表于 2021-10-30 16:37
如果只做传送门,照搬DLC里的小人发射器估计可行

那个不行我去看了代码,它要获取两个世界的worldID,如果是同一个世界不会传送,不然同一个世界既有发射也有接收,就是短距离传送了
我还看了太空员舱的传送代码也是要两个世界ID
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2023-6-10 10:52 , Processed in 0.168707 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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