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

Project1

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

[已经过期] MOG 破限脚本最大HP值问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

跳转到指定楼层
1
发表于 2017-6-27 02:41:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

MOG 破限脚本最大HP值不能超过9千万  超过就显示1千万 。。{:2_271:}
这是VA系统的问题 吗? 能设置超过1亿的HP吗?求大佬路过看看
{:2_286:}

RUBY 代码复制
  1. # ▼ Yanfly Engine Ace - Adjust Limits v1.00
  2. # -- Last Updated: 2011.12.03
  3. # -- Level: Normal
  4. # -- Requires: n/a
  5. #
  6. #==============================================================================
  7.  
  8. $imported = {} if $imported.nil?
  9. $imported["YEA-AdjustLimits"] = true
  10.  
  11. #==============================================================================
  12. # ▼ Updates
  13. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  14. # 2011.12.03 - Finished Script.
  15. # 2011.12.02 - Started Script.
  16. #
  17. #==============================================================================
  18. # ▼ Introduction
  19. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  20. # There exists some limitations in RPG Maker VX Ace that not everybody's fond
  21. # of. With this script, you can easily adjust the limits of each limitation.
  22. # Here's the list of various limits that can be changed:
  23. #
  24. # - Gold Max  - Have more than 99,999,999 gold.
  25. # - Item Max  - Have more than 99 items. Customizable per item, too.
  26. # - Level Max - Exceed 99 levels. Parameters are automatically calculated based
  27. #               on the level 99 and level 98 stats in the class parameters.
  28. # - Stat Max  - Stats can exceed 999. Does not adjust for current formulas.
  29. #
  30. #==============================================================================
  31. # ▼ Instructions
  32. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  33. # To install this script, open up your script editor and copy/paste this script
  34. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  35. #
  36. # -----------------------------------------------------------------------------
  37. # 角色备注栏 - These notetags go in the actors notebox in the database.
  38. # -----------------------------------------------------------------------------
  39. # <initial level: x>   设置角色的初始等级,可超过99.
  40.  
  41. # <max level: x>       设置角色的最高等级,可超过99.
  42.  
  43. # -----------------------------------------------------------------------------
  44. # 职业备注栏 - These notetags go in the class notebox in the database.
  45. # -----------------------------------------------------------------------------
  46. # <learn at level: x>  在职业的技能备注栏里设置,等级可超过99.
  47.  
  48. # -----------------------------------------------------------------------------
  49. # 物品备注栏 - These notetags go in the items notebox in the database.
  50. # -----------------------------------------------------------------------------
  51. # <max limit: x>       设置该物品的可持有上限,比如50.
  52.  
  53. # <price: x>           设置物品的价格,可打破数据库限制的999999。
  54.  
  55. # -----------------------------------------------------------------------------
  56. # 武器备注栏 - These notetags go in the weapons notebox in the database.
  57. # -----------------------------------------------------------------------------
  58. # <max limit: x>       设置该物品的可持有上限,比如50.
  59.  
  60. # <price: x>           设置物品的价格,可打破数据库限制的999999。
  61.  
  62. # <stat: +x>           设置武器的能力值变化量,例:<ATK: +500>
  63. # <stat: -x>
  64.  
  65. # -----------------------------------------------------------------------------
  66. # 防具备注栏 - These notetags go in the armours notebox in the database.
  67. # -----------------------------------------------------------------------------
  68. # <max limit: x>       同上
  69. #
  70. # <price: x>
  71.  
  72. # <stat: +x>
  73. # <stat: -x>
  74. #
  75. # -----------------------------------------------------------------------------
  76. # 敌人备注栏 - These notetags go in the enemy notebox in the database.
  77. # -----------------------------------------------------------------------------
  78. # <stat: x>            设置敌人属性值,可破限。例:<EXP: 6666666>
  79. # MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, LUK, EXP, GOLD
  80.  
  81. # -----------------------------------------------------------------------------
  82. # 脚本呼出语句 - These commands are used with script calls.
  83. # -----------------------------------------------------------------------------
  84. # gain_gold(x)         设置增减金币,可破限。
  85. # lose_gold(x)
  86. #
  87. # gain_item(x, y)      设置增减X物品Y数目,可破限。
  88. # lose_item(x, y)
  89. # gain_weapon(x, y)
  90. # lose_weapon(x, y)
  91. # gain_armour(x, y)
  92. # lose_armour(x, y)
  93.  
  94. #==============================================================================
  95. # ▼ Compatibility
  96. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  97. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  98. # it will run with RPG Maker VX without adjusting.
  99. #
  100. #==============================================================================
  101.  
  102. module YEA
  103.   module LIMIT
  104.  
  105.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  106.     # - Gold Settings -
  107.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  108.     # Adjust gold settings here. You can change the maximum amount of gold to
  109.     # whatever you want. In addition to that, you can also adjust whether or
  110.     # not you wish for your gold display to show an icon instead, (and change
  111.     # the font size if needed). If there's too much gold that's to be displayed
  112.     # then you can change the text shown in place of that.
  113.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  114.     GOLD_MAX  = 999999999999999  # Maximum gold.
  115.     GOLD_ICON = 95               # Icon used for gold. Use 0 for text currency.
  116.     GOLD_FONT = 20               # Font size used to display gold.
  117.     TOO_MUCH_GOLD = "A lotta gold!"   # Text used when gold cannot fit.
  118.  
  119.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  120.     # - Item Settings -
  121.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  122.     # Adjust item settings here. You can change the maximum number of items
  123.     # held from 99 to whatever you want. In addition to that, change the prefix
  124.     # used for items when shown in the item display menu (and the font size if
  125.     # needed). Items can have individual maximums through usage of the
  126.     # <max limit: x> notetag.
  127.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  128.     ITEM_MAX  = 999      # The default maximum number of items held each.
  129.     ITEM_FONT = 20       # Font size used to display item quantity.
  130.     SHOP_FONT = 20       # Font size used for shop item costs.
  131.     ITEM_PREFIX = "×%s" # Prefix used for item quantity in item lists.
  132.  
  133.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  134.     # - Parameter Settings -
  135.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  136.     # Adjust the limits for each of the various stats (for MaxHP, MaxMP, ATK,
  137.     # DEF, MAT, and more). Adjust them as you see fit.
  138.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  139.     LEVEL_MAX = 90000     # Sets max level to x for those with 99 level limit.
  140.     MAXHP_MAX = 90000000 # Sets MaxHP to something higher than 9999.
  141.     MAXMP_MAX = 9999999 # Sets MaxMP to something higher than 9999.
  142.     PARAM_MAX = 9999999 # Sets stat max for something higher than 999.
  143.     EQUIP_FONT = 20     # Changes the default equip window font size.
  144.  
  145.   end # LIMIT
  146. end # YEA
  147.  
  148. #==============================================================================
  149. # ▼ Editting anything past this point may potentially result in causing
  150. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  151. # halitosis so edit at your own risk.
  152. #==============================================================================
  153.  
  154. module YEA
  155.   module REGEXP
  156.   module ACTOR
  157.  
  158.     MAX_LEVEL = /<(?:MAX_LEVEL|max level):[ ](\d+)>/i
  159.     INI_LEVEL = /<(?:INITIAL_LEVEL|initial level):[ ](\d+)>/i
  160.  
  161.   end # ACTOR
  162.   module CLASS
  163.  
  164.     LEARN_AT_LV = /<(?:LEARN_AT_LEVEL|learn at level):[ ](\d+)>/i
  165.  
  166.   end # CLASS
  167.   module BASEITEM
  168.  
  169.     PRICE     = /<(?:GOLD|price|COST):[ ](\d+)>/i
  170.     MAX_LIMIT = /<(?:MAX_LIMIT|max limit):[ ](\d+)>/i
  171.     STAT_SET  = /<(.*):[ ]*([\+\-]\d+)>/i
  172.  
  173.   end # BASEITEM
  174.   module ENEMY
  175.  
  176.     STAT_SET  = /<(.*):[ ]*(\d+)>/i
  177.  
  178.   end # ENEMY
  179.   end # REGEXP
  180. end # YEA
  181.  
  182. #==============================================================================
  183. # ■ Icon
  184. #==============================================================================
  185.  
  186. module Icon
  187.  
  188.   #--------------------------------------------------------------------------
  189.   # self.gold
  190.   #--------------------------------------------------------------------------
  191.   def self.gold; return YEA::LIMIT::GOLD_ICON; end
  192.  
  193. end # Icon
  194.  
  195. #==============================================================================
  196. # ■ Numeric
  197. #==============================================================================
  198.  
  199. class Numeric
  200.  
  201.   #--------------------------------------------------------------------------
  202.   # new method: group_digits
  203.   #--------------------------------------------------------------------------
  204.   unless $imported["YEA-CoreEngine"]
  205.   def group; return self.to_s; end
  206.   end # $imported["YEA-CoreEngine"]
  207.  
  208. end # Numeric
  209.  
  210. #==============================================================================
  211. # ■ DataManager
  212. #==============================================================================
  213.  
  214. module DataManager
  215.  
  216.   #--------------------------------------------------------------------------
  217.   # alias method: load_database
  218.   #--------------------------------------------------------------------------
  219.   class <<self; alias load_database_al load_database; end
  220.   def self.load_database
  221.     load_database_al
  222.     load_notetags_al
  223.   end
  224.  
  225.   #--------------------------------------------------------------------------
  226.   # new method: load_notetags_al
  227.   #--------------------------------------------------------------------------
  228.   def self.load_notetags_al
  229.     groups = [$data_actors, $data_items, $data_weapons, $data_armors,
  230.       $data_enemies, $data_classes]
  231.     for group in groups
  232.       for obj in group
  233.         next if obj.nil?
  234.         obj.load_notetags_al
  235.       end
  236.     end
  237.   end
  238.  
  239. end # DataManager
  240.  
  241. #==============================================================================
  242. # ■ RPG::Actor
  243. #==============================================================================
  244.  
  245. class RPG::Actor < RPG::BaseItem
  246.  
  247.   #--------------------------------------------------------------------------
  248.   # common cache: load_notetags_al
  249.   #--------------------------------------------------------------------------
  250.   def load_notetags_al
  251.     @max_level = YEA::LIMIT::LEVEL_MAX if @max_level == 99
  252.     #---
  253.     self.note.split(/[\r\n]+/).each { |line|
  254.       case line
  255.       #---
  256.       when YEA::REGEXP::ACTOR::MAX_LEVEL
  257.         @max_level = [[$1.to_i, 1].max, YEA::LIMIT::LEVEL_MAX].min
  258.         @ini_level = [@ini_level, @max_level].min
  259.       when YEA::REGEXP::ACTOR::INI_LEVEL
  260.         @ini_level = [[$1.to_i, 1].max, @max_level].min
  261.       #---
  262.       end
  263.     } # self.note.split
  264.     #---
  265.   end
  266.  
  267. end # RPG::Actor
  268.  
  269. #==============================================================================
  270. # ■ RPG::Class
  271. #==============================================================================
  272.  
  273. class RPG::Class < RPG::BaseItem
  274.  
  275.   #--------------------------------------------------------------------------
  276.   # new method: above_lv99_params
  277.   #--------------------------------------------------------------------------
  278.   def above_lv99_params(param_id, level)
  279.     return @params[param_id, level] if level <= 99
  280.     n = @params[param_id, 99]
  281.     multiplier = [level - 99, 1].max
  282.     change = (@params[param_id, 99] - @params[param_id, 98]) + 1
  283.     n += change * multiplier
  284.     return n
  285.   end
  286.  
  287.   #--------------------------------------------------------------------------
  288.   # new method: load_notetags_al
  289.   #--------------------------------------------------------------------------
  290.   def load_notetags_al
  291.     for item in @learnings; item.load_notetags_al; end
  292.   end
  293.  
  294. end # RPG::Class
  295.  
  296. #==============================================================================
  297. # ■ RPG::Class::Learning
  298. #==============================================================================
  299.  
  300. class RPG::Class::Learning
  301.  
  302.   #--------------------------------------------------------------------------
  303.   # common cache: load_notetags_al
  304.   #--------------------------------------------------------------------------
  305.   def load_notetags_al
  306.     #---
  307.     self.note.split(/[\r\n]+/).each { |line|
  308.       case line
  309.       #---
  310.       when YEA::REGEXP::CLASS::LEARN_AT_LV
  311.         @level = [[$1.to_i, 1].max, YEA::LIMIT::LEVEL_MAX].min
  312.       #---
  313.       end
  314.     } # self.note.split
  315.     #---
  316.   end
  317.  
  318. end # RPG::Class::Learning
  319.  
  320. #==============================================================================
  321. # ■ RPG::BaseItem
  322. #==============================================================================
  323.  
  324. class RPG::BaseItem
  325.  
  326.   #--------------------------------------------------------------------------
  327.   # public instance variables
  328.   #--------------------------------------------------------------------------
  329.   attr_accessor :max_limit
  330.  
  331.   #--------------------------------------------------------------------------
  332.   # common cache: load_notetags_al
  333.   #--------------------------------------------------------------------------
  334.   def load_notetags_al
  335.     @max_limit = YEA::LIMIT::ITEM_MAX
  336.     #---
  337.     self.note.split(/[\r\n]+/).each { |line|
  338.       case line
  339.       #---
  340.       when YEA::REGEXP::BASEITEM::PRICE
  341.         @price = [$1.to_i, YEA::LIMIT::GOLD_MAX].min
  342.       when YEA::REGEXP::BASEITEM::MAX_LIMIT
  343.         @max_limit = [$1.to_i, 1].max
  344.       when YEA::REGEXP::BASEITEM::STAT_SET
  345.         case $1.upcase
  346.         when "HP", "MAXHP", "MHP"
  347.           @params[0] = $2.to_i
  348.         when "MP", "MAXMP", "MMP", "SP", "MAXSP", "MSP"
  349.           @params[1] = $2.to_i
  350.         when "ATK"
  351.           @params[2] = $2.to_i
  352.         when "DEF"
  353.           @params[3] = $2.to_i
  354.         when "MAT", "INT", "SPI"
  355.           @params[4] = $2.to_i
  356.         when "MDF", "RES"
  357.           @params[5] = $2.to_i
  358.         when "AGI", "SPD"
  359.           @params[6] = $2.to_i
  360.         when "LUK", "LUCK"
  361.           @params[7] = $2.to_i
  362.         end
  363.       #---
  364.       end
  365.     } # self.note.split
  366.     #---
  367.   end
  368.  
  369.   #--------------------------------------------------------------------------
  370.   # new method: max_limit
  371.   #--------------------------------------------------------------------------
  372.   def max_limit; return @max_limit; end
  373.  
  374. end # RPG::BaseItem
  375.  
  376. #==============================================================================
  377. # ■ RPG::Enemy
  378. #==============================================================================
  379.  
  380. class RPG::Enemy < RPG::BaseItem
  381.  
  382.   #--------------------------------------------------------------------------
  383.   # common cache: load_notetags_al
  384.   #--------------------------------------------------------------------------
  385.   def load_notetags_al
  386.     #---
  387.     self.note.split(/[\r\n]+/).each { |line|
  388.       case line
  389.       #---
  390.       when YEA::REGEXP::ENEMY::STAT_SET
  391.         case $1.upcase
  392.         when "HP", "MAXHP", "MHP"
  393.           @params[0] = $2.to_i
  394.         when "MP", "MAXMP", "MMP", "SP", "MAXSP", "MSP"
  395.           @params[1] = $2.to_i
  396.         when "ATK"
  397.           @params[2] = $2.to_i
  398.         when "DEF"
  399.           @params[3] = $2.to_i
  400.         when "MAT", "INT", "SPI"
  401.           @params[4] = $2.to_i
  402.         when "MDF", "RES"
  403.           @params[5] = $2.to_i
  404.         when "AGI", "SPD"
  405.           @params[6] = $2.to_i
  406.         when "LUK", "LUCK"
  407.           @params[7] = $2.to_i
  408.         when "EXP", "XP"
  409.           @exp = $2.to_i
  410.         when "GOLD", "GP"
  411.           @gold = $2.to_i
  412.         end
  413.       #---
  414.       end
  415.     } # self.note.split
  416.     #---
  417.   end
  418.  
  419. end # RPG::Enemy
  420.  
  421. #==============================================================================
  422. # ■ Game_BattlerBase
  423. #==============================================================================
  424.  
  425. class Game_BattlerBase
  426.  
  427.   #--------------------------------------------------------------------------
  428.   # overwrite method: param_max
  429.   #--------------------------------------------------------------------------
  430.   def param_max(param_id)
  431.     return YEA::LIMIT::MAXHP_MAX if param_id == 0
  432.     return YEA::LIMIT::MAXMP_MAX if param_id == 1
  433.     return YEA::LIMIT::PARAM_MAX
  434.   end
  435.  
  436. end # Game_BattlerBase
  437.  
  438. #==============================================================================
  439. # ■ Game_Actor
  440. #==============================================================================
  441.  
  442. class Game_Actor < Game_Battler
  443.  
  444.   #--------------------------------------------------------------------------
  445.   # overwrite method: param_max
  446.   #--------------------------------------------------------------------------
  447.   def param_max(param_id)
  448.     return super
  449.   end
  450.  
  451.   #--------------------------------------------------------------------------
  452.   # overwrite method: param_base
  453.   #--------------------------------------------------------------------------
  454.   def param_base(param_id)
  455.     return self.class.params[param_id, @level] if @level <= 99
  456.     return self.class.above_lv99_params(param_id, @level)
  457.   end
  458.  
  459.   #--------------------------------------------------------------------------
  460.   # new method: check_levels
  461.   #--------------------------------------------------------------------------
  462.   def check_levels
  463.     last_level = @level
  464.     @level = [[@level, max_level].min, 1].max
  465.     return if @level == last_level
  466.     change_exp(exp_for_level(@level), false)
  467.   end
  468.  
  469. end # Game_Actor
  470.  
  471. #==============================================================================
  472. # ■ Game_Party
  473. #==============================================================================
  474.  
  475. class Game_Party < Game_Unit
  476.  
  477.   #--------------------------------------------------------------------------
  478.   # overwrite method: max_gold
  479.   #--------------------------------------------------------------------------
  480.   def max_gold; return YEA::LIMIT::GOLD_MAX; end
  481.  
  482.   #--------------------------------------------------------------------------
  483.   # overwrite method: max_item_number
  484.   #--------------------------------------------------------------------------
  485.   def max_item_number(item); return item.max_limit; end
  486.  
  487. end # Game_Party
  488.  
  489. #==============================================================================
  490. # ■ Game_Interpreter
  491. #==============================================================================
  492.  
  493. class Game_Interpreter
  494.  
  495.   #--------------------------------------------------------------------------
  496.   # new method: gain_gold
  497.   #--------------------------------------------------------------------------
  498.   def gain_gold(value); $game_party.gain_gold(value); end
  499.  
  500.   #--------------------------------------------------------------------------
  501.   # new method: lose_gold
  502.   #--------------------------------------------------------------------------
  503.   def lose_gold(value); $game_party.lose_gold(value); end
  504.  
  505.   #--------------------------------------------------------------------------
  506.   # new method: gain_item
  507.   #--------------------------------------------------------------------------
  508.   def gain_item(id, amount)
  509.     return if $data_items[id].nil?
  510.     $game_party.gain_item($data_items[id], amount)
  511.   end
  512.  
  513.   #--------------------------------------------------------------------------
  514.   # new method: lose_item
  515.   #--------------------------------------------------------------------------
  516.   def lose_item(id, amount)
  517.     return if $data_items[id].nil?
  518.     $game_party.lose_item($data_items[id], amount)
  519.   end
  520.  
  521.   #--------------------------------------------------------------------------
  522.   # new method: gain_weapon
  523.   #--------------------------------------------------------------------------
  524.   def gain_weapon(id, amount)
  525.     return if $data_weapons[id].nil?
  526.     $game_party.gain_item($data_weapons[id], amount)
  527.   end
  528.  
  529.   #--------------------------------------------------------------------------
  530.   # new method: lose_weapon
  531.   #--------------------------------------------------------------------------
  532.   def lose_weapon(id, amount)
  533.     return if $data_weapons[id].nil?
  534.     $game_party.lose_item($data_weapons[id], amount)
  535.   end
  536.  
  537.   #--------------------------------------------------------------------------
  538.   # new method: gain_armour
  539.   #--------------------------------------------------------------------------
  540.   def gain_armour(id, amount)
  541.     return if $data_armors[id].nil?
  542.     $game_party.gain_item($data_armors[id], amount)
  543.   end
  544.  
  545.   #--------------------------------------------------------------------------
  546.   # new method: lose_armour
  547.   #--------------------------------------------------------------------------
  548.   def lose_armour(id, amount)
  549.     return if $data_armors[id].nil?
  550.     $game_party.lose_item($data_armors[id], amount)
  551.   end
  552.  
  553.   #--------------------------------------------------------------------------
  554.   # new method: gain_armor
  555.   #--------------------------------------------------------------------------
  556.   def gain_armor(id, amount)
  557.     return if $data_armors[id].nil?
  558.     $game_party.gain_item($data_armors[id], amount)
  559.   end
  560.  
  561.   #--------------------------------------------------------------------------
  562.   # new method: lose_armor
  563.   #--------------------------------------------------------------------------
  564.   def lose_armor(id, amount)
  565.     return if $data_armors[id].nil?
  566.     $game_party.lose_item($data_armors[id], amount)
  567.   end
  568.  
  569. end # Game_Interpreter
  570.  
  571. #==============================================================================
  572. # ■ Window_Base
  573. #==============================================================================
  574.  
  575. class Window_Base < Window
  576.  
  577.   #--------------------------------------------------------------------------
  578.   # overwrite method: draw_actor_level
  579.   #--------------------------------------------------------------------------
  580.   def draw_actor_level(actor, dx, dy)
  581.     dw = text_size(Vocab::level_a + YEA::LIMIT::LEVEL_MAX.to_s).width
  582.     change_color(system_color)
  583.     draw_text(dx, dy, dw, line_height, Vocab::level_a)
  584.     change_color(normal_color)
  585.     cx = text_size(Vocab::level_a).width
  586.     draw_text(dx + cx, dy, dw, line_height, actor.level.group, 2)
  587.   end
  588.  
  589.   #--------------------------------------------------------------------------
  590.   # overwrite method: draw_actor_param
  591.   #--------------------------------------------------------------------------
  592.   def draw_actor_param(actor, dx, dy, param_id)
  593.     change_color(system_color)
  594.     draw_text(dx, dy, 120, line_height, Vocab::param(param_id))
  595.     change_color(normal_color)
  596.     draw_text(dx, dy, 156, line_height, actor.param(param_id).group, 2)
  597.   end
  598.  
  599.   #--------------------------------------------------------------------------
  600.   # draw_currency_value
  601.   #--------------------------------------------------------------------------
  602.   def draw_currency_value(value, unit, dx, dy, dw)
  603.     contents.font.size = YEA::LIMIT::GOLD_FONT
  604.     cx = gold_icon?(unit) ? 24 : text_size(unit).width
  605.     change_color(normal_color)
  606.     text = value.group
  607.     text = YEA::LIMIT::TOO_MUCH_GOLD if contents.text_size(text).width > dw-cx
  608.     draw_text(dx, dy, dw - cx - 2, line_height, text, 2)
  609.     change_color(system_color)
  610.     draw_icon(Icon.gold, dx+dw-24, dy) if gold_icon?(unit)
  611.     draw_text(dx, dy, dw, line_height, unit, 2) unless gold_icon?(unit)
  612.     reset_font_settings
  613.   end
  614.  
  615.   #--------------------------------------------------------------------------
  616.   # new method: gold_icon?
  617.   #--------------------------------------------------------------------------
  618.   def gold_icon?(unit)
  619.     return false if unit != Vocab.currency_unit
  620.     return YEA::LIMIT::GOLD_ICON > 0
  621.   end
  622.  
  623. end # Window_Base
  624.  
  625. #==============================================================================
  626. # ■ Window_ItemList
  627. #==============================================================================
  628.  
  629. class Window_ItemList < Window_Selectable
  630.  
  631.   #--------------------------------------------------------------------------
  632.   # overwrite method: draw_item_number
  633.   #--------------------------------------------------------------------------
  634.   def draw_item_number(rect, item)
  635.     contents.font.size = YEA::LIMIT::ITEM_FONT
  636.     quantity = $game_party.item_number(item).group
  637.     text = sprintf(YEA::LIMIT::ITEM_PREFIX, quantity)
  638.     draw_text(rect, text, 2)
  639.     reset_font_settings
  640.   end
  641.  
  642. end # Window_ItemList
  643.  
  644. #==============================================================================
  645. # ■ Window_EquipStatus
  646. #==============================================================================
  647.  
  648. class Window_EquipStatus < Window_Base
  649.  
  650.   #--------------------------------------------------------------------------
  651.   # overwrite method: draw_item
  652.   #--------------------------------------------------------------------------
  653.   def draw_item(dx, dy, param_id)
  654.     draw_param_name(dx + 4, dy, param_id)
  655.     draw_current_param(dx + 64, dy, param_id) if @actor
  656.     draw_right_arrow(dx + 110, dy)
  657.     draw_new_param(dx + 132, dy, param_id) if @temp_actor
  658.     reset_font_settings
  659.   end
  660.   #--------------------------------------------------------------------------
  661.   # overwrite method: draw_param_name
  662.   #--------------------------------------------------------------------------
  663.   def draw_param_name(dx, dy, param_id)
  664.     contents.font.size = YEA::LIMIT::EQUIP_FONT
  665.     change_color(system_color)
  666.     draw_text(dx, dy, contents.width, line_height, Vocab::param(param_id))
  667.   end
  668.  
  669.   #--------------------------------------------------------------------------
  670.   # overwrite method: draw_current_param
  671.   #--------------------------------------------------------------------------
  672.   def draw_current_param(dx, dy, param_id)
  673.     change_color(normal_color)
  674.     draw_text(0, dy, dx+48, line_height, @actor.param(param_id).group, 2)
  675.     reset_font_settings
  676.   end
  677.   #--------------------------------------------------------------------------
  678.   # overwrite method: draw_new_param
  679.   #--------------------------------------------------------------------------
  680.   def draw_new_param(dx, dy, param_id)
  681.     contents.font.size = YEA::LIMIT::EQUIP_FONT
  682.     new_value = @temp_actor.param(param_id)
  683.     change_color(param_change_color(new_value - @actor.param(param_id)))
  684.     draw_text(0, dy, contents.width-4, line_height, new_value.group, 2)
  685.     reset_font_settings
  686.   end
  687.  
  688. end # Window_EquipStatus
  689.  
  690. #==============================================================================
  691. # ■ Window_ShopBuy
  692. #==============================================================================
  693.  
  694. class Window_ShopBuy < Window_Selectable
  695.  
  696.   #--------------------------------------------------------------------------
  697.   # overwrite method: draw_item
  698.   #--------------------------------------------------------------------------
  699.   def draw_item(index)
  700.     item = @data[index]
  701.     rect = item_rect(index)
  702.     draw_item_name(item, rect.x, rect.y, enable?(item))
  703.     rect.width -= 4
  704.     contents.font.size = YEA::LIMIT::SHOP_FONT
  705.     draw_text(rect, price(item).group, 2)
  706.     reset_font_settings
  707.   end
  708.  
  709. end # Window_ShopBuy
  710.  
  711. #==============================================================================
  712. # ■ Scene_Load
  713. #==============================================================================
  714.  
  715. class Scene_Load < Scene_File
  716.  
  717.   #--------------------------------------------------------------------------
  718.   # alias method: on_load_success
  719.   #--------------------------------------------------------------------------
  720.   alias on_load_success_al on_load_success
  721.   def on_load_success
  722.     on_load_success_al
  723.     perform_level_check
  724.   end
  725.  
  726.   #--------------------------------------------------------------------------
  727.   # new method: perform_level_check
  728.   #--------------------------------------------------------------------------
  729.   def perform_level_check
  730.     for i in 1..$data_actors.size
  731.       next if $game_actors[i].nil?
  732.       $game_actors[i].check_levels
  733.     end
  734.   end
  735.  
  736. end # Scene_Load
  737.  
  738. #==============================================================================
  739. #
  740. # ▼ End of File
  741. #
  742. #==============================================================================
  743. #
  744. # ▼ 以下为我的修改,主要为了适应1024*576分辨率。By风宥雪
  745. #
  746. #==============================================================================
  747. #==============================================================================
  748. class Window_EquipStatus < Window_Base
  749.   #--------------------------------------------------------------------------
  750.   # ● 绘制更换装备前的能力值
  751.   #--------------------------------------------------------------------------
  752.   def draw_current_param(dx, dy, param_id)
  753.     reset_font_settings
  754.     change_color(normal_color)
  755.     draw_text(70, dy, 50, line_height, @actor.param(param_id).group, 1)
  756.   end
  757.   #--------------------------------------------------------------------------
  758.   # ● 绘制更换装备后的能力值
  759.   #--------------------------------------------------------------------------
  760.   def draw_new_param(x, y, param_id)
  761.     new_value = @temp_actor.param(param_id)
  762.     change = new_value - @actor.param(param_id)
  763.     change_color(param_change_color(change))
  764.     if change > 0
  765.       draw_text(120, y, 20, line_height, "↑", 1)
  766.     elsif change == 0
  767.       draw_text(120, y, 20, line_height, "→", 1)
  768.     else
  769.       draw_text(120, y, 20, line_height, "↓", 1)
  770.     end
  771.     draw_text(140, y, 50, line_height, new_value, 1)
  772.   end
  773. end
------落尽红樱君不见,轻绘梨花泪沾衣。~~~

Lv2.观梦者

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
帖子
793
2
发表于 2017-6-27 06:34:36 手机端发表。 | 只看该作者
用了这些破限脚本的游戏一般平衡性很差,垃圾游戏的代名词,慎用。把简单的游戏做好最重要。

点评

请大佬是来求讨论的不是请你骂人 骂脚本的 这个脚本招惹你了?既然原作者 写出他 就有他的存在而不是你这种喷子  发表于 2017-6-27 12:27
同样都是人 差距怎么这么大  发表于 2017-6-27 12:25
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42008
在线时间
7656 小时
注册时间
2009-7-6
帖子
13527

开拓者贵宾

3
发表于 2017-6-27 09:02:48 | 只看该作者


我也是很服你们,遇到问题的时候甚至不愿意多思考一秒,多看一眼。
人家作者把上限写在这真是白写了。

点评

大佬 难道 我没 告诉 超过9千万的吗?。。。  发表于 2017-6-27 12:20

评分

参与人数 1星屑 +45 收起 理由
魔法丶小肉包 + 45 精品文章

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

4
 楼主| 发表于 2017-6-27 12:32:48 | 只看该作者
fux2 发表于 2017-6-27 09:02
我也是很服你们,遇到问题的时候甚至不愿意多思考一秒,多看一眼。
人家作者把上限写在这真是白写了。 ...

  这种事 我怎么不细看  
大佬 我都发图片了设置超9千万的血 真的生效了就会变成1千万的血了。。。


题外话   
一般不会设置超过一亿的血量
只是我很好奇 这算不算 VA 本身问题

360截图20170627122402542.jpg (27.12 KB, 下载次数: 12)

360截图20170627122402542.jpg

360截图20170627122415893.jpg (10.56 KB, 下载次数: 13)

360截图20170627122415893.jpg

360截图20170627122517504.jpg (106.48 KB, 下载次数: 14)

360截图20170627122517504.jpg
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1345
在线时间
378 小时
注册时间
2015-6-16
帖子
571
5
发表于 2017-6-27 13:03:13 | 只看该作者
其实这也是算搬VA默认脚本的,里面是有基础设定的。你不看那默认设定,VA本身没有问题。自己不看的问题,不愿意多看
在BATTLEBASE里面他就是搬了这一部分
  #--------------------------------------------------------------------------
  # ● 获取普通能力的最大值
  #--------------------------------------------------------------------------
  def param_max(param_id)
    return 999999 if param_id == 0  # MHP
    return 9999   if param_id == 1  # MMP
    return 999
  end

点评

我几乎得到一个证明 研究VA 那么久 破限的极限就是9千万不能超过一个亿 血量O(∩_∩)O哈!其他不宜讨论 你知道神龙王吗 ,5千万的血量 坑死 小伙...节奏   发表于 2017-6-27 13:25
我几乎研究了所有关于破限这个词 呃呃 讨论 强迫症 逼死 我  发表于 2017-6-27 13:22
P1不太上了,有问题加个Q1286124843,不管是脚本还是游戏问题都可以来找我
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

6
 楼主| 发表于 2017-6-27 13:18:36 | 只看该作者
300英雄 发表于 2017-6-27 13:03
其实这也是算搬VA默认脚本的,里面是有基础设定的。你不看那默认设定,VA本身没有问题。自己不看的问题,不 ...

你知道的我早已 用过
不过谢谢指导 虽然我明白这个问题
不然我也不说是VA 本身问题~\(≧▽≦)/~啦啦啦

360截图20170627131717676.jpg (96.65 KB, 下载次数: 11)

360截图20170627131717676.jpg

360截图20170627131733969.jpg (80.11 KB, 下载次数: 13)

360截图20170627131733969.jpg
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

职业の水客

梦石
0
星屑
14868
在线时间
7220 小时
注册时间
2010-6-16
帖子
3500

极短26评委开拓者

7
发表于 2017-6-27 14:09:41 | 只看该作者
本帖最后由 寂静的夜里 于 2017-6-27 18:49 编辑

不能超过1E



本来推荐的是yanfly的破限,
结果仔细看一眼,这不就是yanfly的吗?怎么标题是MOG的……
脚本我没有 已经删除了 这图还是几个月前的

PS:如果更换脚本还没有用 你可以试试更改BOSS血条脚本的 坐标  (可能没显示完整,往左调整位置)

点评

已更新帖子  发表于 2017-6-27 14:17
终于有大佬看出原因了  发表于 2017-6-27 14:12

评分

参与人数 1星屑 +20 收起 理由
j296196585 + 20 测试很久 总算成功了

查看全部评分

一个看图的地方
群爆炸重建后状态:论坛老人最多(只剩下了活跃的老人),技术力很强(依旧不变)的编程灌水群:901540785
专门讨论RM相关的Q群:56875149
PS:第一个群不是专门讨论RM的,第二个才是哦。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

8
 楼主| 发表于 2017-6-27 14:31:02 | 只看该作者
本帖最后由 j296196585 于 2017-6-27 15:15 编辑


坐标超过了 怎么修改坐标。。。晕了

寂静的夜里 发表于 2017-6-27 14:09
不能超过1E
建议更换脚本Yanfly 有个脚本 叫 Adjust Limits 可以破限


可是 我看不懂 这真的无奈


RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Boss HP Meter (V1.2) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com[/url]
  6. #==============================================================================
  7. # Apresenta um medidor animado com o HP do inimigo.
  8. #
  9. #==============================================================================
  10. # UTILIZAÇÃO
  11. #==============================================================================
  12. # Coloque o seguinte comentário na caixa de notas do inimigo.
  13. #
  14. # <Boss HP Meter>
  15. #
  16. # Caso desejar ocultar o valor numérico do HP use o código abaixo.
  17. #
  18. # <Boss HP Hide Number>
  19. #
  20. #==============================================================================
  21. # Caso precisar mudar a posição do medidor no meio do jogo use o código abaixo
  22. #
  23. # boss_hp_position(X,Y)
  24. #
  25. #==============================================================================
  26. # Serão necessários as imagens.
  27. #
  28. # Battle_Boss_Meter.png
  29. # Battle_Boss_Meter_Layout.png
  30. #==============================================================================
  31. # FACES (Opcional)
  32. #==============================================================================
  33. # Nomeie o arquivo da face da seguinte maneira. (Graphics/Faces/)
  34. #
  35. # Enemy_Name + _F.png         (Slime_F.png)
  36. #
  37. #==============================================================================
  38. # Definindo o LEVEL (Opcional)
  39. #==============================================================================
  40. # Coloque o seguinte comentário na caixa de notas do inimigo.
  41. #
  42. # <Level = X>
  43. #
  44. #==============================================================================
  45.  
  46. #==============================================================================
  47. # ● Histórico (Version History)
  48. #==============================================================================
  49. # v 1.2 - Melhoria na performance.
  50. #       - Não é mais necessário o script Enemy HP.
  51. #==============================================================================
  52.  
  53. module MOG_BOSS_HP_METER
  54.     #Posição geral do layout.
  55.     LAYOUT_POSITION = [100,35]
  56.     #Posição do medidor.
  57.     METER_POSITION = [3,3]
  58.     #Posição do nome do inimigo.
  59.     NAME_POSITION = [16,8]
  60.     #Posição da face.
  61.     FACE_POSITION = [0,-30]
  62.     #Posição do level do inimigo.
  63.     LEVEL_POSITION = [150, -24]#[290, 0]
  64.     #Posição do numero  de HP
  65.     HP_NUMBER_POSITION = [230, 5]
  66.     #Definição do espaço da palavra HP e o valor de numérico.
  67.     HP_STRING_SPACE = 36
  68.     #
  69.     HP_NUMBER_WAVE_EFFECT = true
  70.     #Definição da palavra Level.
  71.     LEVEL_WORD = "Level "
  72.     #Velocidade de animação do medidor
  73.     METER_ANIMATION_SPEED = 10
  74.     #Definição do nome da fonte.
  75.     FONT_NAME = "Georgia"
  76.  
  77.     #Definição do tamanho da fonte.
  78.     FONT_SIZE = 16
  79.     #Ativar contorno na fonte.
  80.     FONT_BOLD = true
  81.     #Fonte em itálico.
  82.     FONT_ITALIC = true
  83.     #Definição da cor da fonte.
  84.     FONT_COLOR = Color.new(255,255,255)
  85.     #Definição da prioridade da HUD.
  86.     PRIORITY_Z = 101
  87. end
  88.  
  89. #==============================================================================
  90. # ■ Game System
  91. #==============================================================================
  92. class Game_System
  93.  
  94. attr_accessor :boss_hp_meter
  95.  
  96. #--------------------------------------------------------------------------
  97. # ● Initialize
  98. #--------------------------------------------------------------------------  
  99. alias mog_boss_hp_meter_initialize initialize
  100. def initialize
  101.      ix = MOG_BOSS_HP_METER::LAYOUT_POSITION[0]
  102.      iy = MOG_BOSS_HP_METER::LAYOUT_POSITION[1]
  103.      @boss_hp_meter = [ix,iy,false,"",0,1,0,nil,0,false]
  104.      mog_boss_hp_meter_initialize
  105. end
  106.  
  107. end
  108.  
  109. #==============================================================================
  110. # ■ Game Enemy
  111. #==============================================================================
  112. class Game_Enemy < Game_Battler
  113.  
  114.   attr_accessor :boss_hp_meter
  115.   attr_accessor :boss_hp_number
  116.   attr_accessor :level
  117.  
  118.   #--------------------------------------------------------------------------
  119.   # ● Initialize
  120.   #--------------------------------------------------------------------------
  121.   alias mog_boss_hp_meter_initialize initialize
  122.   def initialize(index, enemy_id)
  123.       mog_boss_hp_meter_initialize(index, enemy_id)
  124.       @boss_hp_meter = enemy.note =~ /<Boss HP Meter>/ ? true : false
  125.       @boss_hp_number = enemy.note =~ /<Boss HP Hide Number>/ ? false : true
  126.       @level = enemy.note =~ /<Level = (\d+)>/i ? $1 : nil
  127.   end  
  128.  
  129. end
  130.  
  131. #==============================================================================
  132. # ■ Game Temp
  133. #==============================================================================
  134. class Game_Temp
  135.  
  136.   attr_accessor :battle_end
  137.  
  138.   #--------------------------------------------------------------------------
  139.   # ● Initialize
  140.   #--------------------------------------------------------------------------  
  141.   alias mog_boss_hp_meter_initialize initialize
  142.   def initialize
  143.       @battle_end = false
  144.       mog_boss_hp_meter_initialize
  145.   end  
  146.  
  147. end
  148.  
  149. #==============================================================================
  150. # ■ Game Interpreter
  151. #==============================================================================
  152. class Game_Interpreter
  153.  
  154. #--------------------------------------------------------------------------
  155. # ● Initialize
  156. #--------------------------------------------------------------------------   
  157. def boss_hp_position(x = 0,y = 0)
  158.      $game_system.boss_hp_meter[0] = x
  159.      $game_system.boss_hp_meter[1] = y
  160. end
  161.  
  162. end
  163.  
  164. #==============================================================================
  165. # ■ Game Temp
  166. #==============================================================================
  167. class Game_Temp
  168.  
  169.   attr_accessor :cache_boss_hp
  170.  
  171. #--------------------------------------------------------------------------
  172. # ● Initialize
  173. #--------------------------------------------------------------------------   
  174.   alias mog_boss_hp_initialize initialize
  175.   def initialize
  176.       mog_boss_hp_initialize
  177.       cache_bosshp
  178.   end
  179.  
  180. #--------------------------------------------------------------------------
  181. # ● Cache Bosshp
  182. #--------------------------------------------------------------------------  
  183.   def cache_bosshp
  184.       @cache_boss_hp = []
  185.       @cache_boss_hp.push(Cache.system("Battle_Boss_Meter_Layout"))
  186.       @cache_boss_hp.push(Cache.system("Battle_Boss_Meter"))
  187.       @cache_boss_hp.push(Cache.system("Battle_Boss_Number"))
  188.   end
  189.  
  190. end
  191.  
  192. #==============================================================================
  193. # ■ Boss HP Meter
  194. #==============================================================================
  195. class Boss_HP_Meter
  196.   include MOG_BOSS_HP_METER
  197.  
  198.   #--------------------------------------------------------------------------
  199.   # ● Initialize
  200.   #--------------------------------------------------------------------------  
  201.   def initialize(viewport = nil)
  202.       clear_enemy_setup
  203.       @hp_vieport = viewport
  204.       check_boss_avaliable
  205.   end
  206.  
  207.   #--------------------------------------------------------------------------
  208.   # ● Clear Enemy Setup
  209.   #--------------------------------------------------------------------------   
  210.   def clear_enemy_setup
  211.       @name = ""   
  212.       @hp = 0
  213.       @hp2 = 0
  214.       @hp3 = 0
  215.       @maxhp = 0
  216.       @hp_old = 0
  217.       @level = nil
  218.       $game_system.boss_hp_meter[2] = false
  219.       $game_system.boss_hp_meter[3] = ""
  220.       $game_system.boss_hp_meter[4] = 0
  221.       $game_system.boss_hp_meter[5] = 1
  222.       $game_system.boss_hp_meter[7] = nil
  223.       $game_system.boss_hp_meter[8] = 0
  224.       $game_system.boss_hp_meter[9] = true
  225.   end
  226.  
  227.   #--------------------------------------------------------------------------
  228.   # ● Check Boss Avaliable
  229.   #--------------------------------------------------------------------------   
  230.   def check_boss_avaliable
  231.       return if $game_troop.all_dead?
  232.       for i in $game_troop.members
  233.           if i.boss_hp_meter and !i.hidden? and i.hp > 0
  234.              create_boss_hp_meter(i)
  235.              break
  236.           end
  237.       end
  238.   end
  239.  
  240.   #--------------------------------------------------------------------------
  241.   # ● Create Boss HP Meter
  242.   #--------------------------------------------------------------------------      
  243.   def create_boss_hp_meter(i)
  244.       $game_system.boss_hp_meter[2] = true
  245.       $game_system.boss_hp_meter[3] = i.name
  246.       $game_system.boss_hp_meter[4] = i.hp
  247.       $game_system.boss_hp_meter[5] = i.mhp
  248.       $game_system.boss_hp_meter[6] = i.hp
  249.       $game_system.boss_hp_meter[7] = i.level rescue nil
  250.       $game_system.boss_hp_meter[8] = 0
  251.       $game_system.boss_hp_meter[9] = i.boss_hp_number
  252.       refresh_hp_meter
  253.       create_layout
  254.       create_meter
  255.       create_name
  256.       create_face
  257.       create_level
  258.       create_hp_number
  259.   end
  260.  
  261.   #--------------------------------------------------------------------------
  262.   # ● Create Layout
  263.   #--------------------------------------------------------------------------        
  264.   def create_layout
  265.       return if @layout != nil
  266.       @layout = Sprite.new
  267.       @layout.bitmap = $game_temp.cache_boss_hp[0]
  268.       @layout.x = $game_system.boss_hp_meter[0]
  269.       @layout.y = $game_system.boss_hp_meter[1]
  270.       @layout.viewport = @hp_vieport
  271.       @layout.z = PRIORITY_Z
  272.   end
  273.  
  274.   #--------------------------------------------------------------------------
  275.   # ● Create Meter
  276.   #--------------------------------------------------------------------------         
  277.   def create_meter
  278.       return if @meter_image != nil
  279.       hp_setup
  280.       @meter_image = $game_temp.cache_boss_hp[1]
  281.       @meter_cw = @meter_image.width / 3
  282.       @meter_ch = @meter_image.height / 2
  283.       [url=home.php?mod=space&uid=1330256]@meter[/url] = Sprite.new
  284.       @meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
  285.       @meter.z = @layout.z + 1
  286.       @meter.x = @layout.x + METER_POSITION[0]
  287.       @meter.y = @layout.y + METER_POSITION[1]
  288.       @meter.viewport = @hp_vieport
  289.       @hp_flow = 0
  290.       @hp_flow_max = @meter_cw * 2
  291.       update_hp_meter
  292.   end
  293.  
  294.   #--------------------------------------------------------------------------
  295.   # ● Create Name
  296.   #--------------------------------------------------------------------------            
  297.   def create_name
  298.       @name_sprite = Sprite.new
  299.       @name_sprite.bitmap = Bitmap.new(200,32)
  300.       @name_sprite.z = @layout.z + 2
  301.       @name_sprite.x = @layout.x + NAME_POSITION[0]
  302.       @name_sprite.y = @layout.y + NAME_POSITION[1]
  303.       @name_sprite.bitmap.font.name = FONT_NAME
  304.       @name_sprite.bitmap.font.size = FONT_SIZE
  305.       @name_sprite.bitmap.font.bold = FONT_BOLD
  306.       @name_sprite.bitmap.font.italic = FONT_ITALIC
  307.       @name_sprite.bitmap.font.color = FONT_COLOR
  308.       @name_sprite.viewport = @hp_vieport
  309.       refresh_name
  310.   end
  311.  
  312.   #--------------------------------------------------------------------------
  313.   # ● Create Face
  314.   #--------------------------------------------------------------------------
  315.   def create_face
  316.       @face_sprite = Sprite.new
  317.       @face_sprite.x = @layout.x + FACE_POSITION[0]
  318.       @face_sprite.y = @layout.y + FACE_POSITION[1]
  319.       @face_sprite.z = @layout.z + 2
  320.       @face_sprite.viewport = @hp_vieport
  321.       refresh_face
  322.   end
  323.  
  324.   #--------------------------------------------------------------------------
  325.   # ● Create Level
  326.   #--------------------------------------------------------------------------  
  327.   def create_level
  328.       @level_sprite = Sprite.new
  329.       @level_sprite.bitmap = Bitmap.new(120,32)
  330.       @level_sprite.z = @layout.z + 2
  331.       @level_sprite.x = @layout.x + LEVEL_POSITION[0]
  332.       @level_sprite.y = @layout.y + LEVEL_POSITION[1]
  333.       @level_sprite.bitmap.font.name = FONT_NAME
  334.       @level_sprite.bitmap.font.size = FONT_SIZE
  335.       @level_sprite.bitmap.font.bold = FONT_BOLD
  336.       @level_sprite.bitmap.font.italic = FONT_ITALIC
  337.       @level_sprite.bitmap.font.color = FONT_COLOR
  338.       @level_sprite.viewport = @hp_vieport
  339.       refresh_level
  340.   end
  341.  
  342.   #--------------------------------------------------------------------------
  343.   # ● Create HP Number
  344.   #--------------------------------------------------------------------------   
  345.   def create_hp_number
  346.       @hp2 = $game_system.boss_hp_meter[4]
  347.       @hp3 = @hp2
  348.       @hp_old2 = @hp2
  349.       @hp_ref = @hp_old2
  350.       @hp_refresh = false   
  351.       @hp_number_image = $game_temp.cache_boss_hp[2]
  352.       @hp_cw = @hp_number_image.width / 10
  353.       @hp_ch = @hp_number_image.height / 2
  354.       @hp_ch2 = 0
  355.       @hp_ch_range = HP_NUMBER_WAVE_EFFECT == true ? @hp_ch / 3 : 0
  356.       @hp_number_sprite = Sprite.new
  357.       @hp_number_sprite.bitmap = Bitmap.new(@hp_number_image.width, @hp_ch * 2)
  358.       @hp_number_sprite.z = @layout.z + 2
  359.       @hp_number_sprite.x = @layout.x + HP_NUMBER_POSITION[0]
  360.       @hp_number_sprite.y = @layout.y + HP_NUMBER_POSITION[1]
  361.       @hp_number_sprite.viewport = @hp_vieport
  362.       @hp_number_sprite.visible = $game_system.boss_hp_meter[9]
  363.       refresh_hp_number
  364.   end
  365.  
  366.   #--------------------------------------------------------------------------
  367.   # ● update_hp_number
  368.   #--------------------------------------------------------------------------
  369.   def update_hp_number
  370.       return if @hp_number_sprite == nil
  371.       @hp_number_sprite.visible = $game_system.boss_hp_meter[9]
  372.       if @hp_old2 < $game_system.boss_hp_meter[4]
  373.          number_refresh_speed
  374.          @hp2 += @hp_ref     
  375.          reset_hp_number  if @hp2 >= $game_system.boss_hp_meter[4]
  376.       elsif @hp_old2 > $game_system.boss_hp_meter[4]           
  377.          number_refresh_speed
  378.          @hp2 -= @hp_ref               
  379.          reset_hp_number if @hp2 <= $game_system.boss_hp_meter[4]
  380.       end  
  381.   end   
  382.  
  383.   #--------------------------------------------------------------------------
  384.   # ● Number Refresh Speed
  385.   #--------------------------------------------------------------------------
  386.   def number_refresh_speed
  387.       @hp_refresh = true  
  388.       @hp_ref = (3 * (@hp_old2 - $game_system.boss_hp_meter[4]).abs / 100) rescue nil
  389.       @hp_ref = 1 if @hp_ref == nil or @hp_ref < 1
  390.   end
  391.  
  392.   #--------------------------------------------------------------------------
  393.   # ● Refresh HP Number
  394.   #--------------------------------------------------------------------------      
  395.   def refresh_hp_number
  396.       return if @hp_number_sprite == nil
  397.       @hp_refresh = false
  398.       @hp_number_sprite.bitmap.clear
  399.       number = @hp2.abs.to_s.split(//)
  400.       @hp_ch2 = 0
  401.       for r in 0..number.size - 1
  402.           number_abs = number[r].to_i
  403.           nsrc_rect = Rect.new(@hp_cw * number_abs, 0, @hp_cw, @hp_ch)
  404.           @hp_ch2 = @hp_ch2 == @hp_ch_range ? 0 : @hp_ch_range
  405.           @hp_number_sprite.bitmap.blt(HP_STRING_SPACE + (@hp_cw *  r), @hp_ch2, @hp_number_image, nsrc_rect)        
  406.       end      
  407.       nsrc_rect = Rect.new(0, @hp_ch, @hp_number_image.width, @hp_ch)
  408.       @hp_number_sprite.bitmap.blt(0, 0, @hp_number_image, nsrc_rect)     
  409.   end
  410.  
  411.   #--------------------------------------------------------------------------
  412.   # ● Reset HP Number
  413.   #--------------------------------------------------------------------------        
  414.   def reset_hp_number
  415.       @hp_refresh = true
  416.       @hp_old2 = $game_system.boss_hp_meter[4]
  417.       @hp2 = $game_system.boss_hp_meter[4]
  418.       @hp_ref = 0
  419.       refresh_hp_number
  420.   end
  421.  
  422.   #--------------------------------------------------------------------------
  423.   # ● Refresh Level
  424.   #--------------------------------------------------------------------------   
  425.   def refresh_level
  426.       return if @level_sprite == nil
  427.       @level_sprite.bitmap.clear
  428.       @level = $game_system.boss_hp_meter[7]
  429.       return if @level == nil
  430.       level_text = LEVEL_WORD + @level.to_s
  431.       @level_sprite.bitmap.draw_text(0,0,120,32,level_text.to_s)
  432.   end
  433.  
  434.   #--------------------------------------------------------------------------
  435.   # ● Refresh Face
  436.   #--------------------------------------------------------------------------  
  437.   def refresh_face
  438.       return if @face_sprite == nil
  439.       dispose_bitmap_face
  440.       @face_sprite.bitmap = Cache.face(@name + "_f") rescue nil
  441.       @face_sprite.bitmap = Cache.face("") if @face_sprite.bitmap == nil
  442.   end
  443.  
  444.   #--------------------------------------------------------------------------
  445.   # ● Refresh Name
  446.   #--------------------------------------------------------------------------              
  447.   def refresh_name
  448.       return if @name_sprite == nil
  449.       @name = $game_system.boss_hp_meter[3]   
  450.       @name_sprite.bitmap.clear
  451.       @name_sprite.bitmap.draw_text(0,0,190,32,@name.to_s)
  452.       refresh_face
  453.       refresh_level
  454.       reset_hp_number
  455.       @hp_old = @meter_cw * @hp / @maxhp
  456.   end
  457.  
  458.   #--------------------------------------------------------------------------
  459.   # ● HP Setup
  460.   #--------------------------------------------------------------------------            
  461.   def hp_setup
  462.       @hp = $game_system.boss_hp_meter[4]
  463.       @maxhp = $game_system.boss_hp_meter[5]
  464.   end  
  465.  
  466.   #--------------------------------------------------------------------------
  467.   # ● Dispose
  468.   #--------------------------------------------------------------------------  
  469.   def dispose
  470.       dispose_layout
  471.       dispose_meter
  472.       dispose_name
  473.       dispose_face
  474.       dispose_level
  475.       dispose_hp_number
  476.       @hp_vieport.dispose
  477.   end
  478.  
  479.   #--------------------------------------------------------------------------
  480.   # ● Dispose Name
  481.   #--------------------------------------------------------------------------              
  482.   def dispose_name
  483.       return if @name_sprite == nil
  484.       @name_sprite.bitmap.dispose
  485.       @name_sprite.dispose
  486.       @name_sprite = nil
  487.   end  
  488.  
  489.   #--------------------------------------------------------------------------
  490.   # ● Dispose Layout
  491.   #--------------------------------------------------------------------------   
  492.   def dispose_layout
  493.       return if @layout == nil
  494.       @layout.dispose
  495.       @layout = nil
  496.   end
  497.  
  498.   #--------------------------------------------------------------------------
  499.   # ● Dispose Meter
  500.   #--------------------------------------------------------------------------      
  501.   def dispose_meter
  502.       return if @meter == nil
  503.       @meter.bitmap.dispose
  504.       @meter.dispose
  505.       @meter = nil
  506.   end
  507.  
  508.   #--------------------------------------------------------------------------
  509.   # ● Dispose Face
  510.   #--------------------------------------------------------------------------  
  511.   def dispose_face
  512.       return if @face_sprite == nil
  513.       dispose_bitmap_face
  514.       @face_sprite.dispose
  515.       @face_sprite = nil
  516.   end
  517.  
  518.   #--------------------------------------------------------------------------
  519.   # ● Dispose Bitmap Face
  520.   #--------------------------------------------------------------------------   
  521.   def dispose_bitmap_face
  522.       return if @face_sprite == nil
  523.       return if @face_sprite.bitmap == nil
  524.       @face_sprite.bitmap.dispose rescue nil
  525.       @face_sprite.bitmap = nil
  526.   end  
  527.  
  528.   #--------------------------------------------------------------------------
  529.   # ● Dispose Level
  530.   #--------------------------------------------------------------------------   
  531.   def dispose_level
  532.       return if @level_sprite == nil
  533.       @level_sprite.bitmap.dispose
  534.       @level_sprite.dispose
  535.       @level_sprite = nil
  536.   end  
  537.  
  538.   #--------------------------------------------------------------------------
  539.   # ● Dispose HP Number
  540.   #--------------------------------------------------------------------------      
  541.   def dispose_hp_number
  542.       return if @hp_number_sprite == nil
  543.       @hp_number_sprite.bitmap.dispose
  544.       @hp_number_sprite.dispose
  545.   end   
  546.  
  547.   #--------------------------------------------------------------------------
  548.   # ● Update
  549.   #--------------------------------------------------------------------------  
  550.   def update
  551.       refresh_hp_meter
  552.       refresh_hp_number if @hp_refresh
  553.       update_hp_meter
  554.       update_hp_number
  555.       update_fade_end
  556.   end
  557.  
  558.   #--------------------------------------------------------------------------
  559.   # ● Update Fade End
  560.   #--------------------------------------------------------------------------   
  561.   def update_fade_end
  562.       return if !$game_temp.battle_end
  563.       return if @meter_image == nil
  564.       @layout.opacity -= 5
  565.       @meter.opacity -= 5
  566.       @name_sprite.opacity -= 5
  567.       @face_sprite.opacity -= 5
  568.       @level_sprite.opacity -= 5
  569.       @hp_number_sprite.opacity -= 5
  570.   end
  571.  
  572.   #--------------------------------------------------------------------------
  573.   # ● Refresh HP Meter
  574.   #--------------------------------------------------------------------------         
  575.   def refresh_hp_meter
  576.       return if !$game_system.boss_hp_meter[2]
  577.       $game_system.boss_hp_meter[2] = false
  578.       hp_setup
  579.       refresh_name if @name != $game_system.boss_hp_meter[3]
  580.   end
  581.  
  582.   #--------------------------------------------------------------------------
  583.   # ● Update HP Meter
  584.   #--------------------------------------------------------------------------            
  585.   def update_hp_meter
  586.       return if @meter_image == nil
  587.       @meter.bitmap.clear
  588.       hp_width = @meter_cw * @hp / @maxhp      
  589.       execute_damage_flow(hp_width)      
  590.       hp_src_rect = Rect.new(@hp_flow, 0,hp_width, @meter_ch)
  591.       @meter.bitmap.blt(0,0, @meter_image, hp_src_rect)  
  592.       @hp_flow += METER_ANIMATION_SPEED
  593.       @hp_flow = 0 if @hp_flow >= @hp_flow_max
  594.   end  
  595.  
  596.   #--------------------------------------------------------------------------
  597.   # ● Execute Damage Flow
  598.   #--------------------------------------------------------------------------
  599.   def execute_damage_flow(hp_width)
  600.       return if @hp_old == hp_width
  601.       n = (@hp_old - hp_width).abs * 3 / 100
  602.       damage_flow = [[n, 2].min,0.5].max
  603.       @hp_old -= damage_flow      
  604.       @hp_old = hp_width if @hp_old <= hp_width
  605.       src_rect_old = Rect.new(0,@meter_ch, @hp_old, @meter_ch)
  606.       @meter.bitmap.blt(0,0, @meter_image, src_rect_old)      
  607.   end   
  608.  
  609. end
  610.  
  611. #==============================================================================
  612. # ■ Spriteset Battle
  613. #==============================================================================
  614. class Spriteset_Battle
  615.  
  616.   #--------------------------------------------------------------------------
  617.   # ● Initialize
  618.   #--------------------------------------------------------------------------  
  619.   alias mog_enemy_bhp_initialize initialize
  620.   def initialize
  621.       mog_enemy_bhp_initialize
  622.       create_boss_hp_meter
  623.   end
  624.  
  625.   #--------------------------------------------------------------------------
  626.   # ● Create Boss HP Meter
  627.   #--------------------------------------------------------------------------  
  628.   def create_boss_hp_meter
  629.       @boss_hp_meter = Boss_HP_Meter.new(@viewport1)
  630.   end
  631.  
  632.   #--------------------------------------------------------------------------
  633.   # ● Dispose
  634.   #--------------------------------------------------------------------------      
  635.   alias mog_enemy_bhp_dispose dispose
  636.   def dispose
  637.       dispose_boss_hp_meter   
  638.       mog_enemy_bhp_dispose
  639.   end  
  640.  
  641.   #--------------------------------------------------------------------------
  642.   # ● Dispose Boss HP Meter
  643.   #--------------------------------------------------------------------------         
  644.   def dispose_boss_hp_meter
  645.       return if @boss_hp_meter == nil
  646.       @boss_hp_meter.dispose
  647.       @boss_hp_meter = nil
  648.   end
  649.  
  650.   #--------------------------------------------------------------------------
  651.   # ● Update
  652.   #--------------------------------------------------------------------------        
  653.   alias mog_enemy_bhp_update update
  654.   def update
  655.       mog_enemy_bhp_update
  656.       update_boss_hp_meter
  657.   end
  658.  
  659.   #--------------------------------------------------------------------------
  660.   # ● Update Boss HP Meter
  661.   #--------------------------------------------------------------------------            
  662.   def update_boss_hp_meter
  663.       return if @boss_hp_meter == nil
  664.       @boss_hp_meter.update
  665.   end
  666.  
  667. end
  668.  
  669. #==============================================================================
  670. # ■ Game_Battler
  671. #==============================================================================
  672. class Game_Battler < Game_BattlerBase
  673.  
  674.   #--------------------------------------------------------------------------
  675.   # ● Item Apply
  676.   #--------------------------------------------------------------------------        
  677.   alias mog_boss_hp_item_apply item_apply
  678.   def item_apply(user, item)
  679.       check_boss_hp_before
  680.       mog_boss_hp_item_apply(user, item)
  681.       check_boss_hp_after
  682.   end
  683.  
  684.   #--------------------------------------------------------------------------
  685.   # ● Regenerate HP
  686.   #--------------------------------------------------------------------------
  687.   alias mog_boss_hp_regenerate_hp regenerate_hp
  688.   def regenerate_hp
  689.       check_boss_hp_before
  690.       mog_boss_hp_regenerate_hp
  691.       check_boss_hp_after
  692.   end  
  693.  
  694.   #--------------------------------------------------------------------------
  695.   # ● Check Boss HP Before
  696.   #--------------------------------------------------------------------------         
  697.   def check_boss_hp_before
  698.       return if self.is_a?(Game_Actor)
  699.       return if !self.boss_hp_meter
  700.       $game_system.boss_hp_meter[6] = self.hp
  701.   end
  702.  
  703.   #--------------------------------------------------------------------------
  704.   # ● Check Boss HP After
  705.   #--------------------------------------------------------------------------            
  706.   def check_boss_hp_after
  707.       return if self.is_a?(Game_Actor)
  708.       return if !self.boss_hp_meter
  709.       $game_system.boss_hp_meter[2] = true
  710.       $game_system.boss_hp_meter[3] = self.name
  711.       $game_system.boss_hp_meter[4] = self.hp
  712.       $game_system.boss_hp_meter[5] = self.mhp
  713.       $game_system.boss_hp_meter[7] = self.level rescue nil     
  714.       $game_system.boss_hp_meter[9] = self.boss_hp_number
  715.   end
  716.  
  717. end
  718.  
  719. #==============================================================================
  720. # ■ Game_Interpreter
  721. #==============================================================================
  722. class Game_Interpreter
  723.  
  724.   #--------------------------------------------------------------------------
  725.   # ● Check Boss Meter
  726.   #--------------------------------------------------------------------------   
  727.   def check_boss_meter
  728.       return if !SceneManager.scene_is?(Scene_Battle)
  729.       iterate_enemy_index(@params[0]) do |enemy|
  730.         if enemy.boss_hp_meter
  731.            $game_system.boss_hp_meter[2] = true
  732.            $game_system.boss_hp_meter[3] = enemy.name
  733.            $game_system.boss_hp_meter[4] = enemy.hp
  734.            $game_system.boss_hp_meter[5] = enemy.mhp
  735.            $game_system.boss_hp_meter[6] = enemy.hp   
  736.            $game_system.boss_hp_meter[7] = enemy.level rescue nil
  737.            $game_system.boss_hp_meter[9] = enemy.boss_hp_number
  738.         end
  739.      end
  740.   end
  741.  
  742.   #--------------------------------------------------------------------------
  743.   # ● Command 331
  744.   #--------------------------------------------------------------------------  
  745.   alias mog_boss_meter_command_331 command_331
  746.   def command_331
  747.       mog_boss_meter_command_331
  748.       check_boss_meter
  749.   end
  750.  
  751.   #--------------------------------------------------------------------------
  752.   # ● Command 334
  753.   #--------------------------------------------------------------------------  
  754.   alias mog_boss_meter_command_334 command_334
  755.   def command_334
  756.       mog_boss_meter_command_334
  757.       check_boss_meter
  758.   end   
  759.  
  760. end
  761.  
  762. #==============================================================================
  763. # ■ BattleManager
  764. #==============================================================================
  765. class << BattleManager
  766.  
  767.   #--------------------------------------------------------------------------
  768.   # ● Init Members
  769.   #--------------------------------------------------------------------------         
  770.   alias mog_boss_meter_init_members init_members
  771.   def init_members
  772.       $game_temp.battle_end = false
  773.       mog_boss_meter_init_members
  774.   end  
  775.  
  776.   #--------------------------------------------------------------------------
  777.   # ● Process Victory
  778.   #--------------------------------------------------------------------------            
  779.   alias mog_boss_meter_process_victory process_victory
  780.   def process_victory
  781.       $game_temp.battle_end = true
  782.       mog_boss_meter_process_victory
  783.   end
  784.  
  785.   #--------------------------------------------------------------------------
  786.   # ● Process Abort
  787.   #--------------------------------------------------------------------------            
  788.   alias mog_boss_meter_process_abort process_abort
  789.   def process_abort
  790.       $game_temp.battle_end = true
  791.       mog_boss_meter_process_abort
  792.   end
  793.  
  794.   #--------------------------------------------------------------------------
  795.   # ● Process Defeat
  796.   #--------------------------------------------------------------------------            
  797.   alias mog_boss_meter_process_defeat process_defeat
  798.   def process_defeat
  799.       $game_temp.battle_end = true
  800.       mog_boss_meter_process_defeat
  801.   end
  802.  
  803. end
  804.  
  805. $mog_rgss3_boss_hp_meter = true

360截图20170627151503655.jpg (59.23 KB, 下载次数: 14)

360截图20170627151503655.jpg
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
帖子
793
9
发表于 2017-6-27 21:22:33 | 只看该作者
本帖最后由 sq333333 于 2017-6-27 21:31 编辑

我错了,大佬息怒

点评

没有对错 只是这就是求学的知识 你学可不学也可  发表于 2017-6-27 22:12
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-23 07:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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