| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 6823 | 
 
| 最后登录 | 2020-3-1 | 
 
| 在线时间 | 141 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 65 
 
        - 在线时间
 - 141 小时
 
        - 注册时间
 - 2012-4-29
 
        - 帖子
 - 54
 
 
 
 | 
	
1.我用了這個能力值提升的腳本,請問大大我把能力值改高一點角色的狀態那邊的屬性欄都會破表= = 只要超過1千就會超出那個屬性條的框框...我也到過Game_Actor這腳本去修改過屬性的上限但還是一樣會超出屬性條= = ... 
  
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 
#_/ ◆ 限界突破 - KGC_LimitBreak ◆ 
#_/ ◇ Last update : 2008/01/10 ◇ 
#_/---------------------------------------------------------------------------- 
#_/ 各種設定値の上限を変更します。 
#_/============================================================================ 
#_/ なるべく [Scene_Debug] のすぐ下に導入してください。 
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 
#============================================================================== 
# ★ カスタマイズ項目 ★ 
#============================================================================== 
module KGC 
module LimitBreak 
# ◆能力値算出方式 
# 0..データベース通り。 
# (100以降は計算式として ACTOR_LV100_CALC を使用) 
# 
# 1..データベースを用いた2次関数。 
# a:レベル1の値 b:レベル2の値 c:レベル3の値 x:現レベル 
# として、 
# ax^2 + bx + c 
# を用いて能力値を算出。 
# 
# 2..データベースを用いた1次関数。 
# b:レベル2の値 c:レベル3の値 x:現レベル 
# として、 
# bx + c 
# を用いて能力値を算出。 
# (レベル2,3の値を使うのは、2次関数方式との使い分けを楽にするため) 
CALC_PARAMETER_METHOD = 0 
# ◆レベル 100 以降の能力値計算式 
# (CALC_PARAMETER_METHOD が 0 のときに使用) 
# 【lv..現レベル p[x]..レベル x の能力値】 
# この計算結果をレベル 99 の能力値に加算。 
ACTOR_LV100_CALC = "(p[99] - p[98]) * (lv - 99)" 
# ◆アクターのレベル上限 
# アクターID順に配列に格納(最初は nil) 
ACTOR_LV_LIMIT = [nil] 
# ◆上限未指定アクターのレベル上限 
# 上限未指定(nil)のアクターはこの値を使用。 
ACTOR_LV_LIMIT_DEFAULT = 150 
# ◆アクターの経験値上限 
ACTOR_EXP_LIMIT = 99999999999 
# ◆アクターのHP上限 
ACTOR_HP_LIMIT = 99999 
# ◆アクターのSP上限 
ACTOR_SP_LIMIT = 99999 
# ◆アクターの「腕力, 器用さ, 素早さ, 魔力」上限 
ACTOR_ETC_LIMIT = 9999 
# ◆敵のHP上限 
ENEMY_HP_LIMIT = 9999999 
# ◆敵のSP上限 
ENEMY_SP_LIMIT = 99999 
# ◆敵の「腕力, 器用さ, 素早さ, 魔力」上限 
ENEMY_ETC_LIMIT = 9999 
# ◆アクター能力値修正値(百分率) 
# アクターの能力値がデータベースの設定値の○%になる。 
# (上限値が高い場合に使用。データベースの値を使う場合は 100) 
ACTOR_MAXHP_REVISE = 100 # MAXHP 
ACTOR_MAXSP_REVISE = 100 # MAXSP 
ACTOR_STR_REVISE = 100 # 腕力 
ACTOR_DEX_REVISE = 100 # 器用さ 
ACTOR_AGI_REVISE = 3000 # 素早さ 
ACTOR_INT_REVISE = 100 # 魔力 
# ◆敵能力値修正値(百分率) 
# 敵の能力値がデータベースの設定値の○%になる。 
ENEMY_MAXHP_REVISE = 100 # MAXHP 
ENEMY_MAXSP_REVISE = 100 # MAXSP 
ENEMY_STR_REVISE = 100 # 腕力 
ENEMY_DEX_REVISE = 100 # 器用さ 
ENEMY_AGI_REVISE = 100 # 素早さ 
ENEMY_INT_REVISE = 100 # 魔力 
ENEMY_ATK_REVISE = 100 # 攻撃力 
ENEMY_PDEF_REVISE = 100 # 物理防御 
ENEMY_MDEF_REVISE = 100 # 魔法防御 
# ◆所持金上限 
GOLD_LIMIT = 1000000000 
# ◆アイテム所持数上限 
ITEM_LIMIT = [] # ← これは消さないこと! 
# この下に、アイテム所持数の上限を 
# ITEM_LIMIT[アイテムID] = 所持数上限 
# という書式で設定。 
# <例> アイテム 1 は 99 個所持可能 
ITEM_LIMIT[1] = 99 
# ◆武器所持数上限 
# 指定方法はアイテムと同じ。 
WEAPON_LIMIT = [] # ← これは消さないこと! 
# ◆防具所持数上限 
# 指定方法はアイテムと同じ。 
ARMOR_LIMIT = [] # ← これは消さないこと! 
# ◆アイテム所持数上限 (デフォルト) 
# 上限を指定しなかったアイテム、武器、防具はこの値を上限として使用。 
ITEM_LIMIT_DEFAULT = 99 
module_function 
#-------------------------------------------------------------------------- 
# ○ 敵能力値直接指定 
# ここで、敵の最大HPなどを直接指定することができます。 
# データベースに入りきらない数値を指定する場合に使用してください。 
#-------------------------------------------------------------------------- 
def set_enemy_status 
# <例> ID:10 の敵のHPを 2000000 にする場合 
# $data_enemies[10].maxhp = 2000000 
# <例> ID:16 の敵の攻撃力を 5000 にする場合 
# $data_enemies[16].atk = 5000 
end 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
$imported = {} if $imported == nil 
$imported["LimitBreak"] = true 
if $game_special_elements == nil 
$game_special_elements = {} 
$data_system = load_data("Data/System.rxdata") 
end 
module KGC::LimitBreak 
module_function 
#-------------------------------------------------------------------------- 
# ● 敵の能力補正を適用 
#-------------------------------------------------------------------------- 
def revise_enemy_parameters 
(1...$data_enemies.size).each { |i| 
enemy = $data_enemies[i] 
enemy.maxhp = enemy.maxhp * ENEMY_MAXHP_REVISE / 100 
enemy.maxsp = enemy.maxsp * ENEMY_MAXSP_REVISE / 100 
enemy.str = enemy.str * ENEMY_STR_REVISE / 100 
enemy.dex = enemy.dex * ENEMY_DEX_REVISE / 100 
enemy.agi = enemy.agi * ENEMY_AGI_REVISE / 100 
enemy.int = enemy.int * ENEMY_INT_REVISE / 100 
enemy.atk = enemy.atk * ENEMY_ATK_REVISE / 100 
enemy.pdef = enemy.pdef * ENEMY_PDEF_REVISE / 100 
enemy.mdef = enemy.mdef * ENEMY_MDEF_REVISE / 100 
} 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ RPG::Item 
#============================================================================== 
class RPG::Item 
#-------------------------------------------------------------------------- 
# ● 所持数上限 
#-------------------------------------------------------------------------- 
def number_limit 
if KGC::LimitBreak::ITEM_LIMIT[self.id] != nil 
return KGC::LimitBreak::ITEM_LIMIT[self.id] 
else 
return KGC::LimitBreak::ITEM_LIMIT_DEFAULT 
end 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ RPG::Weapon 
#============================================================================== 
class RPG::Weapon 
#-------------------------------------------------------------------------- 
# ● 所持数上限 
#-------------------------------------------------------------------------- 
def number_limit 
if KGC::LimitBreak::WEAPON_LIMIT[self.id] != nil 
return KGC::LimitBreak::WEAPON_LIMIT[self.id] 
else 
return KGC::LimitBreak::ITEM_LIMIT_DEFAULT 
end 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ RPG::Armor 
#============================================================================== 
class RPG::Armor 
#-------------------------------------------------------------------------- 
# ● 所持数上限 
#-------------------------------------------------------------------------- 
def number_limit 
if KGC::LimitBreak::ARMOR_LIMIT[self.id] != nil 
return KGC::LimitBreak::ARMOR_LIMIT[self.id] 
else 
return KGC::LimitBreak::ITEM_LIMIT_DEFAULT 
end 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Game_Battler (分割定義 1) 
#============================================================================== 
class Game_Battler 
#-------------------------------------------------------------------------- 
# ● MaxHP の取得 
#-------------------------------------------------------------------------- 
def maxhp 
n = [base_maxhp + @maxhp_plus, 1].max 
@states.each { |i| n *= $data_states[i].maxhp_rate / 100.0 } 
n = [[Integer(n), 1].max, maxhp_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● MaxSP の取得 
#-------------------------------------------------------------------------- 
def maxsp 
n = [base_maxsp + @maxsp_plus, 0].max 
@states.each { |i| n *= $data_states[i].maxsp_rate / 100.0 } 
n = [[Integer(n), 0].max, maxsp_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● 腕力の取得 
#-------------------------------------------------------------------------- 
def str 
n = [base_str + @str_plus, 1].max 
@states.each { |i| n *= $data_states[i].str_rate / 100.0 } 
n = [[Integer(n), 1].max, parameter_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● 器用さの取得 
#-------------------------------------------------------------------------- 
def dex 
n = [base_dex + @dex_plus, 1].max 
@states.each { |i| n *= $data_states[i].dex_rate / 100.0 } 
n = [[Integer(n), 1].max, parameter_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● 素早さの取得 
#-------------------------------------------------------------------------- 
def agi 
n = [base_agi + @agi_plus, 1].max 
@states.each { |i| n *= $data_states[i].agi_rate / 100.0 } 
n = [[Integer(n), 1].max, parameter_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● 魔力の取得 
#-------------------------------------------------------------------------- 
def int 
n = [base_int + @int_plus, 1].max 
@states.each { |i| n *= $data_states[i].int_rate / 100.0 } 
n = [[Integer(n), 1].max, parameter_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● MaxHP の設定 
# maxhp : 新しい MaxHP 
#-------------------------------------------------------------------------- 
def maxhp=(maxhp) 
@maxhp_plus += maxhp - self.maxhp 
@maxhp_plus = [[@maxhp_plus, -maxhp_limit].max, maxhp_limit].min 
@hp = [@hp, self.maxhp].min 
end 
#-------------------------------------------------------------------------- 
# ● MaxSP の設定 
# maxsp : 新しい MaxSP 
#-------------------------------------------------------------------------- 
def maxsp=(maxsp) 
@maxsp_plus += maxsp - self.maxsp 
@maxsp_plus = [[@maxsp_plus, -maxsp_limit].max, maxsp_limit].min 
@sp = [@sp, self.maxsp].min 
end 
#-------------------------------------------------------------------------- 
# ● 腕力の設定 
# str : 新しい腕力 
#-------------------------------------------------------------------------- 
def str=(str) 
@str_plus += str - self.str 
@str_plus = [[@str_plus, -parameter_limit].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● 器用さの設定 
# dex : 新しい器用さ 
#-------------------------------------------------------------------------- 
def dex=(dex) 
@dex_plus += dex - self.dex 
@dex_plus = [[@dex_plus, -parameter_limit].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● 素早さの設定 
# agi : 新しい素早さ 
#-------------------------------------------------------------------------- 
def agi=(agi) 
@agi_plus += agi - self.agi 
@agi_plus = [[@agi_plus, -parameter_limit].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● 魔力の設定 
# int : 新しい魔力 
#-------------------------------------------------------------------------- 
def int=(int) 
@int_plus += int - self.int 
@int_plus = [[@int_plus, -parameter_limit].max, parameter_limit].min 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Game_Actor 
#============================================================================== 
class Game_Actor < Game_Battler 
#-------------------------------------------------------------------------- 
# ● EXP 計算 
#-------------------------------------------------------------------------- 
def make_exp_list 
actor = $data_actors[@actor_id] 
@exp_list[1] = 0 
pow_i = 2.4 + actor.exp_inflation / 100.0 
(2..(self.final_level + 1)).each { |i| 
if i > self.final_level 
@exp_list[i] = 0 
else 
n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i) 
@exp_list[i] = @exp_list[i-1] + Integer(n) 
end 
} 
end 
#-------------------------------------------------------------------------- 
# ● EXP の変更 
# exp : 新しい EXP 
#-------------------------------------------------------------------------- 
def exp=(exp) 
if $imported["ExpGoldIncrease"] 
rate = calc_exp_increase_rate(KGC::EXPGLD_INC_PERMIT_DOUBLE) 
exp = @exp + (exp - @exp) * rate / 100 
end 
@exp = [[exp, KGC::LimitBreak::ACTOR_EXP_LIMIT].min, 0].max 
# レベルアップ 
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0 
@level += 1 
# スキル習得 
$data_classes[@class_id].learnings.each { |j| 
if j.level == @level 
learn_skill(j.skill_id) 
end 
} 
end 
# レベルダウン 
while @exp < @exp_list[@level] 
@level -= 1 
end 
# 現在の HP と SP が最大値を超えていたら修正 
@hp = [@hp, self.maxhp].min 
@sp = [@sp, self.maxsp].min 
end 
#-------------------------------------------------------------------------- 
# ○ パラメータの取得 
#-------------------------------------------------------------------------- 
if KGC::LimitBreak::CALC_PARAMETER_METHOD == 0 
def parameter(type) 
if @level >= 100 
calc_text = KGC::LimitBreak::ACTOR_LV100_CALC.dup 
calc_text.gsub!(/lv/i) { "@level" } 
calc_text.gsub!(/p[(d+)]/i) { 
"$data_actors[@actor_id].parameters[type, #{$1.to_i}]" 
} 
return $data_actors[@actor_id].parameters[type, 99] + eval(calc_text) 
else 
return $data_actors[@actor_id].parameters[type, @level] 
end 
end 
elsif KGC::LimitBreak::CALC_PARAMETER_METHOD == 1 
def parameter(type) 
a = $data_actors[@actor_id].parameters[type, 1] 
b = $data_actors[@actor_id].parameters[type, 2] 
c = $data_actors[@actor_id].parameters[type, 3] 
return a * @level * @level + b * @level + c 
end 
elsif KGC::LimitBreak::CALC_PARAMETER_METHOD == 2 
def parameter(type) 
b = $data_actors[@actor_id].parameters[type, 2] 
c = $data_actors[@actor_id].parameters[type, 3] 
return b * @level + c 
end 
end 
#-------------------------------------------------------------------------- 
# ● 基本 MaxHP の取得 
#-------------------------------------------------------------------------- 
def base_maxhp 
n = self.parameter(0) 
return n * KGC::LimitBreak::ACTOR_MAXHP_REVISE / 100 
end 
#-------------------------------------------------------------------------- 
# ● MaxHP の取得 
#-------------------------------------------------------------------------- 
def maxhp 
n = [base_maxhp + @maxhp_plus, 1].max 
@states.each { |i| n *= $data_states[i].maxhp_rate / 100.0 } 
n = [[Integer(n), 1].max, maxhp_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● 基本 MaxSP の取得 
#-------------------------------------------------------------------------- 
def base_maxsp 
n = self.parameter(1) 
return n * KGC::LimitBreak::ACTOR_MAXSP_REVISE / 100 
end 
#-------------------------------------------------------------------------- 
# ● MaxSP の取得 
#-------------------------------------------------------------------------- 
def maxsp 
n = [base_maxsp + @maxsp_plus, 0].max 
@states.each { |i| n *= $data_states[i].maxsp_rate / 100.0 } 
n = [[Integer(n), 0].max, maxsp_limit].min 
return n 
end 
#-------------------------------------------------------------------------- 
# ● 基本腕力の取得 
#-------------------------------------------------------------------------- 
def base_str 
n = self.parameter(2) 
if $imported["EquipExtension"] 
n += equipment_parameter(2) 
else 
equip_item_list.each { |item| n += (item != nil ? item.str_plus : 0) } 
end 
return [[n * KGC::LimitBreak::ACTOR_STR_REVISE / 100, 1].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● 基本器用さの取得 
#-------------------------------------------------------------------------- 
def base_dex 
n = self.parameter(3) 
if $imported["EquipExtension"] 
n += equipment_parameter(3) 
else 
equip_item_list.each { |item| n += (item != nil ? item.dex_plus : 0) } 
end 
return [[n * KGC::LimitBreak::ACTOR_DEX_REVISE / 100, 1].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● 基本素早さの取得 
#-------------------------------------------------------------------------- 
def base_agi 
n = self.parameter(4) 
if $imported["EquipExtension"] 
n += equipment_parameter(4) 
else 
equip_item_list.each { |item| n += (item != nil ? item.agi_plus : 0) } 
end 
return [[n * KGC::LimitBreak::ACTOR_AGI_REVISE / 100, 1].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● 基本魔力の取得 
#-------------------------------------------------------------------------- 
def base_int 
n = self.parameter(5) 
if $imported["EquipExtension"] 
n += equipment_parameter(5) 
else 
equip_item_list.each { |item| n += (item != nil ? item.int_plus : 0) } 
end 
return [[n * KGC::LimitBreak::ACTOR_INT_REVISE / 100, 1].max, parameter_limit].min 
end 
#-------------------------------------------------------------------------- 
# ● レベルの変更 
# level : 新しいレベル 
#-------------------------------------------------------------------------- 
def level=(level) 
# 上下限チェック 
level = [[level, self.final_level].min, 1].max 
# EXP を変更 
self.exp = @exp_list[level] 
end 
#-------------------------------------------------------------------------- 
# ● 最終レベルの取得 
#-------------------------------------------------------------------------- 
def final_level 
return (KGC::LimitBreak::ACTOR_LV_LIMIT[@actor_id] != nil ? 
KGC::LimitBreak::ACTOR_LV_LIMIT[@actor_id] : KGC::LimitBreak::ACTOR_LV_LIMIT_DEFAULT) 
end 
#-------------------------------------------------------------------------- 
# ○ MaxHP 限界値の取得 
#-------------------------------------------------------------------------- 
def maxhp_limit 
return KGC::LimitBreak::ACTOR_HP_LIMIT 
end 
#-------------------------------------------------------------------------- 
# ○ MaxSP 限界値の取得 
#-------------------------------------------------------------------------- 
def maxsp_limit 
return KGC::LimitBreak::ACTOR_SP_LIMIT 
end 
#-------------------------------------------------------------------------- 
# ○ パラメータ限界値の取得 
#-------------------------------------------------------------------------- 
def parameter_limit 
return KGC::LimitBreak::ACTOR_ETC_LIMIT 
end 
#-------------------------------------------------------------------------- 
# ○ 装備武器リストの取得 
#-------------------------------------------------------------------------- 
def equip_weapon_list 
result = [$data_weapons[@weapon_id]] 
return result.compact 
end 
#-------------------------------------------------------------------------- 
# ○ 装備防具リストの取得 
#-------------------------------------------------------------------------- 
def equip_armor_list 
result = [] 
(1..4).each { |i| result << $data_armors[eval("@armor#{i}_id")] } 
return result.compact 
end 
#-------------------------------------------------------------------------- 
# ○ 装備品リストの取得 
#-------------------------------------------------------------------------- 
def equip_item_list 
return equip_weapon_list + equip_armor_list 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Game_Enemy 
#============================================================================== 
class Game_Enemy < Game_Battler 
#-------------------------------------------------------------------------- 
# ○ MaxHP 限界値の取得 
#-------------------------------------------------------------------------- 
def maxhp_limit 
return KGC::LimitBreak::ENEMY_HP_LIMIT 
end 
#-------------------------------------------------------------------------- 
# ○ MaxSP 限界値の取得 
#-------------------------------------------------------------------------- 
def maxsp_limit 
return KGC::LimitBreak::ENEMY_SP_LIMIT 
end 
#-------------------------------------------------------------------------- 
# ○ パラメータ限界値の取得 
#-------------------------------------------------------------------------- 
def parameter_limit 
return KGC::LimitBreak::ENEMY_ETC_LIMIT 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Game_Party 
#============================================================================== 
class Game_Party 
#-------------------------------------------------------------------------- 
# ● ゴールドの増加 (減少) 
# n : 金額 
#-------------------------------------------------------------------------- 
def gain_gold(n) 
# 所持金の限界値変更 
@gold = [[@gold + n, 0].max, KGC::LimitBreak::GOLD_LIMIT].min 
end 
#-------------------------------------------------------------------------- 
# ● アイテムの増加 (減少) 
# item_id : アイテム ID 
# n : 個数 
#-------------------------------------------------------------------------- 
def gain_item(item_id, n) 
# ハッシュの個数データを更新 
if item_id > 0 
limit = $data_items[item_id].number_limit 
@items[item_id] = [[item_number(item_id) + n, 0].max, limit].min 
end 
end 
#-------------------------------------------------------------------------- 
# ● 武器の増加 (減少) 
# weapon_id : 武器 ID 
# n : 個数 
#-------------------------------------------------------------------------- 
def gain_weapon(weapon_id, n) 
# ハッシュの個数データを更新 
if weapon_id > 0 
limit = $data_weapons[weapon_id].number_limit 
@weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, limit].min 
end 
end 
#-------------------------------------------------------------------------- 
# ● 防具の増加 (減少) 
# armor_id : 防具 ID 
# n : 個数 
#-------------------------------------------------------------------------- 
def gain_armor(armor_id, n) 
# ハッシュの個数データを更新 
if armor_id > 0 
limit = $data_armors[armor_id].number_limit 
@armors[armor_id] = [[armor_number(armor_id) + n, 0].max, limit].min 
end 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Window_ShopBuy 
#============================================================================== 
class Window_ShopBuy < Window_Selectable 
#-------------------------------------------------------------------------- 
# ● 項目の描画 
# index : 項目番号 
#-------------------------------------------------------------------------- 
def draw_item(index) 
item = @data[index] 
# アイテムの所持数を取得 
case item 
when RPG::Item 
number = $game_party.item_number(item.id) 
when RPG::Weapon 
number = $game_party.weapon_number(item.id) 
when RPG::Armor 
number = $game_party.armor_number(item.id) 
end 
# 価格が所持金以下、かつ所持数が上限でなければ通常文字色に、 
# そうでなければ無効文字色に設定 
if item.price <= $game_party.gold && number < item.number_limit 
self.contents.font.color = normal_color 
else 
self.contents.font.color = disabled_color 
end 
x = 4 
y = index * 32 
rect = Rect.new(x, y, self.width - 32, 32) 
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) 
bitmap = RPG::Cache.icon(item.icon_name) 
opacity = self.contents.font.color == normal_color ? 255 : 128 
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) 
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) 
self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2) 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Scene_Title 
#============================================================================== 
class Scene_Title 
#-------------------------------------------------------------------------- 
# ● コマンド : ニューゲーム 
#-------------------------------------------------------------------------- 
alias command_new_game_KGC_LimitBreak command_new_game 
def command_new_game 
command_new_game_KGC_LimitBreak 
KGC::LimitBreak.revise_enemy_parameters 
KGC::LimitBreak.set_enemy_status 
end 
#-------------------------------------------------------------------------- 
# ● コマンド : コンティニュー 
#-------------------------------------------------------------------------- 
alias command_continue_KGC_LimitBreak command_continue 
def command_continue 
command_continue_KGC_LimitBreak 
KGC::LimitBreak.revise_enemy_parameters 
KGC::LimitBreak.set_enemy_status 
end 
#-------------------------------------------------------------------------- 
# ● 戦闘テスト 
#-------------------------------------------------------------------------- 
alias battle_test_KGC_LimitBreak battle_test 
def battle_test 
battle_test_KGC_LimitBreak 
KGC::LimitBreak.revise_enemy_parameters 
KGC::LimitBreak.set_enemy_status 
end 
end 
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 
#============================================================================== 
# ■ Scene_Shop 
#============================================================================== 
class Scene_Shop 
#-------------------------------------------------------------------------- 
# ● フレーム更新 (購入ウィンドウがアクティブの場合) 
#-------------------------------------------------------------------------- 
def update_buy 
# ステータスウィンドウのアイテムを設定 
@status_window.item = @buy_window.item 
# B ボタンが押された場合 
if Input.trigger?(Input::B) 
# キャンセル SE を演奏 
$game_system.se_play($data_system.cancel_se) 
# ウィンドウの状態を初期モードへ 
@command_window.active = true 
@dummy_window.visible = true 
@buy_window.active = false 
@buy_window.visible = false 
@status_window.visible = false 
@status_window.item = nil 
# ヘルプテキストを消去 
@help_window.set_text("") 
return 
end 
# C ボタンが押された場合 
if Input.trigger?(Input::C) 
# アイテムを取得 
@item = @buy_window.item 
# アイテムが無効の場合、または価格が所持金より上の場合 
if @item == nil or @item.price > $game_party.gold 
# ブザー SE を演奏 
$game_system.se_play($data_system.buzzer_se) 
return 
end 
# アイテムの所持数を取得 
case @item 
when RPG::Item 
number = $game_party.item_number(@item.id) 
when RPG::Weapon 
number = $game_party.weapon_number(@item.id) 
when RPG::Armor 
number = $game_party.armor_number(@item.id) 
end 
# すでに上限まで個所持している場合 
limit = @item.number_limit 
if number >= limit 
# ブザー SE を演奏 
$game_system.se_play($data_system.buzzer_se) 
return 
end 
# 決定 SE を演奏 
$game_system.se_play($data_system.decision_se) 
# 最大購入可能個数を計算 
max = (@item.price == 0 ? limit : $game_party.gold / @item.price) 
max = [max, limit - number].min 
# ウィンドウの状態を個数入力モードへ 
@buy_window.active = false 
@buy_window.visible = false 
@number_window.set(@item, max, @item.price) 
@number_window.active = true 
@number_window.visible = true 
end 
end 
end 
  
2.請問大大我在帖上找到這個可以限制幾等才能裝備武器跟防具的腳本: 
  
#--------------------------------------------------------------------------------- 
#需要能力值才能装备 改编自到达一定等级才能装备的武器和防具 By凌冰 
#用法:在武器、防具的说明里添加LV等级(后面的等级写个数字)STR力量(后面的力量写个数字) 
#DEX灵巧(后面的灵巧写个数字)AGI速度(后面的速度写个数字)INT魔力(后面的魔力写个数字) 
#可以空缺,空缺项默认为1 
#建议和升级加点脚本配合使用 
#--------------------------------------------------------------------------------- 
module RPG 
  class Weapon 
    def level 
     return 1 if @description.split(/LV/)[1] == nil 
     return @description.split(/LV/)[1] 
   end 
   def str 
     return 1 if @description.split(/STR/)[1] == nil 
     return @description.split(/STR/)[1] 
   end 
   def dex 
     return 1 if @description.split(/DEX/)[1] == nil 
     return @description.split(/DEX/)[1] 
   end 
   def agi 
     return 1 if @description.split(/AGI/)[1] == nil 
     return @description.split(/AGI/)[1] 
   end 
   def int 
     return 1 if @description.split(/INT/)[1] == nil 
     return @description.split(/INT/)[1] 
   end 
#    def description       
#      return @description.split(/LV/)[0] + "{装备等级" + level + "}" 
#    end 
end 
class Armor 
    def level 
     return 1 if @description.split(/LV/)[1] == nil 
     return @description.split(/LV/)[1] 
   end 
   def str 
     return 1 if @description.split(/STR/)[1] == nil 
     return @description.split(/STR/)[1] 
   end 
   def dex 
     return 1 if @description.split(/DEX/)[1] == nil 
     return @description.split(/DEX/)[1] 
   end 
   def agi 
     return 1 if @description.split(/AGI/)[1] == nil 
     return @description.split(/AGI/)[1] 
   end 
   def int 
     return 1 if @description.split(/INT/)[1] == nil 
     return @description.split(/INT/)[1] 
   end 
#    def description       
#      return @description.split(/LV/)[0] + "{装备等级" + level + "}" 
#    end 
  end 
end 
class Game_Actor < Game_Battler 
#-------------------------------------------------------------------------- 
# ● 可以装备判定 
#     item : 物品 
#-------------------------------------------------------------------------- 
def equipable?(item) 
   # 武器的情况 
   if item.is_a?(RPG::Weapon) 
     # 包含当前的职业可以装备武器的场合 
     if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level 
       if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int 
       return true 
       end 
     end 
   end 
   # 防具的情况 
   if item.is_a?(RPG::Armor) 
     # 不包含当前的职业可以装备武器的场合 
     if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=@level 
       if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int 
       return true 
       end 
     end 
   end 
   return false 
end 
end 
#============================================================================== 
# ■ Window_EquipItem 
#------------------------------------------------------------------------------ 
#  装备画面、显示浏览变更装备的候补物品的窗口。 
#============================================================================== 
class Window_EquipItem < Window_Selectable 
  #-------------------------------------------------------------------------- 
  # ● 刷新 
  #-------------------------------------------------------------------------- 
  def refresh 
    if self.contents != nil 
      self.contents.dispose 
      self.contents = nil 
    end 
    @data = [] 
    # 添加可以装备的武器 
    if @equip_type == 0 
      weapon_set = $data_classes[@actor.class_id].weapon_set 
      for i in 1...$data_weapons.size 
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i]) 
          @data.push($data_weapons[i]) 
        end 
      end 
    end 
    # 添加可以装备的防具 
    if @equip_type != 0 
      armor_set = $data_classes[@actor.class_id].armor_set 
      for i in 1...$data_armors.size 
        if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i]) 
          if $data_armors[i].kind == @equip_type-1 
            @data.push($data_armors[i]) 
          end 
        end 
      end 
    end 
    # 添加空白 
    @data.push(nil) 
    # 生成位图、描绘全部项目 
    @item_max = @data.size 
    self.contents = Bitmap.new(width - 32, row_max * 32) 
    for i in 0...@item_max-1 
      draw_item(i) 
    end 
  end 
end 
  
請問有大大可以跟我說怎麼用這個腳本嗎@@我有在武器或防具的後面+上 lv5了但是還是一樣沒 
  
反應0.0是不是要在這個腳本裡設置哪個武器或防具? 
 
 
‘‘──str342650于2012-5-17 21:25补充以下内容 
 
請問是改這個嗎@@  self.contents = Bitmap.new(width - 32, height - 32) 
 
可是我改了一樣超出屬性欄框耶0.0 
’’ |   
 
 
 
 |