审判末世生存模拟吧 关注:349贴子:1,816

(原创) 游戏修改及MOD制作 入门教学

只看楼主收藏回复

修改其实就是 编写新的词条变量 符合公式原理 并且能让游戏系统可以识别 一般来说一句完整词组有 1-3个词组 1-2变量组成。
例如 skills.entity.healthnut.effect.health=0.4 就是2个词条加一个变量构成 healthnut 自然主义者的 health 健康=0.4(40%)
例如 skills.entity.natureswarrior.unlocks.equip.holyarmor=true 也是由2个词条加一个变量组成 解析natureswarrior 自然战士
unlocks解锁 holyarmor 神圣盔甲=true真 反之可以改成 false否
大部分版本都个自带的MOD文件夹 里有个OriginalConfigs的文件夹 这里面的数据都是游戏默认的原始参数文件 可以用各种软件都可以打开
看自己喜好了,初级的修改 MOD制作会用上Skills Professions WorldMapGen Texts 等等这几个文件夹里面的词条数据 反之也可以从这个几个文件夹里
文件里获得 修改所需的各种 词组变量 比如我们找个关键词 swat=特警队 在打开Skills 文件夹里用CTRL+F可以快速定位词组我们可以找到
skills.entity.swat.parents=skills.base.common
skills.entity.swat.effect.defense=0.1
skills.entity.swat.effect.coverefficiency=0.15
这些游戏默认的参数属性 解析得知 swat=特警队 defense=防御 coverefficiency=掩护 是0.1 (10%)跟 0.15(15%)解析了词条属性 那么
我们就可以进行修改了 =后面的变量是可以改变 可以是任何数字 但是有个上限不能无限大 也可以为-0.1 这样表示为减益。
末日求生这款游戏基础机制就是 如果勾选了MOD选项 默认是以修改后的数据为第一序列 那么添加新的技能 新的科技 新的职业,地图及修改调整
原有的职业数据等等 就够成了完整的MOD了。


IP属地:广东1楼2018-06-06 12:07回复
    入门编辑
    首先在“Mods”文件夹中为你的mod创建一个新文件夹。“Mods”文件夹位于游戏的安装目录中。
    在你的mod文件夹中,创建配置文件ModConfig.json,并定义你的mod的特性。
    检查“Mods”目录中“OriginalConfig”文件夹中的数据文件,并确定要修改或添加的内置文件。
    用新数据创建新数据文件或修改内置数据。将这些数据文件放在你的mod文件夹中。
    运行判断,点击主菜单中的“MODS”按钮,并启用你的MOD。彻底测试它。
    有兴趣的话可以把你做mod上传到Steam Workshop,


    IP属地:广东3楼2018-06-06 12:11
    回复
      下面是正式教学目录
      1.Modding:项目
      2.修改:技能
      3.修改:专业
      3.调整:制作食谱
      4.调整:研究
      5.模式:地图位置 - 清除世界地图中的位置
      6.修改:食品
      7.Modding:世界地图生成
      8.修改:战斗能力
      9.修改:敌人
      10:敌方单位
      Modding:其他配置
      Modding:语音设置


      IP属地:广东5楼2018-06-06 12:15
      回复
        1.Modding:项目
        根据物品的类型,物品可能有许多不同的值。
        注意:每个项目必须使用以下格式在Texts.txt文件中具有匹配的显示名称:
        items.wool.name =羊毛Wool items.wool.description = \ ncraftingrecipes食谱中使用的资源。
        说明是可选的,但必须使用“\ n”将新行手动插入到说明中。
        项目图标编辑
        您可以定义要用于显示每个项目的图标的名称。此值是可选的,默认为“item_wood”,其中wood是项目的ID。
        格式:
        items.entity.wood.sprite = item_wood
        上面的例子是多余的,因为“item_wood”是上面ID为“wood”的项目的默认图像。如果您想使用其他项目的图像而不是提供新图像,这非常有用。
        项目图标通常为64x64像素。将图像添加到Mod。
        清除值编辑
        如果清理位置的难度等级等于或高于料品上一层,则每个料品可能会出现在相关清理位置。
        任务中有多少物品可用,取决于任务难度和物品价值。每堆叠物品的数量由总物品价值(在Difficulty.txt中定义并取决于拾取任务难度)除以该物品的价值。
        items.base.level1.value = 20items.base.level1.level = 1items.base.uncommon.valuemul.rarity = 2
        在这个例子中,从“items.base.level1”继承的所有物品只会出现在任务难度为1级或2级的相关地点。这个物品的数量将取决于该地点的总战利品价值,除以20的项目值。
        级别属性也会影响交易者何时提供此项目。确保所有物品都具有正确的等级和稀有度。唯一的例外是碎片,这是货币,并没有水平或稀有。
        如果一个项目也继承自“items.base.uncommon”,那么该项目的值将乘以“valuemul”,这是“稀有度”的2。因此,“level1”和“uncommon”这两个项目的值均为40.只要项目具有不同的ID(上例中的“稀有”),该项目可能具有多个值乘数。如果他们是相同的ID,那么只有最后一个适用。
        所有的默认项目都有一个级别和一个罕见的,方便,但如果你希望你可以直接定义项目的清除值,而不是从一个级别和稀有度继承。
        你可以在原始配置文件中找到所有默认级别和稀有节点。
        有关定义哪些项目可用于清除每个地图位置的更多信息。
        项目效果编辑
        物品可能对装备它的不同幸存者有影响,使用以下格式:
        items.entity.luckycharm.effect.accuracy = 0.1items.entity.luckycharm.effect.evade = 0.1
        在这个例子中,装备物品的幸存者将有10%的准确度加值和10%的回避加值
        有关 可在此处使用的不同统计数据列表。
        战斗能力编辑
        物品可以在幸存者装备时提供战斗能力,使用以下格式:
        items.entity.sandalwood.abilities.healsandalwood = 1
        在这个例子中,在战斗中装备“檀香木”物品使幸存者有1次使用“healsandalwood”战斗能力。钥匙拥有能力ID(在这种情况下为医疗和伍德),并且该值是每个战斗实例能够使用的最大次数。
        等价项目编辑
        物品可以使用以下格式装备在武器,装甲或装备槽中:
        items.entity.transmutationgun.parents = items.base.weapon
        在这个例子中,“transmutationgun”项目继承自“items.base.weapon”,它定义了可以在武器槽中装备的物品的所有特征。以下选项适用于可配套物品:
        “items.base.weapon”为武器
        “items.base.armor”装甲
        设备的“items.base.usable

        技能要求编辑
        你可以定义一个装备物品的技能要求。只有具有相匹配技能的幸存者将被允许装备这些物品。
        items.entity.sacredsword.skillreq.occultweapon =true真
        在上面的例子中,只有具有解锁“occultweapon”技能的幸存者才能装备圣剑。
        Auras 编辑
        可装备物品可以为其拥有者提供对其周围单位施加状态效应的光环。
        items.entity.featherofmaat.parents = items.base.usable,items.base.level2,items.base.rareitems.entity.featherofmaat.auras.lightweight.range=3
        items.entity.featherofmaat.auras.lightweight.effect.lightweight =true真items.entity.featherofmaat.auras.lightweight.targetmode =盟友items.entity.featherofmaat.auras.lightweight.prefab = PositiveAuraPrefab
        在上面的例子中,“featherofmaat”具有“轻量级”光环,影响3个瓷砖的盟友,具有“轻量级”状态效果。
        标记项目编辑
        您可以使用标签定义项目类别。这些显示在项目描述中,并可用于其他配置文件。例如,仅当具有特定标签的物品配备时才会应用一些统计奖金
        items.entity.crossbow.tags.bow =真
        在这个例子中,弩被标记为“弓”。一个项目可能有多个标签。
        每个标记必须使用以下格式在Texts.txt文件中定义一个显示名称:
        tags.toolweapon.name =工具
        用“toolweapon”标记的项目将在游戏中显示为“工具”。
        武器编辑
        有一些武器专用属性必须定义,以便物品成为有效的武器:
        items.entity.bow.properties.damage = 10items.entity.bow.properties.attackspeed = 3items.entity.bow.properties.range = 5items.entity.bow.properties.accuracy = 50items.entity.bow.properties.attacksound = bow_attackitems.entity.bow.properties.prefab =弓items.entity.bow.properties.survivorattackanimation = SurvivorBowitems.entity.bow.properties.attackanimation = ArrowPrefabitems.entity.bow.properties.hand =左
        每把武器必须具有伤害,攻击速度,射程,准确性,预制和动画值。
        装备武器的伤害,攻击速度,射程和准确度被用作所有战斗计算的基准值。所有乘数奖金将应用于这些基础值。
        “attackound”是武器发射时听到的声音,并且是可选的。
        “attackmisssound”是武器失误时听到的声音,并且是可选的。
        “survivorattackanimation”是幸存者在攻击时将使用的动画。这通常取决于武器预制。
        “攻击动画”是幸存者攻击动画序列完成时产生的抛射/攻击效果的名称。这是可选的(近战武器没有它们)
        查看原始配置文件以获取可用的预制,动画和声音值。
        武器命中效果编辑
        武器也可能有打击效果。这些状态效果将在武器击中目标时应用于战斗中。
        items.entity.demonitebow.hiteffect.demonitecurse = 3
        在上面的例子中,Demonite Bow击中的目标将受到3个时间单位的“demonitecurse”状态效果的影响。
        请参阅Modding:状态效果以自行配置效果。
        武器飞溅伤害编辑
        武器可能对其目标周围的其他单位造成溅射伤害:
        items.entity.shotgun.splash.range = 1items.entity.shotgun.splash.damage = 0.5
        在上面的例子中,霰弹枪对目标1格内的单位造成50%的伤害。
        有关 更多信息,请参阅 Modding:Splash Damage。
        装甲编辑
        装甲必须定义健康,装甲和逃避价值。
        items.entity.scraparmor.armormodel = armor2items.entity.scraparmor.armortexture = scraparmor_coloritems.entity.scraparmor.properties.health = 100items.entity.scraparmor.properties.evade = 25items.entity.scraparmor.properties.defense = 1
        这些值被用作所有战斗计算的基础值。没有装甲的幸存者拥有75点生命值,0点护甲值和20点躲避值。
        “armormodel”和“armortexture”特性决定了什么样的盔甲会出现,就像幸存者穿着时一样。有3种装甲模型:“armor1”,“armor2”和“armor3”,它们决定了装甲的形状。纹理决定了模型的颜色。纹理必须与他们的模型相匹配,你不能将无袖纹理应用于全身装甲。
        食物编辑
        要使食物变得可食,必须将其定义为食物:
        items.entity.salad.food =真
        您还应该适当标记食品,以便将它们计入“收集食品”广告系列错误之中:
        items.entity.salad.tags.food =真
        基本使用项目编辑
        基地使用物品是你可以在基地(战斗外)使用临时或永久奖励的物品。基本使用项目应该继承“items.base.baseuse”基类。
        items.entity.songofglory.parents = items.base.baseuse,items.base.level2,items.base.rareitems.entity.songofglory.baseaction.use.class = BaseActionAddSkillitems.entity.songofglory.baseaction.use.skill = songofglory
        在上面的例子中,“歌曲幻象”项目可能会被用来为幸存者提供“歌曲幻象”技能。
        查看原始OriginalConfigs里Items.txt,了解可能的基本使用项目类别。
        收集限制编辑
        如果您希望允许玩家为此物品设置收集限制,请使用以下格式:
        items.entity.water.gatherlimits =true真
        然后,您可以在Objects.txt中定义一个匹配动作,该动作将使用此项目的收集限制值在达到限制时自动禁用任务。


        IP属地:广东6楼2018-06-06 12:25
        回复
          2.修改:技能
          修改技能编辑
          技能在技能文件Skills.txt中定义。
          在这个文件中,您可以定义每个幸存者获得的起始技能数量,并定义每项技能的作用。
          开始技能计数编辑
          你可以定义三种类型的幸存者开始的技能数量:
          一般技能
          行业特殊技能
          消极的技巧
          对于每个你可以定义一个范围的数字,游戏将随机选择一个范围内的数字。
          负数将四舍五入为零,并可用于增加选择数字0的机会。
          例:skills.startingskills.profskill = 1skills.startingskills.negskill = -2-1skills.startingskills.general = 0-2
          幸存者从0,1或2个普通技能开始,只有一个专业技能和0或1个负面技能(如果随机数是-2或-1,它仍然是0负技能,意味着有3/4的机会获得0个消极技能)。可能会增加更多的启动技能。你必须修改专业文件以使用这些新设置。
          开始技能类别编辑
          开始技能应该属于类别。默认情况下,这些是“普通”,“罕见”和“卓越”。在专业文件中,您定义了从每个类别获取技能的机会。
          skills.categories.common = 55
          skills.categories.uncommon = 30
          skills.categories.rare = 15skills.entity.gatherer.category =通用
          在上面的例子中,有三类 - 常见,罕见和卓越。在选择初始技能时,有55%的机会获得普通技能,30%获得不常见,15%获得罕见技能。数字是相对的,机会始终是该类别的数字除以所有类别的总和。
          上面例子中的采集技能被定义为属于“普通”类别。
          定义技能编辑
          每种技能都可能对幸存者统计和/或解锁设备使用,制作食谱,建造或行动有影响。
          注意:除了Skills.txt中的技能定义之外,每种技能都必须使用以下格式在Texts.txt文件中定义其显示名称:
          skills.alienabductee.name =外籍人AbducteeStat
          效果示例:skills.entity.soldier.effect.accuracy = 0.1skills.entity.soldier.effect.actiongroup_patrol = 0.2skills.entity.soldier.effect.health = 0.15
          在这个例子中,幸存者将拥有10%的精确加值,20%的奖励来执行巡逻任务,15%的加值。
          解锁设备示例:
          skills.entity.weirdo.unlocks.equip.occultweapon =true真
          在这个例子中,幸存者将能够装备用“occultweapon”技能要求定义的物品。
          取消技能编辑
          具有相反效果的开始技能会自动相互抵消。例如,如果选择了一个技能给予+ 20%伤害,算法将不会选择具有负面伤害因素的另一项技能。
          然而,即使他们的效应不会互相抵消,技能有时也会相互抵消。例如,素食主义者应该取消肉食爱好者,无论其效果如何。
          这可以使用以下格式来定义:
          skills.entity.vegan.cancels.meatlover =true真
          取消技能是双向的,因此以下示例将获得完全相同的结果:
          skills.entity.vegan.cancels.meatlover =真skills.entity.meatlover.cancels.vegan =true真


          IP属地:广东7楼2018-06-06 12:32
          回复
            3.修改:专业
            专业在Professions.txt文件中定义。
            在这个文件中,你可以定义不同的职业,幸存者获得职业的可能性以及每个职业可用的不同技能 - 提升技能和开始技能。
            注意:每个行业都必须使用以下格式在本地化文件Texts.txt中定义其显示名称:
            professions.occultist.name =神秘学者生成机会编辑
            你可以定义为幸存者选择一个职业的可能性。
            例:professions.entity.engineer.generatechance = 1
            幸存者有机会获得工程师职业“1”。机会是相对于其他职业的,所以专业价值2的选择可能性比值为1的职业高一倍。
            该值是可选的,默认值为1。
            开始技能编辑
            默认情况下,有三个启动技能集:
            普通技能
            专业特殊技能
            负面技能
            每个幸存者都有一定的技能。
            每个职业都可以定义每组有哪些起始技能,以及幸存者接受这些技能的可能性。
            格式:professions.entity.fighter.parents = professions.base.commonprofessions.entity.fighter.skills.profskill.gangster =真
            professions.entity.fighter.skills.profskill.gunenthusiast =真
            professions.entity.fighter.skills.profskill.exconvict =真
            professions.entity.fighter.skills.general.hippie = 否FALSE
            professions.entity.fighter.skills.general.vegan = 否FALSE
            professions.entity.fighter.skills.negskill.coward = 否FALSE
            professions.entity.fighter.skills.negskill.weak = 否FALSE
            所有的开始技能都在“技能”下定义。技能节点包含每个开始技能集合的可用于该职业的技能列表。在上面的例子中,为战斗机职业设置的“profskill”可用的技能是“流氓”,“gunenthusiast”和“exconvict”。
            “professions.base.common”的主价值定义了所有常见的一般技能和负面技能。通过使用它作为父系,职业不需要定义所有这些技能,只需要覆盖那些技能。在上面的例子中,“嬉皮士”,“素食主义者”,“弱者”和“懦夫”技能被禁用,因此无论“professions.base.common”中定义了什么,战斗者都无法获得这些起始技能。
            一组中每种技能的机会取决于技能的类别。
            升级技能编辑
            对于每个职业,定义哪些技能列表可以通过花费技能点来提高,这些技能点是通过升级幸存者获得的。
            格式:professions.entity.priest.skilllists.build =真
            professions.entity.priest.skilllists.farming =true
            真professions.entity.priest.skilllists.rituals =true真
            professions.entity.priest.skilllists.damage =true真
            professions.entity.priest.skilllists.stalwart =true真
            professions.entity.priest.skilllists.toolweapon =true真
            professions.entity.priest.skilllists.darkweapon =true真
            professions.entity.priest.skilllists.holyweapon =true真
            在这个例子中,牧师可以通过花费技能点来提高8个技能类别之一。这些是“建造”,“农耕”,“仪式”,“伤害”,“坚强”,“工具武器”,“黑暗武器”和“神圣武器”。


            IP属地:广东9楼2018-06-06 12:43
            回复
              4.调整:制作食谱
              制作食谱在项目文件Items.txt中定义。
              制作食谱定义了制作的数量,成本,要求和其他有关制作项目的信息。
              特制项目编辑
              制作的项目由制作配方ID决定。制作配方和物品必须具有相同的ID。
              例:items.entity.scraps.value = 2crafting.entity.scraps.amount = 3crafting.entity.scraps.work = 150
              项目和制作配方都有ID“碎片”。
              特制数量编辑
              您可以定义每个批次将制作多少物品。该值是可选的,默认值为1。
              例:
              crafting.entity.holywater.amount = 2
              每完成一次制作任务,就会创造出2种圣水。
              工作量编辑
              您必须确定制作配方需要创建多少作品。
              crafting.entity.composites.work = 40
              创建一批复合材料需要40个时间单位(大约20个游戏分钟,100%的生产率)
              需求编辑
              制作食谱可能有三个不同的要求:
              研究
              工作站
              技能
              格式:
              crafting.entity.blessedpistol.research = sacredcraftingcrafting.entity.blessedpistol.station.holyforge = 1crafting.entity.blessedpistol.locked =真
              crafting.entity.blessedpistol.tags.holycrafting =真
              在上面的例子中,制作“祝福手枪”只有在研究“神圣制作”时才可用。
              制作本身发生在“圣洁铸造”中,并且要求执行任务的幸存者拥有解锁标记为“神圣制作”的食谱的技能。
              注意:添加标签时,必须使用以下格式在Texts.txt文件中定义其显示名称:
              tags.holycrafting.name =神圣物品
              目前不支持定义新的工作站。您只能使用现有的工作站。
              编制成本编辑
              您可以定义制作物品所需的资源。如果留空,制作该物品不会花费任何资源,只需要花费时间(如在废料中)。
              格式:
              crafting.entity.weaponparts.costs.scraps = 5crafting.entity.weaponparts.costs.metals = 5
              制造一批“武器部件”需要5“碎片”和5“金属”
              其他参数编辑
              您可以使用以下格式定义每个配方的默认制造优先级:
              crafting.entity.bricks.priority = 15
              游戏开始时,所有食谱的制作按升序排列,优先级较低的项目将获得较高优先级(优先级1将在优先级2之前制作)。这只会影响开始的优先顺序。
              您可以定义此配方默认情况下是否启用autocraft:
              crafting.entity.salad.defaultautocraft = 30-50
              当新游戏开始时,默认情况下,“沙拉”配方将启用autocraft,最小值为30,最大值为50。


              IP属地:广东10楼2018-06-06 12:47
              回复
                5.调整:研究
                研究主题在Research.txt文件中定义。
                在这个文件中,您可以定义他们解锁的可用研究主题,他们的先决条件,成本和奖金。
                注意:每个研究主题和类别都必须使用以下格式在本地化文件Texts.txt中具有显示名称:
                research.preserving.name =保研究类别编辑
                每个研究课题属于一个类别:research.base.farming.category =Preserving碱
                在上面的例子中,继承“research.base.farming”(使用Modding:Mod File Structure中解释的父属性)的每个研究主题都属于“base”类别,并出现在“Base”选项卡下。
                这些类别本身在Research.txt文件中与研究主题一起定义:
                research.category.base.color = 71,167,71research.category.base.tabcolor = 202245202
                研究分类文本使用以下格式在Texts.txt文件中定义:research.category.base =Base基
                您可以添加其他研究类别。
                研究层编辑
                研究应该有一个“层次”属性来决定研究对象的层次。这被用来确定玩家目前的研究水平,以决定交易者将提供什么商品,以及未来可能用于其他用途。
                research.base.level1.level = 1
                定义层的最好方法是让研究主体继承其中一个基本级别的类:
                research.entity.rainwatercollection.parents = research.base.farming,research.base.level2
                注意“雨水收集”研究继承了“research.base.level2”类,它决定了它的级别。
                研究图标编辑
                您必须定义要在研究树中为每个主题显示的图标的名称。
                格式:
                research.entity.woodworking.sprite = research_woodworking
                研究图标通常是大小为512x512像素的彩色/棕色png文件。
                先决条件编辑
                研究对象可能有一个必要的研究课题,在研究树中出现在他们之上。
                Fromat:
                research.entity.brickmaking.research =木工
                在这个例子中,在“制砖”可以解锁之前,必须首先研究“木工”。
                研究效果编辑
                研究主体在解锁时可能会提供被动奖金。要定义每项研究收到的奖金,请使用以下格式:
                research.entity.waterdistribution.effect = waterdistribution
                “水资源分配”研究提供了“水资源分配”的被动效应。可以使用逗号分隔值定义多个效果。
                研究成本编辑
                执行研究成本研究要点(神秘或科学),并可能花费其他资源。
                使用以下格式定义解锁研究主题的成本:
                research.entity.scavenging.costs.physics1 = 850research.entity.scavenging.costs.minerals = 30
                在这个例子中,解锁“物理1”(科学研究要点)和30个“矿物”的“清理”研究成本850。
                树结构编辑
                建议在类别中保留一个结构,该结构包括一个带有主干和主干内较小分支的线性树,如在默认研究树中一样。
                要将节点定义为“主干”节点(如果可能,该节点将显示在树的中心),请使用以下格式:
                research.entity.logistics.parents = research.base.unlock


                IP属地:广东11楼2018-06-06 12:50
                回复
                  6.模式:地图位置 - 清除世界地图中的位置
                  地图位置在Objects.txt中定义。
                  在这个文件中,你可以定义可用的地图位置,他们的难度乘数,敌人类型和可能的战利品。
                  注意:每个地图位置必须使用以下格式在本地化文件Texts.txt中定义一个显示名称:
                  objects.hospital.name =医院
                  父属性
                  所有地图位置都必须具有“objects.base.worldobject”作为其父项:
                  objects.entity.church.parents = objects.base.worldobject 位置图标编辑
                  您可以定义图标的名称以表示工具栏中的地图位置。此值是可选的,默认为“worldobject_hospital”,其中“hospital”是该位置的ID。
                  格式:objects.entity.school.sprite = worldobject_school
                  在上面的示例中,名为“worldobject_school”的图像将用于表示“学校”世界对象。这也是“学校”的默认值,所以并不是真的需要。
                  地图位置图像通常为128x128像素。
                  地图集编辑
                  地图位置应该使用以下格式来定义在这些位置应该使用哪些作战地图集进行战斗:
                  objects.entity.school.mapsets.default.urban =真
                  objects.entity.school.mapsets.default.suburbs =真
                  objects.entity.school.mapsets.default.slums =真
                  在上面的例子中,在“学校”发生的战斗将从“城市”,“郊区”或“贫民窟”中选择一个作战地图。
                  地图位置属性编辑
                  地图位置可能具有以下属性:
                  属性 描述 misisons 在这个地点提供任务。使用“清除”在此位置启用清理。
                  清除战利品编辑
                  你可以为每个位置定义静态战利品和随机战利品。如果两个选项都存在于某个位置,则它们将被添加在一起。
                  随机拍摄编辑
                  随机战利品使用以下格式定义:
                  objects.entity.factory.loot.0.boards = 15objects.entity.factory.loot.0.bricks = 40objects.entity.factory.loot.200.scraps = 15objects.entity.factory.loot.200.metals = 40
                  数字“0”和“200”代表任务难度级别。难度为0但低于200的“工厂”可能包含砖块和木板。难度在200以上的“工厂”可能含有废料或金属。这样你可以为不同的难度级别定义不同的项目组。这是除了物品本身的最小和最大难度评级之外的,如“模型:物品”中所述。
                  每个项目的价值(15个板块,40个砖块等)表示该地点将包含该项目的机会。这些机会都是相对的,所以在选择一件物品时,有机会获得“2”的物品将被选择为具有“1”几率的物品的两倍。
                  首选乐谱编辑
                  首选战利品就像随机战利品一样工作,除了这个战利品中至少有一叠战利品总能在这种地点类型中找到(最低/最高难度允许)。
                  objects.entity.hospital.preferredloot = researchkit
                  在这个例子中,医院位置总是会有一个研究工具包,占用一个随机战利品的一个时间段。
                  静态拍摄编辑
                  使用以下格式定义添加到此位置随机战利品的静态战利品:
                  objects.entity.hellgate.harvest.occult3 = 10
                  无论随机生成的物品是什么,“地狱门”位置总是会有10个“occult3”物品。
                  敌方发电编辑
                  敌人是根据难度级别生成的,它由生物群落,距基地和地点类型的距离(随机元素)确定。难度公式本身在Config.txt文件中定义。
                  您可以使用以下格式控制每个位置类型的难度:
                  objects.entity.hospital.difficultymul = 1.5
                  这定义了一个“难度乘数”。具有乘数2的位置类型通常具有两倍于具有乘数1的位置类型的难度水平。
                  敌人类型编辑
                  您可以使用敌方标签定义每个位置随机生成的敌人种类。默认情况下,所有地点都会有恶魔但不是人类的敌人。
                  objects.entity.settlement.enemytags.demon = FALSEobjects.entity.settlement.enemytags.human =真
                  在上面的例子中,我们重写了默认值,并且定义标有“恶魔”的敌人不会占据结算位置,而标有“人”的敌人会定义。
                  静态敌人编辑
                  使用以下格式为位置定义静态敌人列表:
                  objects.entity.hellgate.enemygen = StaticEnemiesobjects.entity.hellgate.staticenemies.1.possessed = 4objects.entity.hellgate.staticenemies.1.legion = 3objects.entity.hellgate.staticenemies.1.darkangel = 2objects.entity.hellgate.staticenemies.1.succubus = 3objects.entity.hellgate.staticenemies.2.succubus = 3objects.entity.hellgate.staticenemies.2.demon = 3objects.entity.hellgate.staticenemies.2.lich = 2objects.entity.hellgate.staticenemies.2.legion = 2objects.entity.hellgate.staticenemies.3.hellhound = 4objects.entity.hellgate.staticenemies.3.legion = 3objects.entity.hellgate.staticenemies.3.darkangel = 3objects.entity.hellgate.staticenemies.3.succubus = 2
                  第一行配置此位置以便从列表中静态生成敌人,而不是使用上述常规公式。
                  以下几行定义了一组敌人。在上面的例子中,第一组将包括4个附身,3个军团,2个堕落天使和3个魅魔。团体在地图上巡逻,并彼此分开攻击。


                  IP属地:广东12楼2018-06-06 12:54
                  回复
                    6.修改:食品
                    你可以在OriginalConfigs里Food.txt文件中定义通过吃几种食物类型获得的奖金。
                    包括制作时间 特殊属性奖励
                    使用以下格式定义食物奖金:
                    config.food.bonuses.2.effect.healrate = 0.7
                    5config.food.bonuses.3.effect.workspeed = 0.1
                    config.food.bonuses.3.effect.taskforcespeed = 0.15
                    在这个例子中,吃2种食物类型会使治疗率提高75%,而吃3种食物类型会使工作速度提高10%,特别工作组移动速度提高15%。


                    IP属地:广东13楼2018-06-06 12:57
                    回复
                      7.Modding:世界地图生成
                      修改世界地图生成编辑
                      世界地图生成器设置在WorldMapGen.txt文件中定义。
                      在这个文件中,你可以配置世界地图创建算法。
                      生物群落编辑
                      世界地图生成器创建了一个拥有多个生物群落的世界。
                      生物群系本身在Config.txt文件中定义,并影响其中的遭遇和清除的难度。
                      生物群系还决定哪些清除位置在其中产生。
                      产卵地图位置编辑
                      为了定义每个生物群系中产生哪些地图位置,请使用以下格式:
                      worldgen.biomes.game.city.objects.hospital = 0.1worldgen.biomes.game.city.objects.school = 0.1worldgen.biomes.game.city.objects.residential = 0.15worldgen.biomes.game.city.objects.factory = 0.1worldgen.biomes.game.city.objects.supermarket = 0.1worldgen.biomes.game.city.objects.church = 0.05
                      在这个例子中,农村城市的每块瓷砖有10%的机会产生“医院”或“学校”的位置,15%的机会产生“住宅”,位置等。
                      这些机会是绝对的而不是相对于彼此的。生物群落的总值不应超过100%。如果没有选择位置,则该图块保持空白。
                      在上面的例子中,所有值的总和是60%,所以有40%的机会是空的城市瓦片。
                      生成生物群落编辑
                      生成生物群落是一个更高级的话题,不需要添加新的清除位置。您可以简单地将新的清除位置添加到现有的生物群落中。
                      生成的Perlin噪声图编辑
                      使用几个Perlin噪声地图(也包括高度地图)生成生物群落。在每个这样的地图中,每个瓦片具有介于0和1之间的值。这些地图具有不同的“频率”值。更高的频率值创建更加“缩小”的地图,创建具有更多山脉(假设该值代表高度)的地图,具有更陡的斜坡,而更低频率的地图更“放大”,从而创建更多的山丘和平地。
                      生成的地图使用以下格式定义:
                      worldgen.perlin.mapsfrequency.noise1 = 5worldgen.perlin.mapsfrequency.noise2 = 7worldgen.perlin.mapsfrequency.noise3 = 10
                      上面的例子创建了3个映射,称为“noise1”,“noise2”和“noise3”,频率值分别为5,7和10。
                      结合Perlin噪声图编辑
                      然后可以将生成的地图组合在一起以创建新的地图。这使得我们可以将不同频率的地图结合起来,创建一个不均匀的更加多样化的地图,并且包含陡坡的地区,以及其他地形更平坦的地区。
                      worldgen.perlin.combinedmaps.noisecombined.noise1 = 0.5worldgen.perlin.combinedmaps.noisecombined.noise2 = 0.3worldgen.perlin.combinedmaps.noisecombined.noise3 = 0.2
                      上面的例子将“noise1”,“noise2”和“noise3”组合成新的地图,“noisecombined”。
                      在组合地图中,“noise1”的权重为50%,“noise2”的权重为30%,“noise3”为20%。
                      生成生物群落编辑
                      然后,我们可以使用上述任何地图的组合或生成或组合生成生物群落:
                      worldgen.biomes.rural.noisemax.noisecombined = 0.5worldgen.biomes.rural.noisemin.noisecombined = 0.1
                      在上面的例子中,如果瓦片在组合地图“噪音组合”中具有至少0.1且不超过0.5的值,则瓦片将被定义为农村。
                      一个生物群落可能在多个地图上有条件。例如,如果我们生成了两张地图,一张“高度图”和一张“湿度图”,我们可以使用以下定义来声明一个“森林”生物群落:
                      worldgen.biomes.forest.noisemin.heightmap = 0.3
                      worldgen.biomes.forest.noisemax.heightmap = 0.6
                      worldgen.biomes.forest.noisemin.humiditymap = 0.5
                      在这个例子中,瓦片将被定义为“森林”,只要它的高度在0.3到0.6之间,并且湿度值也高于0.5。
                      如果瓦片符合多个生物群系的条件,它将被定义为出现在配置文件中的第一个生物群落。
                      您还可以用百分比指定最小/最大值,这样可以保证生物群系的瓷砖数量。
                      worldgen.biomes.game.city.rules.1.distances.15.noisemin%.cty = 0.92
                      在这个例子中,具有大于其他瓦片92%的值的瓦片(noisemin%0.92)将与该规则匹配,因此恰好8%的瓦片将是城市瓦片。


                      IP属地:广东14楼2018-06-06 13:00
                      回复
                        8.修改:战斗能力
                        战斗能力在文件Abilities.txt中定义。
                        在这个文件中,你可以定义每个能力的作用,可以在战斗中使用多少次以及其他参数。
                        注意:每个技能都必须使用以下格式在本地化文件Texts.txt中定义显示名称:
                        abilities.protectionspell.name =Protection Spell保护法术
                        技能图标编辑
                        您可以定义图标的名称以表示工具栏中的功能。这个值是可选的,默认为“ability_hex”,其中hex是能力的ID。
                        格式:abilities.entity.fraggrenade.sprite = ability_grenade
                        在上面的例子中,名为“ability_grenade”的图像将被用来表示“fraggrenade”的能力。当几个能力使用相同的动作时这很有用。
                        能力图像通常是256x256像素。
                        目标模式编辑
                        每种能力都定义了什么样的目标对其有效:
                        abilities.entity.vodoodoll.targetmode =敌人
                        有效的目标模式是:
                        “AnyUnit” - 任何单位都可能成为目标
                        “敌人” - 只有敌方单位可能成为目标
                        “盟友” - 只能选择盟友单位
                        “平铺” - 无论是否有人在地图上的任何位置可以选择
                        “自我” - 目标是能力的使用者,不需要选择目标


                        IP属地:广东15楼2018-06-06 13:02
                        回复
                          9.修改:敌人
                          敌人在文件Enemies.txt中定义。
                          在这个文件中,你可以定义不同的敌人,他们的属性,外观和战利品。目前,您无法创建自己的模型或动画,但可以修改敌方统计数据和战利品,或根据现有敌人的外观创建新的模型或动画。
                          注意:每个敌人必须使用以下格式在本地化文件Texts.txt中定义名称和说明:
                          enemies.reaper.name =Reaper死神
                          enemies.reaper.description =Reaper死神,来收集人类的灵魂来加强地狱的军队。
                          敌人统计编辑
                          使用以下格式定义敌方统计数据:
                          enemies.entity.lich.damage = 20enemies.entity.lich.attackspeed = 4enemies.entity.lich.range = 6
                          在上面的例子中,巫妖有20点伤害,4点攻击速度和6点攻击范围。
                          敌方统计选项
                          统计ID 描述 注释
                          损伤 每次攻击的伤害
                          攻击速度 攻击率
                          范围 攻击范围
                          准确性 攻击准确性
                          健康 敌人的健康
                          逃避 攻击的回避 可选,默认为0
                          防御 盔甲 可选,默认为0
                          walkspeed 移动速度 幸存者的移动速度为1.0可选,默认值是1.1
                          视力 敌人的视野 敌人在隐身任务中会仇恨的范围。可选,默认值是7
                          permanentdamage 持续的伤害百分比 可选,默认值为0.4交易造成的伤害部分将会造成持久伤害。
                          点击效果编辑
                          敌人可能有打击效果。这些状态效果在敌人击中目标时应用。
                          enemies.entity.demon.hiteffect.rendarmor = 8
                          在上面的例子中,每当一个恶魔命中目标时,目标将遭受8秒的“rendarmor”状态效果。
                          飞溅损伤编辑
                          敌人可能对其目标周围的其他单位造成溅射伤害:
                          enemies.entity.firespitter.splash.range = 1enemies.entity.firespitter.splash.damage = 0.5
                          在上面的例子中,防火墙对目标的1个区域内的单位造成50%的伤害。
                          Auras 编辑
                          敌人可能有影响他们周围的朋友或敌人(或两者)的光环。
                          enemies.entity.succubus.auras.bedazzled.range = 2enemies.entity.succubus.auras.bedazzled.effect.bedazzled =真enemies.entity.succubus.auras.bedazzled.targetmode =敌人enemies.entity.succubus.auras.bedazzled.targettag.male =真enemies.entity.succubus.auras.bedazzled.prefab = SuccubusAuraPrefab
                          在上面的例子中,魅魔有一个Bedazzled光环影响男性幸存者在2个瓷砖范围内,具有“bedazzled”地位的影响。
                          敌人产卵和难度编辑
                          每当敌人随机产生时(例如基础攻击或清除错误),敌人的类型和数量由战斗难度评级决定。敌人必须定义他们的等级和金额enemies.entity.hellhound.level = 1enemies.entity.hellhound.amount = 1.25
                          等级(等级)决定了这个敌人何时可以产卵。
                          这个数量决定了与同一级别的其他敌人相比,这些数量应该产生多少。在这种情况下,1.25只猎狗相当于一个单独的1级敌人,因此当产生4个一级敌人时,5只地狱犬会产卵而不是4只。
                          敌人战利品编辑
                          被杀死的每个敌方单位掉落的战利品使用以下格式定义:
                          enemies.entity.darkangel.loot.ectoplasm = 2enemies.entity.darkangel.loot.holywords = 3
                          在上面的例子中,“darkangel”敌人在被杀时会掉落2个“ectoplasm”物品和3个“holywords”物品。
                          敌人外观和音频编辑
                          敌方外观和音频使用以下格式定义:
                          enemies.entity.lich.prefab = enemy_lichenemies.entity.lich.animation =敌人/巫妖enemies.entity.lich.properties.attackanimation = LichAttackPrefabenemies.entity.lich.properties.attacksound = ranged_magic_attackenemies.entity.lich.properties.floating = 0.02enemies.entity.lich.icon = enemy_icon_lich
                          以下外观定义是必需的:
                          属性 描述 注释
                          预制 敌人3D模型
                          动画 敌人动画配置文件 应该匹配模型
                          walkanimationspeed 行走动画的速度 不影响实际移动速度。应匹配动画配置文件,以防止“滑动”。
                          properties.attackanimation 攻击效果或射弹 可选的。近战通常没有任何。
                          properties.floating 敌人应该漂浮多少 可选,默认为0,不会浮动。用于漂浮像鬼魂一样的敌人。向敌人的运动添加垂直运动。
                          properties.attacksound 发起攻击时发出声音 可选的。通常只有ranged有这个。
                          properties.attackmisssound 发生攻击时发出声音 可选的。通常只有近战有这个。
                          图标 在UI中代表敌人的图标。 可选的。默认:“enemy_icon_ <id>”
                          在大多数情况下,除了“properties.attackanimation”和“properties.attacksound”之外,所有这些值都应该像其他单元一样被复制。通过这种方式,您可以创建一个看起来像收割者的敌人,但是其炮弹看起来和听起来像幽灵般的攻击。
                          标记敌人编辑
                          您可以使用标签定义敌人类别。然后由生物群系和地图位置来确定哪些敌人将出现在这些地点。默认情况下,敌人是“恶魔”或“人”。
                          enemies.entity.hellhound.tags.demon =真
                          在这个例子中,地狱犬被标记为“恶魔”。敌人可能有多个标签。


                          IP属地:广东16楼2018-06-06 13:06
                          回复
                            10:敌方单位
                            敌方单位编辑
                            敌方单位难度曲线由“config.enemydifficulty”节点控制。在这里,您可以定义针对任何给定“难度评级”产生的敌人的等级和数量。
                            算法本身和难度等级根据战斗类型而有所不同。例如,清除难度取决于生物群落和距基地的距离。对于基础防御,每天难度得分增加10,因此在第100天,你将受到攻击,难度值为1000。
                            敌方难度设置中的格式如下:
                            #第0层
                            config.enemydifficulty.tiers.0 = 0config.enemydifficulty.singlevalue.0 = 1config.enemydifficulty.amountpergroup.0 = 2config.enemydifficulty.totalcount.0 = 1config.enemydifficulty.totalcount.19 = 1config.enemydifficulty.totalcount.20 = 2-3config.enemydifficulty.amountpergroup.60 = 3config.enemydifficulty.totalcount.99 = 4-7
                            #第1层
                            config.enemydifficulty.tiers.100 = 1 config.enemydifficulty.singlevalue.100 = 2 config.enemydifficulty.amountpergroup.100 = 2 config.enemydifficulty.totalcount.100 = 3-4 config.enemydifficulty.amountpergroup.250 = 3 config.enemydifficulty.totalcount.349 = 5-7
                            等级根据难度分数定义敌人和战利品级别。在上面的例子中,“等级0 = 0”意味着在难度等级0以上时,敌人将属于等级0,然后“等级100 = 1”意味着上述难度为100的敌人将属于等级1。
                            单值编辑
                            单值应与层次结合,并确定此层中单个敌人的相对值。基准是每个层次的价值是其之前的层次的两倍。这些应该总是按照与该等级相同的难度分数来定义。在上面的例子中,在难度为0的情况下,单个敌人值1(singelvalue.0 = 1),并且在难度为100时,单个敌方值为2(singlevalue.100 = 2)。
                            根据当前层的设置,算法将使用这些值来确定要生成的较低层或更高层的多少敌人。
                            总计数编辑
                            config.enemydifficulty.totalcount.0 = 1
                            config.enemydifficulty.totalcount.19 = 1
                            config.enemydifficulty.totalcount.20 = 2-3
                            config.enemydifficulty.totalcount.99 = 4-7
                            总数决定了敌人的总数。上面的设置意味着在难度0和19之间会有1个敌人(本例中为0级)。该算法会将此值乘以“单值”设置,因此在这种情况下,所有敌人的总值将为1。
                            在困难20时,总共会有2到3个敌人,难度为99的时候会有4到7个敌人。然而,在这两者之间,金额将根据实际难度得分进行缩放。假设得分是40,即从20到99的25%,所以难度20的值将有75%的权重,难度99的值将有25%的权重。然后,RNG将为每个级别选择一个值,并根据权重计算结果。例如,假设RNG从20设置中选择了3,并且从99设置中选择了6,则最终结果将是3和6之间的3 * 75%+ 6 * 25%= 3.75 - 25%,并且那将是敌人总数。如果难度分数为80而不是40,那么权重将被逆转,总量将为3 * 25%+ 6 * 75%= 5.25。
                            这些数字乘以同一级别的“单个值”。以这个例子:
                            config.enemydifficulty.totalcount.0 = 3config.enemydifficulty.singlevalue.0 = 1config.enemydifficulty.totalcount.100 = 3config.enemydifficulty.singlevalue.100 = 2
                            看起来无论难度是0,50还是99,总是会有3个总的敌人,因为0级和100级都有3的值。然而,情况并非如此,因为在级别100时单个敌人敌人值2而不是1,是0级敌人的2倍。所以对于难度50来说,计算结果为3 * 1 * 50%+ 3 * 2 * 50%,然后总计数为4.5,这意味着等级0的4.5个敌人或等级为1的2.25个敌人每个值2。
                            总之,总数可以让你定义当前层次级别的敌人数量,算法会在层级之间自动进行缩放。
                            每组编辑金额config.enemydifficulty.amountpergroup.0 = 2config.enemydifficulty.amountpergroup.60 = 3config.enemydifficulty.amountpergroup.100 = 2config.enemydifficulty.amountpergroup.250 = 3
                            每个组的数量决定了当敌人分成组(例如清除)时,每个组中将有多少敌人成为当前等级。
                            与总数不同,这些数字不在等级之间进行缩放,因此在难度为0和难度为50的情况下,相同的设置将适用 - 每组2个敌人。但是,数字仍然乘以单个值。所以在0级时,每组会有2个敌人,每个都值1,而在100级时,每组会有2个敌人,但每个敌人都值2--所以总值为4.这意味着可以有4个0级100级的敌人,或者每组2个1级的敌人。
                            这些值通常每层有一个以上的里程碑,因为随着总金额向下一层扩展并且增长,您可能需要更大的群组而不是更小的群组。
                            总计数乘数编辑
                            在许多情况下,总数会有倍数,这会影响敌人的总数,但不会影响他们的等级或每组敌人的数量。
                            其中一些乘数在Difficulty.txt文件中定义:
                            config.enemydifficulty.multipliers.defense.0 = 0.5config.enemydifficulty.multipliers.defense.20 = 0.9config.enemydifficulty.multipliers.defense.200 = 1.2config.enemydifficulty.multipliers.rescuedefense.0 = 0.35config.enemydifficulty.multipliers.randomevent.0 = 1config.enemydifficulty.multipliers.encounter.0 = 0.4config.enemydifficulty.multipliers.rescuestart.0 = 0.5config.enemydifficulty.multipliers.scavenge.0 = 1
                            上面的例子为不同的场景和不同的难度级别定义了乘数。例如,对于基础防御,难度为0到20(0-2天),敌方总数是算法产生的50%。然后在2-20天(难度为20-200),总数是清道夫任务的90%。我们之所以降低它们的原因在于,你在捍卫基地时所拥有的幸存者数量或多或少与你在扫墓任务中的数量相同。之后,在第20天之后,我们预计你会有更多的幸存者,并且你的防御能力比进攻能力更强,所以这次攻击比一个扫墓任务更强。
                            请参阅下面的每个战斗场景的更详细的解释。
                            每种战斗类型的敌人生成编辑
                            在本节中,我们将描述算法如何为每种战斗类型生成敌人。
                            清除编辑
                            清除是最直接的,并使用“按原样”的难度设置。它根据“totalcount”和“singlevalue”设置计算给定难度级别的总值,然后使用“amountpergroup”设置生成组,然后达到总数。
                            清除战斗的难度等级由几个因素决定。前两个因素是生物群落和距基地的距离。在“terrain.entity”节点下的Config.txt中配置生物群落/距离到难度的映射。另一个因素是清除地图位置,如Objects.txt中所定义。这些可以具有应用于基值的乘数。例如,在相同的生物群落/距离上,军事基地比其他地点的难度高出50%。最后,在上面乘法器部分中定义了清除乘数,默认情况下它设置为1,所以除非改变,否则将不起作用。
                            救援编辑
                            救援任务有点复杂。首先,救援任务的基本难度级别由您已拥有的幸存者数量决定,如Difficulty.txt中所示:
                            config.rescuedifficulty.survivorcount.0 = 10config.rescuedifficulty.survivorcount.4 = 10-59config.rescuedifficulty.survivorcount.6 = 80-150
                            在上面的例子中,有0到3名幸存者,救援任务基地的难度将是10点。有4或5名幸存者,难度在10到59之间。
                            现在,对于救援区域中的初始敌人,使用常规生成算法,并将总数乘以上述乘数部分中定义的值,默认为50%。因此,一次救援任务的首发敌人将是同样难度的清道夫任务中的50%。
                            接下来,随着玩家开始救援被困幸存者,根据Objects.txt中“trappedsurvivor”对象的定义产生更多的敌人。
                            objects.entity.trappedsurvivor.combatactions.rescue.enemyspawn.60 = 0.3
                            objects.entity.trappedsurvivor.combatactions.rescue.enemyspawn.120 = 0.4
                            objects.entity.trappedsurvivor.combatactions.rescue.enemyspawn.180 = 0.4
                            objects.entity.trappedsurvivor.combatactions.rescue.enemyspawn.240 = 0.5
                            objects.entity.trappedsurvivor.combatactions.rescue.enemyspawn.340 = 0.6
                            objects.entity.trappedsurvivor.combatactions.rescue.enemyspawn.440 = 0.6
                            objects.entity.trappedsurvivor.combatactions.rescue.maxspawns.0 = 1
                            objects.entity.trappedsurvivor.combatactions.rescue.maxspawns.100 = 2
                            objects.entity.trappedsurvivor.combatactions.rescue.maxspawns.350 = 999
                            救援尝试开始后,第一批卵子开始60个时间单位。无论“数量组”设置如何,这些产卵总是由一组敌人组成。总值乘以上面定义的值。对于给定的难度,第一个产卵将有30%的敌人数量。第二次在120时间单位产生的力量是40%,依此类推。
                            另一个设置是“maxspawns”,它决定了在救援任务期间敌人会产生多少次。默认情况下,他们只会产生一次,直到难度为100,并且两次,直到难度为350.之后,他们将会产生无限次的时间,鼓励玩家在开始时尽快完成救援,然后快速离开(然而,在时间单元60至440处仅定义了6个产卵,所以这是实际的最大值)。
                            请注意,如果没有敌人存在,拯救幸存者的时间会加速,因此玩家将看到救援进展迅速增长,敌人将迅速产生。
                            防御编辑
                            防守难度取决于比赛时间(以比赛分钟数计)除以“防守除数”参数:
                            config.defensedifficulty.divisors.0 = 144
                            默认情况下,除数始终为144,这意味着每144分钟的游戏时间(= 2.4小时),难度就会增加1。这意味着每天(24小时)有10个难度点。
                            您可以向除数添加更多级别,导致难度级别在达到某一天后增加得更快或更慢:
                            config.defensedifficulty.divisors.0 = 144config.defensedifficulty.divisors.14400 = 72
                            在这个例子中,在到达第10天(14400分钟)后,难度将每天增加20(每天1440分钟/ 72 = 20)。
                            敌方发电机使用难度来产生敌人,就像它在扫荡任务中一样,除了乘以防御乘数而不是扫频乘数。请参阅上面的总计数乘数。
                            遭遇编辑
                            相遇的难度取决于生物群落和距离基地的距离,除了没有位置乘数之外,与清除相同。
                            生成器为所有敌人创建一个组,忽略“amountpergroup”值,但总数乘以倍数,默认为0.4。这意味着默认情况下,遇到的敌人数量将是拾荒任务数量的40%,但是他们都将在一个团队中。
                            随机事件编辑
                            随机事件的基于地图的战斗,如恶魔侦察兵,解决援助请求和夜间狼人的狼人,使用相同的算法来产生敌人,如清除,数量乘以随机事件倍增器,默认为1。
                            随机事件的难度因事件而异,并由该特定事件的配置决定。大部分来自游戏时间。


                            IP属地:广东17楼2018-06-06 13:13
                            回复
                              Modding:其他配置
                              其他修改选项可以通过Config.txt文件。
                              关于特殊的参数修改 大部分都在Config.txt里 有特定的词组 变量 词条
                              本次入门教学不做过多的详细讲解,有兴趣的话可以进入Config.txt 一一解析
                              Modding:语音设置
                              有显示给播放器的文本都在配置文件Texts.txt中定义,
                              教程在Help.txt中定义。
                              其他语言文件称为文本 - [LANG ID]和帮助 - [LANG ID]。语言本身是在Languages.txt中定义的。
                              内容Mods 编辑
                              添加新实体(如研究主题和项目)的模块必须将实体名称的匹配文本添加到Texts.txt文件中。为了使mod以其他语言工作,请将条目添加到所有语言文件。
                              格式条目编辑
                              这个文件中的一些条目是文本格式,而不是简单的文本。这些格式在其中包含占位符,然后由游戏替换为相关值。
                              general.duration.format =期限Duration: {0}
                              上面的例子是显示状态效果持续时间的格式。格式中的{0}将被状态效果的实际持续时间替换。
                              换行符编辑
                              一些文本中包含换行符,使用“\ n”字符序列。
                              这些通常是在工具提示中显示的文本,并且有意将其分成几行。删除换行符可能会导致工具提示显示为非常长的一行文本,而不是一个小文本框。
                              这可能会在将来的更新中自动调整大小,但现在由文本本身控制。
                              ————————————————————————————————————————
                              调试Mods 编辑
                              许多无效的配置会导致游戏一开始就结束。调试的最佳方法是在游戏日志中查找位于安装目录的judgement_Data文件夹中的错误。
                              PS 本次教学至此就全部完结了 如果喜欢并且能帮到您 请在本帖留言告诉我 。
                              如果喜欢的人多并且想学习更加高深的MOD制作 我在空闲之余可能会更新
                              MOD制作学习进阶篇
                              本次教学光准备材料,案例,词库相关资料就花了5天,写教程花了3天。做教学不易如果喜欢请多多留言支持一下。


                              IP属地:广东19楼2018-06-06 13:31
                              回复