2009/10/23(金)BOD管理CGI

UOA のベンダーエージェントデータによる一括入力を、本日 10/23 のパッチでローカライズされた分に対応しました。
以前からそうですが、ローカライズされていないデータも受け入れ可能です。

ページ自体の表記もローカライズに対応したほうがいい気がしてますが、女性用皮鎧のローカライズが入ってバルクオーダーに使われるアイテムの全てがローカライズされたらやります。
この変更を実装する際にはちょっとめんどくさい作業を行う予定なので、今のように気づいたら 10分足らずで作業完了というわけにはいかないはずです。
うまい方法を考え付くか、ローカライズデータを外部ファイルにしてデータ構造を自動生成するというめんどくさい方法でやるか、単純に 日本語->英語 と 英語->日本語 の2つの辞書をハードコードで持つようにするかを本気度 0% で悩み中です。

2009/10/22(木)UOSA のチャットログ

UOSA ではカスタムUI というユーザーがインタフェースをカスタマイズできる枠組みがある。
で、あれやこれや出来ないかと考えてました。
UO のチャットの内容をゆっくりさんが読み上げたら面白いんじゃないか、と。

いろいろ調べて、出来るんじゃないかなーと思ったのですが、(まだ?)カスタムUI について充分な文書が公開されてないようでよくわからん。XML エレメントの親子関係からしてよくわからん。

が、どうも UOSA はチャットログがまともに動くようで、書き出しのタイミングもかなり緻密に逐次書き出している。相変わらず UTF-16-LE ではあるが、ざっと見たところ正しい UTF-16-LE であるようだ。
であれば、FindFirstChangeNotification() でログファイルを見張って更新があったらゆっくりさんに渡す、という外部プログラムでやるのが簡単なんじゃないかと気づいてしまった。
で、その手の「ファイルを見張ってゆっくりさんが読む」という類のものはすでに誰かが作っているだろう、とも。

UOSA のカスタムUI でやるとしたら:
Interface.lua で
hYukkurisan = io.popen("SofTalk.exe", "w") 
しておいて、
UO_ChatWindow/Source/ChatWidows.lua の ChatWindow.UpdateNewTextAlert() を改造して、
numLogEntry = TextLogGetNumEntries("Chat")
LogEntry = TextLogGetEntry("Chat", numLogEntry)
LogText = WStringToString(LogEntry.text)
hYukkurisan:write(LogText)
hYukkurisan:flush()
追記: SofTalk.exe は標準入力を食べないのでこれじゃダメ。

みたいな?と思ったけどさすがに io や os モジュールは使えないようだ。package とかも無理だった。
外部プログラムを呼び出せるようなものは禁止されてるようなので、「カスタムUI でゆっくりさんにしゃべらせよう」計画はこれでおしまい。


ちなみに UO のカスタム UI は、
  • 見た目は XML
  • 動作は Lua
でいじれる。Lua インタープリタのバージョンは 5.1 でした。

カスタムUI をいじる場合は、
<Include file="Source/DebugWindow.xml" />
<Script file="Source/Debug.lua" />
WindowSetShowing("DebugWindow", true)
DebugWindow.logging = true
しておくと便利だと思います。

2009/10/21(水)ミス

ロザリオのトレハン引退のために、今まで掘った分をさっさと古地図の壁掛にしてしまおう、ということで足りない Lv3 地図を集めていたけどなかなか集まらず、残り一枚のところで放置してた。
と、新・トレハンテイマ たるぼのバンクボックスを見ると、かつて武士盾だった頃に拾っておいた大量の地図を発見。ほとんどが Lv5, Lv4 だったけど一枚だけ Lv3 を見つけた。
これで壁掛の必要枚数がそろった!

ということで掘り掘り。Lv3 なので事もなく掘り終わり、壁掛作成。
「あなたが解読した Lv1 の地図が足りません」。
むむむ、使えないものはよけておいたはずが混ぜてしまったか。しょうがないので Lv1 を追加しながら作成。1枚ずつ追加しながら試していけば、作成成功したときに残ったやつが壁掛に使えない地図だとわかるって寸法です。手持ちの分を 3枚追加したけどまだ足りないようなので掘りつつ追加。

と、2枚掘ったところでおかしい、と気づく。確か前に作ったときは、使えない地図は 3枚くらいだったはずだ。5枚追加しても足りないというのはおかしい。
ふむむ...。

あ、俺たるぼだった。ロザリオで掘らなきゃダメじゃん。
ハイ、Lv3 4枚集めなおしー。

adeptedly な地図大募集中です。

2009/10/18(日)Seagulls 全景

改築するかもしれない気になったので記念撮影。

seagulls-outerview-20091019.png

seagulls-innerview-20091019.png


Jazz とかが流れてそうなスタンドバーのイメージ。
ポイントは人を殺しそうなマスター。あと、2階の日向ぼっこスペース。

玄関のルーンは宣伝とかではなく、『ブルー・ボアで食事を!』でおなじみのブリテンの酒場、ブルー・ボアにつながっています。