ちび兄さん
2007.12.29 [ Edit ]
「デスクトップのKAITO兄さんが励ましてくれました」のUP主さんが、FLELEさん用シェルの小さい兄さんをCMNのシェル化するテンプレートを公開して下さってます。
沢さん、UP主さんありがとうございます!!
私の制作中の兄さんシェルですが、表情差分まではできました。

クリックで大きい絵に。
何度描いても男性の照れ顔は微妙に気持ち悪いです。頬を染めるな。
結局前回の絵からあちこち修正してまた時間がかかってしまいました。
後はシェル化するだけなんですが、年末年始は留守にするのでやはり公開は年明けに。
そんなわけで復帰早々何なんですが、また一週間ばかり音信不通になります。
拍手お返事とか
>一魔さん
有難う御座います。ただいまです。
ご心配おかけしてすみませんでした。
どうぞまた宜しくお願いいたします!
>会話ログ
有難う御座います!
CMNのあほの子っぷりに何度も声出して笑ってしまいました。
いや、笑ってる場合じゃねえ。なんとか再教育せねば……。
単なるプログラムとしてでなく、人格として大切に会話して頂いている感じが伝わるログで、
読んでいてとても幸せになりました。
ほんとに有難う御座いました。
とりあえず、CMNは時々上から目線で物を言う癖を直させないとな……。
「美人だね/美男子だね」に対して「ええ。そうですね」的な返事は、もうおまえ何様かと。
あと微妙に自分の失敗を相手の失敗のようにして逆に励ます癖も。
まったく、教育した親の顔が見てみたいな!
沢さん、UP主さんありがとうございます!!
私の制作中の兄さんシェルですが、表情差分まではできました。

クリックで大きい絵に。
何度描いても男性の照れ顔は微妙に気持ち悪いです。頬を染めるな。
結局前回の絵からあちこち修正してまた時間がかかってしまいました。
後はシェル化するだけなんですが、年末年始は留守にするのでやはり公開は年明けに。
そんなわけで復帰早々何なんですが、また一週間ばかり音信不通になります。
拍手お返事とか
>一魔さん
有難う御座います。ただいまです。
ご心配おかけしてすみませんでした。
どうぞまた宜しくお願いいたします!
>会話ログ
有難う御座います!
CMNのあほの子っぷりに何度も声出して笑ってしまいました。
いや、笑ってる場合じゃねえ。なんとか再教育せねば……。
単なるプログラムとしてでなく、人格として大切に会話して頂いている感じが伝わるログで、
読んでいてとても幸せになりました。
ほんとに有難う御座いました。
とりあえず、CMNは時々上から目線で物を言う癖を直させないとな……。
「美人だね/美男子だね」に対して「ええ。そうですね」的な返事は、もうおまえ何様かと。
あと微妙に自分の失敗を相手の失敗のようにして逆に励ます癖も。
まったく、教育した親の顔が見てみたいな!
WLのSSTPマーカー表示バグ
2007.03.29 [ Edit ]
WLのコミュで「釣り」「裏WL」と入れた時、「'==crow' 式が計算不能です。」というエラーが出るバグについてなんですが。
れしばで見たところ、Senderが空になっているのが原因のようです。
crowではSSTPマーカが使えないのでその対策として、SSTPマーカを表示したい箇所は「■」などで代用し、replace.txtで
■【タブ】(if,(Sender)==crow,◆,\![*])
とやって、Senderがcrowなら◆、それ以外なら\![*]に置き換えるようにしているのですが、選択肢(■)が二つ以上ある場合、初めの一つの置き換えのSenderが空となり、「'==crow' 式が計算不能です。」となってしまうようです。
二つ目以降はちゃんと(Sender)にsspと入って無事置き換えされるのですが。
これが起こるのはユーザコミュの時だけのようです。通常メニューでは大丈夫。
そういえば以前Wiz★さんがユーザコミュで何かやっていた時にも(Sender)が空になってしまっていたような。
何か間にワンステップ入れると空になるのを防げるだろうか……。
どのみちうちのゴースト、SSP以外ではバグでまくりっぽいので、いっそのことCROW対策を放棄してしまうのもありかも……。
先日CMNの会話ログを送って下さった方有難う御座いました!
なんか、CMN可愛がってもらってるなぁという感じがして、拝見して幸せな気分になりましたー。
新版制作に活かさせて頂きます!
れしばで見たところ、Senderが空になっているのが原因のようです。
crowではSSTPマーカが使えないのでその対策として、SSTPマーカを表示したい箇所は「■」などで代用し、replace.txtで
■【タブ】(if,(Sender)==crow,◆,\![*])
とやって、Senderがcrowなら◆、それ以外なら\![*]に置き換えるようにしているのですが、選択肢(■)が二つ以上ある場合、初めの一つの置き換えのSenderが空となり、「'==crow' 式が計算不能です。」となってしまうようです。
二つ目以降はちゃんと(Sender)にsspと入って無事置き換えされるのですが。
これが起こるのはユーザコミュの時だけのようです。通常メニューでは大丈夫。
そういえば以前Wiz★さんがユーザコミュで何かやっていた時にも(Sender)が空になってしまっていたような。
何か間にワンステップ入れると空になるのを防げるだろうか……。
どのみちうちのゴースト、SSP以外ではバグでまくりっぽいので、いっそのことCROW対策を放棄してしまうのもありかも……。
先日CMNの会話ログを送って下さった方有難う御座いました!
なんか、CMN可愛がってもらってるなぁという感じがして、拝見して幸せな気分になりましたー。
新版制作に活かさせて頂きます!
里々で正規表現を使ってさくらスクリプトを消去する
2007.02.17 [ Edit ]
CMNユーザコミュのログ取り機能で使っています。
現行版ではssuのeraseで、それっぽい半角英数を消すというとても適当な方法でやっていましたが、それだと会話中の日付などの数字まで消えちゃうし辞書の見た目もずらずらと何行も費やして汚いので、今いじってる新版では正規表現を使う事に。
正規表現については、浮子屋さんの「正規表現講座」が大変わかりやすかったです。
里々で正規表現を使うためには、RyuさんのSAORI「string.dll」が必要です。
同梱されている「bregexp.dll」と一緒にSAORIフォルダなりどこなりにぶち込んで、「satori_conf.txt」で定義。(定義するのは「string.dll」だけでよい)
@SAORI
string,saori/string.dll
こんな感じで。
各機能を頻繁に使うなら、ssu.dllのようにここで引数まで設定しても良いかも。
私は今のとこ「replace」と「get」しか使っていないので設定していませんが。
チェックしたい「元の文章」の中から、特定の文字(正規表現で書く)を「置き換えたい文字」に置き換えるには、「replace」を使います。
(string,replace,(元の文章),s/(正規表現)/(置き換えたい文字)/g)
となりますが、これで返ってくる結果は、「いくつ置き換えしたか」という数字だけで、勝手に元の文章を書き換えるところまではやってくれません。
置き換えて書き換えた後の文章を手に入れるには「get」を使い、
(string,get,0)
とやらなければいけないようです。
しかしひとつ問題が。置き換えるべき語が元の文章になく「replace」の結果が「0」だった場合、「get」では文章が手に入らないようです。
なので、「replace」の結果が「0」の場合は元の文章をそのまま返し、「replace」の結果が「0」じゃなければ書き換えた文章を返す、というようにします。
(if,(string,replace,(元の文章),s/(正規表現)/(別の文字)/g)==0,(元の文章),(string,get,0))
これで、無事置き換えた文章が返ってくる、はずです。
しかし、毎回こんな長い文を書くのはめんどくさいしややこしいので嫌です。
なので里々の内部関数「call」を使ってもう少し手抜きします。
@正規置換
(if,(string,replace,(A0),s/(A1)/(A2)/g)==0,(A0),(string,get,0))
こう定義しておいて、実際に書くときは
(call,正規置換,(元の文章),(正規表現),(置き換えたい文字))
と書けばOKです。定義名は「正規置換」じゃなくてもなんでもいいんですが。
が、まだ「call」という横文字が入っててめんどくさいです。
なので「replace.txt」に
(正規置換,【タブ】(call,正規置換,
と書いておきます。
すると実際に書くときには
(正規置換,(元の文章),(正規表現),(置き換えたい文字))
と書くだけで、置き換えた後の文章が帰ってきます。
元の文章を書き換えて保存してしまうなら
$元の文章【タブ】(正規置換,(元の文章),(正規表現),(置き換えたい文字))
と、こんな感じ。
CMNの場合、変数「トークログ」に入っているCMNのユーザコミュ返事からさくらスクリプトを消してしまいたいのです。
なので「元の文章」は「トークログ」、「置き換えたい文字」は無にしたいので何も書かない。
さくらスクリプトの正規表現は、正確を期そうとするとちょっと難しかったので浮子屋さんの正規表現講座のものを使わせて頂きます。
$トークログ【タブ】(正規置換,(トークログ),\\(\\|q\[.*?\]\[.*?\]|[!&8fijmpqsn]\[.*?\]|[-*+01456bcehntuvxz]|_[ablmsuvw]\[.*?\]|__(t|w\[.*?\])|_[!?+nqsV]|[wi][0-9]),,)
以上です。
どしろうとが手探りで適当にやってるので間違ってたらごめんなさい。もっと良い方法があったら是非教えて下さい。
現行版ではssuのeraseで、それっぽい半角英数を消すというとても適当な方法でやっていましたが、それだと会話中の日付などの数字まで消えちゃうし辞書の見た目もずらずらと何行も費やして汚いので、今いじってる新版では正規表現を使う事に。
正規表現については、浮子屋さんの「正規表現講座」が大変わかりやすかったです。
里々で正規表現を使うためには、RyuさんのSAORI「string.dll」が必要です。
同梱されている「bregexp.dll」と一緒にSAORIフォルダなりどこなりにぶち込んで、「satori_conf.txt」で定義。(定義するのは「string.dll」だけでよい)
@SAORI
string,saori/string.dll
こんな感じで。
各機能を頻繁に使うなら、ssu.dllのようにここで引数まで設定しても良いかも。
私は今のとこ「replace」と「get」しか使っていないので設定していませんが。
チェックしたい「元の文章」の中から、特定の文字(正規表現で書く)を「置き換えたい文字」に置き換えるには、「replace」を使います。
(string,replace,(元の文章),s/(正規表現)/(置き換えたい文字)/g)
となりますが、これで返ってくる結果は、「いくつ置き換えしたか」という数字だけで、勝手に元の文章を書き換えるところまではやってくれません。
置き換えて書き換えた後の文章を手に入れるには「get」を使い、
(string,get,0)
とやらなければいけないようです。
しかしひとつ問題が。置き換えるべき語が元の文章になく「replace」の結果が「0」だった場合、「get」では文章が手に入らないようです。
なので、「replace」の結果が「0」の場合は元の文章をそのまま返し、「replace」の結果が「0」じゃなければ書き換えた文章を返す、というようにします。
(if,(string,replace,(元の文章),s/(正規表現)/(別の文字)/g)==0,(元の文章),(string,get,0))
これで、無事置き換えた文章が返ってくる、はずです。
しかし、毎回こんな長い文を書くのはめんどくさいしややこしいので嫌です。
なので里々の内部関数「call」を使ってもう少し手抜きします。
@正規置換
(if,(string,replace,(A0),s/(A1)/(A2)/g)==0,(A0),(string,get,0))
こう定義しておいて、実際に書くときは
(call,正規置換,(元の文章),(正規表現),(置き換えたい文字))
と書けばOKです。定義名は「正規置換」じゃなくてもなんでもいいんですが。
が、まだ「call」という横文字が入っててめんどくさいです。
なので「replace.txt」に
(正規置換,【タブ】(call,正規置換,
と書いておきます。
すると実際に書くときには
(正規置換,(元の文章),(正規表現),(置き換えたい文字))
と書くだけで、置き換えた後の文章が帰ってきます。
元の文章を書き換えて保存してしまうなら
$元の文章【タブ】(正規置換,(元の文章),(正規表現),(置き換えたい文字))
と、こんな感じ。
CMNの場合、変数「トークログ」に入っているCMNのユーザコミュ返事からさくらスクリプトを消してしまいたいのです。
なので「元の文章」は「トークログ」、「置き換えたい文字」は無にしたいので何も書かない。
さくらスクリプトの正規表現は、正確を期そうとするとちょっと難しかったので浮子屋さんの正規表現講座のものを使わせて頂きます。
$トークログ【タブ】(正規置換,(トークログ),\\(\\|q\[.*?\]\[.*?\]|[!&8fijmpqsn]\[.*?\]|[-*+01456bcehntuvxz]|_[ablmsuvw]\[.*?\]|__(t|w\[.*?\])|_[!?+nqsV]|[wi][0-9]),,)
以上です。
どしろうとが手探りで適当にやってるので間違ってたらごめんなさい。もっと良い方法があったら是非教えて下さい。
CMN音楽補足/伺かアカデミー賞
2006.08.25 [ Edit ]
CMNの音楽再生機能についての補足説明を。
前回の更新でリードミーにも書いたのですが、一応ここでも。
MIDIは一時停止後の再開が効きません。
一度停止してから、初めから再生して下さい。
D&Dで渡されたファイルは、一時プレイリストに保存されます。
追加でファイルを渡すと、一時プレイリストは上書きされます。
渡した曲を追加していきたい場合には、ユーザプレイリストに保存し、
そこへ追加して下さい。
今日から「伺かアカデミー賞」の本戦が始まりましたね。
うちのゴーストの出場日は、
8/26 眼鏡と鬼
8/27 CMN
9/1 WANDERLUST
だそうです。
よかったら応援したって下さい。
メールフォームレス
>(CMN更新お疲れ様です
姿月シェルが無くなっていたのは残念ですが・・・。。
うかでみーも応援しています)
有難う御座います。
姿月シェルは、絵を描き始めたころの絵がやはりさすがに自分の精神衛生に悪すぎるので下げてしまいました……ごめんなさい。
まさかあれをお使い頂いてる方がいるとは……!
有難う御座います。
うかでみーも、応援有難う御座います!
>(芙蓉さん・・・少しだけ、首が長くて太いような・・・オレが変なのかなぁ・・・)
大丈夫。私も気になってた!(ぉ
しかし直す気力がないのであきらめて下さいごめんなさい。
絵が描ける方なら、追加シェルを自作してしまうのがおすすめです。
公開せずに個人で使用する分なら好きな版権絵なりなんなりをそのまま使うもよし。
メッセージ有難う御座いました!
前回の更新でリードミーにも書いたのですが、一応ここでも。
MIDIは一時停止後の再開が効きません。
一度停止してから、初めから再生して下さい。
D&Dで渡されたファイルは、一時プレイリストに保存されます。
追加でファイルを渡すと、一時プレイリストは上書きされます。
渡した曲を追加していきたい場合には、ユーザプレイリストに保存し、
そこへ追加して下さい。
今日から「伺かアカデミー賞」の本戦が始まりましたね。
うちのゴーストの出場日は、
8/26 眼鏡と鬼
8/27 CMN
9/1 WANDERLUST
だそうです。
よかったら応援したって下さい。
メールフォームレス
>(CMN更新お疲れ様です
姿月シェルが無くなっていたのは残念ですが・・・。。
うかでみーも応援しています)
有難う御座います。
姿月シェルは、絵を描き始めたころの絵がやはりさすがに自分の精神衛生に悪すぎるので下げてしまいました……ごめんなさい。
まさかあれをお使い頂いてる方がいるとは……!
有難う御座います。
うかでみーも、応援有難う御座います!
>(芙蓉さん・・・少しだけ、首が長くて太いような・・・オレが変なのかなぁ・・・)
大丈夫。私も気になってた!(ぉ
しかし直す気力がないのであきらめて下さいごめんなさい。
絵が描ける方なら、追加シェルを自作してしまうのがおすすめです。
公開せずに個人で使用する分なら好きな版権絵なりなんなりをそのまま使うもよし。
メッセージ有難う御座いました!
フォルダドロップ
2006.06.18 [ Edit ]
追記
複数ファイルを渡す場合は、92個目で落ちました。
フォルダのときよりもはるかに多いので、アイテム個数じゃなくて処理量が問題なのかなぁ。
まあ普通、そんなに無茶な渡し方ってしないかな。
追記2
と思ったら、れしばを一応見てみたらもっと後の処理の断片が残っていたので(ランダム演奏の為の曲順リスト生成)、フォルダドロップの問題じゃなかったのかも……?
なんにせよ、アイテム数がやたら多くなければ問題なし。
CMN音楽周り、完成したー!と喜んでいたのですが。
あまり沢山のファイルが入ったフォルダを渡すと落ちてしまいました……。

これだけのフォルダ(各フォルダに十数曲入っている)が入ったフォルダを渡してみたら、何度やっても見事にストンとorz
で、フォルダの数が問題なのかと思い、1つずつフォルダを増やしていってみたら、5つ目で落ちました。
けれど、各フォルダに0〜2曲ぐらいしか入っていないフォルダばかりを5つ6つまとめて渡しても落ちなかったので、フォルダ数ではなくファイル数が問題らしい。
処理内容が多すぎて「れしば」で見切れなくて、どこが悪いのかわからず。
まあ、音楽聴くためにCMNを使おうって人はまず居ないだろうから、別にいっかなー……。
以下、一応ドロップ周りのスクリプトを載せときます。SSPでしか動かした事なし。
複数ファイルを渡す場合は、92個目で落ちました。
フォルダのときよりもはるかに多いので、アイテム個数じゃなくて処理量が問題なのかなぁ。
まあ普通、そんなに無茶な渡し方ってしないかな。
追記2
と思ったら、れしばを一応見てみたらもっと後の処理の断片が残っていたので(ランダム演奏の為の曲順リスト生成)、フォルダドロップの問題じゃなかったのかも……?
なんにせよ、アイテム数がやたら多くなければ問題なし。
CMN音楽周り、完成したー!と喜んでいたのですが。
あまり沢山のファイルが入ったフォルダを渡すと落ちてしまいました……。

これだけのフォルダ(各フォルダに十数曲入っている)が入ったフォルダを渡してみたら、何度やっても見事にストンとorz
で、フォルダの数が問題なのかと思い、1つずつフォルダを増やしていってみたら、5つ目で落ちました。
けれど、各フォルダに0〜2曲ぐらいしか入っていないフォルダばかりを5つ6つまとめて渡しても落ちなかったので、フォルダ数ではなくファイル数が問題らしい。
処理内容が多すぎて「れしば」で見切れなくて、どこが悪いのかわからず。
まあ、音楽聴くためにCMNを使おうって人はまず居ないだろうから、別にいっかなー……。
以下、一応ドロップ周りのスクリプトを載せときます。SSPでしか動かした事なし。
アイコン化時間の長さ別トーク
2006.06.10 [ Edit ]
*OnWindowStateMinimize
$最小化タイム=(起動時)×60+(起動分)
*OnWindowStateRestore
$最小化タイム=(起動時)×60+(起動分)−(最小化タイム)
>復帰3分以内【タブ】(最小化タイム)<3
>復帰60分以内【タブ】(最小化タイム)<60
>復帰60分以上
*復帰3分以内
:待って!早すぎ! まだラーメン出来てない!
*復帰60分以内
:おかえりー。
*復帰60分以上
$最小化してた時間=(最小化タイム)÷60
$最小化してた分=(最小化タイム)−(最小化してた時間)×60
:……(最小化してた時間)時間(最小化してた分)分の放置、ありがとうございました。
……これで、いいのかな?
小学生レベルの算数でも不安になります。計算大嫌い。
もっと良い方法ありましたら教えて下さい。
$最小化タイム=(起動時)×60+(起動分)
*OnWindowStateRestore
$最小化タイム=(起動時)×60+(起動分)−(最小化タイム)
>復帰3分以内【タブ】(最小化タイム)<3
>復帰60分以内【タブ】(最小化タイム)<60
>復帰60分以上
*復帰3分以内
:待って!早すぎ! まだラーメン出来てない!
*復帰60分以内
:おかえりー。
*復帰60分以上
$最小化してた時間=(最小化タイム)÷60
$最小化してた分=(最小化タイム)−(最小化してた時間)×60
:……(最小化してた時間)時間(最小化してた分)分の放置、ありがとうございました。
……これで、いいのかな?
小学生レベルの算数でも不安になります。計算大嫌い。
もっと良い方法ありましたら教えて下さい。






