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

Project1

 找回密码
 注册会员
搜索
查看: 1188|回复: 7
打印 上一主题 下一主题

请教个关于回避率的问题

 关闭 [复制链接]

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

跳转到指定楼层
1
发表于 2009-2-7 04:05:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  #--------------------------------------------------------------------------
  # ● 获取基本回避修正
  #--------------------------------------------------------------------------
  def base_eva
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    eva1 = armor1 != nil ? armor1.eva : 0
    eva2 = armor2 != nil ? armor2.eva : 0
    eva3 = armor3 != nil ? armor3.eva : 0
    eva4 = armor4 != nil ? armor4.eva : 0
    return eva1 + eva2 + eva3 + eva4
  end

请问这个回避修正是啥意思呢???
是个百分比的还是数值呢???
如果把我最后段改成
return eva1 + eva2 + eva3 + eva4 + base_agi
那加上了速度的数值...会不会回避高出很多???
努力努力再努力

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2009-2-7 04:40:45 | 只看该作者
      # 第二命中判定
      eva = 8 * self.agi / attacker.dex + self.eva
      hit = self.damage < 0 ? 100 : 100 - eva
      hit = self.cant_evade? ? 100 : hit
      hit_result = (rand(100) < hit)
最后这一行为true就命中了,为false就躲避了
在0-100的范围里eva越大 hit就越小
eva大于100的话hit就小于0
rand(100)永远不会小于0
永远都是false 你自己看看吧











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
帖子
2790
3
发表于 2009-2-7 04:52:50 | 只看该作者
是百分率...
eva大于100等于不可能命中.....

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

4
 楼主| 发表于 2009-2-7 05:20:01 | 只看该作者
那请问前辈.我发的那段回避修正需要去改么???
努力努力再努力
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

5
发表于 2009-2-7 05:52:14 | 只看该作者
这个要看需求而定
就算要改也应该是改
这几行比较合适
     # 第二命中判定
     eva = 8 * self.agi / attacker.dex + self.eva
     hit = self.damage < 0 ? 100 : 100 - eva
     hit = self.cant_evade? ? 100 : hit
     hit_result = (rand(100) < hit)

这几行是 应用普通物理攻击里提出来的
在Game_Battler 3 里面
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

6
 楼主| 发表于 2009-2-7 06:51:57 | 只看该作者
那我打算用速度来当躲闪...也就是说替代灵巧
那是不是把attacker.dex更改成base_agi
请前辈再次指教下{/ll}
努力努力再努力
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

7
发表于 2009-2-7 08:34:41 | 只看该作者
以下引用xcyog于2009-2-6 22:51:57的发言:

那我打算用速度来当躲闪...也就是说替代灵巧
那是不是把attacker.dex更改成base_agi
请前辈再次指教下

你想这样改也可以
attacker.base_agi  
attacker.agi
这2个要区分清楚,后者包含前者
说到这里突然想起一个问题
上次给你说的那个灵巧关联物理防御的那个应该用dex而不是base_dex
base_dex是数据库里设置的属性,在升级和换装备的时候才会增加
而dex是在Game_Battler 3里定义的,除了包含base_dex以外还有另外的一个东西
就是那个@dex_plus,使用加属性的物品增加属性时是加的这个东西而不是base_dex











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

8
 楼主| 发表于 2009-2-7 20:54:39 | 只看该作者
上次给你说的那个灵巧关联物理防御的那个应该用dex而不是base_dex
base_dex是数据库里设置的属性,在升级和换装备的时候才会增加
而dex是在Game_Battler 3里定义的,除了包含base_dex以外还有另外的一个东西
就是那个@dex_plus,使用加属性的物品增加属性时是加的这个东西而不是base_dex


哇...我去测试了下.果然是要用dex才行呀....谢谢前辈指正啊...
努力努力再努力
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-18 06:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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