骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 2485|回复: 8

[功能与代码] 潜行的实现方法

[复制链接]

32

主题

72

回帖

181

积分

见习骑士

Rank: 3

UID
3199602
第纳尔
1041
精华
0
互助
30
荣誉
0
贡献
1
魅力
203
注册时间
2020-9-4
鲜花(54) 鸡蛋(0)
发表于 2022-9-15 12:58:01 | 显示全部楼层 |阅读模式
本帖最后由 奥杜因阿卡托什 于 2022-12-10 00:06 编辑

       花了一个中秋节的时间把潜行系统弄出来了,首先还是先感谢东海、花糕、彼得、var6等人,然后为了做这个系统,我和其他某几个人研究并逆向了一下TLD、法亚和泡菜的潜行,珠玉在前,瓦石难当,谢谢这些前辈提供的思路,不过我的实现方法应该和这些都不尽相同。
       骑砍想要实现潜行,最核心的问题我觉得应该是team的问题。骑砍战斗分边是分得很严格的,包括友伤在内的一系列内容跟都被控制得死死的,属于是团队竞技,与老滚这种本质上个人竞技的大不相同。打团时team是很方便的,但在潜行这样的系统里却成了阻碍。
       从逻辑上来讲,所有敌人应该都是同一team的,但是如何让同属一个team的人,有些无动于衷,有些搜寻玩家,有些对玩家发动攻击,做出这样的区分,而不是像打团那样一拥而上呢?这就成了第一个难题。我听说,有些mod是通过改换team来实现这个机制的,但以我鄙见,这又会导致另一个问题,就是没法用常规攻击手段进行背刺。这是个很矛盾的问题,如果玩家背刺前和ai不同team,不加其他处理的话ai就会杀向玩家;如果玩家和ai同team,那么因为无法友伤玩家近战打ai是无效的——这就引出了第二个难题:如何让玩家能攻击到ai时,但ai无法攻击玩家。舍弃原有战斗系统,弄一个诸如“在背后按特殊键可以实现背刺”之类的功能,应该就能解决这个问题,但如此一来背刺就无法兼用正常战斗中特技、战技、加成、减伤等等一系列效果,很不爽。
       为了解决这两个问题,我用了比较暴力的方法。我并不会试图用改team之类的手段去打消ai的攻击欲望,相反,我就让它试图攻击我,但使用一系列的代码让它无法攻击我。agent_set_scripted_destination_no_attack,用来这个代码,本来会冲到我面前拿刀砍我的ai,这下也只会走到我面前大眼瞪小眼了;0.01秒一次的agent_set_look_target_position,揪着ai的脑袋让它死死盯着预设的目标点,即使它知道玩家就在它背后,举着刀准备痛下杀手,想回头想到抽搐,也被这代码控制着不得不做出什么都没注意到的样子。如此一来,就能强行让ai和玩家处于敌对状态下,不得不装作没事人一样自顾自地巡逻,而玩家则百无禁忌,可以随意对ai攻击。以此实现潜行-刺杀-隐匿-回归潜行一整个流程。下面上代码,有且仅有三个战场触发器。
      
(点击展开 / 收起)

这段代码的作用是在所有守卫生成时,将它们的警戒等级设为0。没什么好说的。
      
(点击展开 / 收起)

第二个代码的作用是,当ai警戒等级为0时,让它们看向某个固定方向(让它们别在玩家背刺时转过身来),看向的位置pos42设置一个自己喜欢的吧。
      
(点击展开 / 收起)

因为太长了,就只讲一下效果。效果是每个守卫都有独立的警戒等级,0123四等。0时就是正常,当玩家在ai正面、能被该ai直接看到(中间没遮挡)且距离小于20米时该ai会起疑,进入警戒等级1;1时ai会看向玩家的方向,每秒增加2点疑心,当疑心超过7时该ai进入警戒等级2;2时ai会以正常速度60%朝玩家方向移动,请注意这里的玩家方向指的是“玩家最后一次被目击到”的位置;进入三阶段的方法有两种,一是玩家跑太快,直接跑到ai跟前(正面、无遮挡、距离小于5),二是这个ai被打了;当有一名守卫进入三阶段,首先它本人会对玩家进行不死不休的全速追击,只有将它干掉或者用一些特定法术(还没做)才能解决这个危机,而且与此同时全图守卫都将被惊扰,进入阶段2,朝玩家最后被目击到的位置展开搜寻,也就是说如果不速战速决,整张图敌人都会被引过来。
      降低警戒等级的方法是:一,警戒等级三不会被消除,只能将该agent消灭;二,警戒等级二,如果玩家已经隐蔽起来了,ai的疑心会每秒减少一点,差不多七八秒的样子就能消除;三,警戒等级一,只要玩家在ai进入等级二之前(差不多三秒)快速躲起来就行,ai会觉得“大概是风声吧(便乘)”。
      这几个代码设置一下上面提到的pos42,加在任何mt里应该都是能跑的,甚至1000人团战——只不过嘛这么做可能会死。这个死是多重意义上的,首先你的角色会被乱军冲死,然后电脑会死,坐在电脑前的那个人类也有可能死在电脑的爆炸中,三杀。因此使用时还是悠着点吧,四十几个人的潜行局应该是没问题的。

      另外,本来是还有一套让ai巡逻、以及自己获取巡逻目的地的代码的,但是那个有点太长了,而且不是很美观,这里就没有一并放出。
9AY~MSWVISV53L_WAK{A0ES.png
~GSIE}%J25)I75KYKLA3OCH.png

评分

参与人数 1第纳尔 +20 互助 +2 魅力 +20 收起 理由
Aomine Daiki + 20 + 2 + 20 文章不错,继续努力!

查看全部评分

2

主题

55

回帖

37

积分

扈从

Rank: 2Rank: 2

UID
3413425
第纳尔
326
精华
0
互助
4
荣誉
0
贡献
0
魅力
0
注册时间
2022-9-11

骑砍中文站APP会员勋章

鲜花(2) 鸡蛋(0)
发表于 2022-9-16 09:22:38 来自手机 | 显示全部楼层
66666666电脑会死笑死了来自: iPhone客户端

0

主题

57

回帖

17

积分

随仆

Rank: 1

UID
3346943
第纳尔
519
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2022-4-8
鲜花(2) 鸡蛋(0)
发表于 2022-9-17 10:35:17 来自手机 | 显示全部楼层
大佬牛逼,大佬威武来自: Android客户端

50

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-9-21 17:03:23 | 显示全部楼层
能不能做到,躲到草丛里敌人不好发现你的潜行效果

3

主题

103

回帖

32

积分

扈从

Rank: 2Rank: 2

UID
3206165
第纳尔
430
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-11-6

骑砍中文站APP会员勋章

鲜花(3) 鸡蛋(0)
发表于 2022-9-22 08:02:15 来自手机 | 显示全部楼层
很有同感,给你点赞哦!来自: Android客户端

14

主题

59

回帖

27

积分

随仆

Rank: 1

UID
3279850
第纳尔
379
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2021-10-17
鲜花(3) 鸡蛋(0)
发表于 2022-9-22 11:51:11 来自手机 | 显示全部楼层
大佬牛逼,大佬威武!来自: Android客户端

32

主题

72

回帖

181

积分

见习骑士

Rank: 3

UID
3199602
第纳尔
1041
精华
0
互助
30
荣誉
0
贡献
1
魅力
203
注册时间
2020-9-4
鲜花(54) 鸡蛋(0)
 楼主| 发表于 2022-12-10 00:11:49 | 显示全部楼层
修改了几个地方,一个是第三个触发器触发条件改成了0,0,0。第二个是所有加了(neg|agent_slot_eq, ":enemy", slot_agent_alarmed_level, 3),的地方,加这一句话作用是使ai进入三阶段(被砍了或者近距离目击到玩家)后不会降警戒等级,毕竟那种头上插着箭说“大概是风声吧”的吊图带伙也数见不鲜了。这个可加可不加,看个人喜好。

29

主题

682

回帖

548

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1738
精华
0
互助
67
荣誉
0
贡献
0
魅力
4
注册时间
2022-2-3
鲜花(55) 鸡蛋(0)
发表于 2023-6-8 01:15:39 来自手机 | 显示全部楼层
djman 发表于 2022-9-21 17:03
能不能做到,躲到草丛里敌人不好发现你的潜行效果

草丛不行,因为这个的判断依据是碰撞,没有碰撞的东西无法提供遮挡。来自: Android客户端

50

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2023-6-8 20:30:50 | 显示全部楼层
112233lyh 发表于 2023-6-8 01:15
草丛不行,因为这个的判断依据是碰撞,没有碰撞的东西无法提供遮挡。

哦,那可以把树的模型改成灌木的样子,把碰撞体改小一些
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-3-29 05:33 , Processed in 0.144977 second(s), 38 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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