查看: 3250|回复: 10

请问如何修改属性的计算公式

  [复制链接]
梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
回帖
26
发表于 2009-4-18 07:29:25 | 显示全部楼层 |阅读模式

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

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

×
我想设计这样一个系统,HP和MP都由我新增的角色属性来决定,比如说,HP取决于耐力,MP取决于智力。想这样的修改要怎么样做呢?耐力和智力能力的扩展我已经完成,可以公式无法创建,因为智力和耐力都是我新增加的属性。

期待高手的解答,谢谢{/wx}
版务信息:本贴由楼主自主结贴~
目前还是新手,但迟早不是
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-5
回帖
2356
发表于 2009-4-18 08:01:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-4-15
回帖
9
发表于 2009-4-18 08:11:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
回帖
26
 楼主| 发表于 2009-4-19 00:14:09 | 显示全部楼层
恩,两位的回答我知道了。简单的增加新属性不能和HP,MP相关的,我尝试过的。我在想是不是能够用修改RPG::Actor的方式来完成,不过还在探索的
目前还是新手,但迟早不是
回复

使用道具 举报

梦石
0
星屑
216
在线时间
77 小时
注册时间
2008-4-24
回帖
139
发表于 2009-4-19 01:45:39 | 显示全部楼层
那个mdef属性说起来问题也不少
如果想进行调整的话着实需要一番功夫。
特别是与加点系统并不兼容。
玩游戏总是不如做游戏的感觉好。所以喜欢做RPG
缅怀邓爷爷。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
回帖
41
发表于 2009-4-19 01:50:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
回帖
26
 楼主| 发表于 2009-4-19 02:09:25 | 显示全部楼层
这样的确是不行的,这样运行,会出现一个错误,大意是mdef方法,在RPG::Actor中没有定义。

在RPG::Actor中有parameters[kind,@level]这样一个二维数组,游戏中的初始属性是在那个里面的,kind这个值只有那么几个,新增的属性不在这个设定里面。我想如果能够修改这个的话,游戏中公式会更加多变,可是我不知道怎么看RPG::Actor的具体定义
目前还是新手,但迟早不是
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
回帖
41
发表于 2009-4-19 02:17:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
回帖
26
 楼主| 发表于 2009-4-19 04:27:11 | 显示全部楼层
呃,这个,好吧,我用一个新工程做了一次实验(我现在的工程整合的东西比较多,怕看不清了)。

简单起见,我试图让MP与精神相关,精神是游戏的内置属性,比较简单。
在Game_Actor的213行做了如下修改:

  #--------------------------------------------------------------------------
  # * 获取初始MP上限值信息
  #--------------------------------------------------------------------------
  def base_maxmp
    #return actor.parameters[1, @level]
    n = actor.parameters[1, @level]
    n += actor.spi
    return n
  end

带注释的是原来的那个语句,完了修改好了,运行,结果会出现如下错误:
脚本节:‘Game_Actor’,行号225:发生了NoMethodError。
undefined method 'spi' for #<RPG::Actor:0x24bf458>

这个错误并不会出现在开始画面还没有出现的时候,而是在点新游戏的时候弹出的错误。所以简单新增属性,然后再加进Game_Actor的方法似乎是没有用的。目前我的想法是就让MP和精神相关,把名称修改一下,然后自己加入一个新属性来代替原来精神的作用。因为原来精神似乎只是决定法术的伤害,这个可以用新属性来完成的……就是这个感觉会有点怪怪的。

不知道这个方法能不能改进成一个带参数的,就像游戏中定义普通攻击伤害和技能伤害的那两个一样,望高手赐招啊,拜托了!!
目前还是新手,但迟早不是
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
回帖
41
发表于 2009-4-19 05:30:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部