3GO模拟飞行网|3GO Cyber Air Force

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2430|回复: 22

[共享] FC2"失事飞行员救援"脚本(纯蛋疼)

[复制链接]
发表于 2011-3-22 00:43:06 | 显示全部楼层 |阅读模式
本帖最后由 L0op8ack 于 2011-3-22 13:34 编辑

设计功能目标:
1)玩家清除一些简单目标后,救援直升机出现;
2)玩家阵亡(当场毙命或跳伞)后,不能立即复活,需等待救援直升机到达“复活点”方可复活。

待解决问题:
1)受伤返场停发动机后等待自动修复,如果修复完成的同时,救援直升机不在“救援区”,玩家会自爆
      因为FC2认为修复和”复活“一样,都处理为一个“先死后活”的过程,只不过不计阵亡次数而已......
      初步方案:置玩家阵亡标志3,在复活时用TIME SINCE FLAG(3,1)检查,但是可能有1秒空档期可以用来作弊

步骤(3、4纯属蛋疼,对地任务中加入还有点意思):
1)加入一架救援直升机(Rescure),无武器、满油,设定为3天后出现(TIME HOLD = 0:0:0/3);
2)建两个触发区域:Rescure_Zone(救援点),Recover_Zone(复活点),距离别太远,直升机比较慢......
   救援直升机在两个区域内来回跑(直至没油或被击落),为救援直升机添加路点:
    路点2,类型设为Fly Over Point;
    路点3设在Rescure_Zone内,类型设为Begin Loop;
    路点4设在Recover_Zone内,类型设为End Loop;
    路点5设在本方机场内,类型设为Landing;

3)在救援直升机的路点3处放群敌方防空单位(Vulcan);
triggers.JPG

4)添加触发器,在玩家清除完救援直升机的路点3处的Vulcan防空车后,救援直升机(Rescure)出现,并通告玩家;
ONCE(Vulcan_Dead)    GROUP DEAD(Vulcan)     ACTIVE GROUP(Rescure)
                                                                    MESSAGE(Rescure Service Activated!,20)

5)添加触发器,提示救援直升机位置状态:
救援直升机到达”救援区“:
SWITCHED CONDITION(Rescure)    UNIT INSIDE ZONE(Rescure,Rescure_Zone)  MESSAGE(INFO: Rescure In Progress, you are saved!,20)

救援直升机到达”复活区“,置可复活标志:
SWITCHED CONDITION(Recover)    UNIT INSIDE ZONE(Rescure,Recover_Zone)  MESSAGE(INFO: Crash Recovery NOW!!!...,20)
                                                                                                                  SET FLAG(2)
救援直升机离开”复活区“,清除可复活标志:
SWITCHED CONDITION(no_Recover)    UNIT OUTSIDE ZONE(Rescure,Recover_Zone)  MESSAGE(WARN: DO NOT try Crash Recovery...,20)
                                                                                                                           CLEAR FLAG(2)
6)添加触发器,玩家阵亡提示:(这里脑补一下飞行员同志如兰博再世拼命杀向救援点的情景好了......)
SWITCHED CONDITION(DEAD)    UNIT DEAD(玩家名字)  MESSAGE(WARN: Go to Rescure Point NOW!,20)

7)添加触发器,置玩家复活标志:
SWITCHED CONDITION(Recovery)    UNIT LIVE(玩家名字)   SET FLAG(1)

8)添加触发器,救援直升机不在”复活区“或离开”复活区“,玩家如果提前复活则自爆
CONTINUOUS ACTION(Cheat)   FLAG IS TRUE(1)    EXPLODE UNIT(玩家名称)
                                             FLAG IS FALSE(2)  MESSAGE(ALERT: No CHEAT please!,20)

9)添加触发器,救援直升机进入”复活区“后玩家复活,则清除复活标志(防止救援直升机离开”复活区”后玩家自曝):
CONTINUOUS ACTION(Cheat_Fix)   FLAG IS TRUE(1)    CLEAR FLAG(1)
                                                   FLAG IS TRUE(2)

评分

1

查看全部评分

发表于 2011-3-22 00:45:23 | 显示全部楼层
哦?!?我还从没研究过这个,看来已经有点ArmA2的意思了
 楼主| 发表于 2011-3-22 00:49:22 | 显示全部楼层
版主大人,广告贴又来了,速去封号吧......
发表于 2011-3-22 00:56:15 | 显示全部楼层
已封号,LZ有没有关于脚本编写的一些教程?

从玩ArmA2的经历看,写脚本非常复杂,不看教程完全不行,格式要求太严格了
 楼主| 发表于 2011-3-22 01:09:55 | 显示全部楼层
本帖最后由 L0op8ack 于 2011-3-22 11:31 编辑
已封号,LZ有没有关于脚本编写的一些教程?

从玩ArmA2的经历看,写脚本非常复杂,不看教程完全不行,格式 ...
Phantom_II 发表于 2011-3-22 00:56


看FC2安装目录下的 doc\lockon_fc2_gui_manual_en.pdf,“Mission Editor”章节“The Tool Bar”部分的"set triggers"

FC2的触发器还是比较简单的,搞清楚触发器类型的检查行为就好办,多用标志(FLAG)组合判断
任何类型的触发器,如果有多条触发条件,只有所有这些触发条件都满足时(也就是“与”的关系),才执行触发动作
没“或”的关系,“非”的关系部分条件有,但是不全,复杂情况未必能处理。

触发条件和触发动作的含义从名字上看都很直观,没什么需要细看的,

触发器类型4种:ONCE / MISSION START/ SWITCHED CONDITION / CONTINUOUS ACTION.
ONCE:一次性,整个任务期间触发一次后不再重复触发,实际上,满足了一次触发条件后,这个触发器就删掉了
MISSION START: 一次性,任务开始时检查一次
CONTINUOUS ACTION: 每秒检查一次触发条件
SWITCHED CONDITION:连续检查(但不是每秒),触发条件判断结果有变化时,且变化为从“假”变为“真”时,才触发
如上面的例子:
SWITCHED CONDITION(Recovery) UNIT LIVE(玩家名字)  .....
只在玩家由“死”变”活“的时候(即”复活“)才触发

SWITCHED CONDITION(Dead) UNIT DEAD(玩家名字)  .....
只在玩家由“活”变”死“的时候(即”阵亡“/"跳伞")才触发

最难弄清楚的是SWITCHED CONDITION
要是你设多个触发条件,基本上会立马头晕眼花
发表于 2011-3-22 11:11:12 | 显示全部楼层
LZ高人,我的建议是,要救援直升机返回友方机场后玩家才可复活。
 楼主| 发表于 2011-3-22 11:23:13 | 显示全部楼层
LZ高人,我的建议是,要救援直升机返回友方机场后玩家才可复活。
zeeshine 发表于 2011-3-22 11:11


这个简单,参照1楼的例子
将救援直升机的路点4和Recover_Zone放到友方机场即可
发表于 2011-3-22 11:23:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-3-22 12:58:43 | 显示全部楼层
触发规则到现在也没搞明白
发表于 2011-3-22 18:16:15 | 显示全部楼层
已经汉化过了。。。。。。以后可能出版
 楼主| 发表于 2011-3-22 18:58:14 | 显示全部楼层
已经汉化过了。。。。。。以后可能出版
foxwxl 发表于 2011-3-22 18:16


现在的汉化版本编辑任务,进去测试任务的时候,所有单位名称都是两个双引号,实在不方便,于是还是用英文原版
汉化包卸载似乎有残留文件影响
发表于 2011-3-22 19:33:37 | 显示全部楼层
有点意思 LZ脚本强大啊
发表于 2011-3-22 19:44:58 | 显示全部楼层
我只能在背后默默的支持LZ。
发表于 2011-5-5 13:15:42 | 显示全部楼层
回复 L0op8ack 的帖子

可否做一个联网的机炮地图, 在一定限制空域狗斗  飞机只能1V1 谁挂了 挂的这一方下一个战机才可以出现  必须是联网的 玩家控制战机
 楼主| 发表于 2011-5-5 13:31:25 | 显示全部楼层
taoxd9245 发表于 2011-5-5 13:15
回复 L0op8ack 的帖子

可否做一个联网的机炮地图, 在一定限制空域狗斗  飞机只能1V1 谁挂了 挂的这一方下 ...

所有飞机出现时间设为3天后,(TIME_HOLD = 0:0:0/3)

任务开始,打个标记:
MISSION START -  SET_FLAG(1)

任务开始1分钟后,激活1vs1红蓝对抗:
ONCE(start_fight) TIME_SINCE_FLAG (1,60) ACTIVE_GROUP(red_g1)
                                          ACTIVE_GROUP(blue_g1)

然后,做一堆ONCE/GROUP_DEAD/ACTIVE GROUP就行了,第二架出现,第一架已阵亡,不能再进行游戏
ONCE(red_g1_Dead)    GROUP_DEAD(red_g1)     ACTIVE_GROUP(red_g2)
                                                                                DEACTIVE_GROUP(red_g1)
ONCE(blue_g1_Dead)    GROUP_DEAD(blue_g1)     ACTIVE_GROUP(blue_g2)
                                                                                DEACTIVE_GROUP(blue_g1)
.....


限制空域用zone就行
SWITCHED_CONDITION(outof_gunzone) UNIT_OUTSIDE_ZONE(red_1,Gun_Zone) EXPLODE_UNIT(red_1)
SWITCHED_CONDITION(outof_gunzone) UNIT_OUTSIDE_ZONE(blue_1,Gun_Zone) EXPLODE_UNIT(blue_1)


LOFC2里面一组飞机被DEACTIVE_GROUP后不能再ACTIVE_GROUP,最好还是做个是否可复活标记,如果当前本方战机未阵亡,其他飞机复活则自爆
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|3GO模拟飞行网|3GO Cyber Air Force ( 沪ICP备08002287号|沪ICP备14050587号 )

GMT+8, 2024-5-19 12:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表