2008.4.12現在、SpellCastを日本語環境で利用するには次の問題があります。
以下の手順は、その問題を回避してSpellCastを利用する手順です。
※このテキストは、Windowerの基本的な操作方法を理解している方を対象としてします。
・プラグインのロード、アンロード
・Windowerスクリプト
日本語版FFXiは文字コードをShiftJisとして扱っています。
しかし、SpellCastの設定ファイル(.xml)内に記載したShiftJisの2byte文字を正しくFFXiに送ることができません。
これはSpellCastではTinyXMLを利用してXMLへのアクセスを行っており、TinyXMLはShiftJISを扱うことができないためです。
参考:http://forums.windower.net/index.php?s=2afdffa922686452a43ae69073222c27&showtopic=11758
この解決方法として、2byte文字を含むコマンドは別のスクリプトファイルに記述し、SpellCastよりスクリプトを呼び出すことで回避します。
1.SpellCast 2.14以降をプラグインフォルダへダウンロード
2.プラグインフォルダのresouce.xmlの編集
・resouce.xml先頭行を次のように書き換える。・文字コードをShift-Jisにして上書き保存 参考:文字コードを変更※resource.xmlがない場合は、一度loadしてみてください。
<?xml version="1.0" encoding="shift-jis"?>
<SpellCast設定ファイル、及びスクリプトファイルの作成>
参考に筆者のフォルダ構成は次のようにしています。
└Windower
├ plugins
│└ spellcast
│ └ blm.xml ・・・・・・SpellCast設定ファイル(1)
└ scripts
└ blm ・・・・・・ジョブ別にスクリプトフォルダを分けると便利
└ sc ・・・・・・・・スクリプトファイル置き場
├ Standard51 ・・・・・・・・スクリプトファイル(2)
├ rest50
├ rest51
├ IceStaff
├ ・・・
1.SpellCast設定ファイルを作成する
・全ての装備変更をスクリプトで行うため、<set>は利用しません。
・<rule>及び、<if>等で条件判定を行った後に
<Action type="Command" when="タイミング"> コマンド </Action>
を利用して装備変更スクリプトを呼び出します。
タイミングは主に次の3つで、ヒット直前に装備を変えてヒット後に戻す、などが可能です。
Precast:魔法詠唱前
midcast:魔法詠唱後
Aftercast:魔法発動後
その他にも秒数を指定したりも可能です。詳細は本家:ruleの説明をご参照ください。次の例は、次の2つの行動を行う設定ファイルです。
・精霊、暗黒、強化、神聖魔法を詠唱した際に
メインレベルが50を超えている場合に
1.基本装備セットを装備し ・・・・・ 10行目 blm/sc/standard51 を呼び出し
2.詠唱した魔法の属性に合わせて属性杖を装備する。 ・・・・・・ 11~27行目
・ヒーリングした際に、レベルに応じて装備を変更する。 ・・・・・31~40行目
メインレベルが50を超えている場合は、 blm/sc/rest51を実行
それ以外の場合は、 blm/sc/rest50を実行
plugins/spellcast/blm.xml
<?xml version="1.0" encoding="Shift-Jis"?>
<spellcast>
<config Debug="false" HideErrors="false" ShowGearSwaps="False" />
<sets>
</sets>
<rules>
<!-- 魔法発動中の着替え、属性杖の変更 -->
<rule Skill="ElementalMagic|DarkMagic|EnfeeblingMagic|DivineMagic">
<if MLvlGT=50>
<Action type="Command" when="midcast">exec blm/sc/Standard51</Action>
<if Element="Fire">
</if>
<elseif Element="Earth">
<Action type="Command" when="midcast">exec blm/sc/EarthStaff</Action>
</elseif>
<elseif Element="Wind">
<Action type="Command" when="midcast">exec blm/sc/WindStaff</Action>
</elseif>
<elseif Element="Dark">
<Action type="Command" when="midcast">exec blm/sc/DarkStaff</Action>
</elseif>
<elseif Element="Light">
<Action type="Command" when="midcast">exec blm/sc/LightStaff</Action>
</elseif>
<else>
<Action type="Command" when="midcast">exec blm/sc/IceStaff</Action>
</else>
</if>
</rule>
<!-- ヒーリング時の処理 -->
<rule spell="Autoset">
<if status="Resting">
<if MLvlGT=50>
<Action type="Command" when="Resting">exec blm/sc/rest51</Action>
</if>
<else>
<Action type="Command" when="Resting">exec blm/sc/rest50</Action>
</else>
</if>
</rule>
</rules>
</spellcast>
2.SpellCastから呼び出すWindowerスクリプトファイルを作成する
SpellCastから呼び出す着替えスクリプトを用意します。
このスクリプトファイルはWindower標準のスクリプトファイルとなります。
例として、次に上記のblm.xmlから呼び出すスクリプトファイルを以下に示します。scripts/blm/sc/rest50
input /equip body シアーチュニック
input /equip waist モブワサッシュ+1
input /equip legs バロンスロップス
input /equip ear1 防毒のピアス
input /echo ##### ヒーリング装備(黒50) #####
scripts/blm/sc/rest51
input /equip main ダークスタッフ
input /equip ear1 防毒のピアス
input /equip body シアーチュニック
input /equip waist モブワサッシュ+1
input /equip legs バロンスロップス
input /echo ##### ヒーリング装備(黒51以上) #####
scripts/blm/sc/standard51
input /equip Ammo モリオンタスラム
input /equip Head シアークラウン+1
input /equip Neck モブワスカーフ+1
input /equip Ear1 カンニングピアス
input /equip Ear2 モルダバイトピアス
input /equip body カスタムベスト
input /equip hands カスタムFグローブ
input /equip Ring1 賢明の指輪
input /equip Ring2 賢明の指輪
input /equip Back ブラックケープ+1
input /equip waist フォレストストーン
input /equip legs マジックズボン
input /equip feet カスタムFブーツ
input /echo ##### 通常装備(黒51) #####
scripts/blm/sc/earthstaff
input /equip main ライトスタッフ
scripts/blm/sc/icestaff
input /equip main アクィロスタッフ
scripts/blm/sc/darkstaff
input /equip main ダークスタッフ
scripts/blm/sc/Lightstaff
input /equip main ライトスタッフ
scripts/blm/sc/Windstaff
input /equip main ウィンドスタッフ
SpellCastの簡単な利用方法を示します。詳細は、本家:Spellcast
commandをご参照ください。
1.spellcastのロード
最初に読み込まれる設定ファイルは「plugins/spellcast/default.xml」となります。
2.設定ファイルの読み込み
例の場合では、Windowerコンソールにて「spellcast file blm.xml」として読み込んでください。
・SpellCastのバージョンは2.14以降が必須です。2.11以前のバージョンでは日本語魔法・アビ名を認識しません。
・SpellCast設定ファイルの<rule>で、魔法・アビ名を指定する場合は、英語名で指定してください。
(例) ブリザドを指定したい場合
○ <rule Spell="Blizzard"> や <rule
Spell="Blizzar*">
× <rule
JSpell="ブリザド"> ・・・ 本来はこの指定で認識させたい意図で作られていますが、認識しません。(文字コードの問題?)