查看: 2812|回复: 4

[已经解决] 想问一个关于脚本使用的基础问题

[复制链接]
梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
发表于 2013-7-4 23:20:22 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 lirn 于 2013-7-4 23:23 编辑

在脚本  
Game_Battler下有一道计算命中的公式,我不喜欢VA的默认公式,就将他们修改为
  1. def item_hit(user, item)
  2.     rate = 1#item.success_rate * 0.01         # 取得成功率
  3.     rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -eva) if item.physical?      # 物理攻击:计算命中率的乘积
  4.     rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -mev) if item.magical?  #魔法攻击:计算命中率的乘积
  5.     return rate                             # 返回计算后的命中率
  6.   end
复制代码
我这个是直接在Game_Battler改的,但是,如果是大量修改的话就算加了注释也容易忘记自己改了,我想将他们写在插入MAIN前面自加脚本,那应该怎么做,有什么要注意的?
梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-7-4 23:48:31 | 显示全部楼层
  1. class Game_Battler
  2.   def item_hit(user, item)
  3.     rate = 1#item.success_rate * 0.01         # 取得成功率
  4.     rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -eva) if item.physical?      # 物理攻击:计算命中率的乘积
  5.     rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -mev) if item.magical?  #魔法攻击:计算命中率的乘积
  6.     return rate                             # 返回计算后的命中率
  7.   end
  8. end
复制代码
这样就把原来的覆盖了,注意参数、返回值跟原来的一致就可以。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
 楼主| 发表于 2013-7-5 00:32:58 | 显示全部楼层
Sion 发表于 2013-7-4 23:48
这样就把原来的覆盖了,注意参数、返回值跟原来的一致就可以。

我不太清楚术语,大致上是不是只要复制过来修改就没有问题?

那有些脚本上我看到有大于号的怎么回事?

比如说:class Game_Actor < Game_Battler

点评

< Xxx 这个可以不复制。  发表于 2013-7-5 00:49
回复

使用道具 举报

梦石
0
星屑
272
在线时间
9 小时
注册时间
2013-6-22
回帖
1
发表于 2013-7-5 00:40:25 | 显示全部楼层
lirn 发表于 2013-7-5 00:32
我不太清楚术语,大致上是不是只要复制过来修改就没有问题?

那有些脚本上我看到有大于号的怎么回事?

那个是属于不是大于哦,表示前面是后面的子类
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
 楼主| 发表于 2013-7-13 12:47:25 | 显示全部楼层
Sion 发表于 2013-7-4 23:48
这样就把原来的覆盖了,注意参数、返回值跟原来的一致就可以。

补充一个问题


假如有这样的脚本

Game_Battler A

   def B
       c
   end


然后下面另外一个脚本有

Game_Battler A

   def B
       D   
end


假如C和D互不重合,那么在执行D会影响C的执行下吗?

点评

少了end  发表于 2013-7-13 15:38
@sion 也就是说,全程执行D,而C就不会被执行了吧  发表于 2013-7-13 13:33
相同类里的同名方法,后面的会直接覆盖前面的。  发表于 2013-7-13 13:26
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部