设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2497|回复: 3
打印 上一主题 下一主题

[已经解决] 求教类似闪之轨迹的失衡追击

[复制链接]

Lv4.逐梦者

缘梦

梦石
0
星屑
6166
在线时间
5592 小时
注册时间
2014-2-1
帖子
1984

开拓者剧作品鉴家

跳转到指定楼层
1
发表于 2019-10-8 15:30:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
设定只有物理技能能够打出失衡追击

物理技能有【斩】【打】【突】三种属性

根据属性有效度来设定失衡率,比如100%属性有效度是50%失衡率,200%属性有效度是100%失衡,50%属性有效度是25%失衡

设定一个特殊状态【破绽】,任意物理攻击伤害带有【破绽】的敌人必定触发一次失衡追击

追击为普通攻击,不会再触发失衡

默认脚本情况下





希望大佬能提供一个思路,或是哪部分实现起来过于复杂

很简单的话还是希望能提供一个脚本参考

RPGmaker MV交流群: 377293241 提供RPGmakerMV资源共享下载和狂三本子亚丝娜本子千斗五十铃等
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890

Lv5.捕梦者

梦石
0
星屑
34870
在线时间
4148 小时
注册时间
2007-12-15
帖子
9981
2
发表于 2019-10-9 07:01:30 | 只看该作者
本帖最后由 89444640 于 2019-10-9 11:09 编辑

即使追击需要强制行动,强制行动还不能影响角色自己行动,还不要玩家不按确定键能取消,需要闪轨的战斗链接,四人战情况,链接在战斗中可切换另外三人。
回合制不太合适,因为行动顺序乱的,如果饿回合制我这当前商量的结果是,可以让某个角色有特色攻击,根据敌人中的异常状态,某个对应技能,可以对这个状态的敌人,进在行自己的攻击后进行不同动作的追加攻击,比如敌人中了眩晕状态,角色技能平时是冲过去一拳,现在变成冲过去一拳以后接重拳,挑空重拳,升龙脚,能量喷泉,反正就是类似于格斗你把对手打眩晕了,过去普通技接特殊技接必杀接超必杀,后面的都是画一起的动作而已,如果敌人不眩晕不触发。正在考虑,我这里应该改成敌人异常状态为累计而不是抗性,用某些技能可以造成对应异常槽的累积,槽满必定异常,boss也吃,只不过boss槽比杂鱼长很多,且只持续一回合。
回到正题,半即时,当轮到角色行动时候,所有的平砍和物理技能均能造成,用闪轨的话说就是“失衡”,每个敌人抗性不同,可用战斗探测仪调查,一旦失衡则可以让战斗链接的角色进行一次平砍追击,每次攒一个豆,全队通用,攒三个连续攻击,五个爆裂猛攻,九个合体必杀技,合体技消耗两个角色200怒气值,怒气值不满威力下降,怒气值最大200,同闪轨XD
实现上ace应该自带半即时模板吧,慢慢改吧,xp完全不理解ace怎么干的。

钢弹战闪4也有连接的。
根据自己的失衡产生连续攻击的话,如你所说,第一次攻击结束后,附加一个状态,这个状态出现时,刚才攻击的角色播放追加攻击动画,显示伤害数值,然后这个状态消失。
感觉战斗流程上需要加个条件 如果状态 失衡存在的时候,强制行动,刚才攻击的角色再进行一次普通攻击,然后状态消失。

我记得闪轨暴击也会失衡来着。

点评

这里其实只是单纯想要骑神战那种失衡追击  发表于 2019-10-9 07:17
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4803
在线时间
1350 小时
注册时间
2015-7-25
帖子
541

开拓者

3
发表于 2019-10-10 17:02:00 | 只看该作者
一个简单的思路(很多东西都没考虑到位):
先设定好数据库相关的内容
1.三种属性的技能



2.敌人的属性抗性

3.状态【破绽】


设定好之后,考虑先计算属性有效度,获取失衡的成功率,可在Scene_Battle写一个新方法
  1. #计算属性有效度
  2.   def attribute_validity(target,item)
  3.     #如果技能不是斩,打,突属性,不会造成失衡
  4.     case item.damage.element_id
  5.     when 11,12,13
  6.     else
  7.       return 0
  8.     end
  9.     return 100 if target.state?(30)#如果目标有破绽状态则100%成功
  10.     target.features(11).each do |i|
  11.       if i.data_id == item.damage.element_id
  12.         return i.value * 100 * 0.5 #100有效度则成功率50%
  13.       end
  14.     end
  15.   end
复制代码

然后就可以进行判定了
  1. def apply_item_effects(target, item)
  2.     target.item_apply(@subject, item)
  3.     if rand(100) < attribute_validity(target,item)#触发成功
  4.       $game_switches[100] = true
  5.     end
  6.     refresh_status
  7.     @log_window.display_action_results(target, item)
  8.   end
复制代码
触发成功的话,就打开第100号开关



设定,进行追击,关闭100号开关


评分

参与人数 2星屑 +100 +1 收起 理由
VIPArcher + 100 认可答案
永恒の未知数 + 1 确实简单易懂的思路

查看全部评分

目前的坑 幽灵契约外传:歌莉娅
回归持续更新中~ 进度 v0.21/v1.00
笨肉包开始学像素画啦!努力训练中XD
啊~今天也是填坑的一天呢!

看!是肉包!
只能看!不能吃!
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-23 21:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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