記事一覧

華和梨のエントリ名

『もしかしたら華和梨はエントリ名中に「/」や「-」が使用できないのか?とか思ってみる・・・。』

「/」は使用できません。「-」は特殊な意味があってそのままのエントリとして読みません。

※エントリに使えない記号
 半角の「: ; , " ( ! & | ) + ' / { } $ < > \ % = # [ ] 」
※その他エントリ命名の注意点
 ・半角「.」はエントリ名の開始と最後には使えません。
 (「えんとり.1」はOKだが「えんとり1.」「.えんとり1」はエラー)
 ・「-」はエントリ階層化記号(予定?)のためそのまま読まない。エントリ先頭と末尾にあるとエラー。
 (「えんとり-1」を指定すると「えんとり」を読もうとする。-以降を無視)
 ・半角スペースとタブ記号はエントリ先頭と末尾では無視され、中間にあると「-」と同じ反応になる。
 ・「@」は一時エントリ用記号のため使用は可能だが非推奨です。

禁則文字の入ったゴースト名(\0名)を具体的にどうするかというと、
encode_entrynameを使ってアンダーバーに変換するか、
if文を使って分岐させます。

1.encode_entrynameの場合。
event.OnGhostChanged : $(
set ChangeName $(encode_entryname $(Reference 0)))$(
entry TalkGhostChanged.${ChangeName}
)

こんな風にして、TalkGhostChanged.「ゴースト名(\0名)」で記述。
禁則文字の入った名前(例:ゴースト+1/2)は
TalkGhostChanged.ゴースト_1_2 : ~と記述します。

2.ifで分岐。上と同じ例で。
event.OnGhostChanged : $(if
$[ $(Reference 0) == "ゴースト+1/2" ] ${TalkGhostChanged.ゴーストプラス二分の一}
else $(entry TalkGhostChanged.$(Reference 0))
)
これでゴースト+1/2は「TalkGhostChanged.ゴーストプラス二分の一」エントリを使って記述して
他のゴーストは普通にTalkGhostChanged.「ゴースト名(\0名)」で記述できます。

1.の方が汎用性に優れてます。2だと禁則文字のあるゴースト名ごとに
else ifで重ねるので面倒。
この辺結構厄介なんだけど、注意点とか対処とか纏めて記載している所ってそう言えば無いですね。

上の続き。
ふと気になってFUDSを調べたらこの問題は処理済みだった。
OpenKEEPSも処理してあったけど、どうも使用不可文字を置換せず削除するため
「-」の様な名前だとシンプルには対応できない模様。
で、簡単に改造してみたのがこちら。
http://refrain.sakura.ne.jp/_Anuttara/dict-keeps-baseevent.kis
エントリ使用不可文字をアンダーバーに変換、半角スペースと半角ピリオドを除去します。
\0名を「ゴースト/エックス..」→「ゴースト_エックス」の様に変換。
ファイルの差し替えで使用可能です。

そしてこれができてから気が付いたけど今後「+」とか「$」なんてsakura.nameのゴーストがでてきたら
Reference1参照して振り分けるしかないんですよね。
微妙にしか便利になってないかも。

トラックバック一覧