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

Project1

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

[已经过期] 谁给我一个物品上限的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
164 小时
注册时间
2016-3-3
帖子
83
跳转到指定楼层
1
发表于 2016-6-20 20:16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
不要太复杂 ,就是只要背包内的物品能超出99个就行了

Lv1.梦旅人

梦石
0
星屑
55
在线时间
15 小时
注册时间
2015-10-1
帖子
18
2
发表于 2016-6-21 14:22:24 | 只看该作者
限界突破脚本,自己改物品行……
我就不复制了,自己点超链接,10楼

https://rpg.blue/thread-394126-1-1.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
102 小时
注册时间
2016-5-9
帖子
58
3
发表于 2016-6-21 16:41:02 | 只看该作者
nightaround 发表于 2016-6-21 14:22
限界突破脚本,自己改物品行……
我就不复制了,自己点超链接,10楼

我帮你复制下来啦2333333333333333

  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ 限界突破 - KGC_LimitBreak ◆
  3. #_/    ◇ Last update : 2008/01/10 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  各種設定値の上限を変更します。
  6. #_/============================================================================
  7. #_/  なるべく [Scene_Debug] のすぐ下に導入してください。
  8. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  9. #==============================================================================
  10. # ★ カスタマイズ項目 ★
  11. #==============================================================================

  12. module KGC
  13.   module LimitBreak
  14.     # ◆能力値算出方式
  15.     #   0..データベース通り。
  16.     #      (100以降は計算式として ACTOR_LV100_CALC を使用)
  17.     #
  18.     #   1..データベースを用いた2次関数。
  19.     #        a:レベル1の値  b:レベル2の値  c:レベル3の値  x:現レベル
  20.     #      として、
  21.     #        ax^2 + bx + c
  22.     #      を用いて能力値を算出。
  23.     #
  24.     #   2..データベースを用いた1次関数。
  25.     #        b:レベル2の値  c:レベル3の値  x:現レベル
  26.     #      として、
  27.     #        bx + c
  28.     #      を用いて能力値を算出。
  29.     #      (レベル2,3の値を使うのは、2次関数方式との使い分けを楽にするため)
  30.     CALC_PARAMETER_METHOD = 0

  31.     # ◆レベル 100 以降の能力値計算式
  32.     #  (CALC_PARAMETER_METHOD が 0 のときに使用)
  33.     #  【lv..現レベル  p[x]..レベル x の能力値】
  34.     #  この計算結果をレベル 99 の能力値に加算。
  35.     ACTOR_LV100_CALC = "(p[99] - p[98]) * (lv - 99)"


  36.     # ◆アクターのレベル上限
  37.     #  アクターID順に配列に格納(最初は nil)
  38.     ACTOR_LV_LIMIT = [nil]
  39.     # ◆上限未指定アクターのレベル上限
  40.     #  上限未指定(nil)のアクターはこの値を使用。
  41.     ACTOR_LV_LIMIT_DEFAULT =99
  42.     $actover = ACTOR_LV_LIMIT_DEFAULT + 1
  43.     # ◆アクターの経験値上限
  44.     ACTOR_EXP_LIMIT = 99999
  45.     # ◆アクターのHP上限
  46.     ACTOR_HP_LIMIT  = 999999
  47.     # ◆アクターのSP上限
  48.     ACTOR_SP_LIMIT  = 999999
  49.     # ◆アクターの「腕力, 器用さ, 素早さ, 魔力」上限
  50.     ACTOR_ETC_LIMIT = 9999

  51.     # ◆敵のHP上限
  52.     ENEMY_HP_LIMIT  = 99999999
  53.     # ◆敵のSP上限
  54.     ENEMY_SP_LIMIT  = 99999999
  55.     # ◆敵の「腕力, 器用さ, 素早さ, 魔力」上限
  56.     ENEMY_ETC_LIMIT = 500000





  57.     # ◆アクター能力値修正値(百分率)
  58.     #  アクターの能力値がデータベースの設定値の○%になる。
  59.     #  (上限値が高い場合に使用。データベースの値を使う場合は 100)
  60.     ACTOR_MAXHP_REVISE = 100  # MAXHP
  61.     ACTOR_MAXSP_REVISE = 100  # MAXSP
  62.     ACTOR_STR_REVISE   = 100  # 腕力
  63.     ACTOR_DEX_REVISE   = 100  # 器用さ
  64.     ACTOR_AGI_REVISE   = 100  # 素早さ
  65.     ACTOR_INT_REVISE   = 100  # 魔力

  66.     # ◆敵能力値修正値(百分率)
  67.     #  敵の能力値がデータベースの設定値の○%になる。
  68.     ENEMY_MAXHP_REVISE = 100  # MAXHP
  69.     ENEMY_MAXSP_REVISE = 100  # MAXSP
  70.     ENEMY_STR_REVISE   = 100  # 腕力
  71.     ENEMY_DEX_REVISE   = 100  # 器用さ
  72.     ENEMY_AGI_REVISE   = 100  # 素早さ
  73.     ENEMY_INT_REVISE   = 100  # 魔力
  74.     ENEMY_ATK_REVISE   = 100  # 攻撃力
  75.     ENEMY_PDEF_REVISE  = 100  # 物理防御
  76.     ENEMY_MDEF_REVISE  = 100  # 魔法防御

  77.     # ◆所持金上限
  78.     GOLD_LIMIT = 999999

  79.     # ◆アイテム所持数上限
  80.     ITEM_LIMIT = []  # ← これは消さないこと!
  81.     # この下に、アイテム所持数の上限を
  82.     #   ITEM_LIMIT[アイテムID] = 所持数上限
  83.     # という書式で設定。
  84.     #  <例> アイテム 1 は 99 個所持可能
  85.     #  ITEM_LIMIT[1] = 99

  86.     # ◆武器所持数上限
  87.     #  指定方法はアイテムと同じ。
  88.     WEAPON_LIMIT = []  # ← これは消さないこと!
  89.     # ◆防具所持数上限
  90.     #  指定方法はアイテムと同じ。
  91.     ARMOR_LIMIT = []  # ← これは消さないこと!

  92.     # ◆アイテム所持数上限 (デフォルト)
  93.     #  上限を指定しなかったアイテム、武器、防具はこの値を上限として使用。
  94.     ITEM_LIMIT_DEFAULT = 999

  95.     module_function
  96.     #--------------------------------------------------------------------------
  97.     # ○ 敵能力値直接指定
  98.     #     ここで、敵の最大HPなどを直接指定することができます。
  99.     #     データベースに入りきらない数値を指定する場合に使用してください。
  100.     #--------------------------------------------------------------------------
  101.     def set_enemy_status
  102. =begin
  103. 我只是举个栗子
  104.       $data_enemies[422].dex = 13500
  105.       $data_enemies[422].agi = 13500
  106.       $data_enemies[422].str = 13500
  107.       $data_enemies[422].int = 12500
  108.       $data_enemies[422].atk = 2300
  109.       $data_enemies[422].pdef = 2600
  110.       $data_enemies[422].maxsp = 236300
  111. =end
  112.     end
  113.   end
  114. end

  115. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  116. $imported = {} if $imported == nil
  117. $imported["LimitBreak"] = true

  118. if $game_special_elements == nil
  119.   $game_special_elements = {}
  120.   $data_system = load_data("Data/System.rxdata")
  121. end

  122. module KGC::LimitBreak
  123.   module_function
  124.   #--------------------------------------------------------------------------
  125.   # ● 敵の能力補正を適用
  126.   #--------------------------------------------------------------------------
  127.   def revise_enemy_parameters
  128.     (1...$data_enemies.size).each { |i|
  129.       enemy = $data_enemies[i]
  130.       enemy.maxhp = enemy.maxhp * ENEMY_MAXHP_REVISE / 100
  131.       enemy.maxsp = enemy.maxsp * ENEMY_MAXSP_REVISE / 100
  132.       enemy.str = enemy.str * ENEMY_STR_REVISE / 100
  133.       enemy.dex = enemy.dex * ENEMY_DEX_REVISE / 100
  134.       enemy.agi = enemy.agi * ENEMY_AGI_REVISE / 100
  135.       enemy.int = enemy.int * ENEMY_INT_REVISE / 100
  136.       enemy.atk = enemy.atk * ENEMY_ATK_REVISE / 100
  137.       enemy.pdef = enemy.pdef * ENEMY_PDEF_REVISE / 100
  138.       enemy.mdef = enemy.mdef * ENEMY_MDEF_REVISE / 100
  139.     }
  140.   end
  141. end

  142. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  143. #==============================================================================
  144. # ■ RPG::Item
  145. #==============================================================================

  146. class RPG::Item
  147.   #--------------------------------------------------------------------------
  148.   # ● 所持数上限
  149.   #--------------------------------------------------------------------------
  150.   def number_limit
  151.     if KGC::LimitBreak::ITEM_LIMIT[self.id] != nil
  152.       return KGC::LimitBreak::ITEM_LIMIT[self.id]
  153.     else
  154.       return KGC::LimitBreak::ITEM_LIMIT_DEFAULT
  155.     end
  156.   end
  157. end

  158. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  159. #==============================================================================
  160. # ■ RPG::Weapon
  161. #==============================================================================

  162. class RPG::Weapon
  163.   #--------------------------------------------------------------------------
  164.   # ● 所持数上限
  165.   #--------------------------------------------------------------------------
  166.   def number_limit
  167.     if KGC::LimitBreak::WEAPON_LIMIT[self.id] != nil
  168.       return KGC::LimitBreak::WEAPON_LIMIT[self.id]
  169.     else
  170.       return KGC::LimitBreak::ITEM_LIMIT_DEFAULT
  171.     end
  172.   end
  173. end

  174. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  175. #==============================================================================
  176. # ■ RPG::Armor
  177. #==============================================================================

  178. class RPG::Armor
  179.   #--------------------------------------------------------------------------
  180.   # ● 所持数上限
  181.   #--------------------------------------------------------------------------
  182.   def number_limit
  183.     if KGC::LimitBreak::ARMOR_LIMIT[self.id] != nil
  184.       return KGC::LimitBreak::ARMOR_LIMIT[self.id]
  185.     else
  186.       return KGC::LimitBreak::ITEM_LIMIT_DEFAULT
  187.     end
  188.   end
  189. end

  190. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  191. #==============================================================================
  192. # ■ Game_Battler (分割定義 1)
  193. #==============================================================================

  194. class Game_Battler
  195.   #--------------------------------------------------------------------------
  196.   # ● MaxHP の取得
  197.   #--------------------------------------------------------------------------
  198.   def maxhp
  199.     n = [base_maxhp + @maxhp_plus, 1].max
  200.     @states.each { |i| n *= ($data_states[i].maxhp_rate) / 100.0 }
  201.     n = [[Integer(n), 1].max, maxhp_limit].min
  202.     return n
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● MaxSP の取得
  206.   #--------------------------------------------------------------------------
  207.   def maxsp
  208.     n = [base_maxsp + @maxsp_plus, 0].max
  209.     @states.each { |i| n *= ($data_states[i].maxsp_rate)/ 100.0 }
  210.     n = [[Integer(n), 0].max, maxsp_limit].min
  211.     return n
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ● 腕力の取得
  215.   #--------------------------------------------------------------------------
  216.   def str
  217.     n = [base_str + @str_plus, 1].max
  218.     @states.each { |i| n *= ($data_states[i].str_rate) / 100.0 }
  219.     n = [[Integer(n), 1].max, parameter_limit].min
  220.     return n
  221.   end
  222.   #--------------------------------------------------------------------------
  223.   # ● 器用さの取得
  224.   #--------------------------------------------------------------------------
  225.   def dex
  226.     n = [base_dex + @dex_plus, 1].max
  227.     @states.each { |i| n *= ($data_states[i].dex_rate) / 100.0 }
  228.     n = [[Integer(n), 1].max, parameter_limit].min
  229.     return n
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● 素早さの取得
  233.   #--------------------------------------------------------------------------
  234.   def agi
  235.     n = [base_agi + @agi_plus, 1].max
  236.     @states.each { |i| n *= ($data_states[i].agi_rate) / 100.0 }
  237.     n = [[Integer(n), 1].max, parameter_limit].min
  238.     return n
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # ● 魔力の取得
  242.   #--------------------------------------------------------------------------
  243.   def int
  244.     n = [base_int + @int_plus, 1].max
  245.     @states.each { |i| n *= ($data_states[i].int_rate) / 100.0 }
  246.     n = [[Integer(n), 1].max, parameter_limit].min
  247.     return n
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● MaxHP の設定
  251.   #     maxhp : 新しい MaxHP
  252.   #--------------------------------------------------------------------------
  253.   def maxhp=(maxhp)
  254.     @maxhp_plus += maxhp - self.maxhp
  255.     @maxhp_plus = [[@maxhp_plus, -maxhp_limit].max, maxhp_limit].min
  256.     @hp = [@hp, self.maxhp].min
  257.   end
  258.   #--------------------------------------------------------------------------
  259.   # ● MaxSP の設定
  260.   #     maxsp : 新しい MaxSP
  261.   #--------------------------------------------------------------------------
  262.   def maxsp=(maxsp)
  263.     @maxsp_plus += maxsp - self.maxsp
  264.     @maxsp_plus = [[@maxsp_plus, -maxsp_limit].max, maxsp_limit].min
  265.     @sp = [@sp, self.maxsp].min
  266.   end
  267.   #--------------------------------------------------------------------------
  268.   # ● 腕力の設定
  269.   #     str : 新しい腕力
  270.   #--------------------------------------------------------------------------
  271.   def str=(str)
  272.     @str_plus += str - self.str
  273.     @str_plus = [[@str_plus, -parameter_limit].max, parameter_limit].min
  274.   end
  275.   #--------------------------------------------------------------------------
  276.   # ● 器用さの設定
  277.   #     dex : 新しい器用さ
  278.   #--------------------------------------------------------------------------
  279.   def dex=(dex)
  280.     @dex_plus += dex - self.dex
  281.     @dex_plus = [[@dex_plus, -parameter_limit].max, parameter_limit].min
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # ● 素早さの設定
  285.   #     agi : 新しい素早さ
  286.   #--------------------------------------------------------------------------
  287.   def agi=(agi)
  288.     @agi_plus += agi - self.agi
  289.     @agi_plus = [[@agi_plus, -parameter_limit].max, parameter_limit].min
  290.   end
  291.   #--------------------------------------------------------------------------
  292.   # ● 魔力の設定
  293.   #     int : 新しい魔力
  294.   #--------------------------------------------------------------------------
  295.   def int=(int)
  296.     @int_plus += int - self.int
  297.     @int_plus = [[@int_plus, -parameter_limit].max, parameter_limit].min
  298.   end
  299. end

  300. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  301. #==============================================================================
  302. # ■ Game_Actor
  303. #==============================================================================

  304. class Game_Actor < Game_Battler
  305.   #--------------------------------------------------------------------------
  306.   # ● EXP 計算
  307.   #--------------------------------------------------------------------------
  308.   def make_exp_list
  309.     actor = $data_actors[@actor_id]
  310.     @exp_list[1] = 0
  311.     pow_i = 2.4 + actor.exp_inflation / 100.0
  312.     (2..(self.final_level + 1)).each { |i|
  313.       if i > self.final_level
  314.         @exp_list[i] = 0
  315.       else
  316.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  317.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  318.       end
  319.     }
  320.   end
  321.   #--------------------------------------------------------------------------
  322.   # ● EXP の変更
  323.   #     exp : 新しい EXP
  324.   #--------------------------------------------------------------------------
  325.   def exp=(exp)
  326.     if $imported["ExpGoldIncrease"]
  327.       rate = calc_exp_increase_rate(KGC::EXPGLD_INC_PERMIT_DOUBLE)
  328.       exp = @exp + (exp - @exp) * rate / 100
  329.     end
  330.     @exp = [[exp, KGC::LimitBreak::ACTOR_EXP_LIMIT].min, 0].max
  331.     # レベルアップ
  332.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  333.       @level += 1
  334.       # スキル習得
  335.       $data_classes[@class_id].learnings.each { |j|
  336.         if j.level == @level
  337.           learn_skill(j.skill_id)
  338.         end
  339.       }
  340.     end
  341.     # レベルダウン
  342.     while @exp < @exp_list[@level]
  343.       @level -= 1
  344.     end
  345.     # 現在の HP と SP が最大値を超えていたら修正
  346.     @hp = [@hp, self.maxhp].min
  347.     @sp = [@sp, self.maxsp].min
  348.   end
  349.   #--------------------------------------------------------------------------
  350.   # ○ パラメータの取得
  351.   #--------------------------------------------------------------------------
  352.   if KGC::LimitBreak::CALC_PARAMETER_METHOD == 0
  353.     def parameter(type)
  354.       if @level >= 100
  355.         calc_text = KGC::LimitBreak::ACTOR_LV100_CALC.dup
  356.         calc_text.gsub!(/lv/i) { "@level" }
  357.         calc_text.gsub!(/p\[(\d+)\]/i) {
  358.           "$data_actors[@actor_id].parameters[type, #{$1.to_i}]"
  359.         }
  360.         return $data_actors[@actor_id].parameters[type, 99] + eval(calc_text)
  361.       else
  362.         return $data_actors[@actor_id].parameters[type, @level]
  363.       end
  364.     end
  365.   elsif KGC::LimitBreak::CALC_PARAMETER_METHOD == 1
  366.     def parameter(type)
  367.       a = $data_actors[@actor_id].parameters[type, 1]
  368.       b = $data_actors[@actor_id].parameters[type, 2]
  369.       c = $data_actors[@actor_id].parameters[type, 3]
  370.       return a * @level * @level + b * @level + c
  371.     end
  372.   elsif KGC::LimitBreak::CALC_PARAMETER_METHOD == 2
  373.     def parameter(type)
  374.       b = $data_actors[@actor_id].parameters[type, 2]
  375.       c = $data_actors[@actor_id].parameters[type, 3]
  376.       return b * @level + c
  377.     end
  378.   end
  379.   #--------------------------------------------------------------------------
  380.   # ● 基本 MaxHP の取得
  381.   #--------------------------------------------------------------------------
  382.   def base_maxhp
  383.     n = self.parameter(0)
  384.     return n * KGC::LimitBreak::ACTOR_MAXHP_REVISE / 100
  385.   end
  386.   #--------------------------------------------------------------------------
  387.   # ● MaxHP の取得
  388.   #--------------------------------------------------------------------------
  389.   def maxhp
  390.     n = [base_maxhp + @maxhp_plus, 1].max
  391.     @states.each { |i| n *= ($data_states[i].maxhp_rate)/100.0 }
  392.     n = [[Integer(n), 1].max, maxhp_limit].min
  393.     return n
  394.   end
  395.   #--------------------------------------------------------------------------
  396.   # ● 基本 MaxSP の取得
  397.   #--------------------------------------------------------------------------
  398.   def base_maxsp
  399.     n = self.parameter(1)
  400.     return n * KGC::LimitBreak::ACTOR_MAXSP_REVISE / 100
  401.   end
  402.   #--------------------------------------------------------------------------
  403.   # ● MaxSP の取得
  404.   #--------------------------------------------------------------------------
  405.   def maxsp
  406.     n = [base_maxsp + @maxsp_plus, 0].max
  407.     @states.each { |i| n *= ($data_states[i].maxsp_rate)/ 100.0 }
  408.     n = [[Integer(n), 0].max, maxsp_limit].min
  409.     return n
  410.   end
  411.   #--------------------------------------------------------------------------
  412.   # ● 基本腕力の取得
  413.   #--------------------------------------------------------------------------
  414.   def base_str
  415.     n = self.parameter(2)
  416.     if $imported["EquipExtension"]
  417.       n += equipment_parameter(2)
  418.     else
  419.       equip_item_list.each { |item| n += (item != nil ? item.str_plus : 0) }
  420.     end

  421.     return [[n * KGC::LimitBreak::ACTOR_STR_REVISE / 100, 1].max, parameter_limit].min
  422.   end
  423.   #--------------------------------------------------------------------------
  424.   # ● 基本器用さの取得
  425.   #--------------------------------------------------------------------------
  426.   def base_dex
  427.     n = self.parameter(3)
  428.     if $imported["EquipExtension"]
  429.       n += equipment_parameter(3)
  430.     else
  431.       equip_item_list.each { |item| n += (item != nil ? item.dex_plus : 0) }
  432.     end

  433.     return [[n * KGC::LimitBreak::ACTOR_DEX_REVISE / 100, 1].max, parameter_limit].min
  434.   end
  435.   #--------------------------------------------------------------------------
  436.   # ● 基本素早さの取得
  437.   #--------------------------------------------------------------------------
  438.   def base_agi
  439.     n = self.parameter(4)
  440.     if $imported["EquipExtension"]
  441.       n += equipment_parameter(4)
  442.     else
  443.       equip_item_list.each { |item| n += (item != nil ? item.agi_plus : 0) }
  444.     end

  445.     return [[n * KGC::LimitBreak::ACTOR_AGI_REVISE / 100, 1].max, parameter_limit].min
  446.   end
  447.   #--------------------------------------------------------------------------
  448.   # ● 基本魔力の取得
  449.   #--------------------------------------------------------------------------
  450.   def base_int
  451.     n = self.parameter(5)
  452.     if $imported["EquipExtension"]
  453.       n += equipment_parameter(5)
  454.     else
  455.       equip_item_list.each { |item| n += (item != nil ? item.int_plus : 0) }
  456.     end
  457.     return [[n * KGC::LimitBreak::ACTOR_INT_REVISE / 100, 1].max, parameter_limit].min
  458.   end
  459.   #--------------------------------------------------------------------------
  460.   # ● レベルの変更
  461.   #     level : 新しいレベル
  462.   #--------------------------------------------------------------------------
  463.   def level=(level)
  464.     # 上下限チェック
  465.     level = [[level, self.final_level].min, 1].max
  466.     # EXP を変更
  467.     self.exp = @exp_list[level]
  468.   end
  469.   #--------------------------------------------------------------------------
  470.   # ● 最終レベルの取得
  471.   #--------------------------------------------------------------------------
  472.   def final_level
  473.     return (KGC::LimitBreak::ACTOR_LV_LIMIT[@actor_id] != nil ?
  474.     KGC::LimitBreak::ACTOR_LV_LIMIT[@actor_id] : KGC::LimitBreak::ACTOR_LV_LIMIT_DEFAULT)
  475.   end
  476.   #--------------------------------------------------------------------------
  477.   # ○ MaxHP 限界値の取得
  478.   #--------------------------------------------------------------------------
  479.   def maxhp_limit
  480.     return KGC::LimitBreak::ACTOR_HP_LIMIT
  481.   end
  482.   #--------------------------------------------------------------------------
  483.   # ○ MaxSP 限界値の取得
  484.   #--------------------------------------------------------------------------
  485.   def maxsp_limit
  486.     return KGC::LimitBreak::ACTOR_SP_LIMIT
  487.   end
  488.   #--------------------------------------------------------------------------
  489.   # ○ パラメータ限界値の取得
  490.   #--------------------------------------------------------------------------
  491.   def parameter_limit
  492.     return KGC::LimitBreak::ACTOR_ETC_LIMIT
  493.   end
  494.   #--------------------------------------------------------------------------
  495.   # ○ 装備武器リストの取得
  496.   #--------------------------------------------------------------------------
  497.   def equip_weapon_list
  498.     result = [$data_weapons[@weapon_id]]
  499.     return result.compact
  500.   end
  501.   #--------------------------------------------------------------------------
  502.   # ○ 装備防具リストの取得
  503.   #--------------------------------------------------------------------------
  504.   def equip_armor_list
  505.     result = []
  506.     (1..4).each { |i| result << $data_armors[eval("@armor#{i}_id")] }
  507.     return result.compact
  508.   end
  509.   #--------------------------------------------------------------------------
  510.   # ○ 装備品リストの取得
  511.   #--------------------------------------------------------------------------
  512.   def equip_item_list
  513.     return equip_weapon_list + equip_armor_list
  514.   end
  515. end

  516. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  517. #==============================================================================
  518. # ■ Game_Enemy
  519. #==============================================================================

  520. class Game_Enemy < Game_Battler
  521.   #--------------------------------------------------------------------------
  522.   # ○ MaxHP 限界値の取得
  523.   #--------------------------------------------------------------------------
  524.   def maxhp_limit
  525.     return KGC::LimitBreak::ENEMY_HP_LIMIT
  526.   end
  527.   #--------------------------------------------------------------------------
  528.   # ○ MaxSP 限界値の取得
  529.   #--------------------------------------------------------------------------
  530.   def maxsp_limit
  531.     return KGC::LimitBreak::ENEMY_SP_LIMIT
  532.   end
  533.   #--------------------------------------------------------------------------
  534.   # ○ パラメータ限界値の取得
  535.   #--------------------------------------------------------------------------
  536.   def parameter_limit
  537.     return KGC::LimitBreak::ENEMY_ETC_LIMIT
  538.   end
  539. end

  540. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  541. #==============================================================================
  542. # ■ Game_Party
  543. #==============================================================================

  544. class Game_Party
  545.   #--------------------------------------------------------------------------
  546.   # ● ゴールドの増加 (減少)
  547.   #     n : 金額
  548.   #--------------------------------------------------------------------------
  549.   def gain_gold(n)
  550.     # 所持金の限界値変更
  551.     @gold = [[@gold + n, 0].max, KGC::LimitBreak::GOLD_LIMIT].min
  552.   end
  553.   #--------------------------------------------------------------------------
  554.   # ● アイテムの増加 (減少)
  555.   #     item_id : アイテム ID
  556.   #     n       : 個数
  557.   #--------------------------------------------------------------------------
  558.   def gain_item(item_id, n)
  559.     # ハッシュの個数データを更新
  560.     if item_id > 0
  561.       limit = $data_items[item_id].number_limit
  562.       @items[item_id] = [[item_number(item_id) + n, 0].max, limit].min
  563.     end
  564.   end
  565.   #--------------------------------------------------------------------------
  566.   # ● 武器の増加 (減少)
  567.   #     weapon_id : 武器 ID
  568.   #     n         : 個数
  569.   #--------------------------------------------------------------------------
  570.   def gain_weapon(weapon_id, n)
  571.     # ハッシュの個数データを更新
  572.     if weapon_id > 0
  573.       limit = $data_weapons[weapon_id].number_limit
  574.       @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, limit].min
  575.     end
  576.   end
  577.   #--------------------------------------------------------------------------
  578.   # ● 防具の増加 (減少)
  579.   #     armor_id : 防具 ID
  580.   #     n        : 個数
  581.   #--------------------------------------------------------------------------
  582.   def gain_armor(armor_id, n)
  583.     # ハッシュの個数データを更新
  584.     if armor_id > 0
  585.       limit = $data_armors[armor_id].number_limit
  586.       @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, limit].min
  587.     end
  588.   end
  589. end

  590. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  591. #==============================================================================
  592. # ■ Window_ShopBuy
  593. #==============================================================================

  594. class Window_ShopBuy < Window_Selectable
  595.   #--------------------------------------------------------------------------
  596.   # ● 項目の描画
  597.   #     index : 項目番号
  598.   #--------------------------------------------------------------------------
  599.   def draw_item(index)
  600.     item = @data[index]
  601.     # アイテムの所持数を取得
  602.     case item
  603.     when RPG::Item
  604.       number = $game_party.item_number(item.id)
  605.     when RPG::Weapon
  606.       number = $game_party.weapon_number(item.id)
  607.     when RPG::Armor
  608.       number = $game_party.armor_number(item.id)
  609.     end
  610.     # 価格が所持金以下、かつ所持数が上限でなければ通常文字色に、
  611.     # そうでなければ無効文字色に設定
  612.     if item.price <= $game_party.gold && number < item.number_limit
  613.       self.contents.font.color = normal_color
  614.     else
  615.       self.contents.font.color = disabled_color
  616.     end
  617.     x = 4
  618.     y = index * 32
  619.     rect = Rect.new(x, y, self.width - 32, 32)
  620.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  621.     bitmap = RPG::Cache.icon(item.icon_name)
  622.     opacity = self.contents.font.color == normal_color ? 255 : 128
  623.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  624.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  625.     self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  626.   end
  627. end

  628. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  629. #==============================================================================
  630. # ■ Scene_Title
  631. #==============================================================================

  632. class Scene_Title
  633.   #--------------------------------------------------------------------------
  634.   # ● コマンド : ニューゲーム
  635.   #--------------------------------------------------------------------------
  636.   alias command_new_game_KGC_LimitBreak command_new_game
  637.   def command_new_game
  638.     command_new_game_KGC_LimitBreak

  639.     KGC::LimitBreak.revise_enemy_parameters
  640.     KGC::LimitBreak.set_enemy_status
  641.   end
  642.   #--------------------------------------------------------------------------
  643.   # ● コマンド : コンティニュー
  644.   #--------------------------------------------------------------------------
  645.   alias command_continue_KGC_LimitBreak command_continue
  646.   def command_continue
  647.     command_continue_KGC_LimitBreak

  648.     KGC::LimitBreak.revise_enemy_parameters
  649.     KGC::LimitBreak.set_enemy_status
  650.   end
  651.   #--------------------------------------------------------------------------
  652.   # ● 戦闘テスト
  653.   #--------------------------------------------------------------------------
  654.   alias battle_test_KGC_LimitBreak battle_test
  655.   def battle_test
  656.     battle_test_KGC_LimitBreak

  657.     KGC::LimitBreak.revise_enemy_parameters
  658.     KGC::LimitBreak.set_enemy_status
  659.   end
  660. end

  661. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  662. #==============================================================================
  663. # ■ Scene_Shop
  664. #==============================================================================

  665. class Scene_Shop
  666.   #--------------------------------------------------------------------------
  667.   # ● フレーム更新 (購入ウィンドウがアクティブの場合)
  668.   #--------------------------------------------------------------------------
  669.   def update_buy
  670.     # ステータスウィンドウのアイテムを設定
  671.     @status_window.item = @buy_window.item
  672.     # B ボタンが押された場合
  673.     if Input.trigger?(Input::B)
  674.       # キャンセル SE を演奏
  675.       $game_system.se_play($data_system.cancel_se)
  676.       # ウィンドウの状態を初期モードへ
  677.       @command_window.active = true
  678.       @dummy_window.visible = true
  679.       @buy_window.active = false
  680.       @buy_window.visible = false
  681.       @status_window.visible = false
  682.       @status_window.item = nil
  683.       # ヘルプテキストを消去
  684.       @help_window.set_text("")
  685.       return
  686.     end
  687.     # C ボタンが押された場合
  688.     if Input.trigger?(Input::C)
  689.       # アイテムを取得
  690.       @item = @buy_window.item
  691.       # アイテムが無効の場合、または価格が所持金より上の場合
  692.       if @item == nil or @item.price > $game_party.gold
  693.         # ブザー SE を演奏
  694.         $game_system.se_play($data_system.buzzer_se)
  695.         return
  696.       end
  697.       # アイテムの所持数を取得
  698.       case @item
  699.       when RPG::Item
  700.         number = $game_party.item_number(@item.id)
  701.       when RPG::Weapon
  702.         number = $game_party.weapon_number(@item.id)
  703.       when RPG::Armor
  704.         number = $game_party.armor_number(@item.id)
  705.       end
  706.       # すでに上限まで個所持している場合
  707.       limit = @item.number_limit
  708.       if number >= limit
  709.         # ブザー SE を演奏
  710.         $game_system.se_play($data_system.buzzer_se)
  711.         return
  712.       end
  713.       # 決定 SE を演奏
  714.       $game_system.se_play($data_system.decision_se)
  715.       # 最大購入可能個数を計算
  716.       max = (@item.price == 0 ? limit : $game_party.gold / @item.price)
  717.       max = [max, limit - number].min
  718.       # ウィンドウの状態を個数入力モードへ
  719.       @buy_window.active = false
  720.       @buy_window.visible = false
  721.       @number_window.set(@item, max, @item.price)
  722.       @number_window.active = true
  723.       @number_window.visible = true
  724.     end
  725.   end
  726. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
101 小时
注册时间
2011-1-29
帖子
23
4
发表于 2016-6-22 22:45:55 | 只看该作者
方法层出不穷,最简单的方法就是进入脚本库里找game_party。默认脚本会在172-182找到这个:
  1.   #--------------------------------------------------------------------------
  2.   # ● 增加物品 (减少)
  3.   #     item_id : 物品 ID
  4.   #     n       : 个数
  5.   #--------------------------------------------------------------------------
  6.   def gain_item(item_id, n)
  7.     # 更新 hash 的个数数据
  8.     if item_id > 0
  9.       @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
  10.     end
  11.   end
复制代码
调整一下后面的99就可以了。顺带说一句,调整过后涉及到文字显示问题,找window类的item自行调整,具体和标题无关的就不详细说了~

点评

你漏了一个地方。除了这里要改以外,商店买入的时候的判断也要改。  发表于 2016-6-22 23:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
101 小时
注册时间
2011-1-29
帖子
23
5
发表于 2016-6-23 09:03:42 | 只看该作者
以上补充一下,默认脚本库中scene_shop的193-194行,对应的两个99改一下自己设定的最大值就好~
  1.       max = @item.price == 0 ? 99 : $game_party.gold / @item.price
  2.       max = [max, 99 - number].min
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 20:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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