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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
跳转到指定楼层
1
发表于 2013-7-4 23:20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 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前面自加脚本,那应该怎么做,有什么要注意的?

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 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
复制代码
这样就把原来的覆盖了,注意参数、返回值跟原来的一致就可以。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

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

比如说:class Game_Actor < Game_Battler

点评

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

使用道具 举报

Lv1.梦旅人

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

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

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
帖子
799
5
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 10:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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