• TOP>
  • 名前入力時に他アクターの名前使用を防ぐ

名前入力時に他アクターの名前使用を防ぐ

最終更新:2017年01月22日

名前入力時に他アクターの名前使用を防ぐ

問題点

デフォルトの名前入力イベントでは、任意の名前を設定できます。
一方で、他のアクターと名前が重複してしまう恐れがあります。

20161224_125.jpg

名前のやりなおしができない作品の場合、メニューを開くたびに辛い思いをすることになります。

解決手順

ご紹介するイベントを実装することで、データベースに登録されているアクター名を禁止することができます。
20161224_127.jpg

これはアクター1番の名前に対して、実装する場合のイベントです。

◆ラベル:やりなおし
◆名前入力の処理:ハロルド, 8文字
◆条件分岐:スクリプト:$dataActors.some(function(actor){return actor && $gameActors.actor(1)._name === actor.name  && actor.id !== 1})
 ◆SEの演奏:Buzzer1 (90, 100, 0)
 ◆文章:なし, ウィンドウ, 下
 :  :その名前は既に使われています
 ◆ラベルジャンプ:やりなおし
 ◆
:分岐終了

20161224_126.jpg

実装結果

アクター1番(ハロルド)がテレーゼの名前を使おうとすると
20161224_128.jpg
ブザー音が鳴り、やり直すようにメッセージが表示されます
20161224_129.jpg

応用

もしアクターID:n番に対して実行する場合は太字の箇所を、対象のアクターIDに置き換えてください。
$dataActors.some(function(actor){return actor && $gameActors.actor(n)._name === actor.name && actor.id !== n})

例)アクターID:2番に対して実行する場合
$dataActors.some(function(actor){return actor && $gameActors.actor(2)._name === actor.name && actor.id !== 2})

アクターIDはデータベース-アクターの画面で確認できます。
画像の場合、アクターID:1はハロルド、2はテレーゼ、3はマーシャとなります。
20161224_130.jpg

その他

関連:名前入力時に「決定」位置から入力を開始する
http://wiki.denfaminicogamer.jp/tkoolmv/%E5%90%8D%E5%89%8D%E5%85%A5%E5%8A%9B%E6%99%82%E3%81%AB%E3%80%8C%E6%B1%BA%E5%AE%9A%E3%80%8D%E4%BD%8D%E7%BD%AE%E3%81%8B%E3%82%89%E5%85%A5%E5%8A%9B%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%99%E3%82%8B

情報提供者:
 terunon様
 奏 ねこま様
執筆:kuro
本記事について何かありましたら@rpgmakerer_kuro宛にお知らせくださいませ

コメント

コメントの投稿にはTwitterのログインが必要です。利用規約はこちら
編集メンバー参加申請

こちらの申請フォームより、Wikiの管理人へ参加申請をしてください。

管理人が申請を承認すると、編集メンバーに参加できます。

編集メンバーの詳細はこちらから。

あなたのアカウント ゲスト
サイト名 RPGツクールMVまとめwiki
メッセージ ※メッセージは100文字以内で入力してください。
編集メンバー参加申請

編集に参加するにはログインが必要です。