UA-154656538-2
検索
言葉を集めて世界を旅するRPG「地図の時間〜言葉集めの冒険譚〜」
timeofmapworks_logo_2020.png
ハートフルRPG「地図の時間」

地図の時間スピンオフRPG「影泥棒と魔法の手記」

リソース管理ダンジョンRPG「琥珀の道具士」

現代SFRPG「重力ルーペ/探求リバーブ」

ドラマティックRPG「バンドワゴン」

ビジュアルノベル「日向と香水」

ノベル×ADV「ストーリーテラー」 title1_2.png
カテゴリ
リンク集
【スポンサードリンク】

2017年01月08日

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

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

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

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

■謝辞
情報提供者:terunonさん、奏 ねこまさん
※お二人ともありがとうございました!
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
http://fanblogs.jp/tb/5802723
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック