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

Project1

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

[有事请教] 请问在YEP动作序列中如何用脚本判定命中敌人与否?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4563
在线时间
141 小时
注册时间
2018-1-22
帖子
137
跳转到指定楼层
1
发表于 2018-11-7 18:08:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
各位好!


我的想法是利用if语句在YEP的action sequense中加入对技能命中的判定,如果为true,则执行×××action,反之则执行×××action,但是不知道具体的语法是什么,还请各位指点!谢谢!


当然,通过判定伤害似乎也能达到相同的效果,例如damage > 0 可以看成是技能命中了,如果各位能指教一下能达成这种判定的任意方法,感激不尽!




自分自身の神様になること

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2018-11-7 19:38:48 | 只看该作者
YEP我不知道。
我提供你默认是怎么算的。
//true为MISS
    result.missed = (result.used && Math.random() >= this.itemHit(target));
//true为闪避
    result.evaded = (!result.missed && Math.random() < this.itemEva(target));
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1573
在线时间
374 小时
注册时间
2017-12-26
帖子
306
3
发表于 2018-11-7 20:09:11 | 只看该作者
if !target.result().missed&&!target.result().evaded
这句后面可以写命中之后的动作

点评

你的运用必须是在计算过missed和evaded之后才行,这两个都还没计算出来,你就运用肯定是没有的  发表于 2018-11-8 09:21
不会吧 miss的话 后面的动作应该不执行才对啊  发表于 2018-11-8 00:54
谢谢你!不过在后续附加状态的话,似乎敌人闪避了攻击还是会受到状态影响  发表于 2018-11-7 22:20
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2018-11-8 13:03:44 | 只看该作者
本帖最后由 yang1zhi 于 2018-11-8 13:05 编辑

if (result.evaded) {
执行
}
//当这次攻击是闪避的时候,就执行下面内容

if (result.missed) {
执行
}

//当这次攻击是未命中就执行下面内容


闪避的计算公式里写着,必须命中才会计算闪避公式
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

5
发表于 2018-11-8 15:00:45 | 只看该作者
Game_Action.prototype.apply = function(target) {
    var result = target.result();
    this.subject().clearResult();
    result.clear();
    result.used = this.testApply(target);
    result.missed = (result.used && Math.random() >= this.itemHit(target));
    result.evaded = (!result.missed && Math.random() < this.itemEva(target));
    result.physical = this.isPhysical();
    result.drain = this.isDrain();
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4563
在线时间
141 小时
注册时间
2018-1-22
帖子
137
6
 楼主| 发表于 2018-11-8 15:21:51 | 只看该作者
yang1zhi 发表于 2018-11-8 15:00
Game_Action.prototype.apply = function(target) {
    var result = target.result();
    this.subject( ...

谢谢帮忙!请问插件里的这个代码 是调用了原来objects.js里的函数吗?
Yanfly.BEC.Game_Action_apply = Game_Action.prototype.apply;
Game_Action.prototype.apply = function(target) {
    target._result = null;
    target._result = new Game_ActionResult();
    this.subject()._result = null;
    this.subject()._result = new Game_ActionResult();
自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

7
发表于 2018-11-8 15:30:32 | 只看该作者
我不知道有没有覆盖原文,你可以在原文中添加console.log(1)没执行到就是被覆盖了。

写了Yanfly.BEC.Game_Action_apply = Game_Action.prototype.apply;
再函数里写上Yanfly.BEC.Game_Action_apply,应该就是继承原函数了。
写在Yanfly.BEC.Game_Action_apply上面的是在原函数之前执行
写在Yanfly.BEC.Game_Action_apply下面的是在原函数之后执行
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36856
在线时间
10901 小时
注册时间
2009-3-15
帖子
4842
8
发表于 2018-11-8 15:43:20 | 只看该作者
全てのポップアップ(ダメージ表示)が再生し終わるまで待機        wait for popups
不知MISS会如何..
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4563
在线时间
141 小时
注册时间
2018-1-22
帖子
137
9
 楼主| 发表于 2018-11-8 17:43:59 | 只看该作者
soulsaga 发表于 2018-11-8 15:43
全てのポップアップ(ダメージ表示)が再生し終わるまで待機        wait for popups
不知MISS会如何.. ...

真的谢谢!但是这个判定就是不起作用,头疼。。。
············
wait for popups
  if !target.result().missed && !target.result().evaded
    change variable 20 = Math.random()*10
    if $gameVariables.value(20) >= 0 && $gameVariables.value(20) < 3
        add state 1: target
    if $gameVariables.value(20) >= 3 && $gameVariables.value(20) < 6
        add state 2: target
    if $gameVariables.value(20) >= 6 && $gameVariables.value(20) < 10
        add state 3: target
end
自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1573
在线时间
374 小时
注册时间
2017-12-26
帖子
306
10
发表于 2018-11-8 19:47:16 | 只看该作者
526396987 发表于 2018-11-8 17:43
真的谢谢!但是这个判定就是不起作用,头疼。。。
············
wait for popups

你具体想怎么写?攻击之后如果命中就有几率附加某一个状态?说详细点
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-27 04:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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