Top/Tips/ユーザーの名前を覚える
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | 履歴 ]

*ユーザーの名前を覚える [#h8d2b2bd]

Inputboxを呼び出して入力させる方法が一般的です。~

下の二つの関数を作り、ChoiceUsernameEntryを選択肢から呼び出してください。~
#code(aya,nonumber,nooutline,nolink){{
 ChoiceUsernameEntry
 {
 "\0お名前、教えてください。\![open,inputbox,OnInputUsername,-1]\e"
 }
}}
#code(aya,nonumber,nooutline,nolink){{

 OnInputUsername
 {
 username = reference[0]
 "\0じゃあこれから、\w5%usernameって呼ぶね。\e"
 username = EscapeAllTags(reference[0]) //さくらスクリプトが混入していた時の対処策
 	if username == ""
	{
	//空打ちされた時の対処策
	//ここでは「名無し」という仮名を代入しています
	username = '名無し'
	"\0教えてくれないの?\n\w9じゃあ勝手に%usernameって呼んじゃうね。\e"
	}
	else
	{
	 "\0じゃあこれから、\w5%usernameって呼ぶね。\e"
	}
 }
}}
&color(Red){※ここでは、OnChoiceSelectの選択肢をいきなり独立した関数で書いています。[[Tips/選択肢をいきなり独立した関数で書く]]を参照してください。};
~
※ここで使用しているEscapeAllTags関数は、はろーYAYAわーるどかSimpleYAYAテンプレートのyaya_shiori3.dic内にあります。この関数が存在してない場合は「username = reference[0]」に書き変えてください。

**応用編 [#ne21cb8e]

敬称を変える場合の例。~
#code(aya,nonumber,nooutline,nolink){{
 ChoiceUsernameEntry
 {
 "\0お名前、教えてください。\![open,inputbox,OnInputUsername,-1]\e"
 }
}}
#code(aya,nonumber,nooutline,nolink){{
 OnInputUsername
 {
 inputted_name = reference[0]
 "/
 \0呼び方は、どうするの?\n\n[half]/
 \![*]\q[ちゃん,Oninputted_name1]\n/
 \![*]\q[さん,Oninputted_name2]\e"
 }
 
 //ちゃん
 Oninputted_name1
 {
 "/
 \0「%inputted_nameちゃん」でいい?\n\n[half]/
 \![*]\q[いいよ,Oninputted_name1_determination]\n/
 \![*]\q[まちがい,ChoiceUsernameEntry]\e"
 }
 
 Oninputted_name1_determination
 {
 username = "%inputted_nameちゃん"
 "\0じゃあこれから、\w5%usernameってよぶね。\e"
 }
 
 //さん
 Oninputted_name2
 {
 "/
 \0「%inputted_nameさん」でいい?\n\n[half]/
 \![*]\q[いいよ,Oninputted_name2_determination]\n/
 \![*]\q[まちがい,ChoiceUsernameEntry]\e"
 }
 
 Oninputted_name2_determination
 {
 username = "%inputted_nameさん"
 "\0じゃあこれから、\w5%usernameって呼ぶね。\e"
 }
}}