查看: 3619|回复: 4

[有事请教] 请问『随机选择一位敌人』的语法

[复制链接]
梦石
0
星屑
182
在线时间
33 小时
注册时间
2019-2-25
回帖
27
发表于 2019-3-18 20:40:43 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 動感小野菊 于 2019-3-18 20:41 编辑

静电:回合开始时对敌人造成伤害。
<Custom Action Start Effect>
var targets=user.opponentsUnit().aliveMembers();
for(var a=0;a<targets.length;a++){
var dam=Math.round((user.mat*100)/(100+targets[a].mdf));//魔法抗性减少伤害
var el=targets[a].elementRate(9)//获取电属性抗性
targets[a].gainHp(Math.ceil(-dam*el));
targets[a].startAnimation(77);
targets[a].startDamagePopup();
targets[a].clearResult();
if(targets[a].isDead()){
targets[a].performCollapse()
}
}
}

</Custom Action Start Effect>

以上这个测试结果是对敌方全体造成伤害

我想改成随机挑选一位敌人,请问语法该如何修改?



老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2019-3-18 22:53:08 | 显示全部楼层
把for循环改成对敌人数组长度内的随机一个数字
<Custom Action Start Effect>
var targets=user.opponentsUnit().aliveMembers();
var a=Math.floor( Math.random() * targets.length );
var dam=Math.round((user.mat*100)/(100+targets[a].mdf));//魔法抗性减少伤害
var el=targets[a].elementRate(9)//获取电属性抗性
targets[a].gainHp(Math.ceil(-dam*el));
targets[a].startAnimation(77);
targets[a].startDamagePopup();
targets[a].clearResult();
if(targets[a].isDead()){
targets[a].performCollapse()
}
}
</Custom Action Start Effect>

评分

参与人数 1赞 +1 收起 理由
動感小野菊 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
182
在线时间
33 小时
注册时间
2019-2-25
回帖
27
 楼主| 发表于 2019-3-19 11:27:43 | 显示全部楼层
百里_飞柳 发表于 2019-3-18 22:53
把for循环改成对敌人数组长度内的随机一个数字

var targets=user.opponentsUnit().aliveMembers();


成了! 感谢大佬!
另外请教
改变天气的语法以及
停止天气的语法 结构该如何写?





点评

好的  发表于 2019-3-19 15:18
首先不要一帖多问,然后这些可以去查看默认的事件解释器里的实现方式,如果是对全局对象的操作,可以直接复制使用。最后,我其实不会mv  发表于 2019-3-19 15:05
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部