Project1
标题:
自定义经验脚本请教
[打印本页]
作者:
嗨。猪头
时间:
2013-4-28 09:32
标题:
自定义经验脚本请教
这个脚本怎么用啊 有人帮忙下吗
#==============================================================================
# □ 経験値詳細設定 (for VX)
#------------------------------------------------------------------------------
# Version : 4_20120121
# by サリサ・タイクーン
# http://www.tycoon812.com/rgss/
#==============================================================================
#==============================================================================
# □ 素材スイッチ
#==============================================================================
$rgsslab = {} if $rgsslab == nil
$rgsslab["経験値詳細設定"] = true
if $rgsslab["経験値詳細設定"]
#==============================================================================
# □ カスタマイズポイント
#==============================================================================
module RGSSLAB end
module RGSSLAB::Exp_Details_Setting
#--------------------------------------------------------------------------
# ○ 自動加算
# ・記述方法:
# アクターID => 値,
# (最後の設定だけ、後ろのカンマを省略する事ができます)
#
# レベル99以上できる素材と併用時又は
# 最終レベルまでにnilが検出された場合において
# この値を代用して、最終レベルまで適用します。
#
# 但し、EXCLUSIONに該当する職業IDは
# 適用外となりますので、ご注意下さい。
#--------------------------------------------------------------------------
ADD = {
1 => 100,
2 => 100,
3 => 100,
4 => 100,
5 => 100,
6 => 100,
7 => 100,
8 => 100,
}
#--------------------------------------------------------------------------
# ○ 自動加算に存在しない職業IDの設定
# ADDに当てはまらない職業IDの設定です。
#--------------------------------------------------------------------------
DEFAULT = 100
#--------------------------------------------------------------------------
# ○ 除外設定
# EXCLUSION内に該当するアクターIDは
# 本来の経験値(データベースの設定)となりますが
# 経験値安易設定と併用している場合は
# 経験値安易設定の方の設定となります。
# (経験値安易設定で行いたいアクターIDもEXCLUSIONに記述して下さい)
#
# ADDに設定されているアクターIDも、EXCLUSIONに
# 該当すれば、除外の対象となります。
#--------------------------------------------------------------------------
EXCLUSION = []
end
# カスタマイズポイントは、ここまで
#==============================================================================
# □ RGSSLAB::Exp_Details_Setting [module]
#==============================================================================
module RGSSLAB::Exp_Details_Setting
#--------------------------------------------------------------------------
# ○ 素材設定用の定数定義
#--------------------------------------------------------------------------
MATERIAL_NAME = "経験値詳細設定"
VERSION = 4
RELEASE = 20120120
end
#==============================================================================
# □ Combined_Use_Modules [module]
#==============================================================================
module Combined_Use_Modules
#============================================================================
# □ KAMESOFT(TOMYさん)
#============================================================================
module KAMESOFT
#------------------------------------------------------------------------
# ○ 限界突破
#------------------------------------------------------------------------
def self.limit_break
return true if $imported["LimitBreak"] if $imported != nil
return false
end
end
end
#==============================================================================
# ■ Game_Actor [class]
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ○ モジュールの設定
#--------------------------------------------------------------------------
RGSSLAB_001 = RGSSLAB::Exp_Details_Setting
#--------------------------------------------------------------------------
# ● EXP 計算 [再定義]
#--------------------------------------------------------------------------
def make_exp_list
first_exp_list_init
if $rgsslab["経験値詳細設定"]
if $rgsslab["経験値安易設定"]
return make_exp_list_easiness(get_final_level) if RGSSLAB_001::EXCLUSION.include?(@actor_id)
end
return make_exp_list_default(get_final_level) if RGSSLAB_001::EXCLUSION.include?(@actor_id)
return make_exp_list_details(get_final_level, load_exp_list)
end
return make_exp_list_easiness(get_final_level) if $rgsslab["経験値安易設定"]
return make_exp_list_level_extension if $rgsslab["レベル拡張"]
return make_exp_list_final_level_setting if $rgsslab["最終レベル設定"]
return make_exp_list_default(get_final_level)
end
#--------------------------------------------------------------------------
# ○ 最初の経験値リストの初期化
#--------------------------------------------------------------------------
def first_exp_list_init
@exp_list[1] = 0
end
#--------------------------------------------------------------------------
# ○ EXP 計算 - 経験値詳細設定
# final : 最終レベル
# list : 経験値リスト
#--------------------------------------------------------------------------
def make_exp_list_details(final, list)
for i in 2..final + 1
unless list[i - 1] == nil
@exp_list[i] = list[i - 1]
else
if RGSSLAB_001::ADD[@actor_id] == nil
auto_plus = RGSSLAB_001::DEFAULT
else
auto_plus = RGSSLAB_001::ADD[@actor_id]
end
@exp_list[i] = @exp_list[i - 1] + auto_plus
end
@exp_list[i] = 0 if i == final + 1
end
end
#--------------------------------------------------------------------------
# ○ EXP 計算 - デフォルト
# final : 最終レベル
#--------------------------------------------------------------------------
def make_exp_list_default(final)
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0;
for i in 2..final + 1
if i > final
@exp_list[i] = 0
else
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n;
n *= 0.9;
end
end
end
#--------------------------------------------------------------------------
# ○ 経験値リストのロード
#--------------------------------------------------------------------------
def load_exp_list
$rgsslab["経験値リスト"] ? RGSSLAB::Exp_List::LIST[@actor_id] : []
end
#--------------------------------------------------------------------------
# ○ 最終レベルの取得
#--------------------------------------------------------------------------
def get_final_level
return @now_maxlevel if $rgsslab["最終レベル設定"]
return limit_final_level if $rgsslab["レベル拡張"]
return final_level if Combined_Use_Modules::KAMESOFT.limit_break
return 99
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1