




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
闪点行动编辑器使用以下内容参考了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.玩家开车到Alpha 2.Alpha乘车到北约基地3.直升飞机带着Alpha到敌人的营地4.Alpha对敌人进攻5.占领敌人领地这样就可以非常容易就编写任务了。一小股敌人到了北约基地附近,上面想消灭这些敌人。于是派Alpha group去消灭这一小股敌人。为了做得更好,我们这样做。部队被直升飞机带到要去的地方,而玩家开始的时候是在一个掩体值勤。他被命令加入到很快就要出去执行任务的Alpha部队中。大约就是这样了,让我们开始有趣的任务制作吧。读取Kolgujev地图开始我们的任务制作。编辑器读取完地图以后,我们找到坐标点为Ce46的地点,这是玩家开始时候的位置。你会看到一个小的灰色的建筑,选择菜单里边的unit然后用鼠标双击房子,现在就可以使用下面的设置来创建玩家控制的人物了。Side:West Type:Men Unit:Soldier Rank:Private Skill:Best Name:P我们当然也希望玩家带着枪,在没有什么目标要进攻的情况下,把枪背在肩上。这个我们可以用一个脚本来实现。请注意到一个Init区域。我们如何命令玩家控制的士兵把枪背在背后呢?在OFP里边所有单元都有一个behaviour值,这个值可以是:Careless(无忧无虑)、Safe(安全)、Aware(小心)、Combat(战斗)和Stealth(隐蔽)这几个值。Safe模式就可以得到我们前面希望的让士兵把枪背在背后的效果,然而如何来设置使得玩家在刚开始任务的时候处于Safe模式呢?记得前面说的Init区域吗?这个就是游戏引擎在创建这个单元之前读取这里的值,因此我们可以在这里填入我们想要他做的第一件事。使用命令setbehaviour,这个命令有一个参数。看下面一行我们的使用方法。this setbehaviourSAFE这个就是我们为玩家所控制的角色写的初始化的脚本。注意this这个命令,它是要告诉脚本编译的时候这个脚本所属于的单元,在这里就是指的p。那为什么我们不就写p在那里呢?这是一个快捷方式。你会说我们可以用复制和粘贴来做同样的事,但是p不是任何时候都有效的,这样的话我们每次都要把p修改为相应的值,用代词就会省很多事。我们继续创建一辆吉普车,好让玩家开车和Alpha小队汇合。我们在玩家的右边一点点双击(不是在房子里边),按下面进行设置。Side:Empty Type:Car Unit:Jeep Name:Jeep这样就创建了一个空的吉普车给玩家使用。你可以设置吉普车的Azimuth(方位)为0玩家的为90,这样玩家就面向吉普车而吉普车就对着北面。现在我们要命令玩家进入吉普车,如何来做呢?选择玩家然后选择菜单里边的waypoint(导航)。双击吉普车创建一个导航点。Type:Get In Description:Player Get In Jeep(玩家上吉普车)Always ShowGet In这个类型你可以用在需要单元进入不同的交通工具的时候。最后一行的Always Show可以使玩家的视线里边出现导航点的标记,然而这个在预览的方式下不起作用。你只有在生成任务以后,在任务里边调出来玩的时候才正常显示。好了现在你可以玩这个任务了,如果觉得里边有什么问题,你可以继续修改她。继续编辑我们的任务。把地点移到一个加油站,坐标为Ca45。放一辆卡车在那里,进行下面的设置。Side:Empty Type:Car Unit:5th truck open Name:Truck在卡车南边不远的地方,放上一个部队。Side:West Type:Men Unit:Officer Name:Alpha Rank:Colonel Skill:80%-90%Init Field:Alpha setgroupidAlpha,groupcolor2;this setbehaviourSAFE;this setcombatmodeREDSide: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 Fire Yellow:Open Fire Red:Open Fire,Engage at will当我们想让部队向敌人攻击的时候我们使用Red这个参数。可能参数不止这些,但其他的我不知道了,这些已经足够了。最后一个命令:SetgroudID,这个命令是使得Alpha小队叫做Alpha小队。呵呵,如果你看到在左下角显示这个信息,就明白我说的意思了。现在当Alpha小队里边有人在说什么的话,你会看到象这样的话:Alpha red 1;Alpha 2cease fire。如果你没有写刚才的命令,你就会看到其他的小队的名字。你可以使用下面的名字作为小队的名字:Alpha、Bravo、Charlie、Delta、Echo、Foxtrot和Hotel还有其他的,我也不知道了。我们还漏掉了一句groupcolor2,这个是定义Alpha小队的颜色为Color 2,在联网游戏的时候区分不同的小队,一共有7种颜色可以使用。现在我们想让玩家开车到这里和小队汇合,并且加入Alpha小队,然后命令小队乘卡车。我们选择玩家,然后选择waypoint,继续为玩家定义导航点。我们双击离Alpha小队不远的地方进行以下设置。Type:Move Description:DriveAlways Show很容易,对吧?现在我们来建立一个触发器来判断玩家到达。在放置导航点的地方创建一个Trigger,进行如下设置。Shape:Ellipse(a=10,b=10)Description:Player Join Alpha Type:Switch Activation:(West)(Present)Condition:This On Activation:Tuck_Driver assignasdriver Truck;Join Alpha我来解释一下触发器。当你选择了Activation(激活)West和Present时,你告诉游戏你想当任何属于West的单位进入触发器的范围就会激活这个事件。现在看看Condition(条件)这一行,你会看到这里写了一个This。为什么?当使用关键词作为触发条件的时候,我们可以使用刚定义的条件,那就是West Present。On Activation这一行是一个脚本当Trugger(触发器)返回真值的时候执行。这里我们使用了命令assignasdriver使一个单位在交通工具里边成为驾驶员。使用join使单元加入一个组。我们先来看看assignasdriver Truck_Driver assignasdriver Truck如果你还记得的话我们前面把小组里边一个成员命名为Truck_Driver,把那辆要使用的卡车命名为Truck。因此这条命令的意思就是小组里边一个名字叫Truck_Driver的成员成为一种名字叫Truck的交通工具上面的驾驶员。呵呵,有点长有点拗口,不过应该理解了吧。当收到命令Get In的时候,这个成员就会进入卡车坐到驾驶的位置上面。下面的命令类似,只不过是让成员成为Gunner(炮手)、Cargo(进入货车车厢)或者是Commander(指挥),如下所示。成员名字assignasgunner交通工具的名字成员名字assignascargo交通工具的名字成员名字assignascommander交通工具的名字好了,现在来看看这个。join Alpha这个指向指针或是数组,在你有很多单位需要加入的时候,这会变得非常有用。后面我会碰到这样的用法。Alpha是小组的名字。这是条非常有用的命令,确信你记住了。在我们进行下一步之前,我必须告诉你一件事,在开始任务的时候,Alpha小队的成员可能正在走进触发器的范围。因此,确定你放在离玩家的导航点和触发器的10米以外。足够远了,所有都工作很好,现在我们要命令Alpha小队进入卡车,我们如何做到呢?我们当然可以写一个脚本来实现,但是我这里要介绍编辑器里边的另一个事件:synchronising,他和导航有很大的联系。选择军官并且选择菜单里的waypoint,双击卡车,按以下设置。Type:Get in Description:Alpha Get In TruckAlways Show当完成上面的设置后,选择synchronising选项,在这个导航点和触发器拖一条线。你现在可以看到在waypoint和trigger之间有一条蓝色的线。这是告诉游戏在触发器被激活以后首先让Alpha小队上卡车,这个正是我们想要的。另一件事,我们在开始任务前应该做一个init trigger(初始的触发器),这个触发器在任务的开始就直接设置为激活。我们在吉普车和卡车之间的公路上建立一个,使用下面设置。Shape:Ellipse(a=150,b=150)Description:Bird Song Condition:True Effect:Environment:Tree Trigger:Bird Song稍微解释一下,True表示在开始这个触发器的时候直接把触发器激活。在Effects(效果)里边有很多很Cool的效果,不过我们这里只需要声音选项。这样的话,当你开车去和Alpha小队会合的路上就能听到从树林里传出了鸟叫声。当然也就是这个触发器的范围之内。第二步:是的,我们现在想让卡车开到坐标为Bh42的北约基地。如果你研究一下基地,你会发现一个很好的地方让卡车开去那里。看到房子旁边的公路没有,为什么不为Alpha小队放一个waypoint在这儿呢?使用下面的设置。你可能想知道,为什么用Alpha小队而不用卡车来定义waypoint呢?是这样的,首先编辑器认为卡车是空的,我们无法使用,其次卡车的驾驶员是Alpha小队的成员,因此,他会做按照我们的安排做得很好的。Type:Get In Descriptiont:Alpha Get Out Speed:NormalAlways ShowGet Out类型是使Alpha小队的所有成员离开他们所乘坐的交通工具。Speed(速度)是定义驾驶员使用交通工具到达目的地的速度。好了,现在我们希望Alpha小队从基地坐上直升飞机。如何来做呢?这个非常复杂,我们第一次做的时候需要花一些时间,但一旦会做了以后几乎就不会浪费时间在这上面了。先在坐标Bg56创建一架直升飞机UH60(BlackHawk黑鹰)嘿嘿,在大海中呢就是这样啦,这个地方玩家看不到,这样的话,玩家会感觉这架直升飞机是从其他基地或是某个地方飞来的。做如下设置。Side:West Type:Air Unit:UH60 Name:Blackhawk Rank:Colonel Skill:Full Special:Flying现在只有Flying这个选项令你感到困惑。这实际上是告诉直升飞机在开始的时候在空中飞行,否则飞机就会沉到海里去。我们继续为直升飞机创建一个着陆点。这个非常容易,我们在Objects(目标)组里边可以找到一个叫做H的物体,这个就是我们要找的着陆点。你可以把这个着陆点放到基地里的某个地方。使用这样的设置。Side:Empty Type:Objects Unit:H好了,这个物体可以使直升飞机在这个地方着陆。如果你没有做这些,直升飞机会自己找地方试图着陆,可能会在离你想要他着陆的地方500米以外的地方,那可不是我们所想要的。给直升飞机建立一个距直升飞机几米远的waypoint,这样设置。Type:Move Description:BlackHawk Wait Condition:CallBlackHawk?最后一行是告诉直升飞机当Condition(条件)为真的时候才向下一个导航点前进。CallBlackHawk实际上是一个变量,我们将在后面创建他。回到基地,我们在基地的门口创建一个Trigger(触发器),以便在卡车通过的时候激活。使用如下设置。Shape:Ellipse(a=10,b=10)Description:Alpha In Base Activation:(West)(Present)Condition:this On Activation:CallBlackHawk=true好的,当卡车或是其他的西方部队进入触发器的范围,将激活事件,创建CallBlackHawk变量,并且赋值为true。因此直升飞机会继续向下一个导航点前进。现在我们选择BlackHawk创建一个到目标H的导航点。Type:Load Description:Pickup Alpha接下来选择Alpha小队的指挥官在直升飞机的最后一个waypoint(导航)的地方创建一个waypoint。Type:Get In Description:Alpha Get In BlackHawkAlways Show现在我们必须把这两个waypoint同步,使得直升飞机在离开前保证所有Alpha小队的成员都在飞机上。选择Synchronise,并且在刚才的两个waypoint之间画上连线。这样的话,直升飞机就会在等到所有Alpha小队的成员上飞机以后才执行后面的任务。让我们在着陆点旁边建立一个Barrel(油桶),使得看起来更好一些。Side:Empty Type:Objects Unit:Red Barrel这样看起来任务更好了,我们保存一下这个任务。记得要经常存盘哦!:)在我们开始第三部份之前,我们必须让Alpha小队到达某个地方,什么地方呢?在坐标Dg55这里我们找到了一个很好的地方。在这片区域的东南部看起来足够的平坦。在这里建立另一个着陆点,这次我们用隐形的着陆点。Side:Empty Type:Objects Unit:H Invisible好的,选择BlackHawk在这个着陆点上创建waypoint。Type:Transport Unload Description:Unload Alpha现在选择Alpha小队的指挥官,在刚才BlackHawk的waypoint旁边建立一个waypoint,当然你也必须在这两个waypoint之间做上同步,也就是用synchronise,以便使直升飞机执行后面的任务之前,保证所有Alpha成员都已经下了飞机。Type:Get Out Description:Alpha Get Out再次选择BlackHawk,在很远的大海中创建一个waypoint,放在刚开始的时候直升飞机在海上待命的时候那里怎么样?设置如下。Type:Move Description:BlackHawk Move Out你已经做了这么多了,很了不起。我们从着陆点100米的地方,也就是坐标Dg59开始。我们先创建敌人的营地,和其他的一些建筑,放置到比较合适的地方。提示:当你放置敌人的单位的时候,你可以创建一个临时的玩家控制的角色,来看看这里的工作状况,当没有问题以后,删除掉,把玩家恢复到自己的那一边。Side:Empty Type:Objects Unit:Tent East Side:Empty Type:Objects Unit:Tent East CSide:Empty Type:Objects Unit:Fire Side:Empty Type:Car Unit:UZV按照你自己的需要调解部队的设置。然后创建两个士兵坐在火堆旁边。一个在上边,一个在下边。设置如下。Side:East Type:Men Unit:Soldier Name:Guard_4 Rank:Private Skill:50%Init:this setbehaviourSAFE;this setcombatmodeRED;this switchmoveeffectstandsitdown;this dowatch Guard_3 Side:East Type:Men Unit:Soldier Name:Guard_3 Rank:Private Skill:50%Init:this setbehaviourSAFE;this setcombatmodeRED;this switchmoveeffectstandsitdown;this dowatch Guard_4看到代词this起的作用了吧,你仅仅需要改变最后的数字就可以了。我来解释一下新的关键词switchmove。this switchmoveeffectstandsitdown这个是告诉成员(在这里就是Guard_3和Guard_4)坐下。当然这个仅仅在成员处于Safe模式的时候才能执行。另一个关键词dowatch更简单。this dowatch Guard_3这个指令是告诉成员(这里是指的Guard_4)面向Guard_3。这在模拟两个士兵交谈的时候非常有用。我们继续在营地里创建两个附加的哨兵,把他们放到你认为合适的地方。我把他们放置在帐篷的门口。Side:East Type:Men Unit:Soldier Name:Guard_1 Rank:Private Skill:50%Init:this setcombatmodeRED;this setbehaviourSAFESide:East Type:Men Unit:Soldier Name:Guard_2 Rank:Private Skill:50%Init:this setcombatmodeRED;this setbehaviourSAFE这不会有任何问题,都是为了看起来更真实。没有哨兵会愚蠢的站在距帐篷一厘米远的地方,还面向帐篷。现在我们创建一个巡逻队在营地附近巡逻。用下面的设置创建巡逻队。Side:East Type:Men Unit:Officer Name:Patrol Rank:Colonel Skill:100%Side:East Type:Men Unit:Soldier Rank:Major Skill:100%Side:East Type:Men Unit:Soldier Rank:Private Skill:100%Side:East Type:Men Unit:Soldier Rank:Private Skill:100%确信你把他们放在同一个组里边了。你一定想知道为什么我们没有设置Init区域。当我们做一个巡逻队的时候,我可以在创建第一个waypoint的时候设置Init的值。记住你要做的事,会使的工作变得更简单。设置如下。1st Type:Move Description:Patrol Route Combamode:Engage,fire at will(Same as setcombatmodeRED)Speed:Limited(Make them walk slowly,just like apatrol)Behaviour:Safe(Same as setbehaviourSAFE)Formation:Column(Make them walk in anice column)2nd Type:Move 3rd Type:Move 4th Type:Move 5th Type:Cycle好了,把他们都放到营地四周去。象这样,第一个waypoint放在右下,然后是右上,左上,左下,最后一个放到第一个的旁边。这个Cycle这个选项就表示重复前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年武清数学中考试题及答案
- 智算中心计算任务调度与管理方案
- 水体景观设计与水质管理方案
- 机电设备安装过程风险评估与控制方案
- 汽车八级考试题目及答案
- 产后恶露考试试题及答案
- 广告制作安装合同
- 广东省2024年普通高中学业水平合格性考试思想政治考试题目及答案
- 互联网医疗平台员工劳动合同及医疗数据保密协议
- 知识产权竞业禁止协议赔偿金计算与执行细则
- 锚喷工入场安全教育试卷(含答案)
- DeepSeek+AI智能体医疗健康领域应用方案
- 2025至2030年中国玄武岩行业市场行情动态及发展前景展望报告
- 运输承运商管理制度
- 光伏支架系统培训
- CJ/T 233-2006建筑小区排水用塑料检查井
- 安全二级培训试题及答案
- (高清版)DB36∕T 2070-2024 疼痛综合评估规范
- 婚后老公赌博协议书
- 常见精神科药物的副作用及其处理
- 《公务员法解读》课件
评论
0/150
提交评论