Project1

标题: 请问如何获取被攻击英雄的ID(已解决) [打印本页]

作者: qknight    时间: 2017-3-28 19:54
标题: 请问如何获取被攻击英雄的ID(已解决)
本帖最后由 qknight 于 2017-3-31 15:14 编辑

友方一个随机英雄被单体技能攻击了,求教应如何判断是哪个英雄受到了攻击。

目前,在下的想法有两个,但都不知道具体的实施方法。如果大神有更好的解决方法,还望不吝赐教

1、直接在技能公式里获取被攻击英雄的ID号,这应该是最优最直接的解决方法,不过在下不知道能不能写出、怎么写这样的公式
2、给被攻击目标赋予一个时限最短的状态,然后用公共事件分歧队伍中第几个英雄身上有这个状态,从而得知被攻击英雄的ID。这样的方法有两个弊端:一是假如同回合内有多个英雄先后被这个单体技能打中,公共事件就会找错目标;二是在下不知道“分歧队伍中第1个英雄身上是否有1号状态”这句话的脚本写法……


感谢楼下大神的解答,目前的解决方法为第一种,在技能公式中写上:v[1]=b._actorId,就可以通过1号变量得知是哪个ID的英雄被攻击到了
{:2_275:}
作者: 在野月光    时间: 2017-3-29 23:25
引用VA大神的译本:


Game_Action.prototype.evalDamageFormula = function(target)
作者: qknight    时间: 2017-3-30 19:19
在野月光 发表于 2017-3-29 23:25
引用VA大神的译本:

请问这句话具体该怎么用呢,把它写入脚本中似乎会报错
作者: 在野月光    时间: 2017-3-30 20:10
不是直接调用的。
那句话只是计算公式的位置。
参数target就是被攻击方。
作者: qknight    时间: 2017-3-30 20:40
在野月光 发表于 2017-3-30 20:10
不是直接调用的。
那句话只是计算公式的位置。
参数target就是被攻击方。

在下也找到了计算公式那里,不过那里一句脚本都没有,介绍的a、b、v什么的也没有讲b的ID的写法。自己试着在技能公式里写了v[1]=b.id这句话,不过很明显写法不对,反馈回来的变量仍旧是0。
v[1]=b倒是反馈回了【Object】一类的语句,不过还是无法判明哪个英雄受到了攻击
作者: 在野月光    时间: 2017-3-30 21:05




作者: qknight    时间: 2017-3-30 21:32
在野月光 发表于 2017-3-30 21:05

感谢阁下的回答,这样子确实看到了actorid,不过要怎么把这个ID反馈到游戏中呢?比如说让1号变量等于这个ID。
作者: 在野月光    时间: 2017-3-31 13:26
是指提取变量到游戏画面?干嘛用呢,
Scene_Map的事件编辑器调用Scene_Ballte的数据是刻舟求剑的。
好吧,既然你要提取的话...


作者: qknight    时间: 2017-3-31 15:11
在野月光 发表于 2017-3-31 13:26
是指提取变量到游戏画面?干嘛用呢,
Scene_Map的事件编辑器调用Scene_Ballte的数据是刻舟求剑的。
好吧, ...

其实不用那么复杂的……在下只是想通过变量得知具体是哪个角色被某些技能攻击到了,从而在公共事件里加减变量(比如说削减SAN值)。感谢您的耐心解答,解决了在下的问题。
{:2_249:}




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