找回密码
 注册
搜索
查看: 1656|回复: 4
收起左侧

十分傻瓜的FPS模式下锁定目标与开火

[复制链接]

该用户从未签到

6

威严

1298

帖子

3955

点数

白玉楼半灵

炮灰敢死队

Rank: 4

积分
2551
发表于 2011-7-21 00:40:16 | 显示全部楼层 |阅读模式
本帖最后由 透明之眼 于 2011-7-21 20:48 编辑

恩,让我们来看看吧……

(FPS模式NOTD余波里已经有现成的了- -但是却没有相应的开火系统,让我倍感蛋疼,于是我打算给弄一个这个)

(大概思路:玩家挂了,援军给了一个飞行员,控完飞机之后,输入-FPS指令,然后咱的工作就从这里开始——首先要准备另一个专用于FPS模式的飞机,然后给正常的飞机加上变形技能。然后再准备开火相关的技能,构思是这样的:飞机可以用方向键到处乱飞,这是地图里已经有了的- -于是乎准备一个无目标的马甲技能和单位目标的马甲技能,都是用来瞄准敌人的(无目标自动随机搜索周围的敌人,单位目标手动瞄准【通常是对BOSS】),然后当瞄准敌人之后,就可以通过开火技能对敌人进行攻击,准备的武器包括机载重机枪以及地狱火导弹)

然后开工了。

准备FPS模式的飞机一个,然后是两个瞄准技能,但是由于瞄准了单位你得知道到底是瞄准了谁,自动瞄准的效果就是随机选取一个单位,然后对它释放手动瞄准技能。然后就是武器相关,这俩不是很难,只要准备两个能攻击的马甲,然后在飞机使用攻击技能的时候创建一个马甲攻击就成了,攻击技能设定为无目标技能,然后给飞机准备两个看不见的马甲技能,为单位技能,在放出攻击技能之后命令飞机使用单位技能,然后用触发让马甲单位攻击目标(确实很简单),至此,就差不多了,不过有一个问题,那就是火箭是会误伤的- -还有如果要取消目标怎么办?所以还要给两个技能,一个技能用于警告队友,一个技能用于取消目标。然后来算一算吧,六个可见的技能(手动瞄准,自动瞄准,重机枪,地狱火,警告,取消)

手动瞄准(技能原型为精灵之火,给视野,能看见,用变量记录目标单位)
自动瞄准(原型通魔,释放后随即选一个单位对其放手动瞄准)
扫射(对目标单位进行扫射,原型通魔,释放后命令飞机释放真技能)
真·扫射(看不见的技能,释放后在单位的位置创建一个马甲进行攻击)
地狱火导弹(对目标单位进行轰炸,原型通魔,同扫射)
真·地狱火导弹(同)
警告(依然是通魔,效果是释放后给所有玩家发出警告,咱要开始炸了- -快闪开)
取消(还是通魔,真是麻烦你了,释放后清除变量)

接下来就是触发了

触发A:HinaFire变量:HinaTarget(数组变量)HinaPoint(数组变量)
事件:任意单位释放技能效果
条件:无
动作:
【If:施放技能 = 手动瞄准
Then:Set HinaTarget【玩家引索】 = 技能释放目标
发布信息 对 匹配玩家 = 施法单位 的所有者 的玩家 ,内容: 当前瞄准目标为 + HinaTarget 的名字
跳过剩余动作
Else: Do Nothing】
【If:施放技能 = 自动瞄准
Then:Set HinaPoint【玩家引索】 = 施法单位 的位置
命令 施法单位 对 在 以HinaPoint为圆心,半径1500,且满足条件:匹配单位 是 施法单位 的所有者 的 盟军单位 = False And 匹配单位 是 存活的 = True 中的随机一个单位 释放 精灵之火
跳过剩余动作
Else:Do Nothing】
【If:施放技能 = 扫射
Then:命令 施法单位 对 HinaTarget【玩家引索】 释放 风暴之锤
跳过剩余动作
Else:Do Nothing】
【If:施放技能 = 真·扫射
Then:Set HinaPoint【玩家引索】 = 施法单位 的位置
命令 创建一个 扫射马甲 For 施法单位 的所有者 在 HinaPoint【玩家引索】,面向 施法单位 的面向角度 对 HinaTarget【玩家引索】 释放 攻击一次
跳过剩余动作
Else:Do Nothing】
【If:施放技能 = 地狱火导弹
Then:命令 施法单位 对 HinaTarget【玩家引索】 释放 火箭群
跳过剩余动作
Else:Do Nothing】
【If:施放技能 = 真·地狱火导弹
Then:
{If: HinaCool【玩家引索】 = True
Then:Set HinaPoint【玩家引索】 = 施法单位 的位置
Set HinaPoint【玩家引索】 = 从 HinaPoint【玩家引索】开始,距离50,方向 施法单位 的面向角度 + 90
命令 创建一个 地狱火马甲 For 施法单位 的所有者 在 HinaPoint【玩家引索】,面向 施法单位 的面向角度 对 HinaTarget【玩家引索】 释放 火箭群
Set HinaCool【玩家引索】= False
Else:Set HinaPoint【玩家引索】 = 施法单位 的位置
Set HinaPoint【玩家引索】 = 从 HinaPoint【玩家引索】开始,距离50,方向 施法单位 的面向角度 - 90
命令 创建一个 地狱火马甲 For 施法单位 的所有者 在 HinaPoint【玩家引索】,面向 施法单位 的面向角度 对 HinaTarget【玩家引索】 释放 火箭群
Set HinaCool【玩家引索】}
跳过剩余动作
Else:Do Nothing】
【If:施放技能 = 注意隐蔽
Then:对 所有玩家 发布消息,内容:AH-1W 流雏人形:我们即将对目标进行轰炸,注意隐蔽
跳过剩余动作
Else:Do Nothing】
【If:施放技能 = 取消目标
Then:对 匹配玩家 = 施法单位 的所有者 的玩家 发布信息,内容:你当前没有锁定任何目标
Else:Do Nothing】

总算是完了- -

最后,考虑到在游戏里不经常碰到飞行员援军,所以咱还要加几个特邪恶的触发

触发B:Allowed 相关变量:HinaAllow(数组变量)HinaPlayer
事件:玩家1 输入 包含 -允许  的聊天信息 , 包含方式:部分符合
条件:无
动作:
Set HinaPlayer = 转换 截取 聊天信息 的 5~6字节 转化为整数 为玩家
【If:HinaAllow【玩家引索】 = False
Then:Set HinaAllow【玩家引索】 = True
Else:Set HinaAllow【玩家引索】 = False】

触发C:Airport
事件:玩家1 输入 包含 请给我最好的装备 的聊天信息 , 包含方式:完全符合
条件:无
动作:
【If:HinaAllow【玩家引索】 = True
Then:对 匹配玩家 = 触发玩家 发布信息,内容:成功通过许可验证
创建 1个 AH-1W 流雏人形 For 触发玩家 在 0,0 ,面向 0.00
Else:对 匹配玩家 = 触发玩家 发布信息,内容:你没有获得许可】

完成了- -!12847546

该用户从未签到

6

威严

1298

帖子

3955

点数

白玉楼半灵

炮灰敢死队

Rank: 4

积分
2551
 楼主| 发表于 2011-7-21 00:46:41 | 显示全部楼层
其实FPS模式也不难做- -

哪位童鞋要是有兴趣也可以把这些东西搬到地图里,说不定就能做出一个不错的飞行类地图- -
传说中的骗子和坑王以及受难者
回复

使用道具 举报

该用户从未签到

1

威严

17

帖子

233

点数

人形

Rank: 2

积分
122
发表于 2011-7-24 22:19:22 | 显示全部楼层
{:4_144:}看不懂...这真的十分傻瓜吗
回复

使用道具 举报

该用户从未签到

6

威严

1298

帖子

3955

点数

白玉楼半灵

炮灰敢死队

Rank: 4

积分
2551
 楼主| 发表于 2011-7-31 00:37:37 | 显示全部楼层
回复3L:

十分的傻瓜,不顾及效率,一切都从简,可以说即使是初学者也能毫无压力的做出来

不过还有些漏洞要自己填补就是了
传说中的骗子和坑王以及受难者
回复

使用道具 举报

该用户从未签到

1

威严

7

帖子

1344

点数

人形

Rank: 2

积分
147
发表于 2011-8-7 04:00:51 | 显示全部楼层
看着就很混沌= =
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|东方幻想乡 ( ICP15046467-1 )

GMT+8, 2024-11-22 00:46 , Processed in 0.066782 second(s), 28 queries .