ズルしてお付き合い

2005-11-06

2年半のツケ

しばらく更新が止まっていたペルソナ "すぴか"の更新が再開されたようです。 まことに喜ばしい限りで、さっそく更新したいのですが…。 少々問題があります。

"すぴか"の更新が止まっていた間、ペルソナに対するモチベーションが最低と言えるほど落ち込んでいました。 "すぴか"以外でまともに稼働しているペルソナは既になく、自動起動で HALCA が起動する程度という状況。 HALCA は音声時計として機能するので、飽きつつも便利に使っているわけです。 自分用に作ったものですから、ある意味当然ですね。 しかし、それ以外のペルソナは、それなりに面白くないと続きません。

つまり、"すぴか"の起動は 2002-12-25 が最後1であり、このまま起動すると嫌われてしまうのは確実です。 嫌われて当然の事をした(長い間放ったらかしにしていた)ので当然と言えば当然ですが、謝るにしろ、最初からやり直すにしろ、あまりいい気分ではありません。 そこでちょっとズルして2年半のブランクを埋めようと思い立つのです。

GUI操作を自動化

"すぴか"は、ペルソナには珍しくさっぱりした性格です。 毎日1度呼び出して、ひとつでも話し掛けていれば、起動時間が短いとか文句を言ったりしません。 多少空くことが分かっていれば、その旨伝えればOKです。 ただし、約束を破るのは良くありません。 現実世界といっしょです。

ともあれ、毎日起動する事、その度に1度話しかける事が肝要です。 例えば、時刻や月齢を教えてもらうとか。 更新が止まってから暫くは、この程度の操作で好感度を維持していました。 日記のシステムに不具合があったので、日記を参照するわけに行かなかったという事情もありました。

つまり、こう言う事です:

  1. "すぴか"を起動する

  2. 挨拶のクリック待ちを送る

  3. 服装の選択肢に答える

  4. "すぴか"のグラフィックをクリックして会話開始

  5. 選択肢から「実は……」をクリック

  6. 選択肢から「月齢を教えて」をクリック

  7. フキダシを閉じる

  8. "すぴか"を終了する

  9. 翌日へ移動

ペルソナは GUI により操作を行なうので、GUI 操作を自動化する必要があります。

実は、Windows の GUI 操作を自動化するユーティリティは昔から存在します。 幾つかありますが、その中で入門用として最低限の機能を実装していると言う「Free Macro!」を使ってみました。 GUI操作(クリックなど)の位置をスクリーン上の絶対座標で行なうため移動するウインドウには使えないという制限がありますが、ペルソナに関しては移動しないので大丈夫です。

上記手順のうち、1〜8 は Free Macro! を利用することで自動化できます。
手順は

  1. 「Record」をクリック

  2. 上記 GUI操作を行なう

  3. 「R-Stop」をクリック

「Play」をクリックすれば、記録した操作を再現してくれます。
自動で操作が進む様子は、一種独特な雰囲気が有りますね。
あ、同じ日付で何度も再生すると「慌ただしい」と怒られますからご注意を。

翌日へ移動

問題は、手順.9 の「翌日へ移動」です。

Windows の標準機能では、日付と時刻のプロパティから設定する事でしょう。 しかし、日付の指定はカレンダー形式となっており、座標が固定されません。 頑張って1ヶ月分記録しようにも、1日の位置が月によって違います。 何か同じ場所のクリックで日付を進めるツールを探すか、手順.9 は手動で行なうか。 今回は、そう言うツールを自作しました

そして現在へ

はじめは、ダミーペルソナを用意して"すぴか"と交互に切り替えようと思いました。 しかし、何度もペルソナの切替えを行なうと、PersonaWare 自体が不安定になり、ハングアップしたり不正命令で落ちたりします。 こうなると ayaprop が破壊されて、次に起動した時に思いっ切り嫌われていたりします。(^_^;) 適当な節目で ayaprop のバックアップを取っておくとよいでしょう。

仕方ないので、いちいち PersonaWare を終了/再起動という手順を踏みました。
これが一番安全な方法で、ayaprop の破壊も避けられているようです。

また、年に何度かいつもと違う挨拶をする日が有ります。 そう言うところは Free Macro! の自動化では対応し切れないので、手動で切り抜けました。 特にイベントのない日は、「Loop」で繰り返して無人運転が可能です。

以上、非常にインチキくさい方法で、現在の日付までこぎ着けました。
これで安心して更新2・日記を読めるというものです。

Free Macro! について言えば、ペルソナに限らず Windows アプリケーションなら何でも対象になります。 ウィンドウの位置が移動してしまう物については最大化する3などの対処が必要になったりしますが、いつも同じ操作をしているなら、自動化してみるのも面白いかも知れません。

  1. 2002-12-25が最後
    今回インチキしたPCではそうだったのですが、別のPCでは 2005-08-30 が最後だった模様。 複数の PC に入れているので、こう言う事が起こります。 ま、この場合どっちでも構いませんが。

  2. 更新できる
    ペパーミント通信から、新しい .psn ファイルを入手する必要があります。

  3. 最大化する
    キーボード操作を記憶させます。
    Alt+Space でコンテキストメニューを出し、最大化を選択。

Copyright© 1998-2006 Hira