CMO对战插件:IKE中文手册(1.5)(下载在帖子最后)

用于《指挥:现代行动》

邮件对战/热座对战

剧本制作者手册

软件作者

Nicholas Musurca

翻译 叶含 Cristianwj

V 1.5

什么是IKE?

IKE是用于《指挥:现代行动》任意剧本进行邮件对战(PBEM)或热座对战的插件。允许一位或更多名玩家通过交换.save文件,参与回合制多人游戏。

IKE 能够做什么?

将《指挥现代行动》转变为多人同步对战,每位玩家将能够发布命令,并观察己方部队执行指令

跟踪回合顺序和步长,在玩家回合结束时自动停止剧本

对上回合受到的损失和收到的信息提供总结

支持固定回合长度,或“鱼叉(Harpoon)”风格的可变回合长度(中继回合 vs 战术回合)

添加设定阶段(可选),玩家可以在推演开始前配置挂载、任务和命令

提供密码以对玩家的回合进行保护

为玩家提供预设推荐的“邮件对战”设置,也支持玩家在推演开始时自定义设置

保持一个一致的随机种子,防止玩家通过读档获得优势

禁用编辑器,防止玩家以此作弊(可选)

IKE 是为谁提供的?

IKE主要是为了想要制作新的或既有场景的多人版本的剧本作者设计的,玩家也可以用此将自己喜欢的场景转换为可以与朋友一起进行游戏的版本。

(译者注:请务必确保所有玩家使用的数据库和游戏版本相同)

我该如何使用?

IKE起始提示窗

添加IKE应当是剧本制作的最后一步,一旦IKE被“嵌入”,再对文件进行编辑就变得十分困难。请确保在设置IKE前对剧本文件进行了备份。

提示: 如果你想要把一个既有的剧本转换为“邮件对战”版本时,剧本中的Lua脚本可能需要在插入IKE前进行一些小修改。这一过程可能因剧本而异,更多内容请参考第11页的“ 转换现有剧本的技巧 ”部分。

备份完成后,请通过一下步骤添加IKE:

在编辑器模式下打开剧本(开始菜单界面的“Edit Scenario”)。

打开Lua脚本控制台(菜单 Editor—Lua Script Console )。

在一个单独的文本编辑器里,打开“ ike-min.lua ”文件(见附件),复制内容,粘贴至Lua脚本控制台的空白窗口中。

点击Lua脚本控制台的“ Run ”。此时会弹出IKE的 引导窗口。

回答引导窗口的一系列问题已完成对你的多人游戏的默认设置。选项的详细解释请见下文。

提示: 在IKE引导窗口作出的选择会被用作剧本的 推荐设置 。当然,玩家也可以选择在推演开始前进行改动。

(1)可操作方

第一部分的问题会决定剧本的 可操作方 ,决定哪些阵营可供玩家控制。

提示: 最多可以在加入 九个 可操作方。这些阵营可以互为敌对、盟友(用于合作推演)或者其他剧本支持的更复杂的情况。

(2)回合步长

接下来,玩家可以选择是否使用“固定”或“可变”回合长度

固定回合长度

每位玩家具有相同的模拟时间。这是最简单的对战模式,最适合新手快速掌握,也是短时间高强度剧本(对战双方在距离上比较接近)的最佳选择。

可变回合长度

回合长度将在两种时间长度上改变:中继回合,回合时间较长,用来增加模拟的效率,适用于非战斗状态且双方距离较远。战术回合,回合时间较短,用来处理高强度的作战阶段。

游戏开始时处于中继回合,但是任意一方玩家都能够试其控制需要,在其回合开始时将回合变为战术回合。如果所有玩家均投票同意,游戏随后会变回中继回合。

对于大规模剧本而言,这是一个较好的选择来处理战斗发生之间较长的时间(通过减少玩家间传递存档的回合数),或对于玩过《鱼叉》的玩家更为友好。

当决定了回合类型之后,会被询问确定具体的回合时长。(对于可变回合长度,中继回合长度需要显著长于战术回合的时间长度)

固定回合长度 可变回合长度

提示: “正确”的回合步长应该是什么?这个问题因场景而异,应当通过实验和试玩得出。

对于大多数剧本来说,合适的回合步长应该是 20~30分钟 。对于单位较少的小剧本来说, 8~10分钟 这样更短的步长或许更好。对于持续几天的长剧本而言,或许就需要使用 60分钟甚至更长 的回合步长。

注意不要将回合步长设置得过长——否则一方玩家可能会错过一些重要的行动(这样的情况一旦发生,可能在很短的时间造成严重的后果)。

(3)指挥模式

接下来,玩家将选择 命令阶段 的数量。请注意只有在命令阶段才能发布指令,并且此时时间是暂停状态。一旦玩家命令发布完成,并点击运行按钮,将不能够再发布命令,直到下一个命令阶段。不同于单人游戏,在命令之间玩家将无法微操。最小的命令阶段数量为2,即在回合开始和结束时各有一个命令阶段。

提示:有限指令 模式下,通常较好的做法是每方 每回合执行两个指令阶段 ,双方执行对称的同步回合制(WEGO),此时双方的指令都在同一时间发出。

当然,玩家也可以探索其他的想法。通过为不同阵营设置每回合不同数量的指令阶段,你可以模拟冲突中C3和训练水平对战果的显著影响。

举例:此时你在制作一个假想苏联和北约之间冲突的冷战剧本。回合步长为 30分钟 。你认为虽然苏联拥有数量上的优势,但是他们僵化的条令和较低的训练水平使得他们的军事力量不能达到理想的作战水平。为了实现这一点,你可以选择 有限指令 ,给北约每回合 3个指令阶段 ,苏联 2个指令阶段

此时,在一个回合中,北约 每15分钟 可以下达一次新的指令(即每回合三次),苏联则为 每30分钟 (即每回合两次)。通过在控制上的不利,苏联在数量上的优势被抵消。

(4)清除现有任务

(可选)如果现有的可操作阵营已经有一些任务设置,IKE可以提供选择是否自动清除这些任务。

(5)设置阶段

可以选择是否为玩家加入 设置阶段 。设置阶段为每各玩家提供了一个“第零回合”:在这一回合玩家可以设置任务和条令以供在对手回合执行。

强烈建议在大多数情况下都加入设置回合。

(6)哪方先行

决定每回合哪一方 先行 。先行的玩家能够在一回合中先执行命令,在剧本中提供一定的优势。应当慎重决定先行方。

(7)限制编辑器模式

最后,决定玩家在推演结束前是否能够能够在 编辑器 中打开邮件对战剧本。这样可以防止玩家查看对手的力量甚至直接作弊。但是这也使得剧本丧失了在中途修改的灵活性,即玩家在发现错误后能够尝试不同的内容。

如果你只是想和朋友进行一些休闲的推演,你可能会拒绝这一功能。但是如果你想要测试自己的能力或者在互联网上与陌生人对战,那么最好打开这一功能。就像罗纳德·里根说的:“听其言观其行(Trust, but verify)”。

提示: 《指挥:现代行动》的亮点之一在于其卓绝的可变性:玩家可以在编辑器中查看和修改几乎任何场景。因此对于编辑器的限制应当非常谨慎,只在有明确意义的情境下使用(如邮件对战剧本的对抗中)。 不要滥用这一功能!

(8)完成

当所有的问题回答完毕后,最终的提示窗口将会出现表示IKE已经成功设置完成。此时请立刻保存剧本并命名新名称(如果你想要将支持邮件对战的剧本上传至Steam创意工坊,也请在此时进行,不要关闭窗口)。

在开始新的邮件对战剧本时,玩家应选择 “开始新游戏(Start New Game)” 并从菜单中选择剧本。然后设置自己的密码,先行方执行第一回合或设置阶段。当回合结束时,玩家会收到通知,提示其保存剧本存档并与其他玩家进行交换。

建议: 应当在材料中指出玩家必须开启 特殊消息弹窗(Game Options—Messge Log) 。此时IKE才能够正常运转。

可选(推荐)操作

在运行IKE前,确保所有的可操作方在阵营设定中的 “Side is computer-only” 处于 关闭 状态。否则在剧本开始时玩家将无法看到简报内容。

在运行IKE后(保存剧本前),注意命名为“------------”和带有括号的阵营。这些是由IKE创建的功能阵营,应当设置为对玩家不可见。选中这些阵营后,将 “Side is computer-only” 设置为 开启 (勾选)。之后这些阵营会在简报界面被隐藏。

如果玩家想在设置阶段执行自定义的行动(例如:使所有己方玩家的飞机按照设定的挂载准备就绪),需要撰写一个事件函数,使得能够自动在阶段结束时调用语句。在Lua语句中简单的加入下列模板即可。

转换现存剧本的技巧

当调用现有剧本的Lua函数时,应当注意玩家不再只操作一方。因此在设置 特殊消息 时,应当注意明确指出阵营名称,而不仅仅是“ 可操作方”

举例:

–solo version (bad)

ScenEdit_SpecialMessage(“playerside”, “You’re in trouble now!”)

–multiplayer version (good)

ScenEdit_SpecialMessage(“Soviet Union”, “The Americans are in trouble!”)

ScenEdit_SpecialMessage(“United States”, “You’re in trouble now!”)

在发送消息时,不需要担心哪个玩家正在进行自己的回合。如果剧本将特殊消息发送给了当前没有进行的阵营,消息将会被保存并在下回合显示。如果你知道此时正在进行回合的阵营(例如在特定时间播放一段音乐时),可以使用 ScenEdit_PlayerSide()。

举例:

– only the Soviet player should hear the telex sound

If ScenEdit_PlayerSide() == “Soviet Union” then

ScenEdit_PlaySound(“telex.mp3”)

end

许多单人剧本会在初始单位和时间上进行一定的随机设置, 不要在邮件对战剧本中进行这样的设置!

以下是建议的替代方法:将所有的初始处置设置一个触发器来激活,确保单位不会在每次加载时随机位置,并将事件设置为INACTIVE(未勾选),在第一次运行IKE是检查事件使其变为ACTIVE(勾选),运行IKE然后保存。(请确保 IS REPEATABLE 未勾选,使得时间仅在剧本加载时执行一次。)

示例:

在过程中,保持未选中

仅在加入IKE前勾选

如果这样太复杂,那么你可以创立一个PBEM_OnInitialSetup函数,在这一函数中执行所有的初始行动(action),同时通过ScenEdit_SetKeyValue(“PBEM_INITIALSETUP”, “1”)将其寄存。IKE会在开始或设置阶段前自动执行这一函数。

模板:

function PBEM_OnInitialSetup()

– add pre-setup initialization code here

– shuffle units, send some initial messages, etc.

end

ScenEdit_SetKeyValue(“PBEM_INITIALSETUP”, “1”)

最后,如果剧本代码调用了调整剧本时间函数ScenEdit_SetTime(…),那么几乎必然会触发反作弊系统。今此应当尽量避免在剧本中使用Lua改变时间。

致谢

感谢下列在人员在IKE开发中的帮助:

Contributing Designers

Jorge Arraya

CaseyCalloway(Yooper)

Miguel Molina

nukkxx

Rak1445

Peter Robbins

WM2K

Testers

Jorge Arraya

Canof Whoop

CluckSalad

nukkxx

WM2K

Scenario Authors

cristianwj

Eskild

Miguel Molina

Mike Mykytyn

Ragnar Emsoy

Revan227

Translators

cristianwj

GolasYH (叶含)

Jorge Arraya

nukkxx

Programming Assistance

KnightHawk75

michaelm75au

Paul The Wolf

Special Thanks

All of the Command:

Modern Operations developers for their

ongoing tireless work!

IKE uses somes code from the following MIT-licensed projects:

● LuaBit by hanzhao

● Lua MD5 by Adam Baldwin

Questions? Comments?

Thank you for using IKE! If you have comments, sugg estions for new features, or bug reports, please send them to nick.musurca@gmail.com. I’ll do my best to address them as soon as possible.

Licensing & Source Code

IKE is licensed under the GNU GPLv3 , a free and permissive open source license that allows you to do whatever you want with it, as long as you provide source code for any modifi cations you make. Th e full text of the license is included with this release.

The unminified source code for IKE, along with instructions for building it, are available on GitHub here:

IKE 中文手册 1.5版本(fix).zip (745.2 KB)

4 个赞