MMO難民生活

このblogは閉鎖しました

bscriptでお遊び

2010-04-30 | MyS Addon
こんな事も出来ます


クリックで拡大

pbinfoのthreat meterへの細工は、自分みたいにUIスケールを小さくしてる人にはオススメ

Patch 3.0.0のSS@RoM

2010-04-28 | 日記
Addonのテストに行った際についでにSS撮ってきました

メンバー募集っぽいインターフェイス

クリックで拡大

パーティー募集っぽいインターフェイス

クリックで拡大

なかなか細かく作られてますね
実際の使い勝手は不明ですが


おまけ
モンスターカードにステータス付加

にぷー!

公開しているaddonの最新版リスト

2010-04-25 | MyS Addon
eCombatText ver. 1.0.0 - ダメージ/被ダメージ/回復値を表示

eCooldownPulse ver. 0.2.0 - クールダウン終了をアイコンで通知

eTargetList ver. 0.1.2 - 周囲の敵対ユニットをHPバーで一覧表示

eUsefullFunc ver. 0.1.3 - マクロ支援

EventNotify(MyS対応版) - 各種イベント発生時に音を鳴らす/システムメッセージ等を別窓表示

nkProfBar(MyS対応版) - 生産スキル専用アクションバー

nkXtdMacro改 - マクロアイコン差し替え

Statusbars改2 - Buff/Debuffをバー表示 フィルター機能搭載
注)日本語版ではありません、オリジナルの作者に無断で勝手にbug修正と機能追加しただけです

addon紹介 - BootScript

2010-04-24 | MyS Addon
ログイン時に一度だけ任意のスクリプトを実行してくれるaddonです

何でもかんでも実行してくれる訳じゃないですが、
・普通では動かせないフレーム(ウィンドウ)を動かしたい
・デフォルトで非表示のものを表示させたい
なんて場合に便利です

例えばこんな感じで

クリックで拡大

ダウンロードはこちらから
curse

ちなみにフレーム名称や動かし方は
List of Frames@RoM wiki
List of Widget Methods@RoM wiki
が参考になります

○×フレームを動かしたいんだけど、こんなん見てもわかんねーよ!
って人には協力してあげるかもしれません
気分次第ですがっ

クラ落ちに備えて

2010-04-23 | MyS Addon
ここ最近、クライアント落ちが多いらしいですね
私自身は活動範囲が非常に小さい事もあり全く問題ないのですが

蔵落ちで問題になるのがaddonやゲームの設定が飛んでしまうこと
設定を弄ったり蔵落ちするタイミングにもよりますが、その原因は、
C:\Documents and Settings\xxx\My Documents\Runes of Magic配下にあるファイルが壊れることです
(インストール環境によってこのパスは変わります)

そこで以前から良く言われている対策法が、上記のフォルダ内にある
SaveVariables.luaというファイルのバックアップです

ほとんどの場合はこれで間に合いますが、実は完全ではありません
結論から言うと、
C:\Documents and Settings\xxx\My Documents\Runes of Magicをフォルダごとバックアップ
すべきです
理由は、キーバインドや一部のゲーム設定はSaveVariables.luaとは異なるファイルに保存されるからです
また、一部のaddon(scru等)やマクロはさらにその配下のキャラ名フォルダ内に設定ファイルを持ちます

デメリットが無いわけでは無いですが、複数のファイルを個別にバックアップするのは面倒ですからね
私はメンテ明けとaddonの設定やマクロを大幅に弄った時にバックアップを取っています

Patch Notes 3.0.0 - The King's Call @RoM

2010-04-22 | 過去の遺物
RoMでPatch Notes 3.0.0が発表されました
チャプターIIIの第一弾らしいです

元記事

気になった所をピックアップ

New Features
・Ancient Memento exchange system - A new reward system for PvE-players has been introduced.
For 300 Ancient Mements plus a bit of gold players can receive fusion stones.
トークンですかね?
石もらえるのはアリガタイですが、トークンの入手法と石の中身が不明なんで何とも

・Party Recruitment Interface
ようやくですか
詳細は不明ですが、コストが掛かったり、LFMだけでLFG無しとかじゃないですよね?

・Level cap increase to Level 57
相変わらず小出しがお好きなようで

・Elite Skill Balancing
エリートだけじゃ無く、普通のスキルも変更されているようです
多岐にわたってるで全体的な傾向を
 ・critがらみは概ね上方修正(ただし装備のOPやルーンも変更されてる模様)
 ・capが50になっているものが多数(ただし効果は55より上な場合もある)
 ・パッシブ発動型→手動で発動? 原文:The effect has to be triggered now.

・Instance Difficulty Selection
 "Easy"と"Normal"の二段階
 サバイバーとオーシャンに導入
 Easyでは黄OP+緑OP、Normalではランダム黄OPのみ(例の劣化OPとの絡みは不明)

・Instance Progress Saving
 ボスごとにセーブされるっぽい
 現時点ではリセット方法について書かれていないのでWoWのとは比較できない
 一歩間違うとダメダメになるでー

えーと、自分は何が知りたかったんだっけか
そうだ、こっちで先行?導入されたAPI(の使用制限)の変更についてだった
これについては・・・、現在の所は発表なしでした
たぶん前と同じで今後も無し

eCombatText ver. 0.2.0

2010-04-22 | MyS Addon
eCombatText ver. 0.2.0を公開します
今回のバージョンは必要なテストケースが膨大なため、えるごあによるテストは限られています
皆さんからのフィードバックをお待ちしてます(イワユル人柱版)

Download

○ver. 0.2.0での追加変更点

追加項目
・被ダメージ値と回復値の表示を追加しました
 被ダメージ値は新たに設けた"INCOMING"アンカーに追従して表示されます
 回復値は、他人を回復した場合は"OUTGOING"アンカーに、
 自己回復の場合は"INCOMING"アンカーに追従します
 範囲回復の場合は範囲ダメージと同じ書式(平均値 +ヒット数)で表示されます
 ※このアドオンでは以下のスキルを範囲回復と見なしています
 P/x
  ソウルファウンテン
  グループヒール
 P/Sエリート
  ヒールアロー
 D/x
  アーススプリング
 D/Sエリート
  ヒーリングアロー

・設定コマンド
 上記の設定コマンドを追加しました
 /ect inc on/offで表示/非表示の切り替えが可能です(デフォルトは表示です)

変更点
・アドオンのパフォーマンスを向上させました
・設定コマンドの変更
 /ect scrollhの設定可能範囲を広げました(上限250->300)

バグ修正
・/ect reset時の不具合を修正しました
 /ect resetコマンドを実行した際に、リセットされない設定項目がありました
・/ect off時の不具合を修正しました
 offのまま再起動したときにアンカーが表示されてしまう問題がありました
・スキルアイコンのスクロールに関する不具合を修正しました
 稀にアイコンが別のダメージに付いてしまう事がありました

○既知の問題
・被ダメージ値と回復値のスキルアイコン表示
 アイコンの存在しないスキルは表示できません(表示色は黄色になりますが)
 アイコンが存在していても、自身がそのスキルを持っていないと表示されません
 例として、K/WがGHを受けた場合が該当します(K/Pなら表示されるはず)

○余談
今更ながらluaのコーディングお作法を勉強しましたw
その上で「アドオンのパフォーマンスを向上」をした次第です
その過程でコードの全面見直しをした訳ですが・・・、潜在bugてんこもりでしたよw
被回復値のスキルアイコンの制限については打開策はあるが、パフォーマンスと天秤に掛けた結果、
このような仕様に落ち着きました

アドオン開発者向けな情報2

2010-04-20 | MyS Addon
処理の高速化について調べたので書いてみます
ここで言う「高速化」とは、「無駄の無いスマートなロジック」が実現されていて、その上でさらに処理を速くすることを意味します
(まずこれが難しいんですがw)

結論から言うと、
「とにかくlocal参照にしろ」
です

具体的には、

例1
function MyAddon.SampleFunc()
 for i = 1, 10000
  if( GlobalVariable ) then
   -- なんらかの処理
  end
 end
end
よりも
local localvariable = GlobalVariable
function MyAddon.SampleFunc()
 for i = 1, 10000
  if( localvariable ) then
   -- なんらかの処理
  end
 end
end
の方が処理が速くなる

例2
「pairs」を多用する場合、
local pairs = pairs
と宣言しとけば処理が速くなる

ってことです

まず、大前提になるのが、
Lua Performance Tip
ここで書かれている事実です(正確には紹介されてる書籍の中ですが)
これはluaでのプログラミング一般のお話ですが、
Globals vs Locals newbie question@wowace forum
ここで議論されているように、ビデオゲームのaddonでも通用するらしいです
実際に有名どころのaddonでもこの手法がとられています

一応、副作用としてはロード時(コンパイル時)のオーバーヘッドとなるメモリと時間が増えることが考えられます
よって、これと天秤に掛けることになりますが、local宣言/参照しておいた方が良い場合が多そうです

多発するeventのOnEventやOnUpdateでは強く意識するべきプログラミング手法だと思います

予定変更

2010-04-19 | 日記
eCombatTextと似た機能を持つaddonがcurseに上がってます

ということで予定を変更してeCombatTextの完成を目指してます

当初の計画では、パクリ元と同様に
・自ダメージ/回復値
・被ダメージ/回復値
・マナ等の変化
・buff/debuff等の変化
の表示を目指してました

これまでに公開したバージョンでは足掛かりとして「自ダメージ値」についてのみ開発してきました
とりあえずそこまではクリアしたことにして、現在は「被ダメージ値」と「回復値」に着手しました
「マナ」や「buff/debuff」については、(不可能では無いものの)かなり複雑で面倒になりそうなので止めておきます

また、設定項目がかなり多くなってきているので、GUIコンフィグについても検討中です

ちなみにデフォルトのダメージ表示についてですが、かなり時間を掛けて調査した結果、
どうやらハードコーディングされてるっぽいという事が判りました
つまりaddonで弄れる範疇では無いという事です
インターフェイス・オプションにある設定は、あくまで”他人の”ものの表示を消すだけです
(これについては対応するAPIを見つけたが、実際にframe操作してる部分までは発見できず)