Project1

标题: 请教敌人的Maxsp设置超过9999上限的方法 [打印本页]

作者: taeckle    时间: 2019-12-18 04:25
标题: 请教敌人的Maxsp设置超过9999上限的方法
本帖最后由 taeckle 于 2019-12-18 04:29 编辑

数据库里敌人的Maxhp能最多设定为999999, 但Maxsp最多只能有9999,要是超过9999就弹出这个提示:



请问大神们有什么好方法能将这一上限提升到999999,跟maxhp的上限一样呢?

Unbenannt.PNG (21.57 KB, 下载次数: 17)

Unbenannt.PNG

作者: soulsaga    时间: 2019-12-18 11:00
本帖最后由 soulsaga 于 2019-12-18 11:13 编辑

RUBY 代码复制
  1. #作者BY:SOULSAGA
  2. #使用方法:设定一个属性名称为HP突破0后在敌人数据库设定这属性为有效后
  3. #该敌人的HP值便会在后面补0 写00就补两个0 多个属性可以叠加 即使不写0写其他数字也可以..大概吧
  4. #例子
  5. #HP突破0
  6. #SP突破0
  7. #力量突破0
  8. #灵巧突破00
  9. #速度突破000
  10. #魔力突破00
  11. #攻击力突破0
  12. #物防突破00
  13. #魔防突破000
  14. #破限开关设定
  15. HP突破=true
  16. SP突破=true
  17. STR突破=true
  18. DEX突破=true
  19. AGI突破=true
  20. INT突破=true
  21. ATK突破=true
  22. PDEF突破=true
  23. MDEF突破=true
  24.  
  25. class Game_Enemy < Game_Battler
  26.   #--------------------------------------------------------------------------
  27.   # ● 获取基本 MaxHP
  28.   #--------------------------------------------------------------------------
  29.   if HP突破
  30.   def base_maxhp
  31.     能力=$data_enemies[@enemy_id].maxhp.to_s
  32.     突破=""
  33.     for e in 1..$data_system.elements.size
  34.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /HP突破(\d+)/
  35.     突破+=$1
  36.     能力+=突破
  37.     end
  38. end
  39.     return 能力.to_i
  40.   end
  41. end
  42.   #--------------------------------------------------------------------------
  43.   # ● 获取基本 MaxSP
  44.   #--------------------------------------------------------------------------
  45.   if SP突破
  46.   def base_maxsp
  47.     能力=$data_enemies[@enemy_id].maxsp.to_s
  48.     突破=""
  49.     for e in 1..$data_system.elements.size
  50.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /SP突破(\d+)/
  51.     突破+=$1
  52.     能力+=突破
  53.     end
  54. end
  55.     return 能力.to_i
  56.   end
  57. end
  58. #--------------------------------------------------------------------------
  59.   # ● 获取基本力量
  60.   #--------------------------------------------------------------------------
  61.   if STR突破
  62.   def base_str
  63.     能力=$data_enemies[@enemy_id].str.to_s
  64.     突破=""
  65.     for e in 1..$data_system.elements.size
  66.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /力量突破(\d+)/
  67.     突破+=$1
  68.     能力+=突破
  69.     end
  70.   end
  71.     return 能力.to_i
  72.   end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 获取基本灵巧
  76.   #--------------------------------------------------------------------------
  77.   if DEX突破
  78.   def base_dex
  79.     能力=$data_enemies[@enemy_id].dex.to_s
  80.     突破=""
  81.     for e in 1..$data_system.elements.size
  82.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /灵巧突破(\d+)/
  83.     突破+=$1
  84.     能力+=突破
  85.     end
  86. end
  87.     return 能力.to_i
  88.   end
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 获取基本速度
  92.   #--------------------------------------------------------------------------
  93.   if AGI突破
  94.   def base_agi
  95.     能力=$data_enemies[@enemy_id].agi.to_s
  96.     突破=""
  97.     for e in 1..$data_system.elements.size
  98.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /速度突破(\d+)/
  99.     突破+=$1
  100.     能力+=突破
  101.     end
  102. end
  103.     return 能力.to_i
  104.   end
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 获取基本魔力
  108.   #--------------------------------------------------------------------------
  109.   if INT突破
  110.   def base_int
  111.     能力=$data_enemies[@enemy_id].int.to_s
  112.     突破=""
  113.     for e in 1..$data_system.elements.size
  114.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /魔力突破(\d+)/
  115.     突破+=$1
  116.     能力+=突破
  117.     end
  118. end
  119.     return 能力.to_i
  120.   end
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● 获取基本攻击力
  124.   #--------------------------------------------------------------------------
  125.   if ATK突破
  126.   def base_atk
  127.     能力=$data_enemies[@enemy_id].atk.to_s
  128.     突破=""
  129.     for e in 1..$data_system.elements.size
  130.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /攻击力突破(\d+)/
  131.     突破+=$1
  132.     能力+=突破
  133.     end
  134. end
  135.     return 能力.to_i
  136.   end
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 获取基本物理防御
  140.   #--------------------------------------------------------------------------
  141.   if PDEF突破
  142.   def base_pdef
  143.     能力=$data_enemies[@enemy_id].pdef.to_s
  144.     突破=""
  145.     for e in 1..$data_system.elements.size
  146.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /物防突破(\d+)/
  147.     突破+=$1
  148.     能力+=突破
  149.     end
  150. end
  151.     return 能力.to_i
  152.   end
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● 获取基本魔法防御
  156.   #--------------------------------------------------------------------------
  157.   if MDEF突破
  158.   def base_mdef
  159.     能力=$data_enemies[@enemy_id].mdef.to_s
  160.     突破=""
  161.     for e in 1..$data_system.elements.size
  162.     if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /魔防突破(\d+)/
  163.     突破+=$1
  164.     能力+=突破
  165.     end
  166. end
  167.     return 能力.to_i
  168.   end
  169.   end
  170. end
  171.  
  172.  
  173. class Game_Battler
  174.   #--------------------------------------------------------------------------
  175.   # ● 获取 MaxHP
  176.   #--------------------------------------------------------------------------
  177.   def maxhp
  178.     n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
  179.     for i in @states
  180.       n *= $data_states[i].maxhp_rate / 100.0
  181.     end
  182.     n = [[Integer(n), 1].max, 999999].min
  183.     return n
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # ● 获取 MaxSP
  187.   #--------------------------------------------------------------------------
  188.   def maxsp
  189.     n = [[base_maxsp + @maxsp_plus, 0].max, 999999].min
  190.     for i in @states
  191.       n *= $data_states[i].maxsp_rate / 100.0
  192.     end
  193.     n = [[Integer(n), 0].max, 999999].min
  194.     return n
  195.   end
  196.   end

作者: soulsaga    时间: 2019-12-20 12:02
楼主几天了都不回复..过节去了?>
作者: taeckle    时间: 2020-1-9 12:29
本帖最后由 taeckle 于 2020-1-9 13:24 编辑
soulsaga 发表于 2019-12-18 11:00
#作者BY:SOULSAGA
#使用方法:设定一个属性名称为HP突破0后在敌人数据库设定这属性为有效后
#该敌人的HP值便 ...


大神请问下这个破限脚本怎么用啊?放到哪里去呢?

尤其是这段,完全没看懂啊:

  #--------------------------------------------------------------------------
  # ● 获取基本 MaxSP
  #--------------------------------------------------------------------------
  if SP突破
  def base_maxsp
    能力=$data_enemies[@enemy_id].maxsp.to_s
    突破=""
    for e in 1..$data_system.elements.size
    if $data_enemies[@enemy_id].element_ranks[e] != 3 and $data_system.elements[e] =~ /SP突破(\d+)/
    突破+=$1
    能力+=突破
    end
    end
    return 能力.to_i
  end
  end




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1