查看文章 |
(个人翻译,转载请注明) 2.2章 Mission.sqm 任务文件 这个文件中包括了所有在地图上显示的如物体、单位、触发器、路点及标记的位置,所以应该算是最重要的任务文件了。这个文件的开头部分还包括了其他一些信息,如插件、任务名称、天气和时间。 这些解释对于刚接触的玩家来说可能难以理解,不要被吓到。你并不需要理解Mission.sqm中的每一个部分,但知道其作用还是很有意义的。
The first part 第一部分
![]()
在上面的图例中我们能够看到Mission.sqm的第一部分,也就是Class Mission部分,位于整个文件的最上方。首先写到的是需要用到的插件,图例中写到的是武装突袭的原始插件。 注意!当编辑任务时,如果载入了一个外部插件,而这个插件的Config.cpp并没有进行正确的设置,那么这个插件虽然没有用到,但也会被记录到脚本中,这时候就会出现问题。当别人想玩这个任务时,如果他没有安装这个插件,就会导致任务无法启动。这个问题在闪点时期很突出,经常有很多任务或战役下载以后玩不了,无奈只能玩别的。解决的方法其实很简单,我们只需要用记事本打开Mission.sqm,把没有使用的外部插件删除即可。 在插件的下方是任务信息的脚本,包括: Briefing name:任务名称 Resistance settings:抵抗军跟谁哥俩好 Starting weather:开始时的天气 Forcasted weather:预报的天气 Forcasted fog:预报的雾浓度 Distance of view:可视距离 Date:日期 Time of day:时间 在Class Mission下面输入的就是Class Intro(片头动画)、Class OutroWin(片尾动画—胜利) 和Class OutroLose(片尾动画—失败),这一部分和Class Mission的格式是一样的。单位、路点等按照各自的顺序写在这里。 我们可以直接修改Mission.sqm文件,但改的一定要正确。如果编辑者想要在稍后测试有变动的Mission.sqm文件,就需要重新载入。 如果载入失败,就说明脚本存在问题。所以,备份一个原始的、能够运行的Mission.sqm文件是十分必要的事情。
Units- and object classes 单位和物品部分 Class Groups和Class Vehicles都属于Class Mission部分。在这些部分中列示的是相关的单位、物品及路点:
所有关于单位的信息都显示在这里,下面是解释(按照从上到下的顺序): Items=22:地图上所有组的数量。 Class Item0:地图上放置的第一个组(应该是按编辑者的插入顺序排列的),第二个组会命名为Class Item1。 Side:属于哪一方。即使是一个单位在这里也被认定为组。 Class vehicles:告诉编辑者这是一个单位(而非路点或触发器等) Items=1:Class Item0这一组中单位的数量 Class Item0:这里的Class Item0表示组中的队长,组中其他单位按级别向下排列,如副队长Class Item1,然后Class Item2、Class Item3…… Presence:出现在地图上的概率(非玩家使用单位!) Position:单位的坐标 Azimut:单位面对的方向(数值从0到360) ID:单位的ID Side:属于哪一方 Vehicle:单位的类型 Player:表示该单位为玩家 Leader:表示该单位是否为组领导 Skill:单位的技能(数值从0到1) Health:单位的生命值状况(数值丛0到1) Ammo:单位的弹药状况(数值从0到1) Text:单位的名称(可以改变) Init:也就是单位命令栏里的内容,如图例中表示给该单位加配一副望远镜
Waypoint classes 路点部分 路点的内容都位于与之相关的单位或组的下方。这一部分的格式与单位有些相似,但内容不一样:
大家能够看到,每一个路点的信息都详细的包含在这里,所以路点之间的信心不尽相同。编辑者应该知道如何设置它们。以下是解释: Items=1:显示这一组中路点的数量 Class Item0:表示这是这一组中的第一个路点,第二个为Class Item1,第三个为Class Item2,依此类推。 Position:路点的坐标 Placement:路点随机放置范围 CombatMode:该组在这一路点的战斗状态 Formation:该组在这一路点的队形 Speed:该组在这一路点的行进速度 Combat:该组在这一路点的路点类型 Description:在游戏中显示的路点的信息 ExpActiv:路点的On Activation(执行命令栏),会在触发器触发后执行。在图例中,一个命名为script.sqs 的文件将在这里执行 TimeOutMin:启动路点的最短时间 TimeOutMid:启动路点的中等时间 TimeOutMax:启动路点的最长时间 ShowWP:设置路点是否在游戏中显示
Marker Classes 标记部分 在单位和各自的路点后面是标记部分。所有地图上的标记都会在这里显示,下面是图例:
以下是解释: Items =28:显示地图上标记的数量 Class Item0:表明这是第一个标记,第二个为Class Item1,,第三个为Class Item2,以此类推 Position:标记的坐标 Name:标记的名字 Text:在地图上显示的对标记的描述 Type:标记的符号,如图例中就是“Flag” a:标记的大小(X轴) b:标记的大小(Y轴) Angle:标记的角度(立体范围)
Trigger Classes 触发器部分 触发器部分就在标记部分的后面。所以地图上的触发器都用这种脚本来表示:
Items=53:显示地图上触发器的数量 Class Item0:表示这是第一个触发器,第二个为Class Item1,第三个为Class Item2,以此类推 a:触发器的大小(X轴) b:触发器的大小(Y轴) ActivationBy:触发器启动的单位条件 TimeOutMin:触发器启动的最短时间 TimeOutMid:触发器启动的中等时间 TimeOutMax:触发器启动的最长时间 Age:触发器触发效果 Name:触发器的名字 ExpCond:设置的触发器条件。图例中:条件变量Var1 ExpActiv:触发器的命令执行栏,在触发器触发的同时执行。在图例中:一个叫做Script.sqs的文件会随着触发器的触发的同时执行 ExpDesactiv:触发器的命令取消栏,与上面的相反,可以将执行的命令取消。在图例中:一个叫做animation-end.sqs的文件将被执行
|






