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

Project1

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

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

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
帖子
33
跳转到指定楼层
1
发表于 2009-4-18 07:29:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

期待高手的解答,谢谢{/wx}
版务信息:本贴由楼主自主结贴~
目前还是新手,但迟早不是
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-5
帖子
2398
2
发表于 2009-4-18 08:01:14 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-4-15
帖子
9
3
发表于 2009-4-18 08:11:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
帖子
43
6
发表于 2009-4-19 01:50:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
帖子
43
8
发表于 2009-4-19 02:17:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
帖子
33
9
 楼主| 发表于 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和精神相关,把名称修改一下,然后自己加入一个新属性来代替原来精神的作用。因为原来精神似乎只是决定法术的伤害,这个可以用新属性来完成的……就是这个感觉会有点怪怪的。

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

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
帖子
43
10
发表于 2009-4-19 05:30:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-27 01:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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