2025/9/17 煩雑になった記事をわかりやすく整理中

GearSwap入門④各種モードの使い分け 

GearSwap(Mote-libs)の各種モードについて説明します。

使いどころがよく分からないモードもありますが、分かる部分だけ便利に使えれば良いと思います。

目次

各種モードの一覧

Mote-libsには次のモードが用意されています。

    state.OffenseMode         = M{['description'] = 'Offense Mode'}
    state.HybridMode          = M{['description'] = 'Hybrid Mode'}
    state.RangedMode          = M{['description'] = 'Ranged Mode'}
    state.WeaponskillMode     = M{['description'] = 'Weaponskill Mode'}
    state.CastingMode         = M{['description'] = 'Casting Mode'}
    state.IdleMode            = M{['description'] = 'Idle Mode'}
    state.RestingMode         = M{['description'] = 'Resting Mode'}

    state.DefenseMode         = M{['description'] = 'Defense Mode', 'None', 'Physical', 'Magical'}
    state.PhysicalDefenseMode = M{['description'] = 'Physical Defense Mode', 'PDT'}
    state.MagicalDefenseMode  = M{['description'] = 'Magical Defense Mode', 'MDT'}

    state.Kiting              = M(false, 'Kiting')
    state.SelectNPCTargets    = M(false, 'Select NPC Targets')
    state.PCTargetMode        = M{['description'] = 'PC Target Mode', 'default', 'stpt', 'stal', 'stpc'}

    state.EquipStop           = M{['description'] = 'Stop Equipping Gear', 'off', 'precast', 'midcast', 'pet_midcast'}

    state.CombatWeapon        = M{['description']='Combat Weapon', ['string']=''}
    state.CombatForm          = M{['description']='Combat Form', ['string']=''}

これらの使い方を説明します。

OffenseMode:抜刀モードの切り替え

戦闘スタイルに応じて抜刀時の装備を切り替えるために使います。

state.OffenseMode:options('Normal','Stp','Parry')
sets.engaged = {}
sets.engaged.Stp = {}
sets.engaged.Parry = {}

切り替えコマンドはマクロに仕込むか、キーバインドすると使いやすいです。

--サイクルさせる場合
gs c cycle OffenseMode

--直接指定する場合
gs c set OffenseMode Normal
gs c set OffenseMode Stp
gs c set OffenseMode Parry

IdleMode:待機モードの切り替え

被ダメカットやリフレ装備など、待機状態の装備を切り替えるために使います。

state.IdleMode:options('Normal','Refresh')
sets.idle = {}
sets.idle.Refresh = {}

切り替えコマンドはマクロに仕込むか、キーバインドすると使いやすいです。

--サイクルさせる場合
gs c cycle IdleMode

--直接指定する場合
gs c set OffenseMode Normal
gs c set OffenseMode Refresh

RangedMode:遠隔モードの切り替え

装備している遠隔武器の種類に応じて矢弾を持ち替えるモードに使えます。

state.RangedMode:options('Archery','Marksmanship')

このモードを使うためには、ある自力でプログラムを組まなければいけませんので、初心者向きのモードではありません。

銃を装備したら矢弾を自動で装備し、弓を装備したら矢を自動で装備するために次のようなコードを組んでいます。装備した遠隔武器が弓なのか銃なのかを判断し、対応する矢弾を装備するためのコードです。

function job_state_change(stateField,  newValue, oldValue)
    if stateField == 'RangeWeapons' then
        if newValue == 'Fomalhaut' then
            send_command('gs c set RangedMode Marksmanship')

        elseif newValue == 'TPBonus' then
            send_command('gs c set RangedMode Archery')
            
        elseif newValue == 'Hangaku' then
            send_command('gs c set RangedMode Archery')
        end
    end
end

function job_post_precast(spell, action, spellMap, eventArgs)
    if spell.name == '飛び道具' then
        if state.RangedMode.value == 'Archery' then
            equip({ammo = gear.ArcheryPhysics})
        elseif state.RangedMode.value == 'Marksmanship' then
            equip({ammo = gear.MarksmanshipPhysics})
        end
    end
end

手動でモードを切り替えることもできますが、私の場合はプログラムでモードを切り替えていますので、切り替えコマンドはマクロに組んでいません。

WeaponskillMode:ウェポンスキルモードの切り替え

戦術によってはモクシャを積んでWSを打つ場面がありますので、ウェポンスキルのモードを切り替えるために使います。WSの命中やダメージ用に別途装備セットを用意して切り替えるなどの使い方ができます。

state.WeaponskillMode:options('Normal', 'SubtleBlow')
--WS遠隔ダメージ
sets.precast.WS.Range = {}
sets.precast.WS.SubtleBlow = {}
sets.precast.WS["ラストスタンド"] = { Normal=sets.precast.WS.Range,
                                      SubtleBlow=set_combine(sets.precast.WS.Range,sets.precast.WS.SubtleBlow)} 

マクロに組み込んで使うと使いやすいです。

--サイクルさせる場合
gs c cycle WeaponskillMode

CastingMode:詠唱中モードの切り替え

私は使っていませんが、103%の詠唱中断装備で詠唱するか、FC装備で詠唱するかを分けて使うことができると思います。

DefenseMode:防御モードの切り替え

物理防御用のセットと魔法防御用のセットに切り替えて使うモードだと思います。

私も以前ナイトでこのモードを使っていましたが、今は盾を持ち替えた際に装備を切り替える実装をしているので現在は使っていません。

function customize_idle_set(idleSet)
    if state.SubWeapons.value == 'Duban' then
        return set_combine(idleSet,sets.idle)
    else
        return set_combine(idleSet,sets.idle.Magical)
    end
end


function customize_melee_set(meleeSet)
    if state.OffenseMode.value == 'Multi'then
        return set_combine(meleeSet,sets.engaged)
    elseif state.SubWeapons.value == 'Duban' then
        return set_combine(meleeSet,sets.engaged.Physical)
    else
        return set_combine(meleeSet,sets.engaged.Magical)
    end
end

他のモード切替と同じように使えますので、このモードを使いたい人は試してみてください。

あまり使わない・よく分からないモード

Kiting

大量の敵をかき集めるときに使うモードです。

装備定義の作り方によると思うのですが、私はあまり使わないモードです。

私の場合、抜刀装備には移動速度アップ装備を組み込んでいませんので、抜刀時の移動が遅いです。

sets.Kiting = {right_ring="シュネデックリング",}

抜刀しながら走る必要がある場合、state.Kitingでモードを切り替えると、上記装備に切り替わり抜刀状態でも移動速度アップ状態で走ることが可能になります。

たまに、敵の赤線技を避ける手法が必要な場合に使うことがありますが、ほとんど使いません。

RestingMode

私は使っていませんが、ヒーリング用の装備を切り替えるモードです。

SelectNPCTargets

どういう場面で使うのか分からないので、私は使っていません。

PCTargetMode

どういう場面で使うのか分からないので、私は使っていません。

EquipStop

私は使っていませんが、モードの切り替えで着替えをキャンセルできるのだと思います。

  • precast
  • midcast
  • pet_midcast

武器の持ち替え

上記には無いカスタムモードを作ることができます。

たぶん、state.CombatWeaponで切り替えるのが正しいのでしょうが、臨機応変に武器を持ち変えて戦う戦略が多いので、私は部分的に武器を持ち替えられるようにしています。

    state.MainWeapons           = M{'RostamA','RostamB','Naegling','Kustawi'}
    state.SubWeapons            = M{'CrepuscularKnife','NuskuShield','Tauret'}
    state.RangeWeapons          = M{'DeathPenalty','Fomalhaut'}

モードの切り替えは、マクロに組むなどしてください。

    --メイン武器のサイクル
    gs c cycle MainWeapons
    --サブ武器のサイクル
    gs c cycle SubWeapons
    --遠隔武器のサイクル
    gs c cycle RangeWeapons

    gear.RostamA                = {name="ロスタム", augments={'Path: A'}}
    gear.RostamB                = {name="ロスタム", augments={'Path: B'}}
    gear.RostamC                = {name="ロスタム", augments={'Path: C'}}
    gear.Naegling               = {name="ネイグリング"}
    gear.CrepuscularKnife       = {name="クレパスクラナイフ"}
    gear.DeathPenalty           = {name="デスペナルティ"}
    gear.Fomalhaut              = {name="フォーマルハウト"}
    gear.TPBonus                = {name="アナーキー+2"}
    gear.NuskuShield            = {name="ヌスクシールド"}
    gear.RAbulletphysics        = {name="クロノブレット"}
    gear.RAbulletMagic          = {name="ライヴブレット"}
    gear.CorsairShot            = {name="ライヴブレット"}
    gear.Kustawi                = {name="クスタウィ+1"}
    gear.Slip                   = {name="プライムガン"}

例えば、コルセアの場合ネイグリングを装備したらTPボーナスの銃を一緒に装備することになると思うので、ネイグリング用のマクロを用意しておくと便利です。

/con gs c set MainWeapons Naegling
/con gs c set TPBonus

コメント

コメント一覧 (10件)

  • ブログ:この世の終わりにをかいてたものです
    属性切り替えのスクリプト改良ありがとうございます

    本題ですが、元々オフェンスモードは使ってたんですが
    武器の切り替えを知らなくて、微妙に使いづらかったのがこの記事のお陰で助かりました
    ただ、武器変更できるようにしたらsets.idleに武器を指定しても
    武器の持ち替えで指定した装備が優先されるのですが
    アイドル時は別の装備にするにはどうすればいいでしょうか

    具体的には、state.MainWeapons = M{‘Aeneas’,’Naegling’,’Carnwenhan’}
    としてるのですが、納刀時はその指定関係なくニビルナイフを持つようにという感じです

    • 属性スクリプトの考え方は大変参考になりました。
      拡張して使わせて頂いております。感謝しております。

      本題の件ですが、青魔道士のコードが参考になるかと思います。
      私の青は、回避装備を待機状態の装備にしており、抜刀すると片手剣を持つようにしています。
      やり方としては、ジョブ定義ファイルのcustomize_idle_setで納刀状態の武器をセットするだけです。

      • うまくいきました、ありがとうございます

        元々使ってたファイルに武器変更部分を追記して使ってたので
        すでに青用に仕込まれてたのに気づきませんでした

        • 動いて良かったです。
          各ジョブで違った実装になっている部分があるので、他のページも参考にして頂ければと思います!

  • どこをどういじったらいいかっていうことが書いてないんですけど…
    これだとエラーが出て、全然使ものにならないですね

    • 使い物にならなくてすみません。
      ご自身で考えるか、他をお探しください。

  • 記事とても参考になります。

    どうしてもわからないことがあり、質問させてください。
    state.OffenseModeでの切り替えについてなのですが試しに
    state.OffenseMode:options(‘Normal’, ‘Test’)
    sets.engaged.Test = {
    ammo=”完璧な幸運の卵”,
    }
    gs c cycle OffenseMode
    gs c set OffenseMode Test
    上記追加後にコマンドうっても二つとも動かないのですが、ほかに設定って必要だったりするのでしょうか。

    • 他に設定はありません。
      記述内容も間違っていないように思えますが、赤魔道士のコードが参考になるかもしれません。

      gs c cycle OffenseModeでNormalとTestが切り替わると思うのですが、たまにおかしくなるときもあるので、
      lua r gearswapで再起動して試してみてください。

  • ありがとうございます!
    本来こちらを参考にできるような知識は無いのですが、頑張って勉強します。
    本当にありがとうございます。

    • 難しいかもしれませんが、頑張って覚えると快適にプレイできるようになりますよ!

コメントする

目次