
这是一份简短指南,将帮助玩家使用官方游戏编辑器 TABEditor 为《亿万僵尸》创建自定义关卡。本指南是官方指南的翻译版本。 以下是英文官方指南:官方指南。 启动编辑器 有两种启动编辑器的方法:在游戏主菜单中,进入“更多”=>“启动编辑器”。或者只需在启动游戏时按住 SHIFT 键,编辑器就会自动启动。 创建用户关卡

新用户等级 在“编辑器”菜单中点击“创建”以新建项目。 填写项目基本信息(关卡名称、描述等)。 您还可以为您的关卡选择预览图片(用于游戏内和创意工坊)。 难度 选择您认为与您的关卡相匹配的难度。这将影响最终的评分系数。项目保存 在游戏菜单中,使用“保存”或“另存为”选项来保存项目。项目必须保存到以下文件夹: Documents My Games They Are Billions Projects 重要提示:请在项目文件夹中为每个项目创建单独的文件夹。提交用户关卡时,与项目文件(.TABProject)位于同一文件夹中的所有资源文件(pngs、jpgs、音频)都将被复制到用户关卡中。因此,请为每个项目创建单独的文件夹,以避免资源之间的混淆。例如,如果您要创建一个名为“Mega Swarm”的自定义关卡,项目文件应如下所示: “Documents My Games They Are Billions Projects Mega Swarm Mega Swarm.TABProject” “Documents My Games They Are Billions Projects Mega Swarm Header.png” “Documents My Games They Are Billions Projects Mega Swarm EventWorkersOnStrike.png” ... 提示:请定期保存您的项目。由于编辑器仍处于测试版阶段,可能会出现一些问题。 重要提示:请先查看所有提示以获取更多信息。在编辑器中,您会找到多个带有此符号[?]的黄色矩形。将鼠标指针悬停在它们上面,即可快速获取有关该部分的帮助信息。 创建地图 创建地图首先选择地图属性:主题、难度和地图创建类型。主题 您可以为关卡选择特定主题,或者允许玩家在游戏开始时选择一个。 在这种情况下,地图类型将影响评分因素。 地图生成 您有两种创建地图的方式:手动和随机(Manual and Random)。 随机创建(Random) 当选择随机生成时,玩家开始新游戏时会生成一张通用的生存地图。它将使用所选的主题(Theme)和感染人口(Infected Population)数值创建。在此选项中,您只需指定事件等级(Level Events)(群体/swarms...)和叙事(Narrative)(场景/脚本)。这是为玩家在生存模式中创造不同游戏体验的非常有用的选项。如果您选择了随机地图,可以跳过本部分的剩余内容。注意。在随机生成的地图中,只有地理环境和受感染人口会像普通生存游戏一样生成。但是,关卡事件(如尸潮、胜利条件等)不会生成,因此你需要自行设置这部分内容。 手动创建(Manual Creation) 在此模式下,你可以手动创建整张地图(包括地理环境、各类物体等)。创建地图有两种方式:“实体模式”(Entities Mode),在此模式下可以手动在地图上创建和编辑对象;以及“绘画模式”(Painter Mode),这是一种非常快速的直接在地图上绘制地理环境和受感染人口的方式。 对象管理部分(Entities Management Section)

在这里您可以手动创建对象并编辑其属性。 游戏中的每个元素都是一个实体,例如单位、建筑、装饰物…… 若要快速编辑地图地形或添加受感染人口,请使用画笔模式。 实体列表 在这里您可以管理手动添加到地图上的对象。 您可以显示所有对象,或按所选模板筛选它们。- 左键点击 => 选择对象。 - 双击 => 选择对象并将其在地图上居中显示。 - 右键点击 => 显示上下文菜单。 - 【Delete】键 => 删除选中的对象。 注意1:指挥中心是生存模式中必需的,因此无法删除或复制。注意2:空白地图默认配备对象生成器(N、S、E、W),以便于确定集群位置,但您可以根据自己的意愿对其进行编辑或替换。 对象可以有多个配置参数,请使用其上下文菜单中的“编辑”(Edit)参数来查看/修改其属性。例如,生成器标识符、将区块设为精英……实体创建 点击此处可将所选模板的对象添加到地图上。 您可以直接在地图上使用CONTROL + 左键点击轻松创建对象。 对象模式(Entities Mode)下的地图编辑器操作 以下是您可以在地图编辑器中直接执行的主要操作。 - 点击对象上方的鼠标左键以选择该对象。- 您可以直接移动对象,方法是点击并拖动所选对象的绿色圆圈。 - 双击可选择对象及其模板。 - 按住鼠标右键并拖动鼠标,可移动编辑器视角。 - 在对象上点击鼠标右键,可显示其上下文菜单。 - 按【Delete】键可删除所选对象。- 若所选物体可旋转(例如大门),请按【TAB】键旋转该物体。 “画家模式”(Painter Mode)

在绘画模式下,您可以非常轻松快速地编辑地图的以下方面: - 地理:山脉、森林、地形、矿产资源…… - 受感染人口。 操作方法 要在地图上绘制,您只需选择铅笔,然后使用【左键】直接在地图上绘制。 - 每个系统都有不同的图层:地形(Terrains)、物体(objects)、感染者(infected)。- 每个图层都有其专属的地图绘制铅笔。 - 您可以通过勾选每个图层左侧的选项来显示/隐藏不同图层。 - 您还可以选择铅笔的宽度和形状。 - 若要擦除图层上已绘制的部分,请使用组合键【ALT】+【鼠标左键】。 一旦您返回实体模式(Entities Mode),地图将自动更新,此过程可能需要几秒钟。地图编辑器画家模式(Painter mode)操作指南 以下是您可在地图编辑器中直接执行的基本操作。 - 按住鼠标左键并拖动,使用所选铅笔进行绘制。 - 按住鼠标右键并拖动鼠标,移动编辑器视角。 - 按住鼠标左键 + ALT 并拖动,擦除当前图层。 提示与建议 - 先进行地图的地理布局工作。一旦您对此满意,就从手动实体(manual entities)开始。 - 把受感染的居民留到最后处理。地图上受感染的居民过多会严重影响编辑器的性能,因此请在处理完所有其他部分后再使用感染铅笔(Infected Pencils)。 关卡事件(Level Events) 关卡事件

事件系统是游戏关卡不可或缺的一部分。事件用于:启动感染群体。判断游戏何时胜利或失败。执行用户脚本。特殊操作,例如:显示完整地图或将所有感染者送往殖民地。添加和删除事件。点击+和-按钮,以添加或删除列表中的事件。事件规划 对于每个事件,你需要设置:事件在何时(哪一天)触发。 可以触发多次还是仅触发一次? 事件触发时会发生什么? 要定义事件,请在右侧填写事件属性。每个字段都有自己的说明,显示在底部面板上。建议:若要展开或折叠类别或属性,请双击元素图标。 时间语法 游戏时间可以以天或小时(游戏殖民地时间)为单位指定。若要使用天,只需在数字后添加符号“d”:“4d” = 4 天。 若要使用小时,请使用符号“h”:“8h” = 8 小时。 您还可以指定如 2 天 8 小时这样的时间:“2d 8h”。生成器语法 当您指定事件在启动时生成单位(被感染单位)时, 您必须指定将从中生成单位的生成器。 生成器在“地图”部分中定义。默认创建了4个生成器:N、S、E、W。 您只需编写生成器名称标识符,后跟AND运算符或OR运算符。使用“或”运算符时,游戏会在事件触发时随机选择使用哪个生成器。示例:单位必须仅在生成器N上生成:“N” 单位必须在生成器N和S上生成:“N和S” 单位必须在四个生成器中的一个中随机生成:“N或S或E或W” 单位必须从生成器N和S或E和W生成:“N和S或E和W”场景(Scripts)尽管事件通常用于生成集群,但您也可以使用它们来运行用户自定义场景(显示消息、提供殖民地资源……)。有关更多信息,请参见脚本(Scripts)部分。 叙事(Narrative) 游戏叙事

您可以通过添加一些叙事内容来提升关卡质量,这些内容将在游戏的特定部分展示给玩家。在这里,您可以为主要游戏事件设置脚本:游戏开始时、游戏胜利时、游戏失败时。建议至少在这些事件中显示消息,以便向玩家介绍关卡。笔记 要在游戏的特定时刻运行脚本,请使用事件系统。 要在单位到达特定区域时运行脚本,请在地图编辑器中使用“地图消息事件”实体。 有关脚本的更多信息,请查看脚本部分。 自定义命令(Custom Commands)

在本部分中,您可以为指挥中心创建自定义按钮。该按钮将与其他命令一样以按钮形式显示。您可以在此处设置玩家点击按钮时要执行的脚本。这还有一个好处,就是能让玩家按照您期望的方式与您的关卡进行互动。例如,玩家可以打开贸易中心、与其他殖民地进行对话、经济管理中心或政治中心……要显示按钮,您只需为其指定标识符。如果标识符为空,按钮将不会显示。 与其他任何命令一样,您还有几个参数可用于对其进行设置: 名称和描述 可自定义的名称和描述,用于在按钮的悬浮提示中显示。 可见性 您可以通过ZXCode状态来设置按钮何时可见。可用性 您可以使用ZXCode条件来设置按钮何时启用或禁用、何时可见。您还可以在按钮禁用时显示自定义文本。 显示计数器 您可以通过设置返回数字的表达式来显示计数器。例如,如果您想限制按钮的使用次数并显示剩余使用次数,就可以这样操作。资源成本 您可以设置资源成本,该成本将在命令激活时支付。如果玩家没有足够的资源使用该按钮,按钮将自动禁用。 场景(Scripts) Scripts

脚本是按顺序执行的一系列操作。脚本可以通过关卡事件或其他特殊游戏事件来触发(参见游戏叙事 Narrative)。借助脚本,你可以显著提升自身水平,还能创造出内容极为丰富的故事以及专门的新机制或给玩家的惊喜。未来更新中将增加更多可用操作。以下是您当前可以使用的部分操作:向玩家显示消息。为殖民地添加/移除资源。为殖民地提供 bonus buildings(额外建筑)或分支部门。向殖民地提供科技。感染随机房屋。从生成器生成单位。显示玩家将选择的参数集。执行随机操作。脚本动作的创建与管理 每种动作类型都有其自身的参数集。首先选择您想要添加的动作类型,然后点击“+”按钮。 使用“-”按钮删除所选动作。 使用▲和▼按钮来更改同一模块内动作的顺序。嵌套动作(Nested Actions) 某些动作,例如“随机动作”“模块”或“选择”,可能包含嵌套(子)动作。当您创建新动作并选择可以包含子动作的动作时,该新动作将创建在所选动作内部。使用◀按钮可将所选动作从当前块中移出。使用▶按钮可将所选动作放入下一个/上一个动作块。动作属性每个动作都有其自身的属性。参考消息将显示在动作属性下方,用于描述动作的每个参数。 循环(Loops)有两种用于控制循环的动作:循环(Loop)和退出循环(Exit Loop)。循环会无限执行其子动作,直到执行退出循环动作。这对于创建带有“返回/退出”选项的复杂菜单或对话系统非常有用。 注意:使用循环时请小心。如果您忘记添加“退出循环”操作,脚本将永远不会结束,您必须通过按下ALT + F4来关闭游戏。 测试您的关卡 在发布您的关卡之前,您必须在本地对其进行检查。这非常简单。只需使用“生成关卡”菜单选项,用户关卡就会创建在此文件夹中:Documents My Games They Are Billions CustomLevels。然后启动《亿万僵尸》,在游戏主菜单中依次进入:新游戏(New)=> 自定义关卡(Custom Level)。在下一个屏幕上,你会找到所有已订阅的关卡[STEAM]以及CustomLevels文件夹内的所有本地关卡[LOCAL]。你可以从那里开始游戏并像往常一样游玩,以测试关卡。您也可以保存游戏进度,之后从“继续游戏”(Continue)设置菜单中加载。 注意 地图、关卡事件和场景均保存在游戏存档文件中,因此如果您在编辑器中对其进行了修改,需要开始新游戏才能使更改生效。 在创意工坊发布您的关卡 发布关卡前,请先在本地进行测试,确保一切都能按预期运行。请查看“测试您的水平”部分。

请确保Steam客户端正在运行并已连接到互联网。您可以选择您的工坊可见性:公开、隐藏或仅好友可见。点击发布按钮以上传您的关卡。如果需要,您可以添加更新日志备注。物品上传后,您可以前往该物品的Steam创意工坊页面。在那里您可以添加更多图片、描述、指南、讨论……就像Steam创意工坊的其他任何元素一样。当物品公开发布后,它将对整个社区可见,任何玩家都可以订阅你的关卡来游玩。字符串、本地化和随机文本

您可以更高效地管理用户关卡中使用的文本字符串,并支持多种语言的本地化。这对于具有丰富叙事内容的关卡非常有用。例如,您可能有多个消息中使用了相同的字符串(例如“来自邻居的礼物!”)。如果您想修改此文本,就必须在所有出现该文本的地方进行更改。使用此方法,您只需输入标识符(例如“@GiftTitle”),实际文本将存储在单独的CSV文件中。请将您的文本放入CSV文件,在与项目相同的文件夹中创建一个名为Strings.csv的文本文件。提交关卡时,此文件将与其他所有资源一起包含在内。此部分面向有经验的用户。您可以使用Excel或任何其他电子表格应用程序,或者直接使用记事本来编辑Strings.csv文件。CSV文件结构CSV文件是一种格式化为表格的文本文件。每一行代表一条记录,每一列由“;”或制表符分隔。第一行是列名。请将标识符用作第一列。在本列中,您需要填写与您用户关卡中使用的相同标识符。我们建议使用@符号,使其更易于识别。其他列是您希望对自己的关卡进行本地化的语言。您可以使用一种语言,也可以使用游戏中可用的所有语言。请使用国家代码作为列名。例如,如果您想支持英语和西班牙语,CSV 文件将大致如下所示: ID; EN; ES @GiftTitle; 来自邻居的礼物!; ¡Un Regalo De Tus Vecinos! @Welcome; 欢迎来到殖民地; Bienvenido a la colonia.在脚本中输入的所有文本中,当游戏检测到这些标识符之一时,它将替换为与玩家语言对应的文本(如果可用),或者使用英文记录(如果有),或者如果没有第一种可用语言的话。这包括脚本操作中的所有文本,以及关卡名称和信息标签描述,因为它们也会在Steam上以玩家的语言显示。语言代码:英语=EN、西班牙语=ES、德语=DE、俄语=RU、法语=FR、韩语=KO、意大利语=IT、日语=JP、巴西=BR、葡萄牙语=PT、波兰语=PL、简体中文=CHS、繁体中文=CHT。随机文本:您可能希望显示随机文本以丰富故事内容。为此,您可以轻松获取想要添加更多文本的记录,例如“@WelcomeText”,并添加多个标识符以同一字符串开头的记录。例如:“@WelcomeText1、@WelcomeText2……”。当游戏找到多条以同一标识符开头的记录时,它会随机选择一条。通过这种方法,您可以节省大量时间,无需在脚本中创建大量随机操作,只需提供不同的文本,您可以创建一个脚本并在csv文件中添加多条记录。借助随机文本,你可以丰富叙事内容,在每一局新游戏中给玩家带来惊喜。例如,酒店里的周期性传闻、来自其他殖民地的新闻、殖民地内的事件等等。建议:善待你的受众。英语必须是必备语言。要知道,大多数非英语国家的玩家都能很好地理解英语并欣赏你的水平。如果您的母语已包含在游戏中(例如意大利语),请将其添加到您的关卡中(英语除外)。这对以该语言为母语的玩家来说将非常有价值。 中文、日文和韩文可能较难翻译,但即使是这些语言的自动翻译也可能聊胜于无,这些玩家也能享受您的关卡。 此外:变量和函数(ZXCode) 注意。

С языком ZXCode вы можете добавить гораздо больше функциональности в сценарии и события. Вы задаете сложные условия для запуска действий или событий, а также управляете своими собственными игровыми переменными. Все действия теперь имеют два новых параметра: Условие и Код выполнения. События также имеют параметр Condition. С этими новыми элементами вы можете реализовать гораздо более сложные игровые механизмы для ваших уровней. Примеры: Дерево политической системы, управление счастьем колонистов, выбором и последствиями решений игрока, управление торговлей с иностранными колониями, индивидуальные цели, чтобы выиграть или проиграть игру ... Чтобы достичь этого, мы создали простой язык с синтаксисом, похожим на c #, c или c ++. Пример: MyVariable = Колонисты + Рабочие (Colonists + Workers) * 10; (Count(Unit) >= 100 && Count(Wonder)>=3) || IsDead(Bob) В коде вы можете ссылаться на любую игровую переменную или функцию и свои собственные переменные. Список игровых переменных и функцийНа странице перечислены все переменные и функции. Выберите один, чтобы увидеть помощь выбранного элемента. Также у вас есть список символов для сущностей, так как необходимы некоторые функции. Например, для функции Count (Entity) необходимо передать тип объекта, выбрав один из доступных в списке символов. Пример: «Count (Ranger)» возвращает количество живых рейнджеров в игре. Примечание: список переменных и функций будет расширяться с будущими обновлениями, время от времени проверяйте список, чтобы увидеть изменения. Задание условий для запуска действий или событийСобытия и действия теперь имеют новый параметр с именем Condition (ZXCode), где вы можете написать пользовательское условие, используя ZXCode. Если условие действия ложно, то действие и его дочерние элементы не будут выполнены. Для условий вы можете ссылаться на любую функцию, число, пользовательскую переменную или игровой символ и использовать любую комбинацию с операторами и круглыми скобками. Операторы доступны:==Comparator Equal: "Days == 100". Only true if the current day is 100. Истинно, только если текущий день равен 100. !=Comparator Not Equal: "Days != 100". True for all days except 100. Компаратор не равен "дни !=100". Правда для всех дней, кроме 100. >Comparator Greater than: "Days > 100". True for days 101, 102... Дни> 100. Правда для дней 101, 102... >=Comparator Greater than: "Days >= 100". True for days 100,101,102... Правда для дней 100,101,102 .. <Comparator Lesser than: "Days < 100". True for days 99, 98,... Компаратор Меньше чем: «Дни <100». Правда на дни 99, 98, ... <=Comparator Lesser or equalthan: "Days <= 100". True for days 100, 99, 98... Компаратор Малый или Эквивалентен: «Дни <= 100». Правда для дней 100, 99, 98 ... &Logical And: "Days>=100 & Days<=103". True for days: 100, 101, 102,and 103. Верно для дней: 100, 101, 102 и 103. |Logical Or: "Days<=5 | Days ==100". True for days: 0,1,2,3,4,5 and 100. Правда для дней: 0,1,2,3,4,5 и 100. !Logical Not: "!IsDead(Bob)". True if Bob is not dead. Верно, если Боб не мертв. +, -, *, / Arithmetic operators : "Gold > (Workers * 2 +10)". True if the gold reserves are greater than the number of workers multiplied by 2 plus 10. Арифметические операторы: «Золото> (Рабочие * 2 + 10)». Истинно, если золотые запасы превышают количество рабочих, умноженное на 2 плюс 10.ПримерВыиграйте игру, когда в колонии 10000 человек: просто создайте событие, проверьте параметр Game Won и установите условие: Colonists >= 10000Дайте бонус игроку, когда в его армии 100 солдат и 100 снайперов: (Count(Soldier) >= 100) & (Count(Sniper) >= 100)Проиграйте игру если солдат герой с NameD = "Боб" мертв: IsDead(Bob)Выиграйте игру, когда все Doom Buildings будут разрушены: Count(DoomBuilding) == 0Торговец продает Титан в колонию за 1000 золота и 50 единиц железа, но только если у вас есть ресурсы: Gold >= 1000 & Irons >= 50Объявление и использование пользовательских переменныхНа этой странице вы можете создавать свои собственные переменные, которые вы можете ссылаться в своих скриптах ZXCode. Используйте кнопки [+] и [-] для добавления или удаления переменных. Чтобы редактировать переменную в списке, дважды щелкните по ней. Вы можете изменить их значения в параметре Выполнить код (Execute Code) действий. Каждое предложение должно заканчиваться символом «;» персонаж (';' character):Happiness += 5; Sadness -=5; EndGameWon(); Например, представьте, что вы хотите контролировать счастье колонистов, вам просто нужно создать переменную «Счастье» ("Happiness") с начальным значением 10 (например). А затем вы показываете пакет опций, который в зависимости от выбранного, это значение будет меняться:Menu Option: "Put children to work (Workers+100)" - Опция меню: «Отправьте детей на работу (Работники + 100)»Happiness = Happiness - 5; // or just: Happiness -= 5;Menu Option: "Deliver extra food for the colonists (Food -50)" - Вариант меню: «Доставить дополнительную еду для колонистов (Еда -50)»Happiness = Happiness + 2; // or just: Happiness += 2;Menu Option: "Increase colonists tributes (Gold+1000)" - Опция меню: «Увеличить дань колонистам (золото + 1000)»Happiness = Happiness - 2; // or just: Happiness -= 2;А в будущих действиях вы можете использовать Счастье в условиях других действий, например:Состояние:Happiness > 20«Ваши счастливые колонисты хотят построить Победоносца в вашу честь». (Подарок: победоносное чудо) ("Your happy colonists wants to build a Victorious in your honor." (Gift: Victorious Wonder)) Состояние:Happiness < 0«Ваши грустные колонисты ненавидят своего командира и покидают колонию». (Рабочие-200, колонисты-500) ("Your sad colonists hate their commander and leave the colony." (Workers-200, Colonists-500)Использование выражений ZXCode в игровых текстахВы можете включить выражения ZXCode в тексты игры (оконные сообщения, опции ...). Для этого просто используйте код внутри {} символов. Например в окне сообщения Тексты или Заголовки (Texts or Titles). Пример:"The number of walls is: {Count(Wall)}." «Количество стен: {Count (Wall)}.»"The Colony Happiness Level is: {Happiness}." //Happiness is a user variable previously declared. «Уровень счастья в колонии: {Счастье}». // Счастье - это объявленная ранее переменная пользователя. Авторы и локализация Авторы оригинального руководства и само оригинальное руководствоNumantianGames: Ссылка. Gomez: Ссылка. Mike Numantian: Ссылка. Оригинальное руководство на английском языке: Ссылка. ЛокализаторERAGON: Ссылка .
2026-02-13 11:30:40 发布在
They Are Billions
说点好听的...
收藏
0
0
