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

Project1

 找回密码
 注册会员
搜索

关于YEP的伤害公式设置报错

查看数: 3311 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-3-4 20:47

正文摘要:

我在攻击技能的备注处备注如下 获取随机数,当随机数大于某值时,伤害增加,攻击时会报错。谢谢各位了,求解。 <Damage Formula> int ran = (int)(Math.random() * 100)     if (ran > 7) {     ...

回复

ekmomo 发表于 2018-3-6 22:28:10
本帖最后由 ekmomo 于 2018-3-6 22:47 编辑

var ran = Math.floor(Math.random() * 100)  //0 - 99 随机
Math.random() 取 0-1 开区间小数
Math.floor()向下取整
不论是从优化还是JS本身BUG角度考虑,一定要做取整。
另外千万不要return,eval + return 即使不报错也会非常非常非常影响效率。

要用element 还要var element = $dataSkills[this._item._itemId].damage.elementId;
//我知道你其实可能不想用…
百里_飞柳 发表于 2018-3-4 21:33:30
本帖最后由 百里_飞柳 于 2018-3-4 21:36 编辑

……js里有int类型的吗?
你后面都是大于小于判定不需要严格变更为整数呀
后面来了个 element 又是啥
而且你确定你的判定写对了吗?先判定大于7,再判定大于8……?在浮动范围为0-100时……??

以及总觉得需要一个 return
  1. <Damage Formula>
  2. var ran = Math.random() * 10;
  3. if (ran >= 7 && ran < 8) {
  4.    value = a.mat * 7;
  5. } else if (ran >= 8 && ran < 9) {
  6.    value = a.mat * 20;
  7. } else if (ran >= 9) {
  8.     value = a.mat * 100;
  9. }
  10. return value;
  11. </Damage Formula>
复制代码

负零 发表于 2018-3-4 21:12:17
我测试了,是随机数的问题,加了这下面一截就会报错
int ran = (int)(Math.random() * 100)
那么如何实现在攻击时判定随机数呢?
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-1-9 10:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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