したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

ゴーストをつくろうとしてる人たちが話すスレ

1094任意たん@age推奨:2022/12/07(水) 09:03:51
里々を使っているとして回答します。
「*OnUserInput」があり、入力すると「*〜〜を教えてもらった」にジャンプすること前提です。

注意事項として、半角のカンマとアンダーバーが単語に入れられません。

「*テストメニュー」は任意の名前にしてください。
「*テストメニュー」へジャンプする処理が2箇所になるので変更を忘れないようお願いします。

「教えてもらった単語」にユーザが入力した単語を追加していく処理としています。
現在のユーザからもらった単語を格納している単語群の名前に置き換えてください。
単語群の名前のほか、3箇所にあります。

#----satori_conf.txt
#「*初期化」の一番最後の行に追加
*初期化
#既存の処理
$お気に入り単語=なし
#----satori_conf.txt

#----任意の辞書ファイル
*テストメニュー

_単語を教える
_単語のリスト

*単語を教える
:※半角のカンマと半角のアンダーバーは使えません。
\![open,inputbox,追加単語]

#半角のカンマが入ると処理がエラーになるので半角カンマを削除する
*追加単語を教えてもらった
(単語の追加、教えてもらった単語、(erase(バイト値,1)(追加単語)(バイト値,1),))
>テストメニュー

*単語のリスト
$単語群「教えてもらった単語」の重複回避=降順、トーク中
(loop,単語リスト化処理,(単語群「教えてもらった単語」の数))
$一時・単語=
_メニューに戻る テストメニュー

*単語リスト化処理
$一時・単語=(教えてもらった単語)
:(when,(count,(お気に入り単語),_(一時・単語)),★,☆)\q[(一時・単語),Onユーザが単語をお気に入りした,(一時・単語)]

*Onユーザが単語をお気に入りした
(when,(count,(お気に入り単語),_(R0))
,(set,お気に入り単語,(erase,(お気に入り単語),_(R0)))
,(set,お気に入り単語,(お気に入り単語)_(R0))

>単語のリスト
#----任意の辞書ファイル

選択肢と(R0)に関しては以下のukadocを参照してください。
http://ssp.shillest.net/ukadoc/manual/list_sakura_script.html#_q_%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB,OnID,r0,r1,..._

(単語群「〜〜」の存在)では、単語群の中身まで確認できないため、
お気に入りにした単語を1つの変数「お気に入り単語」の中に持っています。
(お気に入り単語)の中身は、たとえば「いちごまぐろ」などの羅列となります。
その後、(count、(お気に入り単語)、いちご)として、存在すれば★を表示します。
(count関数のカッコ展開の結果が1以上になる場合存在)

ただし、区切り文字がないと誤ヒットする可能性があります。
たとえば(count、(お気に入り単語)、ごま)とすると、
「いちごまぐろ」に「ごま」が含まれるため誤ヒットしてしまいます。
そこで、「_いちご_まぐろ」とアンダーバーを区切りとします。
存在するか判定する際も、「_ごま」とアンダーバー込みで検索すると誤ヒットしません。

アンダーバーを頭につけて検索するため、$お気に入り単語の初期値の「なし」は絶対にヒットしません。
ユーザがあらためて「なし」を入力した場合のみヒットするようになります。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板