骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 泛用型弹反

[复制链接]

41

主题

94

回帖

221

积分

见习骑士

Rank: 3

UID
3199602
第纳尔
1162
精华
0
互助
36
荣誉
0
贡献
1
魅力
227
注册时间
2020-9-4
鲜花(60) 鸡蛋(0)
发表于 2022-9-11 04:20:59 | 显示全部楼层 |阅读模式
       首先先感谢给我提供不少思路和建议的彼得、东海、huagao、路奇、var6等人,然后进入正题。
       关于弹反,简而言之就是敌人在攻击你时你准确地做出某种操作,能让敌人无法继续攻击,通常是僵直或者失衡。这应该是个很早之前就有人研究过的东西了。领军者里就有吧,而且永恒世界这样的联机mod也引入了。但是不出我意料的话,永恒世界那个盾反是通过检测按键实现的——换言之,只能给玩家用。作为一个pvpmod来说这样已经足够,但我还是觉得应该更进一步。相信玩魂系的人都有被小兵弹中,跪倒在地被致命一击秒杀的经历,为了让玩家在骑砍中也能获得这样的体验,我做了一个单机mod也能使用、玩家和ai都能使用的弹反机制。接下来就讲讲我的思路和代码。
       我的思路并不是魂系列那种进攻性较强的弹反策略,亦即“在敌人攻击时解除防御就能弹反”,这是个很危险的操作,宁愿慢不要快,因为开盾快了没弹中就要被砍。相反,我用的是英灵神殿的策略,“在敌人攻击瞬间举盾就能弹反”,偏向防守,宁愿快不要慢,因为举盾快了就算没弹中也能正常格挡。这样的弹反严格来说应该叫“完美格挡”比较合适。话不多说,下面来看代码。
       第一个加东西的地方是constant,定义一下核心的slot。搜索AGENT(大写),把slot_agent_blocking      = 26加在这个版块下面。
       接着自然是mission_template,代码如下
(点击展开 / 收起)

       由于无法检测举盾的瞬间,我采取的时没0.05秒检测是否举盾了的方法。举了,就给改单位的slot_agent_blocking这个slot加一。不举,就回归到零。在需要采用弹反的mission里加上common_battle_shield_strick_back,这条就行了。
       第三个定义的是敌人被弹后失去平衡的动作。打开animation,把
(点击展开 / 收起)

加在最下面。那个2是该动作持续的时间。我自己测了一下,1秒一下就太短了,几乎无法补刀;2秒以上太长,不是特别自然,而且ai也能弹玩家,到时候来个七秒八秒的,自己中招了就搞笑了。另外,我这里用到的动作是从strikes里面截取的,可以自己用openbrf去CommonRes里看看别的动作。
       最后一个要改的比较特殊,是物品触发器,打开item,找到想加弹反功能的盾的词条,在每个的最后一个]之前加上
(点击展开 / 收起)

为什么最后一步要加在物品触发器里呢?主要是我觉得mt里塞太多条件判定,搞得老长一段不好看。而且,以魂系的特点,每个物品独立设置触发特性是比较符合逻辑的。(le, ":blocking_count", 6),这句的作用就是控制弹反窗口期的长度。还记得之前是0.05秒判定一次吗?这小于6才能弹,相当于0.3秒的窗口期。你在敌人攻击你之前的0.3秒内举盾,就能触发弹反效果,让他失衡。按照魂的惯例,小盾最好弹,因此可以把这个数字改大一点;中盾不好弹,就给个2,只有0.1秒反应时间。塔盾没这个功能,干脆就这个物品触发器都不用加了。甚至,右手的武器也能格挡吧,寻思了一下按我这个写法,好像右手武器也能弹。除了空手不能弹以外,万物皆可弹!这样,通过每件物品个性化的处理,可以实现多样的弹反设定。
      此外还有很多东西可以加。比如设置一下不对远程生效;比如,弹中了加个“兵!”的音效什么的;比如,攻击了敌人后能给他一个slot,让他下一次遭受的攻击无视铁骨减伤,还有加成,15铁骨全靠减伤吃饭的狂战士有难了;比如,习得某个技能后能击落一定等级以下的对手的武器(对AI来说太致命了这个);比如,弹反之后下一次攻击,数值超过一定值能把对手打翻在地。上述都是些有利机制,来点不利的,比如输出超过一定值能免疫弹反之类的。这些我自己是以后肯定会安排上的。
UC5}7P4LO$E9EU5BH[B78C0.png

评分

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

查看全部评分

33

主题

180

回帖

64

积分

扈从

Rank: 2Rank: 2

UID
3256923
第纳尔
746
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2021-7-30
鲜花(5) 鸡蛋(0)
发表于 2022-9-11 04:48:21 来自手机 | 显示全部楼层
666                来自: Android客户端

54

主题

899

回帖

341

积分

见习骑士

游骑士战队[YQS]
联机ID:Apple_PAI

Rank: 3

UID
3218444
第纳尔
106
精华
0
互助
11
荣誉
0
贡献
0
魅力
26
注册时间
2021-1-30

战团正版勋章2022国庆青训杯冠军勋章第一届拿破仑中国刺刀联赛近卫勋章霸主正版勋章拿破仑正版勋章

鲜花(110) 鸡蛋(0)
发表于 2022-9-11 14:32:23 | 显示全部楼层
有视频嘛
苹果派真好吃嘿嘿嘿

29

主题

738

回帖

565

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1748
精华
0
互助
67
荣誉
0
贡献
0
魅力
6
注册时间
2022-2-3
鲜花(57) 鸡蛋(0)
发表于 2022-9-11 18:04:22 来自手机 | 显示全部楼层

你说实机演示的视频吗?这个花一分钟自己加一个试试看就知道了嘛。来自: Android客户端

0

主题

58

回帖

22

积分

随仆

Rank: 1

UID
3110714
第纳尔
439
精华
0
互助
1
荣誉
0
贡献
0
魅力
1
注册时间
2019-10-8
鲜花(7) 鸡蛋(0)
发表于 2022-9-12 02:14:30 | 显示全部楼层
虽然只是简单的set_animation运用,不过这里我想到了agent_get_combat_state 中有个自相矛盾的状态7,不知道是否可以简化判断逻辑

3

主题

103

回帖

32

积分

扈从

Rank: 2Rank: 2

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

骑砍中文站APP会员勋章

鲜花(3) 鸡蛋(0)
发表于 2022-10-10 00:09:14 来自手机 | 显示全部楼层
这个好这个好来自: Android客户端

3

主题

103

回帖

32

积分

扈从

Rank: 2Rank: 2

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

骑砍中文站APP会员勋章

鲜花(3) 鸡蛋(0)
发表于 2022-10-10 00:09:32 来自手机 | 显示全部楼层
楼主带我装逼带我飞来自: Android客户端

0

主题

2

回帖

6

积分

平民

Rank: 1

UID
3337095
第纳尔
34
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-3-15
鲜花(0) 鸡蛋(0)
发表于 2024-3-12 19:34:06 | 显示全部楼层
楼主请问测试过用武器进行格挡吗,我尝试加到武器上,但好像触发不了ti_on_shield_hit

29

主题

738

回帖

565

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1748
精华
0
互助
67
荣誉
0
贡献
0
魅力
6
注册时间
2022-2-3
鲜花(57) 鸡蛋(0)
发表于 2024-3-13 10:47:15 来自手机 | 显示全部楼层
Lian435 发表于 2024-3-12 19:34
楼主请问测试过用武器进行格挡吗,我尝试加到武器上,但好像触发不了ti_on_shield_hit ...

确实不行,上次试了一下,右手的东西直接就不能触发这个触发器。来自: Android客户端

0

主题

2

回帖

6

积分

平民

Rank: 1

UID
3337095
第纳尔
34
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-3-15
鲜花(0) 鸡蛋(0)
发表于 2024-3-17 12:46:52 | 显示全部楼层
112233lyh 发表于 2024-3-13 10:47
确实不行,上次试了一下,右手的东西直接就不能触发这个触发器。

非常感谢
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-11-19 08:30 , Processed in 0.131440 second(s), 34 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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