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

Project1

 找回密码
 注册会员
搜索
楼主: lirn
打印 上一主题 下一主题

[已经解决] 求命中回避上限下限突破的方法以及一些相关的附带问题。

[复制链接]

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

11
发表于 2012-6-24 19:29:09 | 只看该作者
本帖最后由 feizhaodan 于 2012-6-25 12:41 编辑
lirn 发表于 2012-6-24 19:21
1:RAND产生的数字不是整数吗?
2:首先,我是把回避给取消了,无论命中如何,都不会MISS;然后设置一个 ...


1,rand后面没有(x)的时候产生的是0-1之间的随机数。
2,我明白了。大概就是
  1. @result.missed = false
  2. @result.evaded = item_eva(user,item) > (item_hit(user,item)-1+rand(item_hit(user,item)))
复制代码
第二行的解释,
  1. @result.missed = false
复制代码
这行让攻击永远发生命中判定。
  1. @result.evaded = item_eva(user,item) > ((item_hit(user,item)-1..item_hit(user,item)).to_a.sample)
复制代码
这行让回避判定变为当被攻击方的回避大于攻击方德(命中-1)这个数值到(命中)数值之间的一个随机数时,回避攻击。

是这样么?���
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
12
 楼主| 发表于 2012-6-24 19:53:24 | 只看该作者
没错,不过这个之前还有个物品是否能使用的@result.used = item_test(user, item),那是不是在在前面加上@result.used &&  ?



@result.evaded = (@result.used && item_eva(user,item) > ((item_hit(user,item)-1..item_hit(user,item)).to_a.sample))

回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

13
发表于 2012-6-24 20:06:12 | 只看该作者
本帖最后由 feizhaodan 于 2012-6-24 20:06 编辑
lirn 发表于 2012-6-24 19:53
没错,不过这个之前还有个物品是否能使用的@result.used = item_test(user, item),那是不是在在前面加上@r ...


是要加,但是你括号放错位置了。
这样方的话,最终将会变成
  1. true或者false > 数字
复制代码
这样。要把@result.used和其他的分开放。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
14
 楼主| 发表于 2012-6-24 21:58:49 | 只看该作者
feizhaodan 发表于 2012-6-24 20:06
是要加,但是你括号放错位置了。
这样方的话,最终将会变成这样。要把@result.used和其他的分开放。 ...



似乎不行呢。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
54
在线时间
434 小时
注册时间
2011-7-9
帖子
161
15
发表于 2012-6-25 00:12:59 | 只看该作者
路過。。。
招式庫有必中選項。。100迴 還是必中
D
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

16
发表于 2012-6-25 08:54:23 | 只看该作者
lirn 发表于 2012-6-24 21:58
似乎不行呢。

把周边脚本放上来。只给个错误提示我不知道哪里错了。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
17
 楼主| 发表于 2012-6-25 09:52:38 | 只看该作者
feizhaodan 发表于 2012-6-25 08:54
把周边脚本放上来。只给个错误提示我不知道哪里错了。



周边脚本?我基本上没动什么,用的两个都是在图书馆下的,作者都是后知后觉。
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

18
发表于 2012-6-25 10:23:07 | 只看该作者
lirn 发表于 2012-6-25 09:52
周边脚本?我基本上没动什么,用的两个都是在图书馆下的,作者都是后知后觉。 ...

是出错的脚本的附近= =

点评

感谢帮助  发表于 2012-6-26 16:35
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
19
 楼主| 发表于 2012-6-25 10:38:37 | 只看该作者
  1. #--------------------------------------------------------------------------
  2.   # ● 应用技能/物品的效果
  3.   #--------------------------------------------------------------------------
  4.   def item_apply(user, item)
  5.     @result.clear
  6.     @result.used = item_test(user, item)
  7.     @result.missed = (@result.used && rand >= item_hit(user, item))  # 命中判定
  8.     @result.evaded = ([email protected] && rand < item_eva(user, item))# 回避判定
  9.     if @result.hit?
  10.       unless item.damage.none?
  11.         @result.critical = (rand < item_cri(user, item))
  12.         make_damage_value(user, item)
  13.         execute_damage(user)
  14.       end
  15.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  16.       item_user_effect(user, item)
  17.     end
  18.   end
复制代码
这是正常的原脚本

点评

原脚本正常,就是将你写下的替换成在第7,第8行之后,第8行错误,也就是 @result.missed = [email protected] = item_eva(user,item) ……这句出错。  发表于 2012-6-25 11:14
难道是在原脚本状态下出错的?不是的话把你改的放出来并且指出哪行错了  发表于 2012-6-25 10:42
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
20
 楼主| 发表于 2012-6-25 11:15:50 | 只看该作者
feizhaodan 发表于 2012-6-25 10:23
是出错的脚本的附近= =

替换之后

第8行,也就是@result.evaded = item_eva(user,item) > ((item_hit(user,item)-1..item_hit(user,item)).to_a.sample)

这句出错

点评

在我的那楼更新了下,你看看把。  发表于 2012-6-25 12:41
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-22 18:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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