※この記事は不定期に予告なく更新する開発用メモです。
※記事内の記述を使用したことにより発生する不具合などには一切責任を持ちません。
※中の人はスクリプト1ミリも理解していません。ほぼ偶然の産物です。
最終更新日:2022/06/16
アクターが装備している武器/防具の能力値を取得
$game_actors[n].equips[n].params[n]
Actor1がスロット1に装備している武器(防具)の攻撃力
$game_actors[1].equips[0].params[2]
params[n]のnの値は以下
0……最大HP
1……最大MP
2……攻撃力
3……防御力
4……魔法力
5……魔法防御
6……敏捷性
7……運
あくまで「能力値変化量」の数値しか拾わない。特徴欄の「能力値」で指定した数値は合算されていないため注意。
またスロット改造系スクリプトとは恐らく相性が悪い(エラーを吐く場合がある)
スキルアイコンをゲームの途中で変更 (faida先生に教わったもの)
$data_skills[n].icon_index = アイコンIndex
スキルID22のアイコンをアイコンID50に変更
$data_skills[n].icon_index = 50
一時的な変更処理のため、例えばセーブしてからロードしたりするとアイコンは初期設定に戻る。
スキル名をゲームの途中で変更 (faida先生に教わったもの)
$data_skills[n].name = "スキル名"
スキルID22のスキル名をスーパーカエルパワーに変更
$data_skills[22].name = "スーパーカエルパワー"
一時的な変更処理のため、例えばセーブしてからロードしたりするとスキル名は初期設定に戻る。
スキルアイコン、スキル名に限らずおそらくいろんなものを途中変更可能だが、キリがないので割愛。また、おそらくそれらすべてが「一時的な変更処理であり、ロードしなおすと元に戻る」と思われる。
こんなもの一時処理にしか使わないと思うので問題ないはずですが、永久的に変えたいのであればロードするたびに変更処理入れるようにするとか工夫が必要。そこまでゴリラするくらいなら大人しくスクリプト依頼した方がよさそう。
装備している武器/防具のIDを取得
$game_actors[n].weapons[n].id
$game_actors[n].armors[n].id
Actor1が装備している武器の武器ID
$game_actors[1].weapons[0].id
※二刀流の2番目のスロットの場合はweapons[1]になる?
Actor2が装備している防具(デフォルトなら盾)の防具ID
$game_actors[2].armors[0].id
※スロットをいじっている場合は色々前後するが、デフォルトのままなら以下。
armors[0]……盾
armors[1]……頭
armors[2]……身体
armors[3]……装飾品
装備周りのスロット取得はスロットIDそのものじゃなく、画面上で見た時の上から順で取得する?たとえばGame_Actor内のスロットを以下のようにいじっていた場合、
def equip_slots
return [0,0,2,3,4] if dual_wield? # 二刀流
return [0,1,2,2,3,4] # 通常
end
赤字部分の防具IDを取得したい場合はarmors[2]ではなくarmors[3](防具スロットの上から三番目なので)みたいになる。この場合、「身体」はarmors[4]、「装飾品」はarmors[5]になる。二刀流だったりスロット改変系スクリプトでスロット回りいじってたりすると、尚ややこしそう。