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

Project1

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

[已经解决] 进来看看我这个角色新加的变量该怎么改

[复制链接]

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

跳转到指定楼层
1
发表于 2016-4-13 22:51:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我给角色设置了个体值努力值。
可是我角色加入选初始化,那么角色的个体值就会重复刷两次,这样当前HP和MXHP,SP,就对不上
RUBY 代码复制
  1. class Game_Battler
  2.           attr_accessor :nl_zh
  3.      attr_accessor :nl_maxhp
  4.      attr_accessor :nl_maxsp
  5.      attr_accessor :nl_str
  6.      attr_accessor :nl_dex
  7.      attr_accessor :nl_agi
  8.      attr_accessor :nl_int
  9.      attr_accessor :gtz_maxhp
  10.      attr_accessor :gtz_maxsp
  11.      attr_accessor :gtz_str
  12.      attr_accessor :gtz_dex
  13.      attr_accessor :gtz_agi
  14.      attr_accessor :gtz_int
  15.  
  16.      alias initialize2016412 initialize
  17.   def initialize
  18.     initialize2016412
  19.     #初始努力值   
  20.     @nl_zh = 600
  21.     @nl_maxhp = 0
  22.     @nl_maxsp = 0
  23.     @nl_str = 0
  24.     @nl_dex = 0
  25.     @nl_agi = 0
  26.     @nl_int = 0
  27.     #个体值
  28.    @gtz_maxhp = rand(31)
  29.    @gtz_maxsp = rand(31)
  30.    @gtz_str = rand(31)
  31.    @gtz_dex = rand(31)
  32.    @gtz_agi = rand(31)
  33.    @gtz_int = rand(31)
  34.  
  35.   end
  36. end
  37.  
  38. class Game_Actor < Game_Battler
  39.        attr_accessor :nl_zh
  40.      attr_accessor :nl_maxhp
  41.      attr_accessor :nl_maxsp
  42.      attr_accessor :nl_str
  43.      attr_accessor :nl_dex
  44.      attr_accessor :nl_agi
  45.      attr_accessor :nl_int
  46.      attr_accessor :gtz_maxhp
  47.      attr_accessor :gtz_maxsp
  48.      attr_accessor :gtz_str
  49.      attr_accessor :gtz_dex
  50.      attr_accessor :gtz_agi
  51.      attr_accessor :gtz_int
  52.  
  53.      alias setup2016412 setup
  54.     def setup(actor_id)
  55.     setup2016412(actor_id)
  56.     #初始努力值   
  57.     @nl_zh = 600
  58.     @nl_maxhp = 0
  59.     @nl_maxsp = 0
  60.     @nl_str = 0
  61.     @nl_dex = 0
  62.     @nl_agi = 0
  63.     @nl_int = 0
  64.     #个体值
  65.    @gtz_maxhp = rand(31)
  66.    @gtz_maxsp = rand(31)
  67.    @gtz_str = rand(31)
  68.    @gtz_dex = rand(31)
  69.    @gtz_agi = rand(31)
  70.    @gtz_int = rand(31)
  71.  
  72.   end
  73. end

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

2
发表于 2016-4-13 23:27:43 | 只看该作者
……所以你为什么要刷两遍?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

3
 楼主| 发表于 2016-4-13 23:33:23 | 只看该作者
喵呜喵5 发表于 2016-4-13 23:27
……所以你为什么要刷两遍?

我要是不在Game_Battler里面设置,那么游戏中就P不出来,也不能在
    n = [[base_maxhp + @maxhp_plus + @gtz_maxhp +@nl_maxhp / 4, 1].max, 999999].min
会是没有定义@gtz_maxhp。
要是没在Game_Actor < Game_Battler里面设置,初始化角色入队就不会刷新@gtz_maxhp
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

4
发表于 2016-4-13 23:36:47 | 只看该作者
那你刷新第二遍结束之后再重新计算一下会出错的能力值不就好了

点评

另外删掉1~36行,然后将Game_Actor#setup方法里面的执行顺序换一下不就行了吗?  发表于 2016-4-13 23:47
楼主是怎么莫名其妙解决的?  发表于 2016-4-13 23:44

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 11:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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