2018年11月13日
スクリプトの使い方について
またしても更新できずすみません。
体調を崩してダウンしておりました。
そんなわけで、今回はスクリプトの使い方です。
私はコピペで簡単に実装できるものしか紹介しませんが、スクリプトを使いこなせる人は、ゲーム全部をこのスクリプトのみでやってしまえると言っても過言ではないと思います。
詳しくは、RPGツクールVXAce & MVスクリプトwikiとプラグインなどを参照してみて下さい。
では始めます。
・別のイベントのセルフスイッチをONにする
セルフスイッチを操作するやり方は、
1.イベントコマンド3P目の右下、スクリプトを開きます。
2.そこに、
key = [MAPID, イベントID, "セルフスイッチID"]
$gameSelfSwitches.setValue(key, true)
と入力するだけです。ちなみにOFFにする場合は最後のtrueをfalseにすればできます。
また、MAP名を変更、並び順を変えてしまったなどの理由でIDがわからないという場合には、ちょっと面倒ですが以下の手順で確認が可能です。
あ、先に注意しておきますが、絶対に開いたものを編集しようなどとは考えないで下さい。
失敗してしまうと、作った作品をツクールが読み込んでくれなくなり、一切アクセスできなくなります。
また、自信のない人は素直にスイッチや変数を使うことをお勧めします。
自信がないけどどうしてもやりたい人は、自信のある方に手伝ってもらうか、最初からMAPIDをMAP名の中に入れて作成して下さい。
1.プロジェクトのフォルダを開く
2.Date>MapInfos.jsonを右クリック→プログラムから開く→メモ帳などのテキストエディタで開く
3.Ctrl+FでMAP名を検索する。すると、
{"id":3,"expanded":true,"name":"MAP名","order":82,"parentId":0,"scrollX":534,"scrollY":318.5}
のようにヒットするはずなので(なければおかしいので、正しいMAP名か確認して下さい)、"id":数字,"←この数字を探して下さい。この数字がMAPIDです。
また、イベントIDを確認するのは比較的簡単です。
1.該当MAPのイベントコマンドから、移動ルートの設定を開く。
2.最初「プレイヤー」となっている場所(移動するキャラの指定)をクリックする。
3.並び順は必ず「プレイヤー」「このイベント」、続けて001から順に羅列されるので、該当のイベントまでを数えることでIDを知ることができます。途中でイベント名を変えてないイベントがあったらすぐにわかりますね。
まぁ、ぶっちゃけスクリプトのような上級操作をしなくてもできるのがツクールの強みではあるんですが、
正直スクリプトを使った方が色々な意味で節約になる、と個人的には思っています。
今回作っている作品では、最終的に変数やスイッチを極力節約する必要があるため、セルフスイッチを別イベントから直接操作する、ということを頻繁にやっています。
ちょっと上級者向けかなぁと思いつつ、でもまぁこのくらいなら、スイッチや変数の操作と変わらないですし、理解できないようなら本日の項目は忘れてしまっても構わない範囲です。
使い方としては、
1.複数ある選択の中でひとつ選んだら、選ばなかった方はもう選べない、という場合。
例1.2個ある剣のうちどちらかを持って行ける(選ばなかった方はダメ)
たった2個しかない選択肢なのに、わざわざスイッチだの変数だの使いたくないですよね?
もちろん、スイッチでやれば簡単に解決する問題ではあるんですが。
2.よそで何かをしてみたら、特定のイベントが別の挙動を起こすように設定したい場合
例2.母親に声をかけたら激怒しており、原因である父親が怖がる
もちろん父親の方のセルフスイッチを操作するわけですが、こんなことのためにスイッチ1つ消費ってもったいなくないですか?
まぁ他にも使い道はあると思いますが、こんなところです。
また、条件分岐の設定の「スクリプト」に、
$gameSelfSwitches.value([MAPID, イベントID, 'スイッチID'])
と入力することで、セルフスイッチがONである時だけ実行するという設定も作れます。
さっきの例1.2の逆バージョンもできるということで、一応覚えて損はないと思います。
そんなわけで、次回は(また明日とか言って明日じゃないと困るので)またプラグインのご紹介です。
体調を崩してダウンしておりました。
そんなわけで、今回はスクリプトの使い方です。
私はコピペで簡単に実装できるものしか紹介しませんが、スクリプトを使いこなせる人は、ゲーム全部をこのスクリプトのみでやってしまえると言っても過言ではないと思います。
詳しくは、RPGツクールVXAce & MVスクリプトwikiとプラグインなどを参照してみて下さい。
では始めます。
・別のイベントのセルフスイッチをONにする
セルフスイッチを操作するやり方は、
1.イベントコマンド3P目の右下、スクリプトを開きます。
2.そこに、
key = [MAPID, イベントID, "セルフスイッチID"]
$gameSelfSwitches.setValue(key, true)
と入力するだけです。ちなみにOFFにする場合は最後のtrueをfalseにすればできます。
また、MAP名を変更、並び順を変えてしまったなどの理由でIDがわからないという場合には、ちょっと面倒ですが以下の手順で確認が可能です。
あ、先に注意しておきますが、絶対に開いたものを編集しようなどとは考えないで下さい。
失敗してしまうと、作った作品をツクールが読み込んでくれなくなり、一切アクセスできなくなります。
また、自信のない人は素直にスイッチや変数を使うことをお勧めします。
自信がないけどどうしてもやりたい人は、自信のある方に手伝ってもらうか、最初からMAPIDをMAP名の中に入れて作成して下さい。
1.プロジェクトのフォルダを開く
2.Date>MapInfos.jsonを右クリック→プログラムから開く→メモ帳などのテキストエディタで開く
3.Ctrl+FでMAP名を検索する。すると、
{"id":3,"expanded":true,"name":"MAP名","order":82,"parentId":0,"scrollX":534,"scrollY":318.5}
のようにヒットするはずなので(なければおかしいので、正しいMAP名か確認して下さい)、"id":数字,"←この数字を探して下さい。この数字がMAPIDです。
また、イベントIDを確認するのは比較的簡単です。
1.該当MAPのイベントコマンドから、移動ルートの設定を開く。
2.最初「プレイヤー」となっている場所(移動するキャラの指定)をクリックする。
3.並び順は必ず「プレイヤー」「このイベント」、続けて001から順に羅列されるので、該当のイベントまでを数えることでIDを知ることができます。途中でイベント名を変えてないイベントがあったらすぐにわかりますね。
まぁ、ぶっちゃけスクリプトのような上級操作をしなくてもできるのがツクールの強みではあるんですが、
正直スクリプトを使った方が色々な意味で節約になる、と個人的には思っています。
今回作っている作品では、最終的に変数やスイッチを極力節約する必要があるため、セルフスイッチを別イベントから直接操作する、ということを頻繁にやっています。
ちょっと上級者向けかなぁと思いつつ、でもまぁこのくらいなら、スイッチや変数の操作と変わらないですし、理解できないようなら本日の項目は忘れてしまっても構わない範囲です。
使い方としては、
1.複数ある選択の中でひとつ選んだら、選ばなかった方はもう選べない、という場合。
例1.2個ある剣のうちどちらかを持って行ける(選ばなかった方はダメ)
たった2個しかない選択肢なのに、わざわざスイッチだの変数だの使いたくないですよね?
もちろん、スイッチでやれば簡単に解決する問題ではあるんですが。
2.よそで何かをしてみたら、特定のイベントが別の挙動を起こすように設定したい場合
例2.母親に声をかけたら激怒しており、原因である父親が怖がる
もちろん父親の方のセルフスイッチを操作するわけですが、こんなことのためにスイッチ1つ消費ってもったいなくないですか?
まぁ他にも使い道はあると思いますが、こんなところです。
また、条件分岐の設定の「スクリプト」に、
$gameSelfSwitches.value([MAPID, イベントID, 'スイッチID'])
と入力することで、セルフスイッチがONである時だけ実行するという設定も作れます。
さっきの例1.2の逆バージョンもできるということで、一応覚えて損はないと思います。
そんなわけで、次回は(また明日とか言って明日じゃないと困るので)またプラグインのご紹介です。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/8293012
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック