2016年8月31日水曜日

エロステータスPRO

こちらの真・エロステータスをご利用下さい。


エロステータス画面を作れちゃうプラグイン
数値を画像にできちゃったり色々と自由自在
Version 1.0.2
2016/9/11 1.0.2  YEP_MainMenuManager.jsとの競合問題を解消
2016/8/31 1.0.1  色々と修正
2016/8/31 1.0.0

ライトバージョンはテキストをこんな感じで一々widthを指定しなきゃならなかったけど

プロバージョンは一つ一つ設定する事で自由度を上げ
(ライトバージョンもテキストだけ、変数だけにすれば一つ一つの設定可能だったけどね)

・変数を桁ごとに分割してピクチャ名に
・ピクチャを半透明に
・テキストはスクリプト扱える
・テキストの座標を左、中央の他に「右上」を指定できるように
が主な変更点


あと意外と難しい「テキストの右寄せ」も可能に













パラメータ

EroStaName
メニューに表示されるエロステータス画面の項目名

commonEvent
エロステータス画面に移行する前に実行されるイベント


※xの部分は1-99になります
※エロステータス画面のサイズは
  width : 816
  height : 624

ピクチャの設定

picName_x
プロジェクトのimg\picturesに保存した表示したい画像名、.pngは必要ありません

picVar_x
picName_xの後に付けたい変数、picNameが「test」、変数3が「543」の場合
「3」に設定すると「test543.png」が表示されます

picVarDigit_x
上記のpicVar_xで利用したい桁のみを指定します
picVar_xが「3」、変数3を「543」の場合
「1」→5
「2」→4
「3」→3
となります

picOrigin_x
表示するピクチャの原点を指定
center→中央
left→左上

picX_x
表示するピクチャのX座標の指定

picY_x
表示するピクチャのY座標の指定

picOacity_x
表示するピクチャの透明度を指定
0→半透明
1→そのまま

picZoom_x
表示するピクチャの倍率を指定
元の大きさ×倍率
1→そのまま

picShow_x
表示するピクチャの表示・非表示を指定
false→非表示
true→表示


テキストの設定

※表示する優先度はSubject>Var>Scriptになります

txtSubject_x
表示したい文章

txtVar_x
表示したい変数、IDが0001なら「1」と入力してください。「」は必要ありません

txtScript_x
表示したいスクリプト
$gameActors.actor(1).name()なら先頭のキャラ名表示

※txtScript_xの応用
'文字'+$gameActors.actor(1).name()+'文字'
でキャラ名の前後に文字付け加える事が可能に
変数+'文字'にしたい場合もココで$game_variables[変数id]+'文字'で可能に

txtColor_x
テキストの色、記述方式は二種類あります
直接色を指定→例:#FFFFFF
システムの色を指定→例:\C[1]

txtFontSize_x
テキストのサイズ

txtOrigin_x
テキストの原点
center→中央
left→左
right→右

txtX_x
テキストのX座標

txtY_x
テキストのY座標
center→中央
left→左
right→右

txtShow_x
表示するピクチャの表示・非表示を指定
false→非表示
true→表示



イベントでパラメータを変更したい場合

スクリプトにて$gameSystem.CBR_eroSta_change()を利用します
「,」の使い方に注意してください


パラメータが1つの場合
$gameSystem.CBR_eroSta_change([
['txt_1',['color','\C[5]']]
])

複数の場合
$gameSystem.CBR_eroSta_change([
['txt_1',['fontsize','40'],['color','#FF00FF'],['color','#FF00FF']]
])          ↑ココと      ↑ココに「,」をつけて追加

複数種類の場合
$gameSystem.CBR_eroSta_change([
['txt_1',['fontsize','40'],['color','#FF00FF']],  ←ココに「,」をつけて追加
['pic_1',['zoom','0.3'],['x','0']],    ←ココに「,」をつけて追加
['pic_2',['zoom','1']]    ←最後はつけない
])




プラグイン


※YEP_MainMenuManager.jsについてver1.0.2で対応

こんな感じにMenu x SymbolをeroStatusにしてください




※ver1.1.0で追加
エロステータス画面に移行する時コモンイベントを実行できるようになりました

※条件分岐を使った変数・スイッチの変更の為に作られたプラグインです
メニュー中にメッセージ等実行不可能なイベントを追加するのはバグの原因になるのでお控え下さい







25 件のコメント:

  1. Pro版公開おめでとうございます!
    もしよかったら、Lite版との違い(できることの違い?)を一覧にしていただけないでしょうか!
    Lite版から乗り換えを考えてるのですが、具体的にどんなメリットがあるのか知りたいのです。
    あとは作成例のスクリーンショットなどあるとイメージが浮かびやすくて助かります~。
    お手すきの際にでもご検討をお願いします!

    返信削除
  2. ご対応ありがとうございます!プラグインの概要がだいぶ飲み込めました。
    スクリプトでパラメータを変更できるのは面白い機能ですね。
    このプラグインについて質問と要望があります。

    1.picShow_xについて
    こちらにfalseまたはtrueを入れることで表示・非表示を切り替えられるようですが、ゲームプレイ中に変更することはできますでしょうか。上記のスクリプトを用いればできるようにも思われますが、もし可能なら、具体的な記述方法をご教授いただきたいです。それと、txtShow_xの説明は、正しくは「表示するテキストの表示・非表示を指定」でしょうか?

    2.テキストについて
    Lite版ではtxtSubject, txtVar, txtUnitでそれぞれ別の文字色を指定できましたが、Proではこの機能が無くなってしまったようですね。またtxtUnit自体もなくなっています。
    どちらも項目づくりで活用させていただいていたので、この変更は少し残念です。これら3つの要素を一括して取り扱えて、便利だったもので…。できることなら復活を希望したいところですが、スクリプトで表示方法を細かく変更できるようになったので、難しいでしょうかね…。今回の設計方針としては、単位等は別の「テキストX」を組み合わせて表現するということになるのでしょうか。

    またお時間があるときにでもお返事いただけると嬉しいです。
    よろしくお願いします。

    返信削除
    返信
    1. ① picShow_xについて
      これでOK!
      $gameSystem.CBR_eroSta_change([
      ['pic_1',['show','true']]
      ])
      その通りテキストの表示・非表示みたいなものですね。
      変更も可能です

      ② テキストについて
      おっしゃる通り他のtxt_xで勝手に単位作れという投げやりなものです申し訳ない
      以前もtxtSubjectだけにすればproと同じように文字のみ表示する事も可能だから「バラバラにする必要ないんじゃ?」と悩んだけどね・・・。
      3セットにするとどうしてもテキストの右揃えとかスクリプトの利用が難しく自由自在には程遠いので悩んだ結果今回のような方向性に

      今後もライトバージョンの開発続けるつもりなので
      「ライトの方が良い!あっちにこれ追加して!」
      みたいな要望は大歓迎です

      削除
    2. お返事ありがとうございます。

      スクリプトで表示・非表示をコントロールできると活用の幅が広がりますね。詳細な記述方法もご提示いただきありがとうございます!

      テキストは幅を統一してやれば文字の先頭や単位の位置が簡単にそろえられたのがありがたかったのですよね。でも実際Pro版をいじってみると、指定座標に右寄せ・左寄せ・中央表示ができるようになっていたので、こちらのほうが自由度が高く使いやすいかもしれないです。Pro版を使ってもう一度つくってみたいと思います。

      要望大歓迎とのことなので、何か欲しい機能が見つかったらまたコメントさせてもらいます(笑)すばらしいプラグインをありがとうございます!

      削除
  3. こんにちは
    早速導入して使わせてもらおうと思ったのですが
    MV公式サイトにあるYEP_MainMenuManagerというプラグインと競合しているようで
    メニューに開発度が出てきてくれません
    YEP_MainMenuManagerをOFFにすると使えるのですが
    どうすればいいでしょうか

    返信削除
    返信
    1. んーとりあえずメニューに追加する事は出来たんですが一番上、若しくは一番下になっちゃうんで
      YEP_MainMenuManagerでエロステータス設置出来る箇所指定出来た方がいいですよね
      難しいかもしれませんが改良してみますー

      削除
    2. 早速作っていただいて
      ありがとうございます!

      エロRPG制作これではかどります
      本当にありがとうございました

      削除
  4. お世話になっています!
    結局エロステータスはPro版でもう一度作りなおしてみました。最初は設定する項目が多くて大変でしたが、一度出来上がってしまうと自由度が高くて便利に使えました(笑)
    機能面でも使い勝手がいいので、今後もこちらをメインに使っていこうと思います!

    一つご相談なんですが、メニュー画面からエロステータスを開くときにコモンイベント等を読み込めるようにすることはできないでしょうか?
    というのも、アイテムや装備等で起こった変化をすぐにエロステータスに反映させたいのですが、メニューを開いている間はコモンイベントが停止状態になっているため変化が起こらないのです。一度メニューを閉じてコモンイベントを実行し、再度メニューを開けば変化を反映させることはできますが、毎回行うのは煩わしくなってしまいます。そこでエロステータス画面を開くときに指定のコモンイベントを実行できれば…と思った次第です。

    もしよろしければご一考をお願いします!

    返信削除
    返信
    1. 申し訳ない返信ではなく普通にコメントしちゃってました
      初期構想にコモン実行がありましたが、初期構想見返した自分が何のためにコモン実行するか忘れてしまってたという
      今週中には実装しますねー

      削除
    2. お返事ありがとうございます!
      アップデート楽しみにしています!

      削除
  5. 無理かもこれどうしよう

    返信削除
    返信
    1. 何か問題が起こってしまったようですね…。
      プラグインを根本的に作り直す必要がある等でしょうか。

      思い描いていた動作としては、メニュー画面を開いている間に行った処理(アイテムの使用や装備の変更など)に起因する変数の変化が、即座に(またはエロステ画面を開いた時に)エロステータスに反映される、というものです。コモンイベントの実行を組み込むことが難しいようでしたら、上記の変数操作だけでも実行できればありがたいです。
      ですが汎用性を考えるとコモンイベントを実行できるかどうかは結構大きいですよね…。続報をお待ちしています。

      削除
  6. 追加できました
    頑張れば何とかなるものですね

    返信削除
    返信
    1. COBRAさんが一晩でやってくれました…!?
      無事に実装できたようで何よりです!傍から見てるだけではわからない困難があったご様子、まずはお疲れ様でした。
      こちらでも動作確認させて頂きました。ほぼ想定通りに動作しました!大事に使わせていただきますね。今回もありがとうございます!

      以下は、修正可能であればご対応いただきたい点になります。
      色々試してみて気づいたのですが、どうやら実行するコモンイベントの処理時間が長い場合(ウェイトをかけていたりなどで)、全ての変数の処理が完了するまえにエロステが開いてしまうようです。コモンイベントのコマンドに長めのウェイトを置いてもエロステ画面がすぐに表示されたので、ほぼ間違いないかと思います。また、変数操作が上手く行かなかった場合でも、一度エロステからメニュー一覧に戻り、再度エロステを開いたときは変数操作が全て完了していました。このことも、変数操作の完了前にエロステ画面が表示されていることを示しているかと思います。
      変数操作がきっちり反映されるよう、できることなら、コモンイベントのすべての処理が完了した段階でエロステが表示されてほしいのですが、ご対応いただくことはできますでしょうか。
      ご検討のほどよろしくお願い致します!

      削除
    2. 「コモンイベントの処理時間が長い場合」についてですが
      条件分岐と変数の操作以外のイベントコマンドも実行してますか?

      削除
    3. 基本的には条件分岐と変数操作になります。
      他に行っているコマンドは以下のとおりです。
      ・本エロステプラグインのスクリプトでピクチャのファイル名を変更
      ・イベントコマンド「ピクチャの表示」
      ・イベントコマンド「アクターの画像変更」
      ・イベントコマンド「ウェイト」

      あとは、プラグインで参照しているコモンイベントの中でイベントコマンド「コモンイベント」を使用しています。このとき、前半に配置したコモンイベントは処理される確率が高いですが、後半に配置したコモンイベントは処理が完了していない傾向があります。

      削除
    4. 確認しました
      どんなにゴリ押ししても結局はメニュー画面なのでメニュー画面を開く際のピクチャの表示はお控え下さい、どれだけ対処してもバグの原因になります。

      基本的に条件分岐で変数を変更する為に作ったものなのでアクターの画像変更というよりも
      変数の値によってエロステータスに表示される画像を変更する方法をオススメします申し訳ありません

      削除
    5. お返事ありがとうございます。
      少し誤解を招いてしまったので補足なのですが、上で書いていたイベントコマンド「ピクチャ表示」や「アクターの画像変更」はエロステの表示には関係しない部分になります。変数操作用のコモンイベントa~dを、プラグインで呼び出すコモンイベントAに記述して入れ子構造にしたのですが、このa~dに元々含まれていたものです。これらのコマンドからエロステに画像を読み出すというようなことはありません。エロステ内のピクチャは全て、プラグインのパラメータ(PicName_xやPicVar_x)から指定して呼び出しています。

      COBRAさんのコメントを参考に、イベントコマンド「ピクチャ表示」「アクターの画像変更」「ウェイト」をそれぞれ削除したり残したりして動作を比較してみました。結果は以下の通りです。
      1.「ピクチャ表示」や「アクター画像変更」の有無は動作に影響なし。
      2.「ウェイト」を全て削除した場合は想定通りに動作した。

      ということで、ウェイトをかけて処理時間を長くしていたことが原因だったようです。元々「ピクチャ表示」や「アクター画像変更」は1回ずつしか実行されていないことや、エロステに直接反映される情報でないこともあって、動作には特に影響を与えませんでした。

      ただ、「ウェイト」はコモンイベントa~dを並列処理で実行するために入れていたので、できることなら残しておきたいのが本音です。繰り返しの要望になってしまい恐縮なのですが、コモンイベントの全ての処理が完了した後でエロステを表示していただくか、またはウェイトで伸びる分の処理時間(トータルで60フレーム以下)を加味していただくことはできますでしょうか。修正必須の箇所というわけではないので、可能な範囲でご対応いただければと思います。

      長文になってしまい失礼しました。ご検討のほどどうぞよろしくお願いします。

      削除
    6. 申し訳難いですがウェイトや並列処理に関しては不可能です
      メニュー画面では0秒0フレームで行われる処理、つまりスクリプトや変数の変更のみが可能でして
      更にそれらを実装してしまうとエロステータスを開くのにどうしても時間がかかってしまうので難しいです

      処理が終わったかどうか?をチェックする為に必ず1フレーム以上経過してから実行しなくてはならないのでその間に「メニュー画面に戻る」が実行されたりするとバグが発生します
      その対策として今度はメニュー開いた後しばらく「戻れないようにする」という処理が必要になり本来の性能がどうしても落ちてしまいますので

      削除
  7. 解説ありがとうございます!
    バグが起こらないようにするためにも、ウェイトをかけるような処理は適さないということですね。解説のおかげで、動作条件やイベントを組む時に留意すべき点がはっきりしました。
    これらを頭に入れて、プラグインで呼び出すコモンイベントの内容を再考したいと思います。今回も要望・質問に丁寧にご対応いただきありがとうございました!
    また何かありましたらこちらでご報告させていただきますね!

    返信削除
  8. ご無沙汰しています。
    以前のコモンイベントの問題は無事に解決しました。結局、エロステにセットするコモンイベントからは全てのウェイトを取り除きました。これで想定通りに動作するようになりました。並列処理で実行するときは、このコモンイベントを別のコモンイベント内に呼び出し、そこでウェイトをかけることにしたところ、スタックすることなく実行できました。色々と細かく教えていただいたおかげです。どうもありがとうございました。

    さて、本日は別件でご相談したいことがございます。
    このエロステに2ページ目を追加することはできないでしょうか。具体的には、エロステ画面にて決定キー等を押すことによって最初に表示されたテキストやピクチャ(1ページ目用)が消え、別のテキストやピクチャ(2ページ目用)が表示されるような動作です。表示したいテキスト情報が多すぎて分割したい場合や、ピクチャに変化を付けたい場合(例:着衣→全裸、通常立ち絵→各箇所の使用具合を詳細表示)などに役立つと思います。また、表ステータスと裏ステータスを切り替えるというような表現ができるようになるので、演出の幅が拡がります。

    もしお時間がございましたら、ぜひ一度ご検討してはいただけないでしょうか。
    どうぞ宜しくお願いします。

    返信削除
    返信
    1. エロステータスの2ページ目3ページ目は追加するとなると
      現在100以上あるパラメータを200、300と追加しなければならなくなるので
      eroStatus_2.js、eroStatus_3.jsとどんどんユーザー側でページを追加していく仕様を考えてますがこれがなかなか難しく行き詰ってる状態ですごめんなさい

      年末の前後頃には完成すると思うので長い目でお願いします

      削除
    2. お返事ありがとうございます。早速ご対応いただき感謝です。

      各ページを独立した別々のプラグインとして実装するということだと理解しました。一つのプラグインの設定欄内で数百の項目を扱うのは大変なので、そのような実装方法はありがたいです。
      完成予定時期、了解しました。思いの外に大仕事となってしまったようで、どうもすみません。急ぎで要るというわけではありませんので、そちらはご心配に及びません。どうぞ宜しくお願いします。

      削除