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

Project1

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

[已经解决] 根据职业限制能力值

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9732
在线时间
3227 小时
注册时间
2011-3-24
帖子
739

开拓者

跳转到指定楼层
1
发表于 2014-5-2 15:25:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
想做成类似以下效果:
2号职业的力量(str)上限为30
1号职业的力量上限为20
其余的职业力量上限为15
思路:
我想给每个Actor在Game_Actor里添加max_str这项,然后根据职业判断
就像这样:
  #--------------------------------------------------------------------------
  # ● 获取力量上限
  #--------------------------------------------------------------------------
  def max_str
    #根据职业----------------------------------------------------------------
    case @class_id
    when 2
    n = 30
    when 1
    n = 20
    else
    n = 15
    end
    #------------------------------------------------------------------------
    return [[n, 1].max, 999].min
  end
但是,如何用这个max_str去限制str呢?就像maxhp和hp的关系一样...怎么做?
>>→Lanza Games 2020←<<
Lanza Schneider
浪子心,孤星梦永远流浪……
~不会放弃,我的精力永远充沛~
>>>>>Lanza Adventure<<<<<
>>>>>Lanza的新年派对!<<<<<
>>>>>Lanza的口袋心脏病!<<<<<

Lv5.捕梦者

梦石
0
星屑
33479
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2014-5-4 04:07:52 | 只看该作者
  1. #==============================================================================
  2. class Game_Actor < Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   # ● 获取力量上限
  5.   #--------------------------------------------------------------------------
  6.   def max_str
  7.     case @class_id
  8.     when 2
  9.       n = 30
  10.     when 1
  11.       n = 20
  12.     else
  13.       n = 15
  14.     end
  15.     return n
  16.   end
  17. end
  18. #==============================================================================
  19. class Game_Battler
  20.   #--------------------------------------------------------------------------
  21.   # ● 获取力量
  22.   #--------------------------------------------------------------------------
  23.   def str
  24.     n = [[base_str + @str_plus, 1].max, 999].min
  25.     for i in @states
  26.       n *= $data_states[i].str_rate / 100.0
  27.     end
  28.     ms = self.is_a?(Game_Actor) ? max_str : 999  #****
  29.     n = [[Integer(n), 1].max, ms].min
  30.     return n
  31.   end
  32. end
  33. #===============================================================================
复制代码

评分

参与人数 2星屑 +12 梦石 +1 收起 理由
myownroc + 1 认可答案
Mr.Jin + 12 太感谢了

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 04:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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