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

Project1

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

[已经过期] 如何判断第几号角色

[复制链接]

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
跳转到指定楼层
1
发表于 2013-9-19 11:00:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 876加几 于 2013-9-19 11:14 编辑

就是判断角色的ID。
因为等级无法破限,我就只能扰乱了,但是这个方法始终没成功,我还测试了很多遍:
(代码)
    if $game_actors[4]
      self.contents.draw_text(x + 32, y, 24, 32, "100", 2)
    else
      self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
    end
#不成功

    if @actor == 4
      self.contents.draw_text(x + 32, y, 24, 32, "100", 2)
    else
      self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
    end
#不成功

    if $game_actors[@actor_id] == 4
      self.contents.draw_text(x + 32, y, 24, 32, "100", 2)
    else
      self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
    end
#不成功
(代码完)
上面我想判断的语句的全部不成功。         
呃,发糖贴好冷清呀!

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
2
发表于 2013-9-19 11:31:05 | 只看该作者
本帖最后由 wolves 于 2013-9-19 11:42 编辑

LZ试试这段:
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. #等级可无限提升
  6. #パラメータの算出が適当すぎるので、各自修正が必要かと。
  7.   BASE_FINAL_LEVEL = 9999   #上限レベル(あんまり大きな値を設定するとハングします)
  8.   MAXHP_LIMIT = 99999999    #HP限界値
  9.   MAXSP_LIMIT = 99999999    #SP限界値
  10.   STR_LIMIT   = 999999      #STR限界値
  11.   DEX_LIMIT   = 999999      #DEX限界値
  12.   AGI_LIMIT   = 999999      #AGI限界値
  13.   INT_LIMIT   = 999999      #INT限界値
  14. class Game_Actor < Game_Battler
  15.   def new_final_level
  16.     lv = BASE_FINAL_LEVEL
  17.     #以下上限LV個別指定用
  18.     #case self.id
  19.     #when 1
  20.     #  lv = 255
  21.     #when 2
  22.     #  lv = 999
  23.     #when 8
  24.     #  lv = 15600
  25.     #end
  26.     return lv
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● EXP 計算
  30.   #--------------------------------------------------------------------------
  31.   def make_exp_list
  32.     actor = $data_actors[@actor_id]
  33.     @exp_list = Array.new(new_final_level + 2)
  34.     @exp_list[1] = 0
  35.     pow_i = 2.4 + actor.exp_inflation / 100.0
  36.     for i in 2..new_final_level + 1
  37.       if i > new_final_level
  38.         @exp_list[i] = 0
  39.       else
  40.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  41.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  42.       end
  43.     end
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● MaxHP の取得
  47.   #--------------------------------------------------------------------------
  48.   def maxhp
  49.     n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
  50.     for i in @states
  51.       n *= $data_states[i].maxhp_rate / 100.0
  52.     end
  53.     n = [[Integer(n), 1].max, MAXHP_LIMIT].min
  54.     return n
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 基本 MaxHP の取得
  58.   #--------------------------------------------------------------------------
  59.   def base_maxhp
  60.     n = $data_actors[@actor_id].parameters[0, 1]
  61.     n += $data_actors[@actor_id].parameters[0, 2] * @level
  62.     return n
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 基本 MaxSP の取得
  66.   #--------------------------------------------------------------------------
  67.   def base_maxsp
  68.     n = $data_actors[@actor_id].parameters[1, 1]
  69.     n += $data_actors[@actor_id].parameters[1, 2] * @level
  70.     return n
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 基本腕力の取得
  74.   #--------------------------------------------------------------------------
  75.   def base_str
  76.     n = $data_actors[@actor_id].parameters[2, 1]
  77.     n += $data_actors[@actor_id].parameters[2, 2] * @level
  78.     weapon = $data_weapons[@weapon_id]
  79.     armor1 = $data_armors[@armor1_id]
  80.     armor2 = $data_armors[@armor2_id]
  81.     armor3 = $data_armors[@armor3_id]
  82.     armor4 = $data_armors[@armor4_id]
  83.     n += weapon != nil ? weapon.str_plus : 0
  84.     n += armor1 != nil ? armor1.str_plus : 0
  85.     n += armor2 != nil ? armor2.str_plus : 0
  86.     n += armor3 != nil ? armor3.str_plus : 0
  87.     n += armor4 != nil ? armor4.str_plus : 0
  88.     return [[n, 1].max, STR_LIMIT].min
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 基本器用さの取得
  92.   #--------------------------------------------------------------------------
  93.   def base_dex
  94.     n = $data_actors[@actor_id].parameters[3, 1]
  95.     n += $data_actors[@actor_id].parameters[3, 2] * @level
  96.     weapon = $data_weapons[@weapon_id]
  97.     armor1 = $data_armors[@armor1_id]
  98.     armor2 = $data_armors[@armor2_id]
  99.     armor3 = $data_armors[@armor3_id]
  100.     armor4 = $data_armors[@armor4_id]
  101.     n += weapon != nil ? weapon.dex_plus : 0
  102.     n += armor1 != nil ? armor1.dex_plus : 0
  103.     n += armor2 != nil ? armor2.dex_plus : 0
  104.     n += armor3 != nil ? armor3.dex_plus : 0
  105.     n += armor4 != nil ? armor4.dex_plus : 0
  106.     return [[n, 1].max, DEX_LIMIT].min
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 基本素早さの取得
  110.   #--------------------------------------------------------------------------
  111.   def base_agi
  112.     n = $data_actors[@actor_id].parameters[4, 1]
  113.     n += $data_actors[@actor_id].parameters[4, 2] * @level
  114.     weapon = $data_weapons[@weapon_id]
  115.     armor1 = $data_armors[@armor1_id]
  116.     armor2 = $data_armors[@armor2_id]
  117.     armor3 = $data_armors[@armor3_id]
  118.     armor4 = $data_armors[@armor4_id]
  119.     n += weapon != nil ? weapon.agi_plus : 0
  120.     n += armor1 != nil ? armor1.agi_plus : 0
  121.     n += armor2 != nil ? armor2.agi_plus : 0
  122.     n += armor3 != nil ? armor3.agi_plus : 0
  123.     n += armor4 != nil ? armor4.agi_plus : 0
  124.     return [[n, 1].max, AGI_LIMIT].min
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 基本魔力の取得
  128.   #--------------------------------------------------------------------------
  129.   def base_int
  130.     n = $data_actors[@actor_id].parameters[5, 1]
  131.     n += $data_actors[@actor_id].parameters[5, 2] * @level
  132.     weapon = $data_weapons[@weapon_id]
  133.     armor1 = $data_armors[@armor1_id]
  134.     armor2 = $data_armors[@armor2_id]
  135.     armor3 = $data_armors[@armor3_id]
  136.     armor4 = $data_armors[@armor4_id]
  137.     n += weapon != nil ? weapon.int_plus : 0
  138.     n += armor1 != nil ? armor1.int_plus : 0
  139.     n += armor2 != nil ? armor2.int_plus : 0
  140.     n += armor3 != nil ? armor3.int_plus : 0
  141.     n += armor4 != nil ? armor4.int_plus : 0
  142.     return [[n, 1].max, INT_LIMIT].min
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● EXP の変更
  146.   #     exp : 新しい EXP
  147.   #--------------------------------------------------------------------------
  148.   def exp=(exp)
  149.     # ★EXPの上限チェックを解除
  150.     [url=home.php?mod=space&uid=13302]@exp[/url] = [exp, 0].max
  151.     # レベルアップ
  152.     while [url=home.php?mod=space&uid=13302]@exp[/url] >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  153.       [url=home.php?mod=space&uid=22147]@level[/url] += 1
  154.       # スキル習得
  155.       for j in $data_classes[@class_id].learnings
  156.         if j.level == @level
  157.           learn_skill(j.skill_id)
  158.         end
  159.       end
  160.     end
  161.     # レベルダウン
  162.     while [url=home.php?mod=space&uid=13302]@exp[/url] < @exp_list[@level]
  163.       [url=home.php?mod=space&uid=22147]@level[/url] -= 1
  164.     end
  165.     # 現在の HP と SP が最大値を超えていたら修正
  166.     @hp = [@hp, self.maxhp].min
  167.     @sp = [@sp, self.maxsp].min
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● レベルの変更
  171.   #     level : 新しいレベル
  172.   #--------------------------------------------------------------------------
  173.   def level=(level)
  174.     # 上下限チェック
  175.     # ★LV上限をnew_final_levelでチェックするように変更
  176.     level = [[level, new_final_level].min, 1].max
  177.     # EXP を変更
  178.     self.exp = @exp_list[level]
  179.   end
  180. end
  181.  
  182.  
  183. class Game_Battler
  184.   #--------------------------------------------------------------------------
  185.   # ● MaxSP の取得
  186.   #--------------------------------------------------------------------------
  187.   def maxsp
  188.     n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
  189.     for i in @states
  190.       n *= $data_states[i].maxsp_rate / 100.0
  191.     end
  192.     n = [[Integer(n), 0].max, MAXSP_LIMIT].min
  193.     return n
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # ● 腕力の取得
  197.   #--------------------------------------------------------------------------
  198.   def str
  199.     n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
  200.     for i in @states
  201.       n *= $data_states[i].str_rate / 100.0
  202.     end
  203.     n = [[Integer(n), 1].max, STR_LIMIT].min
  204.     return n
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # ● 器用さの取得
  208.   #--------------------------------------------------------------------------
  209.   def dex
  210.     n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
  211.     for i in @states
  212.       n *= $data_states[i].dex_rate / 100.0
  213.     end
  214.     n = [[Integer(n), 1].max, DEX_LIMIT].min
  215.     return n
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 素早さの取得
  219.   #--------------------------------------------------------------------------
  220.   def agi
  221.     n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
  222.     for i in @states
  223.       n *= $data_states[i].agi_rate / 100.0
  224.     end
  225.     n = [[Integer(n), 1].max, AGI_LIMIT].min
  226.     return n
  227.   end
  228.   #--------------------------------------------------------------------------
  229.   # ● 魔力の取得
  230.   #--------------------------------------------------------------------------
  231.   def int
  232.     n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
  233.     for i in @states
  234.       n *= $data_states[i].int_rate / 100.0
  235.     end
  236.     n = [[Integer(n), 1].max, INT_LIMIT].min
  237.     return n
  238.   end
  239.   #--------------------------------------------------------------------------
  240.   # ● MaxHP の設定
  241.   #     maxhp : 新しい MaxHP
  242.   #--------------------------------------------------------------------------
  243.   def maxhp=(maxhp)
  244.     @maxhp_plus += maxhp - self.maxhp
  245.     @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
  246.     @hp = [@hp, self.maxhp].min
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● MaxSP の設定
  250.   #     maxsp : 新しい MaxSP
  251.   #--------------------------------------------------------------------------
  252.   def maxsp=(maxsp)
  253.     @maxsp_plus += maxsp - self.maxsp
  254.     @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
  255.     @sp = [@sp, self.maxsp].min
  256.   end
  257.   #--------------------------------------------------------------------------
  258.   # ● 腕力の設定
  259.   #     str : 新しい腕力
  260.   #--------------------------------------------------------------------------
  261.   def str=(str)
  262.     @str_plus += str - self.str
  263.     @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
  264.   end
  265.   #--------------------------------------------------------------------------
  266.   # ● 器用さの設定
  267.   #     dex : 新しい器用さ
  268.   #--------------------------------------------------------------------------
  269.   def dex=(dex)
  270.     @dex_plus += dex - self.dex
  271.     @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
  272.   end
  273.   #--------------------------------------------------------------------------
  274.   # ● 素早さの設定
  275.   #     agi : 新しい素早さ
  276.   #--------------------------------------------------------------------------
  277.   def agi=(agi)
  278.     @agi_plus += agi - self.agi
  279.     @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
  280.   end
  281.   #--------------------------------------------------------------------------
  282.   # ● 魔力の設定
  283.   #     int : 新しい魔力
  284.   #--------------------------------------------------------------------------
  285.   def int=(int)
  286.     @int_plus += int - self.int
  287.     @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
  288.   end
  289. end
  290. #==============================================================================
  291. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  292. #==============================================================================

还有if条件语句应该只能用来判断角色是否在队伍中,不能指定某一个角色,你应用的脚本就不对。。。
其中16~25行应该对你有帮助。

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 塞糖

查看全部评分

偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
3
 楼主| 发表于 2013-9-19 12:01:29 | 只看该作者
wolves 发表于 2013-9-19 11:31
LZ试试这段:
#==============================================================================
# 本脚 ...

追问:
case self.id 没用,还是写的to_s。
上面的能力值也破限了,我不要能力值破限,话说一起计算能力值不好。
呃,发糖贴好冷清呀!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
4
发表于 2013-9-19 12:11:14 | 只看该作者
876加几 发表于 2013-9-19 12:01
追问:
case self.id 没用,还是写的to_s。
上面的能力值也破限了,我不要能力值破限,话说一起计算能力 ...

话说能力值破限了可以删掉,话说你有没有定义BASE_FINAL_LEVEL = 9999 lv=BASE_FINAL_LEVEL啊?
偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

5
发表于 2013-9-19 12:12:00 | 只看该作者
楼主有两个地方需要注意:
首先,$game_actors这个数组的下标就是角色的ID,即$game_actors[1]代表ID为1的角色。因此,不能用这种方法,因为你相当于已经知道角色的ID了。
其次,楼主的意思应该是给定一个角色actor,判断他的ID是否等于某个数(比如说4)。
假如actor是一个Game_Actor的实例,那么
if actor.id == 4
  XXXXXXXX
else
  XXXXXXXX
end
就是你要的判断ID是否为4的效果
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

开拓者

6
发表于 2013-9-19 19:06:19 | 只看该作者
如果只是等级破上限的话,把原 突破上限脚本 改了下。
未测试,应该管用
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. ###############################################################################
  5. #等级能破上限的角色 ID
  6. NEW_FINAL_ACTORD_ID = [1, 2, 3]
  7. ###############################################################################
  8. #等级可无限提升
  9. #パラメータの算出が適当すぎるので、各自修正が必要かと。
  10.   BASE_FINAL_LEVEL = 9999   #上限レベル(あんまり大きな値を設定するとハングします)
  11.   MAXHP_LIMIT = 99999999    #HP限界値
  12.   MAXSP_LIMIT = 99999999    #SP限界値
  13.   STR_LIMIT   = 999999      #STR限界値
  14.   DEX_LIMIT   = 999999      #DEX限界値
  15.   AGI_LIMIT   = 999999      #AGI限界値
  16.   INT_LIMIT   = 999999      #INT限界値
  17. class Game_Actor < Game_Battler
  18.   #############################################################################
  19.   def new_final_level
  20.     return BASE_FINAL_LEVEL if NEW_FINAL_ACTORD_ID.include?(self.id)
  21.     return 99
  22.   end
  23.   #############################################################################
  24.   #--------------------------------------------------------------------------
  25.   # ● EXP 計算
  26.   #--------------------------------------------------------------------------
  27.   def make_exp_list
  28.     actor = $data_actors[@actor_id]
  29.     @exp_list = Array.new(new_final_level + 2)
  30.     @exp_list[1] = 0
  31.     pow_i = 2.4 + actor.exp_inflation / 100.0
  32.     for i in 2..new_final_level + 1
  33.       if i > new_final_level
  34.         @exp_list[i] = 0
  35.       else
  36.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  37.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  38.       end
  39.     end
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● MaxHP の取得
  43.   #--------------------------------------------------------------------------
  44.   def maxhp
  45.     n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
  46.     for i in @states
  47.       n *= $data_states[i].maxhp_rate / 100.0
  48.     end
  49.     n = [[Integer(n), 1].max, MAXHP_LIMIT].min
  50.     return n
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 基本 MaxHP の取得
  54.   #--------------------------------------------------------------------------
  55.   def base_maxhp
  56.     n = $data_actors[@actor_id].parameters[0, 1]
  57.     n += $data_actors[@actor_id].parameters[0, 2] * @level
  58.     return n
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 基本 MaxSP の取得
  62.   #--------------------------------------------------------------------------
  63.   def base_maxsp
  64.     n = $data_actors[@actor_id].parameters[1, 1]
  65.     n += $data_actors[@actor_id].parameters[1, 2] * @level
  66.     return n
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 基本腕力の取得
  70.   #--------------------------------------------------------------------------
  71.   def base_str
  72.     n = $data_actors[@actor_id].parameters[2, 1]
  73.     n += $data_actors[@actor_id].parameters[2, 2] * @level
  74.     weapon = $data_weapons[@weapon_id]
  75.     armor1 = $data_armors[@armor1_id]
  76.     armor2 = $data_armors[@armor2_id]
  77.     armor3 = $data_armors[@armor3_id]
  78.     armor4 = $data_armors[@armor4_id]
  79.     n += weapon != nil ? weapon.str_plus : 0
  80.     n += armor1 != nil ? armor1.str_plus : 0
  81.     n += armor2 != nil ? armor2.str_plus : 0
  82.     n += armor3 != nil ? armor3.str_plus : 0
  83.     n += armor4 != nil ? armor4.str_plus : 0
  84.     return [[n, 1].max, STR_LIMIT].min
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● 基本器用さの取得
  88.   #--------------------------------------------------------------------------
  89.   def base_dex
  90.     n = $data_actors[@actor_id].parameters[3, 1]
  91.     n += $data_actors[@actor_id].parameters[3, 2] * @level
  92.     weapon = $data_weapons[@weapon_id]
  93.     armor1 = $data_armors[@armor1_id]
  94.     armor2 = $data_armors[@armor2_id]
  95.     armor3 = $data_armors[@armor3_id]
  96.     armor4 = $data_armors[@armor4_id]
  97.     n += weapon != nil ? weapon.dex_plus : 0
  98.     n += armor1 != nil ? armor1.dex_plus : 0
  99.     n += armor2 != nil ? armor2.dex_plus : 0
  100.     n += armor3 != nil ? armor3.dex_plus : 0
  101.     n += armor4 != nil ? armor4.dex_plus : 0
  102.     return [[n, 1].max, DEX_LIMIT].min
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 基本素早さの取得
  106.   #--------------------------------------------------------------------------
  107.   def base_agi
  108.     n = $data_actors[@actor_id].parameters[4, 1]
  109.     n += $data_actors[@actor_id].parameters[4, 2] * @level
  110.     weapon = $data_weapons[@weapon_id]
  111.     armor1 = $data_armors[@armor1_id]
  112.     armor2 = $data_armors[@armor2_id]
  113.     armor3 = $data_armors[@armor3_id]
  114.     armor4 = $data_armors[@armor4_id]
  115.     n += weapon != nil ? weapon.agi_plus : 0
  116.     n += armor1 != nil ? armor1.agi_plus : 0
  117.     n += armor2 != nil ? armor2.agi_plus : 0
  118.     n += armor3 != nil ? armor3.agi_plus : 0
  119.     n += armor4 != nil ? armor4.agi_plus : 0
  120.     return [[n, 1].max, AGI_LIMIT].min
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● 基本魔力の取得
  124.   #--------------------------------------------------------------------------
  125.   def base_int
  126.     n = $data_actors[@actor_id].parameters[5, 1]
  127.     n += $data_actors[@actor_id].parameters[5, 2] * @level
  128.     weapon = $data_weapons[@weapon_id]
  129.     armor1 = $data_armors[@armor1_id]
  130.     armor2 = $data_armors[@armor2_id]
  131.     armor3 = $data_armors[@armor3_id]
  132.     armor4 = $data_armors[@armor4_id]
  133.     n += weapon != nil ? weapon.int_plus : 0
  134.     n += armor1 != nil ? armor1.int_plus : 0
  135.     n += armor2 != nil ? armor2.int_plus : 0
  136.     n += armor3 != nil ? armor3.int_plus : 0
  137.     n += armor4 != nil ? armor4.int_plus : 0
  138.     return [[n, 1].max, INT_LIMIT].min
  139.   end
  140.   #--------------------------------------------------------------------------
  141.   # ● EXP の変更
  142.   #     exp : 新しい EXP
  143.   #--------------------------------------------------------------------------
  144.   def exp=(exp)
  145.     # ★EXPの上限チェックを解除
  146.     [url=home.php?mod=space&uid=13302]@exp[/url] = [exp, 0].max
  147.     # レベルアップ
  148.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  149.       [url=home.php?mod=space&uid=22147]@level[/url] += 1
  150.       # スキル習得
  151.       for j in $data_classes[@class_id].learnings
  152.         if j.level == @level
  153.           learn_skill(j.skill_id)
  154.         end
  155.       end
  156.     end
  157.     # レベルダウン
  158.     while @exp < @exp_list[@level]
  159.       @level -= 1
  160.     end
  161.     # 現在の HP と SP が最大値を超えていたら修正
  162.     @hp = [@hp, self.maxhp].min
  163.     @sp = [@sp, self.maxsp].min
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● レベルの変更
  167.   #     level : 新しいレベル
  168.   #--------------------------------------------------------------------------
  169.   def level=(level)
  170.     # 上下限チェック
  171.     # ★LV上限をnew_final_levelでチェックするように変更
  172.     level = [[level, new_final_level].min, 1].max
  173.     # EXP を変更
  174.     self.exp = @exp_list[level]
  175.   end
  176. end
  177.   
  178.   
  179. class Game_Battler
  180.   #--------------------------------------------------------------------------
  181.   # ● MaxSP の取得
  182.   #--------------------------------------------------------------------------
  183.   def maxsp
  184.     n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
  185.     for i in @states
  186.       n *= $data_states[i].maxsp_rate / 100.0
  187.     end
  188.     n = [[Integer(n), 0].max, MAXSP_LIMIT].min
  189.     return n
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● 腕力の取得
  193.   #--------------------------------------------------------------------------
  194.   def str
  195.     n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
  196.     for i in @states
  197.       n *= $data_states[i].str_rate / 100.0
  198.     end
  199.     n = [[Integer(n), 1].max, STR_LIMIT].min
  200.     return n
  201.   end
  202.   #--------------------------------------------------------------------------
  203.   # ● 器用さの取得
  204.   #--------------------------------------------------------------------------
  205.   def dex
  206.     n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
  207.     for i in @states
  208.       n *= $data_states[i].dex_rate / 100.0
  209.     end
  210.     n = [[Integer(n), 1].max, DEX_LIMIT].min
  211.     return n
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ● 素早さの取得
  215.   #--------------------------------------------------------------------------
  216.   def agi
  217.     n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
  218.     for i in @states
  219.       n *= $data_states[i].agi_rate / 100.0
  220.     end
  221.     n = [[Integer(n), 1].max, AGI_LIMIT].min
  222.     return n
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● 魔力の取得
  226.   #--------------------------------------------------------------------------
  227.   def int
  228.     n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
  229.     for i in @states
  230.       n *= $data_states[i].int_rate / 100.0
  231.     end
  232.     n = [[Integer(n), 1].max, INT_LIMIT].min
  233.     return n
  234.   end
  235.   #--------------------------------------------------------------------------
  236.   # ● MaxHP の設定
  237.   #     maxhp : 新しい MaxHP
  238.   #--------------------------------------------------------------------------
  239.   def maxhp=(maxhp)
  240.     @maxhp_plus += maxhp - self.maxhp
  241.     @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
  242.     @hp = [@hp, self.maxhp].min
  243.   end
  244.   #--------------------------------------------------------------------------
  245.   # ● MaxSP の設定
  246.   #     maxsp : 新しい MaxSP
  247.   #--------------------------------------------------------------------------
  248.   def maxsp=(maxsp)
  249.     @maxsp_plus += maxsp - self.maxsp
  250.     @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
  251.     @sp = [@sp, self.maxsp].min
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● 腕力の設定
  255.   #     str : 新しい腕力
  256.   #--------------------------------------------------------------------------
  257.   def str=(str)
  258.     @str_plus += str - self.str
  259.     @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
  260.   end
  261.   #--------------------------------------------------------------------------
  262.   # ● 器用さの設定
  263.   #     dex : 新しい器用さ
  264.   #--------------------------------------------------------------------------
  265.   def dex=(dex)
  266.     @dex_plus += dex - self.dex
  267.     @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
  268.   end
  269.   #--------------------------------------------------------------------------
  270.   # ● 素早さの設定
  271.   #     agi : 新しい素早さ
  272.   #--------------------------------------------------------------------------
  273.   def agi=(agi)
  274.     @agi_plus += agi - self.agi
  275.     @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ● 魔力の設定
  279.   #     int : 新しい魔力
  280.   #--------------------------------------------------------------------------
  281.   def int=(int)
  282.     @int_plus += int - self.int
  283.     @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
  284.   end
  285. end
  286. #==============================================================================
  287. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  288. #==============================================================================
复制代码

点评

这个不行吧……  发表于 2013-9-19 19:16

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 塞糖

查看全部评分

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

使用道具 举报

Lv5.捕梦者

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

开拓者

7
发表于 2013-9-19 20:54:33 | 只看该作者
没试过怎么知道不行?
刚试过,完全能行。那我把工程发出来,大家看下行不行。
工程里队伍1号和2号角色能突破等级上限,其他的不行(最高99级)

把能突破等级上限的角色ID写进脚本设置里,就OK


Project1.rar (189.28 KB, 下载次数: 26)

点评

你真的很熱心 相對的LZ態度完全不相信你 這還有天理?  发表于 2013-9-20 13:07
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
8
 楼主| 发表于 2013-9-21 14:45:05 | 只看该作者
芯☆淡茹水 发表于 2013-9-19 20:54
没试过怎么知道不行?
刚试过,完全能行。那我把工程发出来,大家看下行不行。
工程里队伍1号和2号角色能突 ...

追问:
能力值也要分开计算,能力值是参差不齐的,破限的还是4号角色。
呃,发糖贴好冷清呀!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-29 23:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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