新規記事の投稿を行うことで、非表示にすることが可能です。
2018年10月31日
コモンイベントに置換/予約すると便利な処理
コモンイベントに置換/予約すると便利な処理
空でもいいのでコモンイベントを挿入しておくと、将来的な拡張に役立ちます。
@全回復処理の置き換え
・HP回復、MP回復、ステート解除を組み合わせて、カスタム全回復にする
・縛りプレイ、デフォルト「全回復」イベントによるステート剥がれ対策
(AutomaticState.jsにステート剥がれ対策機能あり)
Aボス戦直前
・イージーモード用救済処置(全回復、再戦フラグ立て)
・既読イベントのスキップフラグ立て
B場所移動前
・エンカウント保証
・エリア切り替えによる失効処理
C場所移動直後(自動実行)
・エンカウント保証
・エリア切り替えによるフラグ立て(イベント発生)
Dバトルイベント0ターン
・確率発動のフェーズスキル
・ランダムイベント(女神転生の会話発生など)
(YEP_BaseTroopEventsとの併用を推奨)
所感
・コモンイベント1〜20は使用頻度の高い処理のためにとっておく
イベントシーンの演出を組む場合を想定するといいのかも
※中編、長編ではこのアクセス性が作業効率に響く
コモンイベント、変数、スイッチを引っ越ししたい場合
別記事にまとめました。
サクラエディタのGrep検索機能を活用したイベントコマンドの修正テクニック
https://fanblogs.jp/tabirpglab/archive/1219/0
2018年10月30日
ターゲット選択時に使えるショートカット操作
ターゲット選択時に使えるショートカット操作
作業効率化テクニックです。
・「BGMの演奏」のようにリスト表示された状態では、半角入力状態でイベント名の頭文字のキーを押下すると1キーで呼び出しができる
・「アニメーションの表示」「フキダシの表示」では、半角入力状態でイベント名の頭文字のキーを押下すると1キーで呼び出しができる
後者は本日気付きました。
・ターゲット選択時、リスト形式の場合に利用できる(例.アニメーションの表示、フキダシの表示)
・コモンイベントはドロップダウンリスト形式のため利用不可
エディタのオプションから「展開」「ドロップダウン」を切り替えても効果なし
こうしたテクニックの累積で作業が捗ると嬉しくなりますね。
効率化万歳。
2018年10月27日
装備解除スキルの実装例
装備解除スキルの実装例
装備を強制解除するスキルの実装例です。
基本機能で組むと以下のようになります。
@スキルを受けた対象者に「装備解除」ステートを付与(このステートは条件分岐のためのマーキング)。
同ステートの有無で装備を解除するコモンイベント処理を実行(装備解除の対象アクターを判定して、解除させる)。
A@が正の場合、全装備を装備している/いないで条件分岐で判定★ここが基本機能では煩雑
B装備している場合、ラベルジャンプで装備解除の処理を実行(コマンド処理の共通化)
Aを解決するため、スクリプトでJavascriptを使用。
防具タイプのスロットの空き有無をsomeメソッドで調査する方法で解決。
アクター1番が防具タイプID5の防具を身に着けている場合
条件分岐のスクリプトで以下を入力。
$gameActors.actor(1).armors().some(function(armor) {
return armor.atypeId === 5;
});
1行にまとめた場合。
$gameActors.actor(1).armors().some(function(armor) {return armor.atypeId === 5;});
アクター1番が防具タイプID5の防具を身に着けていない場合
!をつけて構文を反転させる。
!$gameActors.actor(1).armors().some(function(armor) {
return armor.atypeId === 5;
});
解説
$gameActors.actor(1)
rpg_object.jsにあるアクターの管理人(gameActor=GameActor)が持つアクター1(actor(1))の情報の呼出。
gameActorsという部署に所属するactor1番さんを名指しで呼び出している。
armors()
防具情報一覧の呼び出し。
Excelやスプレッドシートのセルでデータが整列されている状態に対する処理のイメージ。
some
一致するものがあればtrueを返す関数。
Excelの中からCtrf+Fで一致する文字列を探すイメージ。
function(armor)
"armor"という関数を作り、後に続く構文を処理する。
すなわち……
$gameActors.actor(1).armors().some(function(armor) {
return armor.atypeId === 5;
});
は
$gameActors.actor(1).armors().
GameActorsに所属するアクター1番が、
some(function(armor)
{
return armor.atypeId === 5;
});
防具タイプに防具タイプ5番の情報を持っているか(ゲーム上は装備しているか)
という構文になります。
装備している=trueなので、条件分岐のスクリプトに入力すると、
アクター1が防具タイプ5を装備している場合、と読み替えられて処理が進むのです。
参考:
ツクールMVコアスクリプト解析
https://sites.google.com/site/rpgmakercorescript/game_/game_battlerbase/game_battler/game_actor-1
謝辞:
奏 ねこま様
http://makonet.sakura.ne.jp/rpg_tkool/
terunon様
https://tri-nitroterunon37.wixsite.com/terunon
2018年10月21日
サクラエディタのGrep検索機能を活用したテキストの修正テクニック
サクラエディタのGrep検索機能を活用したテキストの修正テクニック
サクラエディタを使い、RPGツクールMVのプロジェクトファイルを一括編集する方法です。
2018/10/21追記あり
サクラエディタ
https://sakura-editor.github.io/
1.検索→「Grep置換」を選択
2.以下を入力して「置換」を選択
・置換前:置換前のキーワード
・置換後:置換後のキーワード
・ファイル:*.json
・フォルダ:プロジェクトファイルのdataフォルダを指定
※規定でもバックアップ作成機能がありますが、データのバックアップを推奨します
3.置換結果が出力される
2で「バックアップを作成」にチェックをいれておくと、変更されたファイルは「ファイル名.skrold」となる
復元したい場合はサクラエディタで同ファイルを開き、「名前を付けて保存」で.skroldを消した元のファイル名で保存する。
※しかし2でバックアップしておいた方が復元は早いです。
エディタで該当のMapXXX.jsonを開くと反映されていることを確認。
応用
注釈に検索用のワードを入れて、後から修正箇所のイベントを調べることができます。
運用例.
1.後から修正する箇所に注釈で「修正予定」のようなキーワードを埋め込む
※作中本文で使わない単語なら何でも良いです。パーティクルタコヤキとか。
2.修正する際は、サクラエディタの検索→「Grep」(「Grep置換」ではなく普通の「Grep」)でMapIDとイベントID(またはイベント名)を特定
画像の場合、Map025,イベントID9,イベント名「daze」とわかる
3.該当のMapIDを開き、ツクールMVのエディタ検索「Ctrl+F」で該当イベントIDに名前でジャンプする
追記
制御文字で"\"を使うときは前にひとつ"\"を追加する必要があります。
例1.
置換前 "シルクハットの紳士"
置換後 "\c[6]シルクハットの紳士\c[0]"
→置換後MAPが開けなくなる
"\\c[6]シルクハット〜\\c[0]
\c[6]シルクハット〜\c[0]に変換される
例2.アクター0001の場合
置換前\\n[1]★置換元の時点で\n[1]ではなく\\n[1]にする
\\c[2]\\n[1]\\c[0]
2018年10月18日
待機アニメーションのカスタマイズ(MOG_CharPoses.jsとMOG_CharPoses_Customize.js)
待機アニメーションのカスタマイズ(MOG_CharPoses.jsとMOG_CharPoses_Customize.js)
RPGツクールMVで待機グラフィックを表示/カスタマイズする方法です。
待機グラフィックは自前で用意する必要がありますので、ご承知おきください。
用意するもの
@プレイヤーの歩行グラフィック.png
Aプレイヤーの歩行グラフィック_idle.png
Bプレイヤーの歩行グラフィック_idle(F<フレーム数>)(S<アニメーションスピード>).png
※ファイル名でフレーム数、アニメーションスピードを調整します。
CMOG_CharPoses.js 制作者:MogHunter((@moghunter1)様
https://atelierrgss.wordpress.com/rmv-character-poses/
DMOG_CharPoses_Customize.js 制作者:アストラル様(@astral25game)
https://game.astralabo.net/plugins/MOG_CharPoses_Customize.js
実装手順
MOG_CharPoses.jsのプラグインパラメーターで待機モーションに切り替わるまでの待機時間(規定では60フレーム=1秒)を設定。
MOG_CharPoses_Customize.js側で待機モーションのフレーム数を3以上に拡張したり、アニメーションスピードを早める調整を行います。
@〜Dの準備ができたらプラグインコマンドで実行します。
※OP前の裏処理中に一回実行すれば、以後有効となります
9フレーム、スピード1の場合
◆プラグインコマンド:MOGcp idle (F9)(S1)
12フレームの場合
◆プラグインコマンド:MOGcp idle (F12)
注意点
・プラグイン管理ではCの下にDを配置する
・実際に参照するのはB、Aはファイル名さえ正しければ透明1px×1pxのファイルでも良い
実装例
アストラル様(@astral25game )のおかげで3フレーム→12フレームの待機アニメーションが実装できました。ありがとうございます。
— kuro@7/30新作公開 (@rpgmaker_kuro) 2018年10月18日
この後に簡単ですが解説します。#ツクールMV pic.twitter.com/dYJCsJmLds
スペシャルサンクス
アストラル様
fuku様
terunon様