新規記事の投稿を行うことで、非表示にすることが可能です。
2017年01月29日
作品公開後にバージョンアップ(機能追加)するイベント
次のプラグインを使用して、作品公開後にバージョンアップ(機能追加)するイベントを組んでみました。
[使用するプラグイン]
EIS Pre-run Common Events
・ゲーム起動時にコモンイベントを実行する
制作者:Kino様
説明/ダウンロード先:
http://endlessillusoft.com/eis-pre-run-common-events/
[概要]
・作品バージョンを変数で管理
・作品バージョンの変数を参照して条件分岐でアップデートのトリガーにする
[内容]
プラグイン管理-EISPreRunでコモンイベントの番号を指定します。
例では290番を割り当てました。
コモンイベント290番の内容はこの通り。
トリガーは「なし」で大丈夫です(プラグインの機能で起動時に実行されるため「自動実行」にする必要はありません)。
コモンイベントの例
◆条件分岐:ゲーム内バージョン初回記録がON★スイッチでバージョン管理されているかを判定
◆条件分岐:ゲーム内バージョン = 2★バージョン2で実行する内容を記述する
◆注釈:この下にゲームバージョン2の更新内容を実行、ない場合は空欄
◆
:それ以外のとき
◆条件分岐:ゲーム内バージョン = 3★バージョン3で実行する内容を記述する
◆注釈:この下にゲームバージョン3の更新内容を実行
◆
:それ以外のとき
◆
:分岐終了
◆
:分岐終了
◆
:それ以外のとき
◆注釈:この下にゲームバージョン1の更新内容を実行
◆コモンイベント:アイコン用プラグインコマンド★例.追加したプラグインのプラグインコマンド
◆プラグインコマンド:hide_treasure_popup★例.追加したプラグインのプラグインコマンド
◆SEの演奏:Item1 (90, 100, 0)
◆文章:なし, 暗くする, 中★プレイヤーへ伝える情報
: :\c[1]Tips:
: :ステートのアイコン\i[16]をクリック/タップすると
: :詳細情報が表示されるようになりました!
: :効果を調べたいときは触ってください
◆スイッチの操作:#0094 ゲーム内バージョン初回記録 = ON★以後、バージョン管理をしていることを判定
◆変数の操作:#0050 ゲーム内バージョン = 2★バージョン1の実行を繰り返さないための記述
◆
:分岐終了
実際の画面
[補足]
ニューゲーム時にはオープニングの裏処理で同じ内容を実行しています。
memo:
・変数「ゲーム内バージョン」の値は作品外で表記しているバージョンと一致させるといいかもしれません
例.表記バージョンが1.2.1だったら変数も121とか
以上、バージョンアップを予定している作者さんの参考になれば幸いです。
[使用するプラグイン]
EIS Pre-run Common Events
・ゲーム起動時にコモンイベントを実行する
制作者:Kino様
説明/ダウンロード先:
http://endlessillusoft.com/eis-pre-run-common-events/
[概要]
・作品バージョンを変数で管理
・作品バージョンの変数を参照して条件分岐でアップデートのトリガーにする
[内容]
プラグイン管理-EISPreRunでコモンイベントの番号を指定します。
例では290番を割り当てました。
コモンイベント290番の内容はこの通り。
トリガーは「なし」で大丈夫です(プラグインの機能で起動時に実行されるため「自動実行」にする必要はありません)。
コモンイベントの例
◆条件分岐:ゲーム内バージョン初回記録がON★スイッチでバージョン管理されているかを判定
◆条件分岐:ゲーム内バージョン = 2★バージョン2で実行する内容を記述する
◆注釈:この下にゲームバージョン2の更新内容を実行、ない場合は空欄
◆
:それ以外のとき
◆条件分岐:ゲーム内バージョン = 3★バージョン3で実行する内容を記述する
◆注釈:この下にゲームバージョン3の更新内容を実行
◆
:それ以外のとき
◆
:分岐終了
◆
:分岐終了
◆
:それ以外のとき
◆注釈:この下にゲームバージョン1の更新内容を実行
◆コモンイベント:アイコン用プラグインコマンド★例.追加したプラグインのプラグインコマンド
◆プラグインコマンド:hide_treasure_popup★例.追加したプラグインのプラグインコマンド
◆SEの演奏:Item1 (90, 100, 0)
◆文章:なし, 暗くする, 中★プレイヤーへ伝える情報
: :\c[1]Tips:
: :ステートのアイコン\i[16]をクリック/タップすると
: :詳細情報が表示されるようになりました!
: :効果を調べたいときは触ってください
◆スイッチの操作:#0094 ゲーム内バージョン初回記録 = ON★以後、バージョン管理をしていることを判定
◆変数の操作:#0050 ゲーム内バージョン = 2★バージョン1の実行を繰り返さないための記述
◆
:分岐終了
実際の画面
[補足]
ニューゲーム時にはオープニングの裏処理で同じ内容を実行しています。
memo:
・変数「ゲーム内バージョン」の値は作品外で表記しているバージョンと一致させるといいかもしれません
例.表記バージョンが1.2.1だったら変数も121とか
以上、バージョンアップを予定している作者さんの参考になれば幸いです。
2017年01月25日
1つの作品に2つのタイトルを収録する方法
◆1つの作品に2つのタイトルを収録する方法
ご質問を頂きましたので、私の作品「重力ルーペ/探求リバーブ」を例にご回答します。
■はじめに
「重力ルーペ/探求リバーブ」は2016年7月にAndAppさんのツクールMVコラボサービスに起用して頂いた私の作品です。
構造としては1つのプロジェクトファイルに「重力ルーペ」「探求リバーブ」の2タイトルが収録されています。
重力ルーペ/探求リバーブ
http://gravitational-loupe-game.tkool.andapp.jp/
ポイント:
・2タイトルのマップ同士で行き来させない限り、それぞれのタイトル(「重力ルーペ」「探求リバーブ」)は独立します
・データベース、プラグインは共通なので、システムの管理がしやすくなります
・2タイトルで共通して扱う素材(エネミー、マップなど)が多い場合は、容量の節約になります
・プレイヤーが初めからに複数のタイトルを楽しむことができます
注意点:
・セーブスロットは2タイトルで共通で管理することになります(デフォルトの場合、2作品でセーブ数が20)
■準備
2タイトルをそれぞれフォルダ管理のように1つのマップ配下にまとめます。
例.重力ルーペをまとめたマップ
この場合「重力ルーペ」というマップに「OP」「星見の丘」「市街地イベント用MAP」「ナカミセストリート北」……といった「重力ルーペ」で使われるマップ群を配置します。
「重力ルーペ」
LOP
L星見の丘
L市街地イベント用MAP
Lナカミセストリート北
例.探求リバーブをまとめたマップ
■実装
ニューゲーム時に選択肢で「重力ルーペ」か「探求リバーブ」かを決め、選んだ作品のマップへ移動するイベントを作成します
【イベント例】
◆画面のフェードイン
◆文章:なし, 暗くする, 中
: :本作品を選んで頂き
: :ありがとうございます
◆ラベル:1 ★「キャンセル時に戻るポイント」です
◆文章:なし, 暗くする, 中
: :「重力ルーペ」、「探求リバーブ」どちらの作品をプレイしますか?
◆文章:なし, 暗くする, 中
: :\c[1]それぞれ関連しており〜
◆選択肢の表示:重力ルーペ, 探求リバーブ, 星空スコア (ウィンドウ, 中, -, -)
:重力ルーペのとき
◆文章:なし, 暗くする, 中
: :重力ルーペは流星群の夜から始まる
: :謎を追いかける物語です
◆文章:なし, 暗くする, 中
: :プレイ時間は6〜8時間です
◆文章:なし, 暗くする, 中
: :重力ルーペを選びますか?
◆選択肢の表示:いいよ!, 考え直したい (ウィンドウ, 中, #1, #2)
:いいよ!のとき
◆文章:なし, 暗くする, 中
: :ありがとうございます
: :それでは重力ルーペの世界を
: :ごゆっくりお楽しみください
◆場所移動:OP (7,15) (向き: 下)★重力ルーペのマップに移動します
◆
:考え直したいのとき
◆ラベルジャンプ:1 ★「キャンセル時に戻るポイント」に進みます
◆
:分岐終了
◆
:探求リバーブのとき
◆文章:なし, 暗くする, 中
: :探求リバーブは地底に広がる謎の洞窟を
: :冒険する物語です
◆文章:なし, 暗くする, 中
: :プレイ時間は3〜4時間です
◆文章:なし, 暗くする, 中
: :探求リバーブを選びますか?
◆選択肢の表示:いいよ!, 考え直したい (ウィンドウ, 中, #1, #2)
:いいよ!のとき
◆文章:なし, 暗くする, 中
: :ありがとうございます
: :それでは探求リバーブの世界を
: :ごゆっくりお楽しみください
◆画面のフェードアウト
◆場所移動:OP (10,26)★探求リバーブのマップに移動します
◆
:考え直したいのとき
◆ラベルジャンプ:1 ★「キャンセル時に戻るポイント」に進みます
◆
:分岐終了
◆
:分岐終了
「重力ルーペ」の場合
→そのままOPが始まります。
「探求リバーブ」の場合
→パーティーメンバーを「重力ルーペ」から「探求リバーブ」のメンバーに入れ替える設定をします。
以上、ご参考になれば幸いです。
なお現在は3タイトル目の制作中です。
現在公開中の「地図の時間」とあわせて、応援よろしくお願いします。
ご質問を頂きましたので、私の作品「重力ルーペ/探求リバーブ」を例にご回答します。
■はじめに
「重力ルーペ/探求リバーブ」は2016年7月にAndAppさんのツクールMVコラボサービスに起用して頂いた私の作品です。
構造としては1つのプロジェクトファイルに「重力ルーペ」「探求リバーブ」の2タイトルが収録されています。
重力ルーペ/探求リバーブ
http://gravitational-loupe-game.tkool.andapp.jp/
ポイント:
・2タイトルのマップ同士で行き来させない限り、それぞれのタイトル(「重力ルーペ」「探求リバーブ」)は独立します
・データベース、プラグインは共通なので、システムの管理がしやすくなります
・2タイトルで共通して扱う素材(エネミー、マップなど)が多い場合は、容量の節約になります
・プレイヤーが初めからに複数のタイトルを楽しむことができます
注意点:
・セーブスロットは2タイトルで共通で管理することになります(デフォルトの場合、2作品でセーブ数が20)
■準備
2タイトルをそれぞれフォルダ管理のように1つのマップ配下にまとめます。
例.重力ルーペをまとめたマップ
この場合「重力ルーペ」というマップに「OP」「星見の丘」「市街地イベント用MAP」「ナカミセストリート北」……といった「重力ルーペ」で使われるマップ群を配置します。
「重力ルーペ」
LOP
L星見の丘
L市街地イベント用MAP
Lナカミセストリート北
例.探求リバーブをまとめたマップ
■実装
ニューゲーム時に選択肢で「重力ルーペ」か「探求リバーブ」かを決め、選んだ作品のマップへ移動するイベントを作成します
【イベント例】
◆画面のフェードイン
◆文章:なし, 暗くする, 中
: :本作品を選んで頂き
: :ありがとうございます
◆ラベル:1 ★「キャンセル時に戻るポイント」です
◆文章:なし, 暗くする, 中
: :「重力ルーペ」、「探求リバーブ」どちらの作品をプレイしますか?
◆文章:なし, 暗くする, 中
: :\c[1]それぞれ関連しており〜
◆選択肢の表示:重力ルーペ, 探求リバーブ, 星空スコア (ウィンドウ, 中, -, -)
:重力ルーペのとき
◆文章:なし, 暗くする, 中
: :重力ルーペは流星群の夜から始まる
: :謎を追いかける物語です
◆文章:なし, 暗くする, 中
: :プレイ時間は6〜8時間です
◆文章:なし, 暗くする, 中
: :重力ルーペを選びますか?
◆選択肢の表示:いいよ!, 考え直したい (ウィンドウ, 中, #1, #2)
:いいよ!のとき
◆文章:なし, 暗くする, 中
: :ありがとうございます
: :それでは重力ルーペの世界を
: :ごゆっくりお楽しみください
◆場所移動:OP (7,15) (向き: 下)★重力ルーペのマップに移動します
◆
:考え直したいのとき
◆ラベルジャンプ:1 ★「キャンセル時に戻るポイント」に進みます
◆
:分岐終了
◆
:探求リバーブのとき
◆文章:なし, 暗くする, 中
: :探求リバーブは地底に広がる謎の洞窟を
: :冒険する物語です
◆文章:なし, 暗くする, 中
: :プレイ時間は3〜4時間です
◆文章:なし, 暗くする, 中
: :探求リバーブを選びますか?
◆選択肢の表示:いいよ!, 考え直したい (ウィンドウ, 中, #1, #2)
:いいよ!のとき
◆文章:なし, 暗くする, 中
: :ありがとうございます
: :それでは探求リバーブの世界を
: :ごゆっくりお楽しみください
◆画面のフェードアウト
◆場所移動:OP (10,26)★探求リバーブのマップに移動します
◆
:考え直したいのとき
◆ラベルジャンプ:1 ★「キャンセル時に戻るポイント」に進みます
◆
:分岐終了
◆
:分岐終了
「重力ルーペ」の場合
→そのままOPが始まります。
「探求リバーブ」の場合
→パーティーメンバーを「重力ルーペ」から「探求リバーブ」のメンバーに入れ替える設定をします。
以上、ご参考になれば幸いです。
なお現在は3タイトル目の制作中です。
現在公開中の「地図の時間」とあわせて、応援よろしくお願いします。
2017年01月22日
名前入力時に「決定」位置から入力を開始する
◆ 名前入力時に「決定」位置から入力を開始する
■問題点
デフォルトの名前入力イベントでは「あ」から入力を開始するため、誤入力により「テレーゼあ」となることがあります。
また「あ」位置から「決定」までカーソルを移動するのも面倒です。
□ 解決手順
rpg_window.js 内の Window_NameInput.prototype.initialize の this._index = 0 を89にすることで、「決定」位置にカーソルが当たった状態で入力を開始できます。
1.編集するファイルは\プロジェクト名\js\rpg_windows.jsです
2.メモ帳などでrpg_windows.jsを開きます
3.Ctrl+Fキーで検索ウィンドウを表示させ「NameInput.prototype.initialize」で検索して移動します
次に「this._index = 0 」の0の値を89に変更します
□応用
「この名前で良いですか?」と選択した名前を確認するイベントを用意すると親切ですね。
イベントには「ラベル」「ラベルジャンプ」「制御文字\N[アクターID]」を使用します。
例.アクターID2番「テレーゼ」に入力した名前を確認するイベント
◆ラベル:やりなおし
◆名前入力の処理:テレーゼ, 8文字
◆文章:なし, ウィンドウ, 下
: :名前は\N[2]でいいですか?
◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #2, #2)
:はいのとき
◆
:いいえのとき
◆ラベルジャンプ:やりなおし
◆
:分岐終了
アクター1番に対して行う場合は次のようになります。
◆ラベル:やりなおし
◆名前入力の処理:ハロルド, 8文字
◆文章:なし, ウィンドウ, 下
: :名前は\N[1]でいいですか?
◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #2, #2)
:はいのとき
◆
:いいえのとき
◆ラベルジャンプ:やりなおし
◆
:分岐終了
■その他
情報提供者:terunon様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ
■問題点
デフォルトの名前入力イベントでは「あ」から入力を開始するため、誤入力により「テレーゼあ」となることがあります。
また「あ」位置から「決定」までカーソルを移動するのも面倒です。
□ 解決手順
rpg_window.js 内の Window_NameInput.prototype.initialize の this._index = 0 を89にすることで、「決定」位置にカーソルが当たった状態で入力を開始できます。
1.編集するファイルは\プロジェクト名\js\rpg_windows.jsです
2.メモ帳などでrpg_windows.jsを開きます
3.Ctrl+Fキーで検索ウィンドウを表示させ「NameInput.prototype.initialize」で検索して移動します
次に「this._index = 0 」の0の値を89に変更します
□応用
「この名前で良いですか?」と選択した名前を確認するイベントを用意すると親切ですね。
イベントには「ラベル」「ラベルジャンプ」「制御文字\N[アクターID]」を使用します。
例.アクターID2番「テレーゼ」に入力した名前を確認するイベント
◆ラベル:やりなおし
◆名前入力の処理:テレーゼ, 8文字
◆文章:なし, ウィンドウ, 下
: :名前は\N[2]でいいですか?
◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #2, #2)
:はいのとき
◆
:いいえのとき
◆ラベルジャンプ:やりなおし
◆
:分岐終了
アクター1番に対して行う場合は次のようになります。
◆ラベル:やりなおし
◆名前入力の処理:ハロルド, 8文字
◆文章:なし, ウィンドウ, 下
: :名前は\N[1]でいいですか?
◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #2, #2)
:はいのとき
◆
:いいえのとき
◆ラベルジャンプ:やりなおし
◆
:分岐終了
■その他
情報提供者:terunon様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ
アイテム/スキル使用後に指定したアイテムを入手
■アイテム/スキル使用後に指定したアイテムを入手
計算式に次の記述をすることで、アイテムやスキルを使用後に指定したアイテムを指定個数入手することができます。
$gameParty.gainItem($dataItems[アイテムID], 個数);
※注意
バトル中に「自動戦闘」で行動するアクターが選択することでデータ処理に不整合(スキルの仮計算を複数回行うことでアイテムIDを沢山入手してしまう)が発生するようです
使用可能時を「メニュー画面」のみにするなど工夫をして、プロジェクトデータでの検証をオススメします
□例.ポーションを使用すると空きビン(アイテムID:5)を1個入手する
□計算式:
$gameParty.gainItem($dataItems[5], 1);
□画面サンプル
ポーションを使用すると…
ポーションが失われ、代わりに空きビンを1個入手します
□その他
情報提供者:かいとりせんこう様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ
計算式に次の記述をすることで、アイテムやスキルを使用後に指定したアイテムを指定個数入手することができます。
$gameParty.gainItem($dataItems[アイテムID], 個数);
※注意
バトル中に「自動戦闘」で行動するアクターが選択することでデータ処理に不整合(スキルの仮計算を複数回行うことでアイテムIDを沢山入手してしまう)が発生するようです
使用可能時を「メニュー画面」のみにするなど工夫をして、プロジェクトデータでの検証をオススメします
□例.ポーションを使用すると空きビン(アイテムID:5)を1個入手する
□計算式:
$gameParty.gainItem($dataItems[5], 1);
□画面サンプル
ポーションを使用すると…
ポーションが失われ、代わりに空きビンを1個入手します
□その他
情報提供者:かいとりせんこう様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ
2017年01月14日
バトルイベント間の演出にウィンドウを非表示にする
■使用するスクリプト
-ステータスウィンドウ非表示
BattleManager._statusWindow.hide();
-ステータスウィンドウ表示
BattleManager._statusWindow.show();
■内容
通常ではバトルイベント間の演出にウィンドウが表示されてしまいます
バトルイベント中に、イベント「スクリプト」で次の記述をすることで、ステータスウィンドウを非表示にすることができます。
BattleManager._statusWindow.hide();
演出の終わりには、イベント「スクリプト」で次の記述をして、ステータスウィンドウを表示して下さい。
''BattleManager._statusWindow.show();''
** イベント構成例
◆文章:なし, ウィンドウ, 下
: :通常のバトルイベントでアニメーションを挟んだ場合
: :ステータスウィンドウが表示されます。
: :ださい。
◆戦闘アニメーションの表示:#1 こうもり, 息
◆ウェイト:60フレーム
◆スクリプト:BattleManager._statusWindow.hide();
◆文章:なし, ウィンドウ, 下
: :スクリプト
: :BattleManager._statusWindow.hide();
: :を実行することで、ステータスウィンドウが隠れます。
◆戦闘アニメーションの表示:#1 こうもり, 息
◆ウェイト:60フレーム
◆文章:なし, ウィンドウ, 下
: :このままだと隠れたままなので
: :スクリプト
: :BattleManager._statusWindow.show();
: :でステータスウィンドウを再表示させます。
◆スクリプト:BattleManager._statusWindow.show();
■その他
情報提供者:くらむぼん様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ
-ステータスウィンドウ非表示
BattleManager._statusWindow.hide();
-ステータスウィンドウ表示
BattleManager._statusWindow.show();
■内容
通常ではバトルイベント間の演出にウィンドウが表示されてしまいます
バトルイベント中に、イベント「スクリプト」で次の記述をすることで、ステータスウィンドウを非表示にすることができます。
BattleManager._statusWindow.hide();
演出の終わりには、イベント「スクリプト」で次の記述をして、ステータスウィンドウを表示して下さい。
''BattleManager._statusWindow.show();''
** イベント構成例
◆文章:なし, ウィンドウ, 下
: :通常のバトルイベントでアニメーションを挟んだ場合
: :ステータスウィンドウが表示されます。
: :ださい。
◆戦闘アニメーションの表示:#1 こうもり, 息
◆ウェイト:60フレーム
◆スクリプト:BattleManager._statusWindow.hide();
◆文章:なし, ウィンドウ, 下
: :スクリプト
: :BattleManager._statusWindow.hide();
: :を実行することで、ステータスウィンドウが隠れます。
◆戦闘アニメーションの表示:#1 こうもり, 息
◆ウェイト:60フレーム
◆文章:なし, ウィンドウ, 下
: :このままだと隠れたままなので
: :スクリプト
: :BattleManager._statusWindow.show();
: :でステータスウィンドウを再表示させます。
◆スクリプト:BattleManager._statusWindow.show();
■その他
情報提供者:くらむぼん様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ