骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 一个不用刷单位而制作复活功能的便捷方法

[复制链接]

202

主题

984

回帖

986

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14521
精华
0
互助
90
荣誉
18
贡献
325
魅力
775
注册时间
2017-11-5
鲜花(428) 鸡蛋(0)
发表于 2023-5-4 20:08:30 | 显示全部楼层 |阅读模式
本帖最后由 vegetto 于 2023-5-4 20:47 编辑

最近和过去看很多人说复活功能要不什么spawn单位把真的死亡的单位装备数据复制过来,要么是set player的troop夺舍op怎么怎么无效。
其实本来ms提供了一个op和一个trigger的组合来做这个。

op就是 (agent_set_no_death_knock_down_only, ":agent", 1), #第一个参数代表agent的id,第二个参数默认0,设为1时人不会死亡,血条打空会做出倒地动作后爬起,血条回满。
trigger就是 (ti_on_agent_knocked_down, 0.000000, 0.000000,  #可以检测上面op造成agent人不死时,摔倒那个时刻。

所以我们可以采用一个slot记录agent的额外可复活的生命点数,当对agent人设置 (agent_set_no_death_knock_down_only, ":agent", 1),
通过ti_on_agent_knocked_down记录摔倒而不死的状态使得点数slot+1变化,当到需要额外复活生命点上限时,当对agent人设置 (agent_set_no_death_knock_down_only, ":agent", 0), 关闭不死状态。这时ti_on_agent_knocked_down对此agent将无效,此时agent再次死亡就是ti_on_agent_killed_or_wounded,的事情了。

注意事项:
1.knock复活时衣服上的血迹不会清除,所以人被反复杀可能全身变成血人,如果不想这样,需要每次复活清除血迹,请采用强制装备物品来重置衣服。
2.ti_on_agent_knocked_down抓取的时间点是人刚开始做出倒地动作的时间(也就是动作有往后仰的趋势还没真正倒地),并且倒地动作执行完毕后立即站起来,所以如果需要人物真正的假死倒了躺在地上时做出什么事情比如倒地动作维持或者传送回推塔游戏的泉水,需要在ti_on_agent_knocked_down先设一个变量,再通过变量进行一点延迟。

3.被knockover击倒会视作死亡式送经验,如果确定自己的游戏机制允许这么做可以无视。
4.假如按我提供的思路做多生命复活点数,注意在ti_on_agent_knocked_down条件下的触发内用(agent_set_no_death_knock_down_only, ":agent", 0),关闭不死状态后,你这次还是不死成功的,下次空血才是真正的die or wounded,所以实际生命点数应该比期望的减1。

5.这种功能对于玩家或者配合有血条功能的ai,效果显得更加直观。

6.knock的op和trigger专为彼此服务,不受die等形式的其他产生倒地动作的事件影响












评分

参与人数 1第纳尔 +10 互助 +1 收起 理由
agjib + 10 + 1 您的帖子很有价值!

查看全部评分

202

主题

984

回帖

986

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14521
精华
0
互助
90
荣誉
18
贡献
325
魅力
775
注册时间
2017-11-5
鲜花(428) 鸡蛋(0)
 楼主| 发表于 2023-5-4 21:14:12 来自手机 | 显示全部楼层
可能有人不理解为什么knock down的trigger只对这一种情形负责,所以你们从常识的角度考虑,理解一下英语翻译。down这种打倒是将对手击垮性的丧失还手能力的打倒,有的时候就相当于死了。至于为什么不重复被die or wounded判断,你想这两个同级的代码会搞出重复判断吗
20230504211134front1_0_2893127_Fj846M34bM_fEEevmBddXi8qbFMf.jpg
来自: iPhone客户端
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-6-2 07:09 , Processed in 0.108876 second(s), 20 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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