《一步之遥:伊甸》模组制作快速指南,包括法术、遗物、角色和角色装备配置 开篇/概要/常见问题 官方开发者在【一步之遥:伊甸】的OSFE_Data StreamingAssets ExampleMods文件夹中提供了示例模组。 伊甸的“官方”模组开发者资源,这部分内容更深入,强烈建议使用,因为本指南更像是一门速成课程,旨在帮助理解如何将上述资源作为良好参考。 本指南将涵盖的内容:在本教程中,我们将制作新武器、新遗物和新角色装备配置。 本指南不涵盖图标相关内容,不过图标制作只需准备一个。文件需命名为你的物品ID。 文件夹中的所有文件都会被加载,即使你的模组并未“使用”它们,这会占用内存,请注意。 你需要正确命名文件,才能将它们添加到游戏中。 如果你从你的神器/法术中移除标签,然后重新加载模组,最好重启游戏,否则可能会导致一些通常不会发生的错误,电脑有时就是这么古怪。 语法错误,你没有正确大写。 WorkshopItemInfo.xml是必需的(假设你打算使用Steam创意工坊)。 ItemData.txt似乎也是更新创意工坊模组所必需的,如果有误,将会对此进行修改。 常见问题:我在哪里可以找到神器/法术/角色数据?10</射击间隔> <射击速度>700</射击速度> <射击持续时间>1</射击持续时间> <射击延迟>0</射击延迟> <施法延迟>0</施法延迟> <施法持续时间>1</施法持续时间> <爆炸持续时间>0</爆炸持续时间> <命中后销毁>否</命中后销毁> <施法时></施法时> </技能> </技能组>注意开头的标题、技能组标签和技能开始标签,后两者不同,它们决定了我们要制作的内容类型以及该内容的名称。 我们已经介绍过ID、名称、描述、标签和元数据的含义,其中一些常用的属性含义相当明显,例如射击次数和伤害的作用,但总体而言,这是一个标准的格式。XML技能文件中,一个更“优化”的技能应如下所示: <Spell itemID="TestModSpell"> <Stats animBlast="基础施法" animShot="基础技能" shotSound="mark_02" cooldown="0.05" setToGunPoint="Both"></Stats> <HitEnemies>true</HitEnemies> <HitSelf>true</HitSelf> <Tags>武器</Tags> <Action>Trigun</Action> <Description>以轻微延迟发射3发子弹,可击中自身,穿透障碍物</Description> <Flavor>M16</Flavor> <Damage>10</Damage> <Shots>3</Shots> <Tiles>1</Tiles> <Location>End</Location> <TimeBetweenShots>0.</TimeBetweenShots>10</TimeBetweenShots> <ShotVelocity>700</ShotVelocity> <ShotDuration>1</ShotDuration> <CastDuration>1</CastDuration> </Spell>由于我们的部分标签为空、错误或为0,我们可以删除或不包含这些标签,我们的法术仍然可以正常工作,因为我们只包含了使其工作所需的信息,并且如果我们不包含这些标签,游戏将默认使用这些值 <Tags>Weapon</Tags> 比较重要,因为它告诉游戏这个法术是一种武器,并且会使用我们角色的攻击属性来进行升级,例如更高的伤害或武器命中效果 深入了解神器 我们将基于圣杯神器制作一个示例神器,这将是我们的神器。在删减部分空白冗余内容前的XML文件 <?xml version="1.0" encoding="UTF-8"?> <Artifacts> <Artifact itemID="ModTestShieldRage"> <Name>战士之盾</Name> <Tags>玩家,演示,单人</Tags> <App trigger="WhileManaBelow" effect="护盾" amount="2" triggerCooldown="0.01" triggerAmount="1"></App> <Description>当法力值低于1时,每0.01秒快速获得2点护盾</Description> <Meta></Meta> <Rarity>2</Rarity> <Brand></Brand> <Params></Params> </Artifact> </Artifacts> 与我们之前制作的法术类似,它共享了很大一部分代码。<Tags>玩家,演示版,唯一</Tags> 用于告知游戏该遗物的相关属性:供玩家使用、曾用于演示版、仅出现一次。显然这是一个自定义遗物,在演示版中并不存在,但你可以将其视为空白标签,或当作<Tags>中不存在“演示版”标签。不过这只是一个快速复制粘贴的教程,所以我会保留原样。<App trigger="WhileManaBelow" effect="Shield" amount="2" triggerCooldown="0.01" triggerAmount="1"></App> 是我们遗物的效果,其含义为:当法力值低于1时,每0.01秒施加数值为2的护盾效果。01秒 我们可以拥有多个类似【艾德曼合金】神器的<App trigger></App>效果 需要注意的是,触发参数可以按任意顺序排列 再次强调,这是可选操作,但我们可以移除<Meta>、<Brand>和<Params>,因为它们为空 <Artifact itemID="ModTestShieldRage"> <Name>战士之盾</Name> <Tags>玩家,演示,单人</Tags> <App trigger="WhileManaBelow" effect="Shield" amount="2" triggerCooldown="0.01" triggerAmount="1"></App> <Description>当法力值低于1时,每0.01秒快速获得2点护盾</Description> <Rarity>2</Rarity> </Artifact> 角色/装备配置详解 这是我们的英雄们。xml文件,用于存储角色和装备配置 <?xml version="1.0" encoding="UTF-8"?> <Beings> <Being beingID="ModTestSaffron"> <Name>萨芙蓉</Name> <Title>示例</Title> <Tags>战役,萨芙蓉</Tags> <Description></Description> <Flavor></Flavor> <Weapon>测试模组法术</Weapon> <Health>1200</Health> <MaxHealth>1200</MaxHealth> <Money>10</Money> <MaxMana>4</MaxMana> <BasicCooldown>0.1</BasicCooldown> <ManaRegen>0.5</ManaRegen> <ShuffleTime>2.5</ShuffleTime> <GracePeriod>0.</GracePeriod>03 防御值2 缓动时间0.<Deck>迷你枪</Deck> <Deck>旋风</Deck> <Deck>踏步斩</Deck> <Deck>雷电</Deck> <Artifacts>模组测试护盾狂怒</Artifacts> <Stats localGunPointPos="33,34" animName="萨芙蓉" splashSprite="萨芙蓉 splash" altAnims="萨芙蓉女巫, 萨芙蓉莉娅, 萨芙蓉传承" startingBrands="无,无"></Stats> <Name>萨芙蓉</Name>决定了我们要添加/制作的角色,自定义名称将对应自定义角色 <Title>示例</Title>是我们正在制作的角色的装备配置,在这个例子中,名为示例的装备配置将被添加到ID为ModTestSaffron的名为萨芙蓉的角色中 <Weapon>测试模组法术</Weapon>是施法时使用的法术按下E键来发射武器,记住武器本质上是法术,会从武器效果中获得加成。【ModTestShieldRage】是我们角色拥有的初始遗物,你可以有多个【遗物】标签,只要记得关闭开始标签,就像多个【牌组】标签一样,每个【牌组】标签都会向你的牌组中添加一张法术。《一步之遥:伊甸园》OSFE_Data StreamingAssets Data 精灵、动画以及所有不在data文件夹中的文件在哪里?……《一步之遥:伊甸园》OSFE_Data StreamingAssets AssetBundles 这些文件以压缩格式存储,你需要使用资源包提取工具/应用程序来解压缩并提取它们。 为什么模组无法运行?我拼写正确吗?请确保你已在模组菜单中启用并安装了你的模组。 模组文件结构 首先 如果你希望你的模组(如遗物、角色和法术卡牌)自动添加到游戏中,无需使用。DLL文件,你需要“覆盖”现有文件。这里的“覆盖”之所以加引号,是因为除非你编辑现有条目,否则游戏会自动将你的新条目添加到相应游戏文件的末尾。本教程将要使用的文件是XML文件,我对DLL一无所知,你可以等待其他人制作相关教程。 解析XML模组文件:游戏会自动添加到自身的文件是StreamingAssets Data文件夹中的任何文件。我们将编辑XML文件,因为LUA文件的用途与我们将要涵盖的内容不同。你创建的每个新文件都应根据你要制作的模组类型进行适当命名, artifact模组应命名为Artifacts。例如,XML文件理论上可以只创建一个,但不建议这么做。文件需要包含头部信息和开始标签,用于告知游戏我们将要修改或添加的内容,格式如下:<?xml version="1.0" encoding="UTF-8"?> <Spells> ... </Spells> 例如,开始标签<spells>可以根据你制作的模组类型替换为<Artifacts>、<Beings>、<Pacts>等。你需要保留<?xml version="1.0" encoding="UTF-8"?>这部分内容。文件开头的标签用于游戏识别并加载你的文件。文件末尾需要添加相应的闭合标签</Spells>。在本示例中,我们将解析萨芙蓉的默认初始武器,严格来说它属于法术,且我们已围绕法术示例进行讲解。<Spell itemID="CampaignGun"><Stats animBlast="BasicCast" animShot="BasicSpell" shotSound="mark_02" cooldown="0.【名称】:战地护腕 【标签】:武器 【行动】:多重射击 【描述】:发射小型子弹 【风味文本】:G-4003 【法力消耗】:0 【伤害】:2 【射击次数】:1 【作用范围】:1格 【位置】:结束阶段 【射击间隔时间】:0.02</TimeBetweenShots> <ShotVelocity>700</ShotVelocity> <ShotDuration>1</ShotDuration> <ShotDelay></ShotDelay> <CastDelay>0</CastDelay> <CastDuration></CastDuration> <BlastDuration>0</BlastDuration> <DestroyOnHit>true</DestroyOnHit> <OnCast></OnCast> </Spell> 这里有很多内容需要解析,我们现在先忽略大部分内容,但这些标签是最重要的:开头的ID标签,它告诉游戏引擎我们正在编辑什么;名称标签,这是玩家看到的内容,它可以与ID相同或不同;描述标签是玩家看到的描述内容;标签用于告知游戏该事物在游戏中的使用方式,更多内容将在后续章节介绍;元标签似乎是用于在游戏引擎内部,这些内容并非必需。理论上,其他所有内容你都不需要,因为游戏会自动将其余部分填充为空白或0。不过,你可能至少应该添加你的模组所需的标签。我们本打算基于萨芙蓉的武器制作一个示例法术,以下是我们的Spells.xml文件,其中包含我们之前制作的法术,并删减了一些空内容: <?xml version="1.0" encoding="UTF-8"?> <Spells> <Spell itemID="TestModSpell"> <Stats animBlast="BasicCast" animShot="BasicSpell" shotSound="mark_02" cooldown="0.标签:武器 动作:三角枪 描述:以轻微延迟发射3发子弹,可击中自身,穿透建筑 风味文本:M16 法力消耗:0 伤害:10 射击次数:3 作用范围:1格 位置:末端 射击间隔时间:0.




换一换 


























