已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OFP编辑器使用教程(入门篇)首先申明:这篇文章是SAM的谢邪所写OFP编辑器使用教程(入门篇) 第一部分单位让我们先来熟悉一下编辑器的界面。请注意,顶端的按钮旁边括号内的是快捷键,例如按F1键放置单位。你可以使用鼠标和键盘来移动地图。方法是按住鼠标右键,向各个方向移动地图;用鼠标滚轮来放大或缩小地图。也可以用数字键盘上的方向键来移动地图,用“+”、“-”来放大和缩小。下面让我们通过一个任务的实例来学习编辑器的使用方法。现在进入第一个地图,在地图上找到叫做ENTRE DEUX的村庄。沿着Entre Deux的道路向东不远有一个农舍,这是我们的行动将发生的地方。我们需要做的第一件事情是进行一些安排;然后进行预演,看看一切都是否正常地运行。先在农舍附近找一个你认为适当的地点,在屏幕的最上边选择单位(UNITS)(F1)。在你想放置单位的地方双击鼠标左键。你将看见出现一个新的窗口单位窗口。在单位窗口中你可以设置单位的特征,窗口中第一个选项是阵营(SIDE):默认为WEST,你可以看到这个单位的特性一览表。让我们试试改变一下阵营选择EAST。你还可以设置种类(TYPE):默认的设置是一个人(MAN):也可以是战车或者飞机。控制选项(CONTROL):默认为你第一个设置的单位是可控制的(PLAYER)。你也可以有另两项选择,一项是不可控(NON PLAYABLE),意思是指单位由计算机控制 ,另一选项是专为网络游戏设置的(PLAYABLE)。信息时限(INFO AGE):默认为未知(UNKNOWN),并且,你通常不需要更改这个选项(我也不知道有什么作用)。车辆锁定(VEHICLE LOCK):通常为默认值,非常难得需要更改。军衔(RANK):让我们选一个比士兵(PRIVATE)更高的军衔。我们选择上尉(CAPTAIN),但是,它并不真的重要在这次行动中我们将用在自己身上。单位(UNIT):你可以选狙击手(SNIPER)我们打算策划一个从远处消灭敌人的行动。特殊(SPECIAL):通常为无(NONE)。在无必要的时候不用改变它,应该如何使用后面会说明。名字(NAME):给这个单位命名。在游戏中看不见这个名字,它是为了单位之间相互作用而使用的变量名,我们叫它“aP”。以后提到“aP”就是指这个单位。角度(AZIMUT):另一个需要变动的是单位出场时面对的方向。在圆圈的左侧单击,取大约250度角。作好后,点击OK。你可以看见屏幕的右边出现一个新的选项观看(PREVIEW)。现在单击它然后你将进入游戏。检查一下你的位置是否令人满意,然后,退回编辑状态按ESCAPE,选择ABORT,然后选择CONTINUE。如果需要你可以用鼠标左键拖动它来选择新位置。下一步我们将布置敌人的小队。在顶端选择小队GROUPS(F2),在Entre Deux附近双击左键。在小队窗口里,选阵营SIDE=西方WEST,类型TYPE=步兵INFANTRY,其他设置不变。选择OK,这将在地图上设置一个敌人的小队,其中包括一名军官Officer,一名机枪手machine gunner,一些士兵和反坦克火箭兵LAW soldier。在他们之间的蓝线表示全部士兵都听从军官指挥。现在让我们给他们一辆运输工具。再次选择单位UNITS,双击小队附近的道路。在窗口中选:阵营SIDE=西方WEST,类型CLASS=汽车CAR,军衔RANK=少尉CAPTAIN,类型UNIT=5吨卡车5T TRUCK,特殊SPECIAL=无NONE,名称NAME=westcar,角度AZIMUT=140。当你放好汽车的时候,你会注意到小队通过蓝色的线与卡车连了起来。在狙击手的附近农舍后放置另一个汽车。汽车的设置:阵营SIDE=空EMPTY,类型CLASS=汽车CAR,单位UNIT=吉普车UAZ,特殊SPECIAL=无NONE,名称NAME=uscar,角度AZIMUT=0。最终这辆车将作为一个目标。现在设置一些路标点waypoints。我们打算让敌人的小队乘坐卡车,沿道路行进一小段,下车,然后摧毁我们放的UAZ。在菜单中挑选路标WAYPOINTS,单击一下卡车然后再双击一下卡车。你可以看到路标点waypoint的菜单。你需要做的仅仅是改变类型SELECT TYPE=进入GET IN,这个选项将使小队进入卡车。为了使卡车移动,单击刚才的路标使它呈现高亮状态,然后双击穿过森林的道路离狙击手更近的一点儿地方(卡车和狙击手中间的地方)。现在你应该作的是:设置路标顺序WAYPOINT ORDER和类型选项SELECT TYPE=出来GET OUT。最终,设置一个路标点waypoint到UAZ上。这次的工作:在路标顺序WAYPOINT ORDER和类型选项SELECT TYPE中选择摧毁DESTROY。注意,为了选择路标点waypoint下的单位,你可以按住SHIFT键。让我们进行第二次预演;现在你的行动应该动了起来。卡车应该翻过小山从远方赶来。它停下来,然后,敌人的小队下车。他们会开始攻击,试图摧毁在农舍后边停着的UAZ。好了,我们的行动已经初具雏形,在下一部分中我们将探讨传感器SENSORS第二部分传感器。 承接上一部分,行动开始,你作为狙击手出现在农舍附近。敌人乘坐卡车从山后赶来,下车,试图摧毁在农场后边UAZ。现在让我们在地图上设置一些传感器SENSORS。这将使我们可以制造一些小段的过场,更重要的是详细定义行动的结束。我们将从传感器sensor最简单的类型开始。首先定义察觉敌人的半径。如果在这个半径内没有敌人,那么变量将为真TRUE,并可以被其他传感器调用。它似乎很复杂,但是,你应该看一看它是怎样运行的。从顶端的菜单中选择触发器STRIGGERS(F3),双击狙击手和敌人中间的地方。虽然传感器能做很复杂的事情,但它很容易设置。传感器窗口的最上面的一部分包括传感器的范围和形状。因为我们要放置一个发现传感器所以我们需要进行一些设置:把轴AXIS A和轴AXIS B设置为500。角度保持为0,这样就形成一个圆。注意是否当前为椭圆ELLIPSE。传感器窗口的下一个部分将决定传感器的起动。我们希望在传感器的范围内没有WEST的部队时传感器被激活,所以在活动ACTIVATION选项中选择WEST我们只希望传感器被激活一次,所以选择一次ONCE。然后点击无目标NOT PRESENT。时间选择这一部分可以暂时丢下不管它的主要作用是设置传感器被激活或暂停前的延迟。第三个部分很短。类型选项TYPE中选择开关SWITCH。这个传感器从技术角度上讲是个开关传感器。文本TEXT只是用来标注传感器的标签,我们给这个传感器命名为westdead。给传感器命名时体现出传感器的作用是一个好习惯。名称NAME选项可以是空白。它只是用来给传感器一个能在其他的表达是中被使用的名字。窗口中的最后一部分是传感器最复杂的一部分,同时也最有用处。首先,我们来处理条件CONDITION选项。这个选项通常为THIS,表示传感器将使用本窗口中的参数。其他传感器的激活方法与此类似,也可以用其它传感器的参数来激活。在那个传感器中不需要变量为真TRUE,你仅仅需要设置变量。逻辑运算符AND、OR、NOT将被频繁的使用。(一个标准的表达式是这样的:this an2:00 PM 3/19/01d (not (alive aP) and variable1。this表示使用传感器自身的参数。(not (alive aP)是表示我们控制的人物死亡(记得么我们把控制的人物叫做aP)。variable1是被设定为在另一个传感器中现实的变量名。)但不管怎样,在这个传感器中我们仅仅需要THIS,因为它在激活选项中完全地依靠参数。第二个选项是激活状态ON ACTIVATION。这个选项设置了当传感器被激活后发生的事件。这选项被用来实现不同的任务,从简单的标记任务简报中的任务是否完成,到激活路标,取消运输器材的锁定以及其它的脚本。在我们的传感器中我们添加语句:1 objStatus DONE ;v1=true 表达式的第一部分1 objStatus DONE 在结束简报中标注第一个目标被完成。我们将在后面说明简报的制作。“;”用来在表达式中区分句子。第二的部分v1=true表示将真TRUE赋予变量V1。我们会在其他的触发器中使用这个变量。最后一个选项解除状态ON DEACTIVATION并不需要我们太费心。它通常用来重复触发或者给触发器定时。我们的第一个传感器就这样设置好了。如果需要的话,我们现在可以通过设置一个结束传感器来结束任务。你想让任务更复杂和完善一些?好,那么就再设置几个传感器。第一个放在农舍附近判断UAZ的状态。在UAZ附近放置一个传感器。进行以下设定:轴AXISa=0,轴AXISb=0,生存ACTIVATION=NONE,类型TYPE=开关SWITCH,标签TEXT=uscardead,条件CONDITION=not (alive uscar),激活状态ON ACTIVATION=endlose=true。我们没有在条件CONDITION中使用THIS,是因为这个传感器仅仅是用来判断条件的成立与否。当uscar(我们把什么叫做UAZ)被摧毁的的时候,它将只是被激活。一旦被激活它将把真TRUE赋予变量endlose。下一个传感器将判断敌人使用的卡车的状态这辆我们命名为westcar的卡车。放置另一个传感器到卡车附近并设置如下:轴AXISa=0,轴AXISb=0,生存ACTIVATION=NONE,类型TYPE=开关SWITCH,标签TEXT=westcar,条件CONDITION=not (alive westcar),激活状态ON ACTIVATION=2 objStatus DONE ;westcardead=true。现在你应该能理解表达式的含义。我们已经设置好了目标状态objStatus,并且,现在我们有了新的变量westcardead。第四个传感器你可以放置在任何位置。它将被用来监视一些变量并且在简报中标出第三个目标的完成情况。传感器变量设置:轴AXISa= 0,轴AXISb=0,生存ACTIVATION=NONE,类型TYPE=NONE,标签TEXT=objthree,条件CONDITION=(alive uscar and v1 and westcardead),激活状态ON ACTIVATION=3objStatus DONE;uscaralive=true。现在,让我们设置一些结束传感器。第一个放置在农舍的附近。这将是基于变量endlose的结尾(记得么,当UAZ被摧毁它的值为真TRUE)。所以,传感器进行下列设置:轴AXISa=0,轴AXISb=0,生存ACTIVATION=NONE,类型TYPE=结束END 2,标签TEXT=endlose,条件CONDITION=endlose。在这里要注意的是TYPE=END 2将使任务结束同时进行第2号结束表演。另外, 注意CONDITION=endlose 。endlose这个变量在前面的传感器中已经被使用,并且在UAZ被破坏的时候被赋值为真TRUE。现在放另一个传感器。这个将作为你赢得任务的一个结尾:轴AXISa=0,轴AXISb=0,生存ACTIVATION=NONE,类型TYPE=结束END 1,标签TEXT=endWIN,条件CONDITION=sy and westcardead and uscaralive 。END 1将在简报中被详细说明;sy是在区域内无敌人的情况下执行的变量;westcardead是卡车被摧毁情况下被执行的变量,同时,uscaralive是检查你的UAZ未被摧毁的变量。现在,你的行动现在已经有很完整了,而且完成与否的结尾都已经设置好。在下一部分中我们将看到如何增加过场cutscenes和设置声音效果sound effects。第三部分过场CUTSCENES和声音SOUNDS。 我们任务已经可以完整的运行(好吧,除了简报部分)现在,可以增加一些非必要的东西。让我们在一段过场cutscene中开始我们的行动。为了做到这一点,在狙击手身边放一个传感器。设置如下:轴AXISa=50,轴AXISb=50,生存ACTIVATION=ANYBODY,标签TEXT=init,条件CONDITION=this。由于PLAYER位于传感器的半径之内,所以传感器将立刻被激活。在传感器窗口中,单击底部附近的效果EFFECTS按钮。现在你将看到效果窗口。在镜头CAMERA部分,选择效果EFFECT=环绕Around和视角POSITION=后方Back。在标题部分中,选择类型TYPE=文字TEXT,效果EFFECT=清晰PLAIN。在文本框中输入:The Americans are approaching from the West road.Im our last hope - I must stop them!(美国人正从西边的路上逼近.我是我们的最后希望了-我一定要阻止他们)我们接着添加其它的过场,当敌人从卡车出来时被激活。在卡车的第二个路标点(GET OUT WAYPOINT)旁边放置另一个传感器。进行如下设置:轴AXISa=50,轴AXISb=50,生存ACTIVATION=Anybody,类型TYPE=NONE,条件CONDITION=THIS。效果窗口的设置:效果EFFECT=Zoom In Slow,视角POSITION=前Front。效果窗口中的声音部分进行如下选择:声音效果(我不知道应该怎么翻译)ANONYMOUS=Play Alarm环境音效ENVIRONMENT=Combat Ambience 1好极了,你已经添加了另一个过场cutscene和2种声音的效果。在最终的一部分中我们将看到简报的处理。第四部分简报。 简报只能在游戏外编写。简报应该是标准的HTML文件,所以,如果你懂得编写网页(用手工而不是编辑器),你应该不会感到任何困难。既然已经做好了一个任务,我将把某个任务的简报提供给你作为模板进行其他的创作。另外, 你可以加一段概述;这是当你从Single Mission中选择任务的时候,展示的对任务的描述。使用简报和概述时,右键单击然后选择Save as.保存到你的mission文件夹中,扩展名改为.html。另外, 你也可以添加图片。我建议最好从其他的任务中拷贝过来。文件名改为pic.paa,存放到你的mission文件夹中。制作简报的时候注意以下一些要点:当你认为制作完成的时候,进入游戏看看效果如何。发现不正确的地方及时退出修改。你修改模板的时候也许会忘记一些东西。你可以在地图上添加标记并在简报中涉及到它们。完成后把文件夹从flashpoint/users/yourname/missions目录中拷贝到flashpoint/missions。然后你将可以从single mission中选择你的任务了。这将使你完整地观看简报。OFP编辑器使用教程(进阶篇)文章来源:闪点行动中文站 作者:废除以下内容参考了Johan Gustafssons Editing Tutorial 当然我根据自己的理解而写成。因为我英文水平有限,其中的错误请大家指出。看了后面的方法,你会发现做一个任务是很容易的。如果具有编程的基础,中间很多概念都和编程时相似。当然不会编程也没关系,我尽我自己的能力来解释这些看起来复杂变量。我把文章和编辑器里边常看到的一些单词做一个说明(英文有限,如果有误请指正) ,后面不再一一说明。Side 归属方Type 类型Unit 单位Rank 军衔Skill 技能Name 名称Description 说明Shape 形状Ellipse 椭圆Activation 活性Condition 条件Effect 效果下面是一个具体任务的制作过程,其他的象INTRO、ENDING之类可以用相同的做法做出来。有关具体的编辑器的界面或是一些操作方法你可以参考另一篇文章谢邪翻译的编辑器使用教程。第一步:在开始任何的编辑之前,请花几分钟想一想要做什么样的任务。最好的方式就是对自己提问。比如:“游戏者是指挥官还是普通士兵?” “游戏者可以驾驶车辆还是不能?” 如果这些你都很从头到尾仔细的考虑过了,那么你做任务的时候就会变得很很容易。通过对任务文件的研究及试验,我发现任务是由几个部份构成的。控制这些小的元素(这里的PART我没有找到一个比较好的词) 的运动,使得制做任务非常简单。举个例子,在我对不起,应该是我们的任务里边,首先游戏者被要求找到一辆吉普车并且驾驶车辆赶到Alpha group。第二部份,和Alpha group一起坐卡车到北约基地。这时候到了第三部份,Alpha被飞机送到敌人的前哨阵地。这个时候,另一部份开始抵抗北约的进攻。最后,占领敌人的基地。我们可以这样来写这个过程。1. 玩家开车到Alpha2. Alpha乘车到北约基地3. 直升飞机带着Alpha到敌人的营地4. Alpha对敌人进攻5. 占领敌人领地这样就可以非常容易就编写任务了。一小股敌人到了北约基地附近,上面想消灭这些敌人。于是派Alpha group去消灭这一小股敌人。为了做得更好,我们这样做。部队被直升飞机带到要去的地方,而玩家开始的时候是在一个掩体值勤。他被命令加入到很快就要出去执行任务的Alpha部队中。大约就是这样了,让我们开始有趣的任务制作吧。读取Kolgujev地图开始我们的任务制作。编辑器读取完地图以后,我们找到坐标点为Ce46的地点,这是玩家开始时候的位置。你会看到一个小的灰色的建筑,选择菜单里边的unit然后用鼠标双击房子,现在就可以使用下面的设置来创建玩家控制的人物了。Side:WestType:MenUnit:SoldierRank:PrivateSkill:BestName:P我们当然也希望玩家带着枪,在没有什么目标要进攻的情况下,把枪背在肩上。这个我们可以用一个脚本来实现。请注意到一个Init区域。我们如何命令玩家控制的士兵把枪背在背后呢?在OFP里边所有单元都有一个behaviour值,这个值可以是:Careless(无忧无虑)、Safe(安全)、Aware(小心)、Combat(战斗)和Stealth(隐蔽)这几个值。Safe模式就可以得到我们前面希望的让士兵把枪背在背后的效果,然而如何来设置使得玩家在刚开始任务的时候处于Safe模式呢?记得前面说的Init区域吗?这个就是游戏引擎在创建这个单元之前读取这里的值,因此我们可以在这里填入我们想要他做的第一件事。使用命令setbehaviour,这个命令有一个参数。看下面一行我们的使用方法。this setbehaviour “SAFE”这个就是我们为玩家所控制的角色写的初始化的脚本。注意this这个命令,它是要告诉脚本编译的时候这个脚本所属于的单元,在这里就是指的p。那为什么我们不就写p在那里呢?这是一个快捷方式。你会说我们可以用复制和粘贴来做同样的事,但是p不是任何时候都有效的,这样的话我们每次都要把p修改为相应的值,用代词就会省很多事。我们继续创建一辆吉普车,好让玩家开车和Alpha小队汇合。我们在玩家的右边一点点双击(不是在房子里边) ,按下面进行设置。Side:EmptyType:CarUnit:JeepName:Jeep这样就创建了一个空的吉普车给玩家使用。你可以设置吉普车的Azimuth(方位) 为0玩家的为90,这样玩家就面向吉普车而吉普车就对着北面。现在我们要命令玩家进入吉普车,如何来做呢?选择玩家然后选择菜单里边的waypoint(导航) 。 双击吉普车创建一个导航点。Type:Get InDescription:Player Get In Jeep (玩家上吉普车)Always ShowGet In这个类型你可以用在需要单元进入不同的交通工具的时候。最后一行的Always Show可以使玩家的视线里边出现导航点的标记,然而这个在预览的方式下不起作用。你只有在生成任务以后,在任务里边调出来玩的时候才正常显示。好了现在你可以玩这个任务了,如果觉得里边有什么问题,你可以继续修改她。继续编辑我们的任务。把地点移到一个加油站,坐标为Ca45。放一辆卡车在那里,进行下面的设置。Side:EmptyType:CarUnit: 5th truck openName:Truck在卡车南边不远的地方,放上一个部队。Side: West Type: Men Unit: Officer Name: Alpha Rank: Colonel Skill: 80%-90% Init Field: Alpha setgroupid “Alpha”,”groupcolor2”; this setbehaviour “SAFE”; this setcombatmode “RED” Side: West Type: Men Unit: Soldier Name: Truck_Driver Rank: Private Skill: 20% Side: West Type: Men Unit: Machine Gunner Rank: Sergeant Skill: 40% Side: West Type: Men Unit: Soldier Rank: Private Skill: 20% Side: West Type: Men Unit: Soldier Rank: Private Skill: 20%在我解释之前,我们必须先建立这个分组。选择Group选项从所有士兵拖一条线到指挥官叫做Alpha。这样就建立了这个小队,指挥官是里边级别最高的人。在这里指挥官名字叫Alpha。有一点值得说一下,当你建立小组,小组的ID就会从这个小组的指挥官那里得到,因此这个小队属于Alpha。我们还记得Init吧,这里在军官的地方使用了。他会使小队里边所有的成员的值都使用这里的值。这里还看到了另一个命令:Setcombatmode,这个命令和Setbehaviour差不多,只不过是不同的战斗指令。具体参数如下。 Green:Never FireYellow:Open FireRed:Open Fire,Engage at will当我们想让部队向敌人攻击的时候我们使用Red这个参数。可能参数不止这些,但其他的我不知道了,这些已经足够了。最后一个命令:SetgroudID,这个命令是使得Alpha小队叫做Alpha小队。呵呵,如果你看到在左下角显示这个信息,就明白我说的意思了。现在当Alpha小队里边有人在说什么的话,你会看到象这样的话:Alpha red 1;Alpha 2 cease fire。如果你没有写刚才的命令,你就会看到其他的小队的名字。你可以使用下面的名字作为小队的名字:Alpha、Bravo、Charlie、Delta、Echo、Foxtrot和Hotel还有其他的,我也不知道了。我们还漏掉了一句“groupcolor2” ,这个是定义Alpha小队的颜色为Color 2,在联网游戏的时候区分不同的小队,一共有7种颜色可以使用。现在我们想让玩家开车到这里和小队汇合,并且加入Alpha小队,然后命令小队乘卡车。我们选择玩家,然后选择waypoint,继续为玩家定义导航点。我们双击离Alpha小队不远的地方进行以下设置。Type:MoveDescription : DriveAlways Show很容易,对吧?现在我们来建立一个触发器来判断玩家到达。在放置导航点的地方创建一个Trigger,进行如下设置。Shape:Ellipse(a=10,b=10)Description:Player Join AlphaType:SwitchActivation: (West)(Present)Condition:ThisOn Activation:Tuck_Driver assignasdriver Truck;pJoin Alpha我来解释一下触发器。当你选择了Activation(激活) West和Present时,你告诉游戏你想当任何属于West的单位进入触发器的范围就会激活这个事件。现在看看Condition(条件) 这一行,你会看到这里写了一个This。为什么?当使用关键词作为触发条件的时候,我们可以使用刚定义的条件,那就是West Present。On Activation这一行是一个脚本当Trugger(触发器) 返回真值的时候执行。这里我们使用了命令assignasdriver使一个单位在交通工具里边成为驾驶员。使用join使单元加入一个组。我们先来看看assignasdriverTruck_Driver assignasdriver Truck如果你还记得的话我们前面把小组里边一个成员命名为Truck_Driver,把那辆要使用的卡车命名为Truck。因此这条命令的意思就是小组里边一个名字叫Truck_Driver的成员成为一种名字叫Truck的交通工具上面的驾驶员。呵呵,有点长有点拗口,不过应该理解了吧。当收到命令Get In的时候,这个成员就会进入卡车坐到驾驶的位置上面。下面的命令类似,只不过是让成员成为Gunner(炮手)、Cargo(进入货车车厢) 或者是Commander(指挥) ,如下所示。 assignasgunner assignascargo assignascommander 好了,现在来看看这个。 p join Alpha这个“” 指向指针或是数组,在你有很多单位需要加入的时候,这会变得非常有用。后面我会碰到这样的用法。Alpha是小组的名字。这是条非常有用的命令,确信你记住了。在我们进行下一步之前,我必须告诉你一件事,在开始任务的时候,Alpha小队的成员可能正在走进触发器的范围。因此,确定你放在离玩家的导航点和触发器的10米以外。足够远了,所有都工作很好,现在我们要命令Alpha小队进入卡车,我们如何做到呢?我们当然可以写一个脚本来实现,但是我这里要介绍编辑器里边的另一个事件:synchronising,他和导航有很大的联系。选择军官并且选择菜单里的waypoint,双击卡车,按以下设置。Type:Get inDescription:Alpha Get In TruckAlways Show当完成上面的设置后,选择synchronising选项,在这个导航点和触发器拖一条线。你现在可以看到在waypoint和trigger之间有一条蓝色的线。这是告诉游戏在触发器被激活以后首先让Alpha小队上卡车,这个正是我们想要的。另一件事,我们在开始任务前应该做一个init trigger(初始的触发器) ,这个触发器在任务的开始就直接设置为激活。我们在吉普车和卡车之间的公路上建立一个,使用下面设置。Shape:Ellipse(a=150,b=150)Description:Bird SongCondition:TrueEffect:Environment:TreeTrigger:Bird Song稍微解释一下,True表示在开始这个触发器的时候直接把触发器激活。在Effects(效果) 里边有很多很Cool的效果,不过我们这里只需要声音选项。这样的话,当你开车去和Alpha小队会合的路上就能听到从树林里传出了鸟叫声。当然也就是这个触发器的范围之内。第二步: 是的,我们现在想让卡车开到坐标为Bh42的北约基地。如果你研究一下基地,你会发现一个很好的地方让卡车开去那里。看到房子旁边的公路没有,为什么不为Alpha小队放一个waypoint在这儿呢?使用下面的设置。你可能想知道,为什么用Alpha小队而不用卡车来定义waypoint呢?是这样的,首先编辑器认为卡车是空的,我们无法使用,其次卡车的驾驶员是Alpha小队的成员,因此,他会做按照我们的安排做得很好的。Type:Get InDescriptiont:Alpha Get OutSpeed:NormalAlways ShowGet Out类型是使Alpha小队的所有成员离开他们所乘坐的交通工具。Speed(速度) 是定义驾驶员使用交通工具到达目的地的速度。好了,现在我们希望Alpha小队从基地坐上直升飞机。如何来做呢?这个非常复杂,我们第一次做的时候需要花一些时间,但一旦会做了以后几乎就不会浪费时间在这上面了。先在坐标Bg56创建一架直升飞机UH60(BlackHawk黑鹰) “嘿嘿,在大海中呢” 就是这样啦,这个地方玩家看不到,这样的话,玩家会感觉这架直升飞机是从其他基地或是某个地方飞来的。做如下设置。Side:WestType:AirUnit:UH60Name:BlackhawkRank:ColonelSkill:FullSpecial:Flying现在只有Flying这个选项令你感到困惑。这实际上是告诉直升飞机在开始的时候在空中飞行,否则飞机就会沉到海里去。我们继续为直升飞机创建一个着陆点。这个非常容易,我们在Objects(目标) 组里边可以找到一个叫做“H” 的物体,这个就是我们要找的着陆点。你可以把这个着陆点放到基地里的某个地方。使用这样的设置。Side:EmptyType:ObjectsUnit:H好了,这个物体可以使直升飞机在这个地方着陆。如果你没有做这些,直升飞机会自己找地方试图着陆,可能会在离你想要他着陆的地方500米以外的地方,那可不是我们所想要的。给直升飞机建立一个距直升飞机几米远的waypoint,这样设置。Type:MoveDescription:BlackHawk WaitCondition:CallBlackHawk?最后一行是告诉直升飞机当Condition(条件) 为真的时候才向下一个导航点前进。CallBlackHawk实际上是一个变量,我们将在后面创建他。回到基地,我们在基地的门口创建一个Trigger(触发器) ,以便在卡车通过的时候激活。使用如下设置。Shape:Ellipse(a=10,b=10)Description:Alpha In BaseActivation: (West)(Present)Condition:thisOn Activation:CallBlackHawk=true好的,当卡车或是其他的西方部队进入触发器的范围,将激活事件,创建CallBlackHawk变量,并且赋值为true。因此直升飞机会继续向下一个导航点前进。现在我们选择BlackHawk创建一个到目标“H” 的导航点。Type:LoadDescription:Pickup Alpha接下来选择Alpha小队的指挥官在直升飞机的最后一个waypoint(导航)的地方创建一个waypoint。Type:Get InDescription:Alpha Get In BlackHawkAlways Show现在我们必须把这两个waypoint同步,使得直升飞机在离开前保证所有Alpha小队的成员都在飞机上。选择Synchronise,并且在刚才的两个waypoint之间画上连线。这样的话,直升飞机就会在等到所有Alpha小队的成员上飞机以后才执行后面的任务。 让我们在着陆点旁边建立一个Barrel(油桶),使得看起来更好一些。Side:EmptyType:ObjectsUnit:Red Barrel这样看起来任务更好了,我们保存一下这个任务。记得要经常存盘哦!:) 在我们开始第三部份之前,我们必须让Alpha小队到达某个地方,什么地方呢?在坐标Dg55这里我们找到了一个很好的地方。 在这片区域的东南部看起来足够的平坦。在这里建立另一个着陆点,这次我们用隐形的着陆点。Side:EmptyType:ObjectsUnit:H Invisible好的,选择BlackHawk在这个着陆点上创建waypoint。Type:Transport UnloadDescription:Unload Alpha现在选择Alpha小队的指挥官,在刚才BlackHawk的waypoint旁边建立一个waypoint,当然你也必须在这两个waypoint之间做上同步,也就是用synchronise,以便使直升飞机执行后面的任务之前,保证所有Alpha成员都已经下了飞机。Type:Get OutDescription:Alpha Get Out再次选择BlackHawk,在很远的大海中创建一个waypoint,放在刚开始的时候直升飞机在海上待命的时候那里怎么样?设置如下。Type:MoveDescription:BlackHawk Move Out你已经做了这么多了,很了不起。我们从着陆点100米的地方,也就是坐标Dg59开始。我们先创建敌人的营地,和其他的一些建筑,放置到比较合适的地方。提示:当你放置敌人的单位的时候,你可以创建一个临时的玩家控制的角色,来看看这里的工作状况,当没有问题以后,删除掉,把玩家恢复到自己的那一边。Side: Empty Type: Objects Unit: Tent East Side: Empty Type: Objects Unit: Tent East CSide: Empty Type: Objects Unit: FireSide: EmptyType: CarUnit: UZV按照你自己的需要调解部队的设置。然后创建两个士兵坐在火堆旁边。一个在上边,一个在下边。设置如下。Side: East Type: Men Unit: Soldier Name: Guard_4 Rank: Private Skill: 50% Init: this setbehaviour “SAFE”; this setcombatmode “RED”; this switchmove “effectstandsitdown”; this dowatch Guard_3 Side: East Type: Men Unit: Soldier Name: Guard_3 Rank: Private Skill: 50% Init: this setbehaviour “SAFE”; this setcombatmode “RED”; this switchmove “effectstandsitdown”; this dowatch Guard_4 看到代词this起的作用了吧,你仅仅需要改变最后的数字就可以了。我来解释一下新的关键词switchmove。this switchmove “effectstandsitdown”这个是告诉成员 (在这里就是Guard_3和Guard_4) 坐下。当然这个仅仅在成员处于“Safe” 模式的时候才能执行。另一个关键词dowatch更简单。this dowatch Guard_3这个指令是告诉成员(这里是指的Guard_4) 面向Guard_3。这在模拟两个士兵交谈的时候非常有用。我们继续在营地里创建两个附加的哨兵,把他们放到你认为合适的地方。我把他们放置在帐篷的门口。Side:EastType:MenUnit:SoldierName:Guard_1Rank:PrivateSkill:50%Init:this setcombatmode “RED”;this setbehaviour “SAFE”Side:EastType:MenUnit:SoldierName:Guard_2Rank:PrivateSkill:50%Init:this setcombatmode “RED”;this setbehaviour “SAFE”这不会有任何问题,都是为了看起来更真实。没有哨兵会愚蠢的站在距帐篷一厘米远的地方,还面向帐篷。现在我们创建一个巡逻队在营地附近巡逻。用下面的设置创建巡逻队。Side: EastType: MenUnit: OfficerName: PatrolRank: ColonelSkill: 100%Side: EastType: MenUnit: SoldierRank: MajorSkill: 100%Side: EastType: MenUnit: SoldierRank:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省公务员2025年公共基础冲刺卷
- 初中生演讲稿200字左右
- 高中语文必修上册【同步练习 含答案】-第三单元 念奴娇·赤壁怀古 永遇乐·京口北固亭怀 古声声慢(寻寻觅觅)
- 2025年考核办多选试题及答案
- 山西省2025年公务员行测专项训练冲刺卷
- 2025年初中历史七年级上学期知识梳理卷
- 2025年地盘考试题及答案
- 2025年数字摄影测量试题及答案
- 第二章 声现象 第2节 声音的特性 学案 人教版(2024)八年级上册
- 2025年初中一年级化学上学期物质鉴别卷
- 电工考证专栏2025年低压电工复审考试题库精细讲解(1)附答案
- 物流搬运劳务合同范本
- 隧道工程施工质量常见问题及解决方案
- 2025-2026学年苏教版三年级科学上册期中达标测试卷(三)含答案与解析
- 2025年党校条例试题及答案详解
- 2025年国家能源集团企业文化考试题库及答案
- 看一次禁毒电影活动方案
- 2025太原迎泽区社区劳动保障协理员和城镇最低生活保障协理员招聘考试模拟试题及答案解析
- 消防公司企业简介
- 艾滋病免疫重建不全临床诊疗专家共识
- 优生优育进社区知识培训课件
评论
0/150
提交评论