查看: 1645|回复: 4

[結帖]幸運值如何隨機?

[复制链接]
david_ng223 该用户已被删除
发表于 2016-2-27 05:28:27 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2016-2-27 06:57:14 | 显示全部楼层
写在 setup 方法里面

评分

参与人数 1星屑 +100 收起 理由
丿梁丶小柒 + 100 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
回帖
522
发表于 2016-2-27 16:28:52 | 显示全部楼层
加入角色用变量代入随机幸运值

评分

参与人数 1星屑 +60 收起 理由
丿梁丶小柒 + 60 我很赞同

查看全部评分

回复

使用道具 举报

寒

梦石
0
星屑
1049
在线时间
1391 小时
注册时间
2010-8-9
回帖
3301
发表于 2016-2-27 23:42:43 | 显示全部楼层
本帖最后由 寒冷魔王 于 2016-2-28 00:28 编辑

修改增添两个地方即可:
[pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 获取幸运随机数  # 增添
  #--------------------------------------------------------------------------
  def get_luck_rand
    @luck_rand ||= rand(255) + 1 # 1 ~ 255
  end
  #--------------------------------------------------------------------------
  # ● 获取普通能力的基础值(重写)
  #--------------------------------------------------------------------------
  alias tan_quality_param_base param_base
  def param_base(param_id)
    case param_id
    when 0
      v = 2
      v *= tan_quality_param_base(param_id)
      i = @tan_quality_param[param_id] if @tan_quality_param
      v += ActorQuality::QUALITY_CHANGE.to_f if i
      v *= self.level
      v /= 100
      v += 10
      v += self.level
      return v.to_i
    when 1
      v = 2
      v *= tan_quality_param_base(param_id)
      i = @tan_quality_param[param_id] if @tan_quality_param
      v += ActorQuality::QUALITY_CHANGE.to_f if i
      v *= self.level
      v /= 100
      v += 10
      v += self.level
      return v.to_i
    when 7
      v = get_luck_rand # 修改
      v *= 2
      i = @tan_quality_param[param_id] if @tan_quality_param
      v += ActorQuality::QUALITY_CHANGE.to_f if i
      v *= self.level
      v /= 100
      v += 5
      return v.to_i
    else
      v = 2
      v *= tan_quality_param_base(param_id)
      i = @tan_quality_param[param_id] if @tan_quality_param
      v += ActorQuality::QUALITY_CHANGE.to_f if i
      v *= self.level
      v /= 100
      v += 5
      return v.to_i
    end
  end[/pre]

三个测试点:
1.“状态”画面,每次打开,值是不变的
2. 存档后读档,值不变
3. 新建游戏,值改变
测试成功。

另外,用于敌人的话,和角色是相同的修改手段。
不过请注意,由于敌人是在Game_Troop中实例化的,所以在战斗中,相同的敌人编号会有不同的幸运值。

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 原来楼主改过脚本么orz

查看全部评分

回复

使用道具 举报

david_ng223 该用户已被删除
 楼主| 发表于 2016-2-27 23:46:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部