里々から華和梨に移行する。†
改行について†この点里々って楽ですよね。 里々†* :かゆ うま。 と書くと かゆ うま。 と出力されます。内部的には改行部分に\n[half](普通の半分の高さで改行)が入るらしいのですが。 でもながーいトーク、例えば 「じゅげむじゅげむごこうのすりきれ(あまりにも長いので中略)(←実際にはフルネームを全て表示) さんって凄いよね。」「…は?」「だから、じゅげむじゅげむ」「…もういい」 と喋らせたい(でもバルーン内で勝手に改行されますからね)時に * :じゅげむじゅげむごこうのすりきれ(あまりにも長いので中略) さんって凄いよね。 :…は? :だから、じゅげむじゅげむ :…もういい と書くと見づらいです。でも見やすくするために改行してしまうと実際に表示されるトークも改行されます。 * :じゅげむじゅげむφ ごこうのすりきれφ (以下略) とφ(ふぁい、エスケープ記号)を改行の直前に置くと改行されなくなるらしいですが、面倒ですよね。 華和梨†sentence :\0かゆ\n[half]うま。\e これで里々で書いたのと同じ表示になります。一行で収まってしまうので楽ですね。実際はノーウェイトで改行されるので適当にウェイトをはさむ必要があります。 注意すること sentence :( \0かゆ うま。\e ) と書くと表示は かゆうま。 になります。逆に言うと\nをはさまないとどんなに改行しても表示は一行なので sentence :( \0じゅげむじゅげむごこうのすりきれ かいじゃりすいぎょのすいぎょうまつうんらいまつふうらいまつ くうねるところにすむところやぶらこうじのやぶこうじ ぱいぽぱいぽぱいぽのしゅーりんがん しゅーりんがんのぐーりんだいぐーりんだいのぽんぽこぴーのぽんぽこなーの ちょうきゅうめいのちょうすけ\n さんって凄いよね。 (以下略) と書いたら じゅげむじゅげむ~ちょうすけ までは全く改行されません。(でもこんなに長いとバルーン内で改行されますよ) トークの記述を書き換える†「話は聞かせてもらったぞ!このままでは人類は滅亡する!」「な、なんだってー!?」 里々†* :話は聞かせてもらったぞ!(7)このままでは人類は滅亡する! :(11)な、なんだってー!? 華和梨†sentence :( \0\s[0]話は聞かせてもらったぞ!\w7\s[7]このままでは人類は滅亡する!\w7 \1\s[11]な、\w5なんだってー!?\w9\e )
いくつかの単語からランダムに選ぶ†里々†* :今日は(おやつ)の気分ですね。 :(11)(H1)…だと…? @おやつ ドウメキのケーキ 三倍アイスクリーム カカオ99% とすると「おやつ」に「@おやつ」以下の単語一つから選ばれて入れられます。所謂語群ってやつですね。(H1)には直前に選ばれた単語と同じものが入ります。 単語を選ぶだけなら、ssuのchoiceを使うとこんな書き方も。 * :今日は(choice,ドウメキのケーキ,三倍アイスクリーム,カカオ99%)の気分ですね。
華和梨†@を使うっぽい書き方 sentence :\0\s[0]今日は${おやつ}の気分ですね。\w9\1\s[11]${0}…\w5だと…\w5?\w9\e おやつ :ドウメキのケーキ,三倍アイスクリーム,カカオ99% choiceっぽい書き方 sentence :\0\s[0]今日は$(? ドウメキのケーキ 三倍アイスクリーム カカオ99%)の気分ですね。\w9\1\s[11]${0}…\w5だと…\w5?\w9\e 多重人格・別モード†里々†ghost\master内にanotherとかなんとかとにかく適当な名前のフォルダを作って辞書を入れて *モード切替え :別モードにします $辞書フォルダ【タブ】another :別モードですよ にすれば読み込むフォルダが切り替わるアレです。わかりやすいですね。モードが多くなるとフォルダがいっぱいで大変です。 華和梨†
注意点†Talk~~~(各種イベントや起動終了切り替え系)は全て頭に「モード名.」がついたものが呼ばれます。忘れているとそのイベントで喋りません。(例えばネットワーク更新の台詞など) 変数への代入†例は適当なのが思いつかなかったので血と肉(わしのゴースト)からコピペ 里々†* :お前も妖怪の友達とかいるのか? :ぎょにく。 :…魚肉? :さかな たべるから ぎょにく。 :…なるほどな $ともだちとーく【タブ】1 これで「ともだちとーく」に1が入ります。 * :なあ、お前って野菜は食べないのか? :たべない。 >やさいを【タブ】(ともだちとーく)==1 *やさいを ぎょにくも やさいを たべない。 わたしたちは やさい たべなくても へいき。 :…偏った食事をしても平気なんだな 俺が言える立場じゃないが 「ともだちとーく」に何も入っていない(フラグが立ってない)と「たべない。」でトークが終わりますが1が入っている(フラグが立っている)と「ぎょにくも~」を続けて話す。 華和梨†knランダムトーク :( \0お前も妖怪の友達とかいるのか?\w9\w9\n \1ぎょにく。\9\n \0…\w5魚肉?\w9\w9\n \1さかな \w6たべるから \w6ぎょにく。\w9\n \0…\w5なるほどな\w9\e $(setstr ともだちとーく "1") ) $(setstr 変数の名前 入れるもの)で変数(この場合「ともだちとーく」)に入れるもの(この場合1)が入ります。 sentence :( \0なあ、お前って野菜は食べないのか?\w9\n \1たべない。\w9\n $(if $[${ともだちとーく}=="1"] ${やさいを})\e ) やさいを :( \1ぎょにくも \w6やさいを \w6たべない。\w9\n わたしたちは \w6やさい \w6たべなくても \w6へいき。\w9\n \0…\w5偏った食事をしても平気なんだな\w9\n 俺が言える立場じゃないが\e ) 里々的ジャンプはifで代用。 日付に合わせたトークをする†12月にはクリスマスの話をしたりとかそんなの 里々†* >(現在月)月のトーク () *12月のトーク :今月はクリスマスがありますね。 とか * >クリスマスのトーク【タブ】(現在月)==12&&(現在日)==25 () *クリスマスのトーク :今日はクリスマスですよ。 とか。 華和梨†sentence :$(entry "季節ネタトーク"date %m%d) dateは現在の日付を表すもの、%mは月、%dは日。これを書いておくと 季節ネタトーク1225 :\0\s[0]今日はクリスマスですよ。\e 横着して里々的に書きたい時は適当な場所に 現在年 :$(date %y) 現在月 :$(date %m) 現在日 :$(date %d) と書いておくと sentence :$(entry ${現在月}月のトーク) 12月のトーク :\0\s[0]今月はクリスマスがありますね。\e と書けるわけなのですよ。 アンカー†文中の単語に別なトークへのリンクが張られるアレです。 里々†dic_Anchor.txtに *単語 :たんごのせつめいですよ と書いておくとトーク中で「単語」という言葉が出たら「単語」にリンクが張られて、クリックすると 「たんごのせつめいですよ」 としゃべります。 華和梨†dic_Anchor的な便利機能はないのでアンカーさせたい単語は \_a単語\_a とアンカータグ(\_a)でくくらないといけないのです。面倒ですね。そして別なところに Anchor.単語 :\0たんごのせつめいですよ と書けば里々的に動作します。この「単語」は「識別子」というものだそうです。 でも「きぃ&ぷしゅう」さんのmaster\template\ghost-keeps.kisの中にあるメニュー(きぃさんのメニュー→「新機構のテスト」で実例が見られます)に $(anchor Ukagaka 伺か) という書式があります。これで書くと、$(anchor Ukagaka 伺か)の
条件分岐†アレですね、好感度や起動時間によってトークが変わるとか、時間帯で変わるとか、ゲーム的なものを作るとか。 里々†例1 * >デレトーク【タブ】(好感度)>100 >ふつうトーク とすると、好感度が100以上だと「*デレトーク」、それ以下だと「*ふつうトーク」に飛びます。 例2 *【タブ】(好感度)>100 :(5)にゃー。 *の隣にタブを入れて条件式を書くとその条件を満たしている時だけそのトークをします。こちらのほうがスマートかも。 華和梨†全部ifに任せてしまいます。 例1 sentence :$(if $[${好感度}>100] ${デレトーク} else ${ふつうトーク}) アレですね、ifについての説明はらくだ屋さんのほうを参照していただくとして。好感度が100以上だと「デレトーク :」のエントリ、それ以下だと「ふつうトーク :」のエントリに飛ぶわけです。 例2 sentence :$(if $[${好感度}>100] "\0\s[5]にゃー。\e") この場合else(条件に一致しないとき)を省略しているので好感度が100以下だとその他全てのランダムトーク(sentence :)に飛ぶのですよ。 条件分岐:触り反応編†触りまくっているとキレるとかそういうものです。わしのゴーストだと妙な方向に使っていますが。 里々†*0Bustなでられ $胸カウント=(胸カウント)+1 >胸なでられ(胸なでられ)回目 分岐させる部分はこんな感じ。 「胸カウント」に代入するには「=」を使う(うっかりタブを使ったりするとカウンタが腐ります。←実話)とかそういう細かい事は今はいいです。 *胸なでられ1回目 :…? *胸なでられ2回目 :(7)訴えるぞ。 *胸なでられ3回目 :(3)……(-1)この人痴漢です! :(11)痴漢 アカン。 >胸カウント初期化 *胸カウント初期化 $胸カウント=0 華和梨†「きぃ&ぷしゅう」のghost\template\ghost-keeps.kisの625行目あたりにある「反応:撫でまわし・お触り」というものを改変してやります。基本は C(0/1)Stroke.<反応段階>.<反応部位> 0/1は¥0か¥1、<反応段階>は里々の例で言うと「段階1」とかそういうの、<反応部位>はHeadとかBustとか。<反応段階>は0からカウントされる。 実際の例 C0Stroke.0.Bust :\0\s[0]…\w5?\e C0Stroke.1.Bust :\0\s[7]訴えるぞ。\e C0Stroke.2.Bust :\0\s[3]…\w5…\w5\s[-1]この人痴漢です!\1\s[11]痴漢アカン。\e ちなみにオプション設定があるらしく C(0/1)stroke.option.<反応部位> : <オプション> の<オプション>部分に反応の返し方を設定できるらしいですが詳しいことはここでは省略します。里々的に1回目の反応に戻したければloopall、最後の反応だけ返させたい時はlooplast。 例だと4回目以降はずっと「この人痴漢です!」が続く。 メニュー†無くてもいいですがあったほうが親切。 里々†*0Faceつつかれ :メニュー。 _喋る _閉じる *喋る () *閉じる :メニューを閉じます。
華和梨†C0Double.Face : ${Mainmenu}\e Select.Mainmenu :( \0メニュー。\n \q[喋る,talk]\n \n \q[閉じる,menuclose]\n\e ) talk :${sentence}\e menulose :\0\s[0]メニューを閉じます。\e これで里々版とほぼ同じ動作。\nタグを入れないと横に並べて表示されます。 「Select.」を忘れないようにしてくださいです。動きません。(実話) サーフェス値を加算する†サーフェス値を加算する†例えば夏服・冬服があったり普段着・パジャマだったりするアレ。 最近ではAYA as MAKOTOでなんとかできるらしいですね(例:fleleのひぐらしシェル・榊くんの「その日ぐらし」など)。 里々†「サーフェス加算値」というものが。 ポストと狛犬のDic08_Labo.txtからコピペ。 *マルチキャラクタ :狛犬、交代だって。 :お前もな。 $辞書フォルダ another $サーフェス加算値0 100 :\c(0)こんにちは。 $サーフェス加算値1 200 :\c(0)ふむ。 これは「さとりてちゃん」と「博士」にキャラクタが変わるものでございます。 これ以降は辞書中の(0)で\s[100](さとりてちゃんのサーフェス)が出ます。 華和梨†「サーフェス加算値」に相当するものはデフォルトで無いので関数を自分で組む必要があるわけでして。 うにゅう@もどきの華和梨質問スレで質問したら>>14、>>15で書いてくださった方が。 というわけでそれをコピペ。問題がありましたら連絡ください。 #サーフェス加算値:SpecialThx:もどき板華和梨スレの>>14-15の人 #使い方 #\s[0]を$(s 0 0)に書き換える #サーフェス加算を使いたい場所で$(サーフェス加算値 <スコープ(0/1)> <加算する数値>)を書く #→\s[0]が\s[0+加算された数値]になって表示される # #数値は必要ならセーブする。 =kis # 第一引数:scope 第二引数:サーフィス加算値 戻り値:無し function サーフェス加算値 $( setstr System.Surface.AddNum.$@arg[1] $@arg[2]; ); # 第一引数:scope 第二引数:サーフィス番号 戻り値:\s[?] function s $( setstr @n ${System.Surface.AddNum.$@arg[1]}; if ${@n} $( return \s[$[ $@arg[2] + ${@n} ]]; ) else $( return \s[$@arg[2]]; ); ); =end これで上のさとりてちゃんと博士の一文を書き直してみると Select.マルチキャラクタ :( \0$(s 0 0)狛犬、交代だって。\w9\n\n[harf] \1$(s 1 10)お前もな。\w9\n\n[harf] $(chFlagMode another) $(サーフェス加算値 0 100) \0$(s 0 0)\cこんにちは。\w9 $(サーフェス加算値 1 200) \1$(s 1 0)\cふむ。\w9\e ) となるわけです。chFlagModeというのは結構上で説明しているモード切り替え。 *余談
Twitterとの連携:華和梨版†
基本的な使い方†投稿したいタイミング(例えばゴースト終了時)で ${TwitterPost} #(↓で\![execute","~]で書いているところのエントリ名。自分でわかりやすい名前で。) を入れておくだけ。ただしゴースト切り替え時の先頭に書く TalkGhostChanging : ${TwitterPost}\0\s[0]次の人よろしくね。\w9\e と、投稿して終了(台詞が出ない)してしまうっぽい(何故かはよくわかってないですが)ので、 TalkGhostChanging : \0\s[0]次の人よろしくね。${TwitterPost}\w9\e こんな感じにしたほうがよい気がします。 直接投稿する†
PHPを通して投稿する†
注意点†
( ´-`)†以下略。どんどん加筆されていく予定ですよ。
|