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

Project1

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

[已经解决] 如何用技能临时改变人物的闪避值?(关于隐身技能)

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 

Lv1.梦旅人

梦石
0
星屑
50
在线时间
90 小时
注册时间
2010-7-5
帖子
10
跳转到指定楼层
1
发表于 2010-7-5 18:34:49 | 只看该作者 回帖奖励 |阅读模式

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

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

x
本帖最后由 烤猫 于 2010-7-7 12:10 编辑

我做个游戏,想在里面加一个“隐身”技能,效果是怪物不会对其进行攻击或者受到的攻击全闪。我在网上查了半天也没有一个可行的办法。请问有人有让人物暂时(几回合内)不被攻击或者提高闪避到100的方法吗?或者能够让敏捷影响到闪避的方法也行。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
2
发表于 2010-7-5 21:00:21 | 只看该作者
Game_Battler
calc_eva
插入

  1. if self.is_a?(Game_Actor)                 #己方角色
  2.   if self.skill_learn?($data_skills[183])#如果角色学习了183号技能就被动增加回避率20%
  3.     eva += 20
  4.   end
  5. end
复制代码

点评

楼主要临时的,用状态来做钩子会比较好  发表于 2010-7-5 21:49

评分

参与人数 1星屑 +200 收起 理由
DeathKing + 200 楼主认可

查看全部评分

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
3
发表于 2010-7-5 21:53:08 | 只看该作者
那就再来一个!
if self.state?(70) 当拥有状态70时
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
90 小时
注册时间
2010-7-5
帖子
10
4
 楼主| 发表于 2010-7-5 21:58:35 | 只看该作者
本帖最后由 烤猫 于 2010-7-5 22:08 编辑
  1. if self.is_a?(Game_Actor)                 #己方角色
  2.   if self.state?(26)
  3.     eva += 100                    #如果有26号状态闪避加100
  4.   end
  5. end
复制代码
这个代码用了出错,先以为是因为闪避超过100了,但后来只加20闪避也出错,就是    eva += 100   这一行出的错。这个代码不知是不是有点问题?或者我 if self.state?(26) 这句加错地方了?

点评

会与不会,自己测试过最可靠,你说对不对?  发表于 2010-7-5 22:03
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
5
发表于 2010-7-5 22:18:10 | 只看该作者
回复 烤猫 的帖子
  1.   def calc_eva(user, obj = nil)
  2.     eva = self.eva
  3.     unless obj == nil                       # 若是使用技能或者使用物品
  4.       eva = 0 unless obj.physical_attack    # 如果不是物理攻击则为0%
  5.     end
  6.     unless parriable?                       # 如果无法躲避
  7.       eva = 0                               # 0%
  8.     end
  9.     return eva
  10.   end
复制代码
添加到return那句之前

点评

明白!  发表于 2010-7-5 22:32
其实我觉得是楼主放错地方了而已。话说return之后的语句是无效的  发表于 2010-7-5 22:28
return eva 之后再改变eva的值就会报错吗? 啥原因?  发表于 2010-7-5 22:25
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
90 小时
注册时间
2010-7-5
帖子
10
6
 楼主| 发表于 2010-7-6 07:50:21 | 只看该作者
  1.     eva = self.eva
  2.     unless obj == nil                       # 不是普通攻击的情况下
  3.       eva = 0 unless obj.physical_attack    # 除物理攻击以外的情况为 0%
  4.     end
  5.     unless parriable?                       # 不能回避状态的情况下
  6.       eva = 0                               # 回避率为 0%
  7.     end
  8.     if self.is_a?(Game_Actor)                 #己方角色
  9.   if self.state?(26)
  10.     eva += 100                    #如果有26号状态闪避加100
  11.   end
  12. end
  13.     return eva
  14.   end
复制代码
行了,测试攻击全闪。谢谢!
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 16:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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