找回密码
 点一下
查看: 1275|回复: 14

请帮我看下这个触发哪里出错啦·老是不出伤害·

[复制链接]
发表于 2009-3-11 17:19:57 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
一抹煞白 该用户已被删除
发表于 2009-3-11 18:00:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2009-3-11 20:59:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2009-3-11 21:39:29 | 显示全部楼层
lz还是重新把触发帖下吧,记住不要帖图片,照着http://www.islga.org/bbs/read.php?tid=17915这个帖子的方法
回复

使用道具 举报

发表于 2009-3-13 00:02:13 | 显示全部楼层
未命名.jpg

LZ需要重新算一下算式~

1点敏捷的几率就有80%~

LZ应该知道这类技能有80%的几率会出得多勤快~
回复

使用道具 举报

发表于 2009-3-13 00:35:19 | 显示全部楼层
我怎么觉得ls的计算不正确………………
lz这样的过程是这样的
1000/1001=0
20*0=0
100-0=100
也就是100到100的随机数,随机得到100的几率是100%,所以当然是没下都出

需要用实数计算,在转化为整数
回复

使用道具 举报

发表于 2009-3-13 01:34:05 | 显示全部楼层
1000`1001.jpg

我的计算器算的1000/1001是这个……
回复

使用道具 举报

发表于 2009-3-13 03:45:15 | 显示全部楼层
的确,如果作为实数来讲是这个,但很明显lz用的是整数,整数与整数相除得到的还是整数,而且是直接取整数部分,所以就是0
回复

使用道具 举报

发表于 2009-3-13 03:53:40 | 显示全部楼层
那么问题仍然还是LZ的公式有问题……
回复

使用道具 举报

发表于 2009-3-13 04:01:58 | 显示全部楼层
所以,lz需要做的是转换实数为整数,把这些计算统统作为实数运算再转回来,那样可以达到相对正常的数据,否则现在这样,只要敏捷大于0,发动率就恒为100%
回复

使用道具 举报

 楼主| 发表于 2009-3-13 11:25:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2009-3-13 16:36:38 | 显示全部楼层
直接实数r=GetRandomReal(0,1)
if r<=GetHeroAgi(GetAttacker())/(index+GetHeroAgi(GetAttacker()))
real index跟这个英雄会出现的最大敏捷值有关,调节index就可以调节出现几率了,而且保证不会到达和超过100%



既然懂了就改分类吧
回复

使用道具 举报

发表于 2009-3-13 18:23:42 | 显示全部楼层
设置 dugu = (随机整数,最小值: (100 - (转换 (20.00 x (1000.00 / (转换 (1000 + (力量 对 (攻击单位) (不包括 加成))) 为实数))) 为整数)) 最大值: 100)
回复

使用道具 举报

 楼主| 发表于 2009-3-15 11:00:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2009-3-15 13:51:45 | 显示全部楼层
我只是提了一种大概的方法,也可以用100.00-XXX之后再转为整数,会有一点点不同的(误差1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-21 18:19 , Processed in 0.092483 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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