こんにちは。

ネガティブスキル「サボりぐせ」を保有しております、ナサです。

 

仕事の方で、新しい案件のPJに参入しました。

仕事場は変わりませんが、納期が厳しい案件です。

初めて携わる業務なので、気合が入るってもんです。

 

さて。

 

RPGツクールMVのゲーム制作サボりまくってましたね。

 

自覚はありました。

 

サボっていた間、PS3やPS4でRPGをやってました。

賛否両論あるかもしれませんが、「閃の軌跡シリーズ」の新作「閃の軌跡4」が今年リリースされますね。

先駆けとして「閃の軌跡3」2週目終盤となり、リィンの女たらしスキル全開で薄ら笑いをしておりましたが、

やや気持ちも落ち着いてきた所です。

 

・・・自覚はありました。

 

サボっていたソレをやる。とりあえず眼精疲労が出る辺りまでは。。。

 

(読者の方が増えたのが嬉しかったです。ただ、私が全然ブログをチェックしていない為か

 メッセージも消えてしまっていたという事態に。

 厚かましい話ですが、もし送ってくださった方がいらっしゃれば改めてメッセージを下さい)

 

では、そのうちまで。

またねー

どうも。ナサです。

 

前回の

RPGツクールMVで自作のメニュー項目を追加する part0

で書いた通り、本題に入ります。

 

まず、今回のメニュー項目追加で触るフォルダを確認します。

以下の画像のように当たりをつけました。

①dataフォルダには、エディターのデータベースにあるような「用語」の設定なんかも入っている。触りそう。

 

②jsフォルダには、ゲームシステム(基本的な演算機能、バトルシステムなど)が入っている。メニュー画面に自作の機能を追加する場合も、この中のファイルを編集して処理を加える。

 

いきなりですが、jsフォルダの中のソースを見ていきます。

 

メニュー画面は、当然「画面」なので、

「rpg_windows.js」にあると思った。

 

「rpg_windows.js」を開き、「menu」を検索検索。

 

あるやん。しかも見る感じメニュー画面の項目をセットしてるっぽいぞ。

 

で、赤枠の部分の1589行目の部分。

this.addOriginalCommands()っていうところ。

これはユーザー定義で自由に入れたらええやん!

っていうので作り手が残しといてくれたメソッド(※)だ。

※メソッド…プログラムの中の処理を色んな場所で使えるように機能単位で分けた処理のこと。ゲーム自体も、一つのメソッドから始まっていたりする。

一応、「addOriginalCommands」で検索検索。

上部に書かれている「Window_MenuCommand.prototype.addFormationCommand…」っていうところを参考にしてみる。(てきとーに)

 

今回は「ジョブ変更機能」というものを作ってみたかったので、適当に「jobselect」としてみた。

プログラミングが得意じゃない人も見てるかもしれないから書いておくと、既存のソースに変更を加えた部分は、後から検索したりしてすぐにわかるように「コメントを残す」ということをします。

RPGツクールMVのバージョンが上がると差分をマージするということも必要になります。後々活躍することになると思って、コメント(// st [add:2017.10.22] Job select menu)のように何か残しておくことをおすすめします。

 

次。コピペで適当に名前を変えただけだ。

 

意味わからん。

 

1620行目に追加したコード

「this.needsCommand」とか何なん。

 

というわけで、↑を検索検索。

 

ほう。

var flags = $dataSystem.menuCommands;

if(flags){

 switch(name{

 ...

 }

}

どうやら、条件分岐(if や switchを使ってる)していて、

アイテムやスキルといったメニュー項目に対して、何かの判定をしているっぽい。

よくわからん。知るか。

まぁいいや、コピペで連番で何かしているのでマネして追加。

 

(flagsは配列のようだ。で、0~5の6つの値が入っているものらしい。今回は7つ目の値を追加することになる)

 

・・・後でわかったけど、↑の画像の設定は選択可否設定を行ってるらしい。メニュー画面を開いたとき、セーブ禁止だったら洗濯できないとかあるじゃん?それだよ。

 

次。

さっき書いたコードあるじゃん?これ。

コピペしたけど、まだ書いていないメソッドがあるんだよね。

なので、isJobselectEnabledメソッドを適切な場所っぽいところに書いて定義しておきたい。

 

isFormationEnabledメソッドのマネしとけ!(ご贔屓にさせていただきます)

というわけで、検索検索。

見つかったので、適当にコピーして、

isJobselectEnabledメソッドというのを追加した。

 

return に書いてあるのは、選択できるかできないかの制御なので、下に書いてあったisOptionsEnabledメソッドのようにtrue(選択可)を返すようにした。

 

ちなみに、isFormationEnabledメソッドのreturnに書いてある内容は、多分

「パーティメンバーが2名以上、なおかつゲーム側の定義で並び替えを有効にする」

という条件で、並び替えというメニュー項目の選択可否を制御しているっぽい。

確かに、パーティが一人だけだったら並び替えなんてできないもんね。ぼっち泣ける。

 

今回は細かい制御は必要ないので、無条件に選択可とします。

 

次。

検索しても他に必要そうなところはなさげ。

他のソースを見てみよう。

 

で、行き着いたのが「rpg_manager.js」

addFormationCommandsに書いてあるコードには

this.addCommand(TextManager.formation)というのがあるよね。

 

この、「TextManager.formation」というのは、

多分「TextManager」の中に定義している「formation」という項目を使った値を使おうとしている。

 

「TextManager」か・・・たぶん、「rpg_manager.js」っていう感じ。

 

てなわけで、「rpg_manager.js」を開いた。

どうやら、DataManagerというクラスにはゲーム全体のあらゆるオブジェクトが入っているっぽい。

 

お、$dataSystemっていうのはさっき見たぞ。

ついでに検索しておこう。

意味ははっきりわからんけど、

$dataSystemでは、System.jsonっていうJSONファイルと関連があるらしい。覚えとこ。

 

で、話を戻し、これからやりたい事。

さっきの「rpg_windows.js」で定義した処理あるやん、これ。

この、赤枠の部分を作らんとあかん。

さっき書いてたやつ。

 

てなわけで、

TextManagerを検索検索。

お、ご贔屓にさせてもらっているformationさんもいはりますやん。(笑)

 

どうやら

TextManager.getter('command', N),

ってなっているところは、0から順に連番になっている。

マネして適当に追加しましょう。(長さとか知るかっ!!)

 

こんな感じ。

 

そういえば、ここまででメニュー項目名とか何も触ってないな。

 

・・・

 

さっきのSystem.jsonの中にあったりして。

 

で、開いてみた。

え?一行だけ?!

(WEB系はそんなに知識は無いですが、多分…

 テキストエディタのフォーマットをしてやれば…)

※ここではやり方を省きますが、

 今回のように一行になっている場合は、データ量の圧縮が目的となっているという認識です。要は、プログラムが読めれば良いという考え方です。

こんな感じになりました。

JSONファイルはこういった雰囲気の構造ですよっと。

JSONファイルでは、項目名に対しての値を構造的にデータを入れます。

 

例えば、赤枠のところだと

 armorTypes(防具の種類)

  ””(何もなし)

  ”一般防具”

  ”魔法防具”

  …

  ”大型盾”

のような構造で書かれている。これを1階層だとして、

2階層、3階層…と階層を深くして様々なパターンの

データを定義できる。

JSONについてGoogle先生に聞いてみよう。

↑とりあえずJSONって入力するのを省いてあげるので検索してくれ(雑)

 

混乱したら…さーせん。。。

WEB系はよく使うファイルなのですぐ覚えられると思う。

 

で、これから「System.json」に追加しないといけないはずの項目を洗うと。

 

①menuCommandsっていうところの定義(どーせjsonの中だろうし)

②commandってやつ

どうせJSONの中にあるんだろ?

と、頭の中で直感さんがそう言っている。

 

あったので追加しておいた。

trueが並んでいて訳がわからない気もするが、

これを使っていたところを振り返ると

$dataSystem.menuCommandsをflagという変数に入れて使っていた。

で、returnでflags[N]で使っていた。配列のデータだ。

修正前は6(flags[0]~[5]で使っていて)、追加して7つ目のtrue。(これでflags[6]が使えるようになるはず)

ちなみに、もちろんだけど

今回自分で作ったコードで使用されるのは一番後ろ、7つ目のtrue。

 

 

次。commandの内容。

 

あったので、追加しておいた。

気になる人は項目数を数えよう。

「rpg_manager.js」で追加したコードを見ると、何番目の項目を読むかを設定してるっぽかった。

実際に他の項目と見比べると全てリンクしているはず。

(JSONでnullとなっているところは、空き番ということでしょう。たぶんね)

 

よし。他はたぶん大丈夫っしょ。

(何が大丈夫かは私にもわからない。鼻毛抜くときスポっといくときとブチィッ!っていくときとあるよね。後者のほうがほとんどで涙がでるけど、癖になるマゾヒズム。)

 

じゃあ、ゲーム起動してみる。

 

 

よし。メニューにオリジナルのメニュー項目が出てきましたよ、と。

 

現状では何も動作しないメニュー項目があるだけなので、

これからは、実際に何か出るようにしたいなと思います。

 

~ふと、書き方について考える~

 

RPGツクールはプログラミングのスキルが無くても、RPGゲームが簡単に作れるツールとなっていますが、一応知識がない人にも向けて書く。

 

という気の利く人になりたいけど、如何せん面倒くさいので、今回のように、私の思考、手順を垂れ流しにして書いていく。

(あまり考えずにホイホイ書いていきます。知識の浅さが悪目立ちするかもしれませんが…まぁ、いいや!w)

 

簡潔にやり方だけ書けばいいやん!っていう人も大勢いらっしゃることと思いますが、中には手順もわからない(私のような)頭の悪い人もいらっしゃるでしょう。(…同士よ!)

 

失敗談であり、いずれの成功談につながることを祈って。

 

ここまで読んでくださった方ならお優しい方と思います。

もし何かあれば、コメントを頂ければ幸いです。

 

同様に、RPGツクールMVで悩みがあればコメントをください。

何かしらの力になれたらなと思います。(私も入門者なので決して詳しくないですが)

 

 

じゃあ、またね。

どうもお久しぶりです。ナサです。

 

就職していろいろありましたが、最近趣味として

RPGツクールMVを買ってみました。

 

で、何かゲームを作ろうと思ったのですが、

既存の機能だけでRPGを作る・・・というのが、

私としては作ってて楽しくない気がしていて。(特にゲームシステム的に)

 

よくある機能でもいいから自作してみようと思い、

簡単そうなメニュー項目を既存のメニュー画面を改造して作ってみよう!

というのが、これから書いていこうというのが今回のブログの内容です。

 

注意点として、試行錯誤の記録として残していきます。

 

 

 

 

 

 

 

 

はたまたお久しぶりです。
ナサです。


今回の日記では、
最近、持病について、改めて自覚をし始めたことがあったので書こうと思います。

本題の前に、もしかしてのもしかしてで
検索して出てきたページが偶然にもこの私のこのブログという方がいらっしゃれば
知恵袋などでお答えになられている方のほうが信憑性があるかもしれませんね。
そして、わかりやすく書こうなんてあまり思っていませんが、もし要望があるようなら
変更を加える…かもしれません。(^_^;)


さて、本題に移ります。

私はここ数年で「潰瘍性大腸炎」という持病を持つようになったのですが、
それをコントロールするために処方された薬や、
定期健診を数ヶ月に一度のペースで受けに行ったりとかを
3年近くやっています。

潰瘍性大腸炎は、何らかの大きなストレスが原因と言われる(正確にはわからない)病気で
名前の通り、大腸に潰瘍ができ、人により症状は異なります。

私は大腸全体の内、残り20cm程度しか正常に働いておらず、残りは潰瘍ができている状態でした。

潰瘍性大腸炎の症状についてですが、よく言われる症状が私にはありました。
頻繁に浣腸をした時のような便意に突然襲われるのです。
そしてその度に便を出すと、形のない便と血、あるいは血のみが出て、便器の中身が真っ赤で
尻を拭くと血しかついていない。

という状況が症状のコントロール開始後、半年近く続きました。
市民病院へ至急行ってくれと言われるまでの間を含めると、実質半年以上ですが。

この症状は、腸が働こうとする時によく起こります。
1時間に1回以上が、特に朝夕になりました。



さて、便の状態や出血は無くなって、血液検査からの炎症反応などから

「正常値で至って健康。けど、薬は飲んでね。」

と言われる状態になりました。
そこで安心してしまった所があり、
最近は、薬を飲むことをサボることが多くて、それでも影響が無いように感じていました。

ですが、ずっと医師から聞かされていた通り、
「潰瘍性大腸炎」は治らない病気。
病気なのに、"治療"という表現を一切使わなかったのはその為です。

潰瘍性大腸炎は、治るのではなく、治まるものなのです。

食事は症状をコントロールするために
消化に負荷のかかる脂質は一日30g以下を心がけていました。
さらに、刺激物(香辛料)は控えめにする必要がありました。
それら以外の摂取は明らかに大腸に負荷がかかり、症状がひどくなるからです。

さて、塩分・糖分ではなく脂質が重要なのはその為です。
蛇足ですが、脂質30gってどんなものかざっくり言いますと

<お菓子>
ポテチ → ふざけんな ころす気か!!
芋けんぴ→油っこいアウト!!!
カステラ→油あんまし使わないのでほぼ無し、最高!

<飲み物>
牛乳 → 低脂肪乳のみ可。たくさん飲むと、異変を感じます。牛乳パックの脂質もよく見よう。

って具合です。

さらに蛇足です。
似た類の病気で、病気の重さとしては更に上の「クローン病」では
さらに食事制限が課せられたり、悪化すると入院は簡単になるようなものもあるようで、私の知り合いの方に何人かいらっしゃいます。


話を戻すと、私はそれを平気で破っていました。
サボっていたこともあり、調子が悪くなると気にしてしまうこともあるせいか
そういう時には、「やっぱりサボっちゃダメだ」と思うのです。

という感じのことを再認識し始めました。


他にも書きたかったことがあるような気がしましたが
何分勢いで、思うがまま書いてしまったので、この辺りで頭が回らなくなりました\(^o^)/


今回はここで終わりにします。
興味がある方は是非コメントをいただければと思います。


最後に、普段の私を知る人へ。
このブログを読んだから、気を遣えというメッセージは一切ありません。
世の中には、こういう人もいるんだという認識を持って欲しいだけですので
今まで通りに、お願いします(笑)
症状は悪化しておりませんので、ご安心ください。



ではでは。



どもども。記事を書くのは既に寝る前です。こんばんは。
前回から文字の調整を行いました。デフォルトではどうも文字が大きすぎる気がしたので。


いよいよ第一志望の企業の面接…ではなく、企業セミナーです。
クリエイティブな企業でもあるので、私服でもOK!なので、私服で行こうと思います。

昨日、地元もしくは京都で買い揃えようと思っていましたが
残念ながら僕自身の服への興味もとい「こういうの着たい!」という構想が薄すぎたせいか、実質1時間も服を見ていれませんでした。

ネットで頼むのが僕の性にあっているのかもしれません。故に準備はもっと前からしとけよ!ってことなのかもしれません。

ところで話はそれますが、最近慣れないことが身の回りで起きてしまい
気持ちの整理だとか、いわゆる気にしすぎな状態に陥ってしまいました。

そういう気持ちの整理の面では、ちゃんと納得できたわけではありませんが
話せる人に話すことで、なんか収まったような気がします。

人ってそういうことがあるから不思議ですよね。
やっぱりずっと考えこんで、ただただ文字にぶつけるだけじゃダメだって思いました。

現状、僕自身もわかっているつもりでしたが、Twitterなんかでは特に、そういう不安定な面で迷惑をかけてしまいました。
不快な思いをさせてしまった人がいるでしょうし、申し訳なく思っています。


と、そんなことがあったので、最近ブルーすぎて家族にも心配されてました。
21歳にもなって家族にまだ心配かけるか、というなかなか情けない真似を未だにしています。
そんな時でも話を聞いて意見を言ってくれる家族には感謝しています。
もちろん、他にも話を聞いてくれた友人もいます。感謝しています。

ありがとう。

さて、明日企業セミナーがあるのに、こんなこと書くつもりも全くなかったのですが
持ち物忘れないように、気合入れて行きます!!

次あたりは最近流行っている艦これの話題でもしましょうかね。
あ、めちゃくちゃガチってわけでもないですし
Wikiもしっかり目を通しているわけでもないので
そういった話題にはあまり口出さないつもりです。


それでは。また近々(といって2年放置したナサであります)