Project1

标题: 善恶有报技能我已经实现了,但还有点小麻烦【已解决】 [打印本页]

作者: fengge127    时间: 2018-12-29 22:23
标题: 善恶有报技能我已经实现了,但还有点小麻烦【已解决】
本帖最后由 fengge127 于 2018-12-30 19:14 编辑

首先创建第一个技能,命名善恶有报,伤害类型hp恢复,公式写0,注释那里写以下代码

<Cast Animation: 0>
<Post-Damage Eval>
Math.random()<0.7 ? BattleManager.queueForceAction(user, 13, -2):BattleManager.queueForceAction(user, 12, -2);
</Post-Damage Eval>

代码翻译
取消技能动画
伤害处理阶段开始
先产生一个0-1之间的随机数,如果随机数小于0.7(70%几率)则强制释放13号技能,作用目标是上一个,否则强制释放12号技能
伤害处理阶段结束

12号技能是善报,为目标回血,13号技能是恶报,对目标造成大量伤害

后来我又给12号13号技能添加了跑到敌人面前攻击的动画

但现在还有个问题,就是猪脚在释放善恶有报时会摊一下手,我明明取消了这个技能的攻击动画,为啥还会摊手???有大佬知道为啥吗?

这三个技能类型我都设置为物理了,系统sv技能类型(需要吟唱技能类型)只有魔法,为啥还是这样?

这个问题已经在九楼解决,感谢二楼大佬提供技术支持
作者: qq1065526265    时间: 2018-12-30 01:01
特技动作啊有什么奇怪的  重写动作系列就可以搞定  
作者: fengge127    时间: 2018-12-30 11:34
qq1065526265 发表于 2018-12-30 01:01
特技动作啊有什么奇怪的  重写动作系列就可以搞定

物理技能分类属于特技吗?关键我不管什么技能释放都有施法动画,要怎么重写动作序列?求大佬教教我
作者: qq1065526265    时间: 2018-12-30 12:37
fengge127 发表于 2018-12-30 11:34
物理技能分类属于特技吗?关键我不管什么技能释放都有施法动画,要怎么重写动作序列?求大佬教教我{:4_15 ...

你用的是不是YEP得战斗核心和动作系列1.2.3插件?
作者: fengge127    时间: 2018-12-30 13:09
qq1065526265 发表于 2018-12-30 12:37
你用的是不是YEP得战斗核心和动作系列1.2.3插件?

是的,还有yep的技能插件....
作者: qq1065526265    时间: 2018-12-30 13:21
fengge127 发表于 2018-12-30 13:09
是的,还有yep的技能插件....

按照你的办法的话
善恶有报技能备注:
<Cast Animation: 0>
<Post-Damage Eval>
Math.random()<0.7 ? BattleManager.queueForceAction(user, 13, -2):BattleManager.queueForceAction(user, 12, -2);
</Post-Damage Eval>
<Target Action>

</Target Action>

善报 和 恶报的技能备注:
<Target Action>
move user: target, FRONT BASE, 20
face user: target
wait for movement
MOTION SWING: user
motion wait: user
animation 6: targe
wait for animation
action effect
motion wait: user
death break
</Target Action>
你看看是不是你想要的效果  我试了你的办法不知道为什么不行  有yep的技能插件  
我的做法和你的不同
使用善恶有报是有几率获得36或者37号状态
获得36号状态时立即使用善报
获得37号状态时立即使用恶报

作者: fengge127    时间: 2018-12-30 13:48
qq1065526265 发表于 2018-12-30 13:21
按照你的办法的话
善恶有报技能备注:

不行,我刚试过了,人物只是前后移动一小步,没有善恶判定,把<Target Action>去掉又可以判定并释放善报恶报了,但是还会摊手,并且善报恶报都有个发黄光的施法(或者说蓄力)动画。。。

在善报恶报技能注释前加<Cast Animation: 0>,又恢复到和我的效果一样,不发光,但会摊手。。。
作者: qq1065526265    时间: 2018-12-30 14:03
本帖最后由 qq1065526265 于 2018-12-30 14:05 编辑
fengge127 发表于 2018-12-30 13:48
不行,我刚试过了,人物只是前后移动一小步,没有善恶判定,把去掉又可以判定并释放善报恶报了,但是还会 ...


我给你说我的做法吧需要YEP战斗核心和动作系列1.2  和状态核心插件
需要把插件的施法动画关闭   在yep战斗核心里面的
必定命中  Certain Hit Animation  改为0
物理命中  Physical Animation   改为0
善恶有报技能备注:(需要在游戏里面开启100个以上的变量并且不要在游戏里面使用100号变量当然你也可以改成1号变量什么的)
<Target Action>
change variable 100 = Math.floor(Math.random()*100)
if $gameVariables.value(100) < 70
Add State 57: user
else
Add State 56: user
</Target Action>

善报  37号技能技能备注:
<Target Action>
move user: target, FRONT BASE, 20
face user: target
wait for movement
MOTION SWING: user
motion wait: user
animation 7: target
wait for animation
action effect
motion wait: user
death break
Remove State 56: user
</Target Action>

恶报  37号技能备注
<Target Action>
move user: target, FRONT BASE, 20
face user: target
wait for movement
MOTION SWING: user
motion wait: user
animation 6: target
wait for animation
action effect
motion wait: user
death break
Remove State 57: user
</Target Action>




57号恶报状态备注:
<Custom Apply Effect>
var skill = 38;
var target = -2;
BattleManager.queueForceAction(user, skill, target);
</Custom Apply Effect>

56号善报状态备注:
<Custom Apply Effect>
var skill = 37;
var target = -2;
BattleManager.queueForceAction(user, skill, target);
</Custom Apply Effect>


作者: fengge127    时间: 2018-12-30 19:11
qq1065526265 发表于 2018-12-30 14:03
我给你说我的做法吧需要YEP战斗核心和动作系列1.2  和状态核心插件
需要把插件的施法动画关闭   在yep战 ...

哈哈哈哈,终于解决了,就是用的大神你的方法,我在善恶有报技能注释栏这样写

<Target Action>
if Math.random() < 0.7
Add State 12: user
else
Add State 11: user
</Target Action>

然后11号状态写善,12号状态栏写恶,

11号善状态栏注释
<Custom Apply Effect>
BattleManager.queueForceAction(user, 12, -2);
</Custom Apply Effect>

12号恶状态栏注释
<Custom Apply Effect>
BattleManager.queueForceAction(user, 13, -2);
</Custom Apply Effect>


12号技能善注释

<Cast Animation: 0>
<Target Action>
move user: target, Front Center, 20
Jump user: 50%
wait for jump
motion swing: user
action effect
wait for effect
</Target Action>

13号技能恶注释


<Cast Animation: 0>
<Target Action>
move user: target, Front Center, 20
Jump user: 50%
wait for jump
motion swing: user
action effect
wait for effect
</Target Action>

好奇怪,直接在<Target Action>标签里写BattleManager.queueForceAction(user, 13, -2)就没用,添加个状态中和一下就可以了,现在终于没有摊手动画了,谢谢大佬提供技术支持

作者: 晓波sama    时间: 2019-1-5 09:34
你直接把系统SV技能吟唱动作  魔法移除掉不就完事了。你那技能就是算魔法。在魔法的分类里
作者: fengge127    时间: 2019-1-5 11:26
晓波sama 发表于 2019-1-5 09:34
你直接把系统SV技能吟唱动作  魔法移除掉不就完事了。你那技能就是算魔法。在魔法的分类里 ...

移除了没用,我把技能分类为物理了,sv全部移除也没用




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1