闪点行动2 自制任务编辑器教程里只教了做消灭单个目标的任务,我想...

闪点行动2龙之崛起攻略(含隐藏任务)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
闪点行动2龙之崛起攻略(含隐藏任务)
&&闪点行动2龙之崛起攻略(含隐藏任务)
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩25页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢&>&&>&&>&正文
《闪点行动2:龙之崛起》任务编辑器教程
22:16:26 来源:游侠 作者:hjian2002 编辑:木淋 
教程九:实例应用
一:什么是虚拟单位
二:存盘点的制作
三:实例下载
一:什么是虚拟单位
我们知道一辆坦克需要配上一个驾驶员,一个指挥,和一个炮手,连上坦克本身就需要4个单位。
我们知道地图只能有64个单位,那么是不是只能有16辆坦克同时在地图上,答案是否定的。
我们可以把一辆坦克配置上虚拟驾驶员虚拟指挥和虚拟炮手,那么1辆完整的坦克只占用1个单位
拖一辆坦克到地图上,并在属性栏里面选择has virtual crew就可以了
二存盘点制作
这个很简单
在地图上拖一个Mission progress checkpoint就是圆圈里有个勾勾那个图标,
命名为save1。(在右上角的system里面找到),再拖一个地区命名为zone1,
再拖一个兵到地图上明命名为han,设置成player,再来一个level.lua
(save1和zone1最好在一起。)
输入代码:
function onEnter_zone1_han(zoneName, unitName)
OFP:enableCheckpoint("save1")
这样就可以了。
意思是当han进入zone1这个区域时触发存盘点save1,并且恢复体能,AI弹药得到补充。
三:实例下载
这里有个本人制作的例子供大家参考:
t6解压到游目录data_win\missions\Mission Editor\下,进入游戏玩。
任务目标1:攻占山头,击毙美军军官。
任务目标2:埋伏在小道两侧,突袭M1主战坦克。
任务目标3:占领村庄。
敌人单位:步兵若干(100+),30+辆M1主战坦克,两辆运兵车。
解放军单位:20+辆99式主战坦克,玩家带领17人小队,援兵若干。
战线长度:4公里。
顺着指南小旗走就可以了。不要硬拼,多用战术。
全文完(^.^)
祝大家战斗愉快!
更多相关内容请访问:
更多相关内容请关注:
友情提示:支持键盘左右键“← →”翻页
文章内容导航
第9页:教程九:实例应用
用手机访问
扫一扫,手机浏览
没有任何记录
没有任何记录
没有任何记录
没有任何记录
游戏制作:Codemasters
游戏发行:Codemasters
游戏平台:PC/Xbox360/PS3
上市时间:
游戏特色:
没有任何记录
没有任何记录
单机游戏下载
综合热点资讯
游民星空联运游戏>> 《闪点行动2》编辑器-刷兵方法及任务完成语句
《闪点行动2》编辑器-刷兵方法及任务完成语句
发表: 来源:互联网
任务完成语句OFP:missionCompleted()如何触发就随便你了.============================刷兵方法首先点击 右侧Create栏右边的Explorer 在 Entety Sey View 目录下面空白处点一下 再选择+ ADD Entity Set 增加一个Entity Set 我们这里他命名为ES1.单击ES1灰色目录图标打勾,然后再右键ES1选Exportable 最后图标就是一个黄色打勾的目录.然后Create加入几个suqad,拖选整个Suqad,在Squad的modify里的Entity Set 里选择刚
才创建的ES1
这里整个Entity set的ES1 是不激活的状态.默认只激活Startup.所以进游戏后并不会刷
兵,这样我们就可以在编辑器里随便放兵,然后再增加刷兵条件.注意刷出的兵+存活的不
能大于64否则出不来.
添加脚本增加刷兵的事件.创建一个脚本 Create-Systems-Scripting-Level Script(can handle evets)
激活,激活后兵就刷出来了.OFP:activateEntitySet("ES1");刷兵,不激活刷不出来.OFP:spawnEntitySet("ES1");
下面举出几个例子双击level.lua=================================游戏一开始时刷ES1里的兵function onMissionStart()OFP:activateEntitySet("ES1");end=================================进触发区时刷兵创建一个触发区Create-systems-Mission-Triggers events.......(红色那个图标)这里我们将检测命名为 Zone1之后在level.lua加入------------------------------增加一个计数,看要刷几次function onMissionStart()Ckzon1 = 0; end进入触发区,判断=0时第一次刷所以只要激活ES1就可以,下次就要用spawnEntitySetfunction onEnter_zone1(zoneName, unitName)if Ckzon1 == 0 then OFP:activateEntitySet("ES1");Ckzon1 =& 1;elseOFP:spawnEntitySet("ES1");Ckzon1 = Ckzon1 + 1;endend离开触发区,判断刷5次后就关闭刷兵事件,下次再进触发区就不刷了.function onLeave_zone1(zoneName, unitName)if Ckzon1 & 5 thenOFP:disableEvent("onEnter_zone1");endend ====================================还有一种就是单位死亡检测建议用小队检测.单个检测就选个AI,name这里我改为SZ1小队的话就在小队EchelonI盾牌上命名当 SZ1死亡时触发function onDeath_SZ1(victim, killer)OFP:spawnEntitySet("ES1");end
更多相关内容请
发布此文仅为传递信息,认同其观点或证实其描述。
/gl/.html复制本文链接
热门标签推荐相关资源:
传奇最经典网页版,多人团战跨服竞技玩法冰火战场,十年最经典游戏,英雄合击,3D特效绚丽,赶紧注册试玩一下,
感想:本人玩过的三角洲系列,毁灭战士系列,地震系列,反恐系列,霹雳系列,彩虹系列,荣誉勋章系列,cod系列。
说实话我已厌倦了巷战,厌倦了按规定线路冲锋的的第一人称射击游戏。
给我感觉最好的好是闪点行动和三角洲,开阔的地图,真实的战争,1公里开外匍匐在草丛中,抬个狙,听着风吹过草地的声音,等待着目标的出现!!!
任务编辑器感想:该编辑还是比较傻瓜容易懂的。连我这种对脚本语言一巧不通的人也摸出了点门道。
教程一:初识界面,放置单位,单位属性。
可以看到图片所示。界面很简单。
要做个最最简单的地图就是把解放军,和美军拖到地图上,然后选中一个单位在属性界面里把ai换成player就可以了。
下面图片的属性的简单介绍 如图
没什么难点随便选择了玩玩就可以了。
《闪点行动2:龙之崛起》相关文章
(阅读:659)
(阅读:531)
(阅读:831)
(阅读:199)
(阅读:202)
(阅读:202)
(阅读:407)
(阅读:263)
(阅读:218)
(阅读:148)
近日,游戏圈最高人气的UP主敖厂长微博发布了一组图片,盛赞参与极限游戏开发的少年们:“有想法、有内涵“,还表示自己”生不逢时”。而微博提及的“游戏极限开发“,指的是腾讯NEXT IDEA高校游戏创意制作大赛系列活动之一,72小时游戏制作夏令营现场。现场来自全国各地的数十名大学生分为不同小组,在72小时内进行封闭式头脑风暴和游戏开发,最终制作出一款可玩的游戏DEMO并展示。
??7月25日,《饭局的诱惑》节目官方正版授权、腾讯首款狼人杀APP《饭局狼人杀》全量上线,所有玩家都可前往微信、手Q、应用宝、腾讯视频及各大应用商店下载。和朋友异地连麦,随时开局,相爱相杀就在《饭局狼人杀》。更值得期待的是,7月26日至28日期间,还有马东携众葩们在游戏里上演陪玩活动,和喜爱的明星一起偶遇吧!《饭局狼人杀》开饭了!腾讯合作版今日上线腾讯代理《饭局狼人杀》 7.25开饭了7月12 ...
扫描二维码& 闪点行动2超级详细任务编辑器教程(全文完) ...
查看: 28211|回复: 66
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
累不累想想雷锋董存瑞,苦不苦想想红军长征二万五。
本着吃苦耐劳的精神,经过一星期的艰苦奋斗终于把教程写完了!!!!!!!!!!!!!!!!!!!!!!!
哈哈哈哈哈哈哈哈哈哈哈哈
一直没有人写闪点2任务编辑器教程,找便了baidu,google就是没有人写,有也是鸟语的。
故今天献上。
感想:本人玩过的三角洲系列,毁灭战士系列,地震系列,反恐系列,霹雳系列,彩虹系列,荣誉勋章系列,cod系列。
说实话我已厌倦了巷战,厌倦了按规定线路冲锋的的第一人称射击游戏。
给我感觉最好的好是闪点行动和三角洲,开阔的地图,真实的战争,1公里开外匍匐在草丛中,抬个狙,听着风吹过草地的声音,等待着目标的出现!!!
任务编辑器感想:该编辑还是比较傻瓜容易懂的。连我这种对脚本语言一巧不通的人也摸出了点门道。
申明:本人能力有限,写错的地方多多包涵,我尽量把我所知道的告诉大家。
教程一-------------------初识界面,放置单位,单位属性
教程二-------------------路径点
教程三-------------------部队编组
教程四-------------------初识lua脚本
教程五-------------------如何显示小黄棋
教程六-------------------如何制作任务
教程七-------------------如何刷兵,如何删除出来的刷兵
教程八-------------------路径点高级应用
教程九-------------------实例应用
GO GO GO!!!!!!
教程一:初识界面,放置单位,单位属性。
可以看到图片所示。界面很简单。
16:32:00 上传
要做个最最简单的地图就是把解放军,和美军拖到地图上,然后选中一个单位在属性界面里把AI换成player就可以了。
下面图片的属性的简单介绍 如图
16:32:00 上传
没什么难点随便选择了玩玩就可以了。
教程二: 路径点
因为路径设置已经有人写过比较好的帖子,我复制如下(感谢原作者vid190):
很多人都要问道怎么让AI自动走路,下面简单介绍下,会了这个你也就差不多能做个极为简单的防御地图了
举例做一个让AI一开始就自己移动一段距离的任务
1.首先加入AI,在Create面板里的USMC跟PLA下的,Fireteams 火线小组 Soldiers 单兵 Squads 一个班 ,这些就不多介绍了,自己选择个小队加入。然后在设置自己,这里要注意了,如果让AI自己移动那么这个移动的队伍里不能有你自己。不然系统会自己默认让你自己发号施令指挥队友。自己在Soldiers选择个自己喜欢的加上,让后在地图上在自己加入的这个人物图标上单击右键选择Set Control Mode Of This Character - Player 就设置为自己了,但是如果设置的为敌方那就不用考虑自己了。
2.然后是设置路径点。在Create面板里的Systems下的,Mission里选择 Waypoint 路径点。然后在地图上画出路径点,这里要注意,每到一个路径点队长都会报告下一个路径点,所以不要点太多,不然每走几步队长就得乌拉乌拉的。然后选择AI,不包括你自己,这里可以全选也可以点击小队的盾牌,也可以单选。怎么都可以。选择后在他们的图标上点右键选择Pick Waypoint 这时图标会变灰但是路径点还是亮着的,选择你刚才设置的第一个起始路径点就可以了。
技巧一.关于怎么样设置迂回,同理只要在终点路径点上右键单击并选择Pick Next Waypoint 然后点击起始路径点即可。这时会看见路径线的两个箭头会重合相对,意思就是AI会在这两点上来回游走。当然你也可以画个圈,反正怎么画随你。
技巧二.如果你想让AI跑步以最快的速度行进,那只要点击路径点然后选择右边Modify-Waypoint下的Rapid Move,把它点亮就可以了。然后你会看见路径线变成多箭头,既是成功。
技巧三.当然这时你可能看到Rapid Move下的Stance选项,它是设置到这个路径点用什么样的姿态,依次为正常直立行进,蹲着行进,还有匍匐前进。
技巧四.然后你会看到Stance下面的Doctrine选项,虽然这个单词很难理解,但也是跟姿态有关。依次说下你们就明白了。第一个命令后的姿态,就是说队长命令AI什么样AI就保持什么样的姿态,然后第二个是巡逻姿态,就是心不在焉的那种。第三个事正常姿态。第四个也是个巡逻姿态,但是是非常警觉的那种,也可以理解成搜寻姿态。第五个就是战斗姿态了。然后这里下面的Formation我们简单介绍下,就是行进队形。明白了吧,什么代表什么队形游戏中熟悉这里就不做多介绍了。
技巧五.然后是Delay选项,顾名思义就是延迟,就是到达次路径点后等待多长时间再移动到下个路径点。单位是毫秒,注意不是秒。1000毫秒=1秒。要是设置60分钟就得是 3600000
感谢原作者vid190
教程三:部队编组
因为部队编组已经有人写过比较好的帖子,我复制如下(感谢原作者vid190):
1.我们先在Soldiers重选择5个单兵,放到地图上去,因为一个小队最多5个人,你选6个也编不到一块去。
然后我们在看Create-Systems-AI-下的Echelon图标。这个事我们以后编辑任务的常用图标,就是小队图标。
我们在地图上加一个。
2.然后我们就可以把这5个人编辑成一小组,我们可以在Echelon图标上点击右键选择Pick Parent Echelon单个选择单兵,
也可以在单兵图标上点击右键选择Pick Parent Echelon指向Echelon图标。在就可以用鼠标全选,或者按住Ctrl挑选。
3.这时我们看到五个单兵都用线指向Echelon图标,并且Echelon图标被点亮了。然后我们看到这五个单兵中有一个带有白色黑点小盾牌图标的,这个就是队长了。怎么样设置队长呢,我们来说下。首先选择你那个要设置队长的单兵,然后在右下角Modify面板中找到Hierarchy面板中的Leadership选项,我们看到数值有100,200,300这样的,说到这有的人明白了吧,数越大级别越高。小队中级别最高的就是队长。
而后面的Reset就是还原成默认,还有就是什么样的级别对应什么样军衔,在下一课中Rank属性中有介绍,不然一个小兵命令一个将军就糗大了,(400为小队长,800为大队长。)
4.小队任务说完了,然后我们再说编辑班级队伍,就是把编辑好的几个小队组成一个大队。
把刚才编辑好的Ctrl+c Ctrl+v再复制出4个来。然后再加入一个Echelon图标,聪明人到这个都应该明白再怎么设置了吧,
在每个小队的Echelon图标上点击右键选择Pick Parent Echelon指向新加入的Echelon图标。这时你会看到。新加入的图标变成两个黑点。
这就是一个大队的标志。5个小队都选择完毕后你会看到这25人其中有一个人有两点白色盾牌标记,那个就是大队长了。关于怎么设置大队长,同上面的第3节,这里就不啰嗦了。
要点:加入军官时要小心,只要一个就够了,不要重复加入,系统不支持多军官。
& && &还有就是你最多只能控制9个单位,就是说最多只能命令24个人,1到9,1是你自己,2到5是你小队的人,6.7.8.9是另外4个小队。
教程四:初识lua脚本
编写level.lua是此编辑器的灵魂核心。
请不要看见代码就犯晕,其实都很简单。
我之前对脚本语言一窍不通,不对之处多多指教。
首先我们点到右上角界面中system然后拖动
16:32:00 上传
图标在地图上。地图上选中该图标,在标签栏就会出现level.lua标签。如图所示。
16:32:00 上传
二我们打开标签level.lua,在输入界面里输入:
function onMissionStart()
OFP:showLetterBoxOsd(true);
请不要晕,我们慢慢的一行行的解释。
首先第一行:
function onMissionStart() 意思可以这么理解“当游戏开始的时候”这段代码就是这个意思。看到function就是“当什么什么的时候”。onMissionStart()意思是游戏开始。
再看第二行OFP:showLetterBoxOsd(true);
OFP:触发。showLetterBoxOsd(true)意识是给出信框。
end为结束,记得end要和function连用。
很简单把.整段代码的作用是:
当游戏开始的时候
触发:出现信框。& && && && && &&&--要满足function onMissionStart()否则不触发。
就是我们在玩任务的时候一开始,屏幕上下的黑幕。
再看个例子:
function onDeath_huang(victim, killer)
OFP:missionFailed();
看到function就是“当”,
第一行意为“当huang这个单位死了”
第二行:触发:任务失败;& && & --要满足function onDeath_huang(victim, killer)否则无法触发。
效果:只要huang这个名称的兵死了任务将失败。
总结下:写level.lua不外乎就是当什么什么的时候,触发什么什么。很简单吧。
教程五:如何显示小黄棋
16:32:00 上传
这个图标在游戏中起到指南的作用,让玩家一步步顺者提示走。(该图标只有指南作用,没有完成任务的作用,也就是说这个图标配合任务图标才能完美任务)
用法很简单就是点击system里的把拖动到地图上就可以了,如果拖动多个就要将他们之间互相连接起来,类似路径点。属性里设置下名称大小等就可以了。
但是很多朋友可能遇到这样个问题,明明把放在了地图上。但是测试游戏里面就是不见!!!!!!!
其实关键是我们没有触发。
好,一一来实现。
首先拖动图标到地图上,然后再拖动到地图上,并且在的属性name命名为point1,让后点击level.lua标签
function onMissionStart()
OFP:activateRVChain(&point1&);
这样看来就很简单了把:
当游戏开始的时
触发:point1这个旗。
进入游戏后我们就能看到这个小黄棋在坐标上啦。
备注:如果有多个00并且之间相连,那么在level.lua里只要触发第一个棋子的名字就可以了,其他后面的棋子都可见到了。
休息下,抽根烟,喝点茶。
待编。。。。。。。。。。。。
教程六:如何制作任务
要制作好的任务必须配合上一章的内容。根据小黄棋的提示来完成任务。(当然你不用小黄旗也是可以的)
我们先来做个最简单的任务。
首先在右上角的界面里击system标签然后把
20:10:46 上传
拖到地图上,然后点击
17:33:11 上传
把属性里把name写成objective,后在把type里面选择成primary objictive 1.意思是这个是主要任务一,再把army设置成PLA,意思是PLA的任务。如图所示:
17:33:11 上传
这样任务就能显示了。
不过现在还没有任务的实际内容,所以我们还要写level.lua
17:33:11 上传
到地图上,再随便拖一辆坦克在地图上并且在name里设置为tank1.然后后打开.lua
输入以下代码:
function onDeath_tank1(victim, killer)
OFP:setObjectiveState(&objective&,& COMPLETE &);
这个代码很容易懂。
当tank1被摧毁
触发:任务objective完成。
效果:把坦克打爆,则任务完成
哈哈 是不是超级简单
当然这里你要把
20:10:46 上传
和坦克放在一起,或者在的属性栏里面的linked to里面选择tank1。这样才能准确的定位坦克的位置,不然任务和内容就不匹配了。
这样一个简单的任务就制作完成了。
还可以对该代码改进一下,如:
function onDeath_tank1(victim, killer)
OFP:setObjectiveState(&objective&,& COMPLETE &);
OFP:missionCompleted();
意思是该任务完成并且所有任务完成退出游戏。
下面介绍下复杂一点的任务编辑。
我们怎样来制作2个或3任务呢?
那就很简单了直接放两个分别命名为objective1和objective2,设置好阵营,分别设置primary objictive 1和primary objictive 2
然后拖到地图上。再分别拖一辆坦克命名为但tank1个一个兵命名为bin1,如图所示:
20:10:46 上传
function onDeath_tank1(victim, killer)
OFP:setObjectiveState(&objective1&,& COMPLETE &);
function onDeath_bin1(victim, killer)
OFP:setObjectiveState(&objective2&,& COMPLETE &);
很好理解:
当tank1爆炸则任务1完成
当bin1死亡则任务2完成
2个任务制作很简单吧!!!哈哈
不过细心的同学发现了,以上代码是无论你先完成哪个任务都可以,但如果想完成了任务1才能完成任务2那怎么办?
我们必须加入个判断:
代码修改如下:
function onMissionStart()
function onDeath_tank1(victim, killer)
OFP:setObjectiveState(&objective1&,& COMPLETE &);
function onDeath_bin1(victim, killer)
if ob==1 then
OFP:setObjectiveState(&objective2&,& COMPLETE &);
OFP:missionCompleted();
我们详细讲解下:
首先看到function onMissionStart()就知道是“当游戏开始时&
下面ob=0;则是设定了个变量!!且把0(为假)赋值给ob
再看下一段
function onDeath_tank1(victim, killer)
OFP:setObjectiveState(&objective1&,& COMPLETE &);
ob=1;& && && &&&---这里多了个ob=1,意思是当objective1这个任务完成后让1(真)赋值给ob
接着看最后段
function onDeath_bin1(victim, killer)
if ob==1 then& &&&---这里是如果 ob等于1则触发objective2任务完成,达到了完成任务1后才能完成任务2的效果。注意下语法结构。
OFP:setObjectiveState(&objective2&,& COMPLETE &);
OFP:missionCompleted();
end&&- -这里注意凡有if必须有end结束
end&&- -这里的end对function
超级简单吧!! 哈哈
其实不外乎多1个变量让他完成任务1时ob变成1,任务判断ob是否等于1才触发第二个任务!
那么三个任务就不多讲了!
此章介绍到这里。
任务完成可以是多样性的,可以是某单位被杀,或者进入某区域,或者某段时间内。
学到这里应该可以制作“1公里开外匍匐在草丛中,抬个狙,听着风吹过草地的声音,等待着目标的出现!!!狙杀!!!!!!!“
大家灵活应用可以做出绚丽的任务来!
教程七:如何刷兵,如何删除出来的刷兵
此游戏只能同时拥有64个单位,确实少了点。以上内容是能编辑小规模战争mod。
但是学了此章后,你能把场面放大无数倍,可以制作出面对成百上千敌人的超级大场面。
可以制作绚丽的海滩登陆。
可以率领25辆99式坦克面对200辆M1坦克的超级坦克大对轰。
还可制作数十辆武装直升机飞过头顶的震撼效果!!!
可以制作出绚丽的桥头保卫战,村庄保卫战等等
在学习此章之前,我们先来了解下地区:
16:04:59 上传
,位置在右上角的system里面可以找到。
16:04:59 上传
这个东西主要是用于:某单位进入该地区时发生什么事。
多用于刷兵,删除刷兵,触发任务完成等。
代码为:function onEnter(zoneName, unitName)
来个例子:
16:04:59 上传
和在地图上,把的name命名为zone然后再拖一个兵并把该兵的name命名为han并设置为player.
放好后,点击标题栏的level.lua
输入以下代码:
function onEnter_zone_han(zoneName, unitName)
OFP:missionFailed();
意思是:当han这个单位进入zone这个地区时
触发总任务完成
当玩家操作han这个单位进去zone这个区域则弹出任务完成菜单,游戏胜利。
很简单吧。
好了现在我们对地区已经了解了。
现在我们就利用地区这个工具来制作刷兵。
在此之前我们先了解为什么要刷兵。
这里在罗嗦下这个编辑器只能支持64个单位在地图上,这明显限制的游戏的规模,但是我们可以在64个单位死后,再刷出新的兵,这样我就能把战斗做到无限大!不过注意一个地图上同一时间只能有64个单位,不然刷不新的兵来。
刷兵语句:OFP:activateEntitySet();
好我们来例子:
首先点击 右侧Create栏右边的Explorer
在 Entety Sey View 目录下面空白处点一下(防止建在根目录里) 再选择+ ADD Entity Set
增加一个Entity Set 我们这里他命名为E1.单击E1灰色目录图标打勾,
然后再右键E1选Exportable 最后图标就是一个黄色打勾的目录.
这样我们就建立了个实体。
然后拖动一组兵到地图上在属性界面里的modify里的Entity Set 里选择刚
才创建的E1。命名为bin1
现在这组兵事E1这个实体里的单位。
那么我们要实现刷兵就必须触发这个实体(E1这个实体里的单位在游戏一开始是不会出现的)
在地图上拖一个地区命名为:zone,再拖一个,再拖一个兵命名为han设置成player。点击level.lua输入以下代码:
function onEnter_zone_han(zoneName, unitName)
OFP:activateEntitySet(&E1&);
end意思是:
当han这个单位进入zone这个区域时
触发刷实体E1
那么我们知道刚才的bin1是在实体E1中,那么触发E1也就实现了bin1的出现。
当han进入zone这个地区时,bin1刷出来!
哈哈哈哈哈哈是不是超级简单。不过要注意刷出来的兵或者说实体E1里面的单位必须要有小队队长。不然会出错。
好了我们再来学习删除刷兵。
代码为:OFP:destroyEntitySet();
为什么要删除刷兵?
那么一队敌人远离你1公里,这队敌人也没办法追上你,那么我就可以把这个小队删除,释放出内存给其他的单位!真正实现大规模的战斗。
我们继续以例1来讲解。
再拖动一个地区到地图上00命名为shanbingzone
现在地图上有两个地区00分别为zone和shanbingzone,一个han兵,一个bin1,和一个level.lua
我们点击level.lua
输入以下代码:
function onEnter_zone_han(zoneName, unitName)
shuabin1=OFP:activateEntitySet(&E1&);
function onEnter_shanbingzone_han(zoneName, unitName)
OFP:destroyEntitySet(shuabin1);
代码的意思是:
当han这个单位进入zone这个区域时
shuabin1=触发刷兵E1实体
当han这个单位进入shanbingzone这个地区时
触发删除shuabin1这个变量。
我们来讲解下:
shuabin1=OFP:activateEntitySet(&E1&);这段代码和例1有所不同,这里必须把OFP:activateEntitySet(&E1&)赋值给shuabin1才能执行后面的消除刷兵。Shuabin1这个变量可以取自己容易记的名字。
再看下面:
OFP:destroyEntitySet(shuabin1);为触发删除刷出来的兵。
看到了把后面括号里是(shuabin1)而不是E1。如果是E1的话则代码不能出现效果,切记.那么这里删除了shuabin1也就删除了E1这个实体也就删除了bin1这组兵。(注意格式(shuabin1)没有双引号)
当han进入zone时刷兵,当han进入shanbingzone时删除刚才所刷的兵.
呵呵 也很简单把
不外乎把刷兵的触发效果给他赋值个变量,在删除刷兵的时候只要删除这个变量就可以了。
休息下继续。。。。。。。。。。。。。。。。。。。。
但是细心的同学又发现了
上面这个例子,当han单位进入zone这个地区刷兵,然后进去shanbingzone这个地区删除刷出来的兵,但是当han再进入zone这个区域时又刷兵了,这明显不是我们设计的本意。
那么我们该如何只让zone这个区域只刷一次兵,以后再进入zone地区时不再刷兵呢。
我们就必须加入判断。
来看代码:
function onMissionStart()
panduan1=0;
function onEnter_zone_han(zoneName, unitName)
if panduan1==0 then
shuabin1=OFP:activateEntitySet(&E1&);
panduan1=1;
function onEnter_shanbingzone_han(zoneName, unitName)
OFP:destroyEntitySet(shuabin1);
很好理解把
在游戏开始的时候设置个变量panduan1=0。
当han进入zone时,先判断panduan1是不是0后才刷兵。
当触发刷兵后让panduan=1,则以后再进入zone地区时因为panduan=1所以不会再刷兵了。
当然对于例3的功能还有更简单的办法:
function onEnter_zone_han(zoneName, unitName)
shuabin1=OFP:activateEntitySet(&E1&);
OFP:disableEvent(&onEnter_zone_han&) ;& &--消除该触发器,也可以达到例3的效果,且更简单方便,不需要变量来判断。
function onEnter_shanbingzone_han(zoneName, unitName)
OFP:destroyEntitySet(shuabin1);
我们来个牛的例子
假设我们有实体E1和E2还有兵若干,地区4个分别为zone,zone1和shanbingzone,shanbingzong1玩家han.
function onMissionStart()
panduan1=0;
panduan2=0;
function onEnter_zone_han(zoneName, unitName)
if panduan1==0 then
shuabin1=OFP:activateEntitySet(&E1&);
panduan1=1;
function onEnter_zone1_han(zoneName, unitName)
if panduan2==0 then
shuabin2=OFP:activateEntitySet(&E2&);
panduan2=1;
function onEnter_shanbingzone_han(zoneName, unitName)
OFP:destroyEntitySet(shuabin1);
function onEnter_shanbingzone1_han(zoneName, unitName)
OFP:destroyEntitySet(shuabin2);
当han进入zone时
当han进入zone时
当han进shanbingzone时
触发删除E1
当han进入shanbingzone1时
触发删除E2
以上代码刷兵区域只能刷1次兵
值得注意的是一次刷兵判断时,变量只能用一次
function onEnter_zone_han(zoneName, unitName)
if panduan1==0 then
shuabin1=OFP:activateEntitySet(&E1&);
panduan1=1;
function onEnter_zone1_han(zoneName, unitName)
if panduan1==1 then ――用了同一个变量,错误
shuabin2=OFP:activateEntitySet(&E2&);
panduan1=2;――错误end
这样写是错误的,所以我们必须有panduan1=0;和panduan2=0;两个变量来判断刷兵。切记!!!!!
要做大规模战斗例4必须要学会。
本章说到这里结束了,希望大家多多练习,作出超级大战场来给我玩^_^
这章稍微有点难度,有什么困难可以联系我,大家一起讨论。
教程八:路径点高级应用
在教程二中已经认识了路径点,那么这里我们对路径点的功能拓展一下
此章我们用三个部分来给大家讲解:
一:如何让刷出来的兵安路径点移动
二:如何让AI防守路径点
三:当达到路径点触发事件
一:我们在学习完教程七的后已经学会刷兵,但是如果喜欢钻研的同学发现,刷出来的兵不会按路径点走,无论你怎么设置路径,他们只是呆呆的站在原地,或者是发现敌人就一拥而上。
现在我们解决这个问题:
首先我们设置好事体E1(见教程七),拖动一组兵命名为bing1选择实体E1,拖2个地区分别命名为:shuabingzone和yidongzone.在拖3个路径分别命名为:way1,way2,way。并把3个路径相连。拖一个level.lua再来一组兵命名为han选择为player.
现在我们的任务是进入shuabingzone时,触发刷bing1,进入yidongzone时让bing1按路径移动。(哈哈明白了吧,要让刷出来的兵按路径移动,就必须去触发)。
好我们输入以下代码:
function onEnter_shuabingzone_han(zoneName, unitName)
OFP:activateEntitySet(&E1&); - -刷兵
function onEnter_yidongzone_han(zoneName, unitName)
OFP:move(“bing1”,”way1p”)
我们讲解下:第一段没问题,看第二段:当进入yidongzone时触发移动move(“兵的名字”,”路径点名称+p”):
呵呵是不是很简单。
但是请注意OFP:move(“bing1”,”way1p”)这里必须是way1+p而不是way1,这里一定要在路径点名称后面加个P,才能让bing1沿着way1到way2到way3,如果不加p,兵1只会到达way1就不动了。
二:如何让AI防守路径点。
我们要让刷出来的敌人,防守某个路径点,而不是乱跑,或者原地不动
例2:在例1的基础上再加一个路径点命名为fangshouway和一个地区命名为fangshouzone,且该路径点不能和其他路径相连.
我们要让刷出来的兵防守路径点fangshouway.
代码如下:
function onEnter_shuabingzone_han(zoneName, unitName)
OFP:activateEntitySet(&E1&); - -刷兵
function onEnter_fangshouzone_han(zoneName, unitName)
OFP:defendPos(&bing1&,&fangshouway&,10);
当han进入shuabing地区时触发刷兵,再触发防守。
OFP:defendPos(&bing1&,&fangshouway&,10);这里时(“兵名称”,”路径点”,范围/米)
三:当达到路径点触发事件
例如我们有一辆卡车,上面装满了兵,当到达某个路径时触发所有兵下车。
我们再拖一辆卡车命名为kache1,拖一组兵命名为bing2,让bing2装上卡车。在把bing2和路径way1相连。
代码如下:
function onArriveAtWaypoint_kache1_way1(entityName, waypointName)
OFP:move(&bin1&,&way1&,&OVERRIDE&);
function onArriveAtWaypoint_kache1_way1(entityName, waypointName)
OFP:land(&bing2&);
第一段触发移动。
第二段触发下卡车。
严重注意:一个地区zone只能对应一类OFP,
function onEnter_shuabingzone_han(zoneName, unitName)
OFP:activateEntitySet(&E1&); - -刷兵
OFP:activateEntitySet(&E2&); - -刷兵
OFP:activateEntitySet(&E3&); - -刷兵
这个是正确的,因为一个为地区只对应了触发刷兵,虽然有多个但是是属于同一类。
function onEnter_shuabingzone_han(zoneName, unitName)
OFP:activateEntitySet(&E1&); - -刷兵
OFP:move(&bin1&,&way1&,&OVERRIDE&);
这样是错误的:一个地区不能对应两种类型触发。
function onEnter_zone_han(zoneName, unitName)
shuabin1=OFP:activateEntitySet(&E1&);
OFP:disableEvent(&onEnter_zone_han&) ;& &
这样情况例外!这个是正确的shuabin1=OFP:activateEntitySet(&E1&);和OFP:disableEvent(&onEnter_zone_han&) 属于同一类触发,
好第八章就讲到这里。
教程九:实例应用
一:什么是虚拟单位
二:存盘点的制作
三:实例下载
一:什么是虚拟单位
我们知道一辆坦克需要配上一个驾驶员,一个指挥,和一个炮手,连上坦克本身就需要4个单位。
我们知道地图只能有64个单位,那么是不是只能有16辆坦克同时在地图上,答案是否定的。
我们可以把一辆坦克配置上虚拟驾驶员虚拟指挥和虚拟炮手,那么1辆完整的坦克只占用1个单位
拖一辆坦克到地图上,并在属性栏里面选择has virtual crew就可以了
二存盘点制作
这个很简单
在地图上拖一个Mission progress checkpoint就是圆圈里有个勾勾那个图标,
命名为save1。(在右上角的system里面找到),再拖一个地区命名为zone1,
再拖一个兵到地图上明命名为han,设置成player,再来一个level.lua
(save1和zone1最好在一起。)
输入代码:
function onEnter_zone1_han(zoneName, unitName)
OFP:enableCheckpoint(&save1&)
这样就可以了。
意思是当han进入zone1这个区域时触发存盘点save1,并且恢复体能,AI弹药得到补充。
三:实例下载
这里有个本人制作的例子供大家参考:
t6解压到游目录data_win\missions\Mission Editor\下,进入游戏玩选择死single mission\mission editer\duo hui shu yu wo men de dao yu1.3
任务目标1:攻占山头,击毙美军军官。
任务目标2:埋伏在小道两侧,突袭M1主战坦克。
任务目标3:占领南北村庄。
敌人单位:步兵若干(100+),30+辆M1主战坦克,两辆运兵车。
解放军单位:20+辆99式主战坦克,玩家带领17人小队,援兵若干。
战线长度:4公里。
更新:解决坦克堵车,和游戏非法操作问题。
顺着指南小旗走就可以了。不要硬拼,多用战术。
全文完(^.^)
祝大家战斗愉快!
补:如何调整游戏时间:在任务编辑器右下角,找到mission properties标签点击找到Date And Time就可以更改游戏里面的时间了.(24小时制)
(202.67 KB, 下载次数: 886)
22:04:22 上传
下载次数: 886
下载积分: 金钱 -1
12:22:02 上传
[ 本帖最后由 hjian2002 于
22:04 编辑 ]
(743 Bytes, 下载次数: 75)
16:32:00 上传
下载次数: 75
15:35:40 上传
下载次数: 719
下载积分: 金钱 -1
196.8 KB, 下载次数: 719, 下载积分: 金钱 -1
12:22:02 上传
下载次数: 541
下载积分: 金钱 -1
202.22 KB, 下载次数: 541, 下载积分: 金钱 -1
原创内容,值得鼓励!
总评分:&金钱 + 150&
UID504501主题阅读权限30帖子精华0积分439金钱1241 荣誉0 人气0 在线时间67 小时评议0
Lv.3游侠中级会员, 积分 439, 距离下一级还需 61 积分
帖子精华0积分439金钱1241 荣誉0 人气0 评议0
顶!LZ辛苦了
真不错,有人来喷SC2了,暴白和THQ饭都将现身回击了...
UID1948938主题阅读权限20帖子精华0积分93金钱638 荣誉0 人气0 在线时间118 小时评议0
Lv.2游侠会员, 积分 93, 距离下一级还需 107 积分
帖子精华0积分93金钱638 荣誉0 人气0 评议0
好贴竟然没人顶?????????????
难道没人玩闪点?
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
闪点好游戏~!啊
有编辑器更耐玩!!!!!!!!!!!!!!!!!
UID3010327主题阅读权限20帖子精华0积分44金钱205 荣誉0 人气0 在线时间31 小时评议0
Lv.2游侠会员, 积分 44, 距离下一级还需 156 积分
帖子精华0积分44金钱205 荣誉0 人气0 评议0
这个必须顶!楼主加油!辛苦了楼主!
回头编一个闪电版的坦克大战玩玩!呵呵!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
更新到教程6了!!!!顶起!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UID1201911主题阅读权限70帖子精华3积分7648金钱9264 荣誉43 人气62 在线时间7029 小时评议0
Lv.7游侠白金会员, 积分 7648, 距离下一级还需 7352 积分
帖子精华3积分7648金钱9264 荣誉43 人气62 评议0
我来支持LZ了,这样的东西才是论坛的营养,我觉得至少应该加亮!!!!!!!!!!!!!!!
UID646725主题阅读权限40帖子精华0积分544金钱4301 荣誉1 人气3 在线时间1326 小时评议0
Lv.4游侠高级会员, 积分 544, 距离下一级还需 456 积分
帖子精华0积分544金钱4301 荣誉1 人气3 评议0
楼主真是精液啊
但是现在这游戏好像生不逢时,加上无数不足,好端端的游戏没多少人玩了。冷清
期待放出更多补丁完善,迎来第二春啊
Quake III Arena
S.T.A.L.K.E.R.
Diablo II : Lord of Destruction
F1 Challenge 99-02
Colin McRae Rally 04
Sudden Strike
Battlefield:Bad Company 2
UID1748082主题阅读权限50帖子精华0积分1166金钱4703 荣誉0 人气10 在线时间3489 小时评议0
Lv.5游侠白银会员, 积分 1166, 距离下一级还需 834 积分
帖子精华0积分1166金钱4703 荣誉0 人气10 评议0
这帖子应该加亮啊!!!!!!!!!!!!!!!!!!!!!!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
未完待编。
去洗个澡,回来继续第七章!!!!!!!!!!!!!!!!!!!!!!!!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
这个教程是能覆盖一个层面,很多地方是没法一一讲解的,不过已经列出了常用功能!
如果需要帮助可以联系我共同交流。
人生如赌博 赢输无时定游侠元老版主天魔星 曼陀羅花治世之能臣 亂世之奸雄CRYSIS☆晴晴のBarrett M82A1★★★★★★★★★
UID2022146主题阅读权限150帖子精华7积分9694金钱35039 荣誉296 人气61 在线时间1519 小时评议0
帖子精华7积分9694金钱35039 荣誉296 人气61 评议0
技术帖支持一下
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
先改善下自己的编辑的任务,明天继续。
自娱自乐嘿嘿!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
先改善下自己的任务,自娱自乐!
明天继续写教程!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
今天争取把它补完,写教程好累啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UID2847847主题阅读权限40帖子精华0积分541金钱4273 荣誉0 人气8 在线时间1161 小时评议0
Lv.4游侠高级会员, 积分 541, 距离下一级还需 459 积分
帖子精华0积分541金钱4273 荣誉0 人气8 评议0
编辑器是神器啊!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
第七章有点难啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
疑问:地区zone是否可以触发存档,我想当然是可以。但是代码我没找到,,,希望高人解答。
UID1992636主题阅读权限30帖子精华1积分392金钱1335 荣誉12 人气0 在线时间276 小时评议0
Lv.3游侠中级会员, 积分 392, 距离下一级还需 108 积分
帖子精华1积分392金钱1335 荣誉12 人气0 评议0
第七章搞定!!!!!!!
希望对大家有帮助!!!!!!!!!
UID646725主题阅读权限40帖子精华0积分544金钱4301 荣誉1 人气3 在线时间1326 小时评议0
Lv.4游侠高级会员, 积分 544, 距离下一级还需 456 积分
帖子精华0积分544金钱4301 荣誉1 人气3 评议0
楼主好辛苦
写得好专业
可以出书了
Quake III Arena
S.T.A.L.K.E.R.
Diablo II : Lord of Destruction
F1 Challenge 99-02
Colin McRae Rally 04
Sudden Strike
Battlefield:Bad Company 2
youki贡献勋章
youki贡献勋章
元老版主勋章
任职满36个月
任职满12个月
发帖数达到10000
荣誉达到150
女性版主勋章
任职满24个月,女性版主限定!
特色头衔勋章
版区活动头衔达到三个
资深版主勋章
任职满24个月
大头像勋章
永久勋章,统一售价:8888金币。购买地址:待定
游侠元勋版主
任职满72个月
白金会员勋章
用户积分达到6000
Powered by

我要回帖

更多关于 闪点行动2 自制任务 的文章

 

随机推荐