以前、キャラ製作スクリプトを作成中に作ってみたスクリプトを公開。
・仕様
コマンドから特技を選択し、それに対応する特性がキャラに付きます。
・テストゲーム
ダウンロード
・スクリプト
DataManager
Window_MenuCommand
Special_Feature_Box
Scene_Menu
Game_Actor
Window_SpFeatureList
Scene_SpFeatureList
Special_Feature
・導入法上のスクリプトを全て入れてDataManagerのself.initのload_databaseの下の辺りに
load_normal_data_chara_sp_featureを挿入します。
例
・使い方
DataManagerのself.load_normal_data_chara_sp_feature内の
$data_chara_sp_feature_select_max_defaultの値は選択できる個数のデフォルト値を設定します。
(Actorのsp_features_select_maxがnil(つまり未設定)のときこのデフォルトの値が参照されます。個別に指定したいときは$game_actors[id].sp_features_select_maxで設定してください。
(たとえばself.set_actors_sp_features内あたりで)
)
$data_chara_sp_featureは特技のデータの配列です。
$data_chara_sp_feature[id] = Special_Feature.new(id,"name")
でid番目の特技を設定します。nameは選択画面に表示される名前になります。
(Special_Feature.newの1つ目の引数のidは結局使わなかったので適当な数でもかまいません)
$data_chara_sp_feature[
id].description = "
text"
選択の際のヘルプウィンドウに表示される文章を
textで設定します。
$data_chara_sp_feature[
id].featuresで$data_chara_sp_feature[id]で付加する特性たちの配列です。
$data_chara_sp_feature[id].features[id2] = RPG::BaseItem::Feature.new
$data_chara_sp_feature[id].features[id2].code = code_type
$data_chara_sp_feature[id].features[id2].data_id = num1
$data_chara_sp_feature[id].features[id2].value = num2
上は
id2番目の特徴を設定しています。
codeで特徴の種類を設定します。
data_idとvalueの値はcodeによって持つ意味が違うので説明は難しいですが
(ヘルプでRPG::BaseItem::Featureと検索して出てくるdata_idやvalueと同じです)
色々調べてみてください。
(誰かが調べてネット上にあるかもしれません…
大体エディットツールの特徴を
もしかすると私が調べて後で追記するかも…)
self.set_actors_sp_features内の $game_actors[id].sp_features_learningsでid番目のアクターが習得する特技とその習得レベルを指定します。
$game_actors[id].sp_features_learnings = [[特技id , lv, false]]
の形式で指定します。
特技idは作った特技たちのid
lvは習得レベルになります。
例:
$game_actors[11].sp_features_learnings = [[0,1,false],[1,5,false],[0,10,false]]
で11番目のアクターが0番目の特技をレベル1とレベル10で習得、1番目の特技をレベル5で習得します。(特技は同じものでも複数指定できます。効果は重複します。)
ちょっと今回は説明が難しいです。
分かってしまえば難しくもないのですが伝えるのがちょっと難しい…
ちなみにアイデアの元ネタは三国志11の特技です。
今回は単純な特徴の追加ですが"自分よりHPが少ない相手には必ず通常攻撃がクリティカル"みたいな設定もできるようにするかもしれません。
1. 無題
こちらのスクリプトもお借りしたいのですが、
レベルではなく、イベントでのスキル習得をしたいのですが
どのようにしたらよろしいでしょうか?
また、スクリプトで条件分岐をする際、
該当スキルをセットしているかどうかの判別はどう書けばいいでしょうか?
いくつかお願いをしている中にさらにお願いを追加する形になって恐縮ですが
お時間のある時で構いませんのでご教示くださいませ