SpellCastを日本語環境で使う

2008.4.12現在、SpellCastを日本語環境で利用するには次の問題があります。
以下の手順は、その問題を回避してSpellCastを利用する手順です。

※このテキストは、Windowerの基本的な操作方法を理解している方を対象としてします。

    ・プラグインのロード、アンロード
    ・Windowerスクリプト

 

 

 


<日本語FFXi環境上での問題>


 

日本語版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先頭行を次のように書き換える。
<?xml version="1.0" encoding="shift-jis"?>
※resource.xmlがない場合は、一度loadしてみてください。
    ・文字コードを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の簡単な利用方法を示します。詳細は、本家: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="ブリザド"> ・・・ 本来はこの指定で認識させたい意図で作られていますが、認識しません。(文字コードの問題?)

 


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年04月13日 17:37
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。