2025/11/17 記事をまとめてブログ全体を整理しました。

【GearSwap】コルセアのMote-libs用コード

コルセアのMote-libsコードについて説明します。

目次

ファイル構成

下記ファイルが全て必要です。

GearSwap/
  └ data/
    ├ user-globals.lua(共通ファイル)
    ├ COR.lua(ジョブロジック)
    └ キャラクター名/
      ├ weather_obi.lua(属性帯)
      └ COR_gear.lua(装備定義)ソースコード

ロジック説明

  • トリプルショット
  • 貴重な弾丸の誤射防止

トリプルショット

トリプルショットバフが有効な間は、着弾装備にトリプルショット装備(sets.buff[‘トリプルショット’])で射撃します。

貴重な弾丸の誤射防止

クイックドローに使うようなホクスボクブレットやアニミキーブレット弾丸を消費しないようにしています。

コメント

コメント一覧 (30件)

  • 管理人様
    いつもありがとうございます。
    遠隔のWSなのですが、ラストスタンド他、物理のWSも全て魔法WSのセットとなってしまいます。
    user-globals.luaを見てみると、確かにすべてMagicと表記されているようなのですが、これはこれでいいのでしょうか?

    • user-globalにそう書いているのなら、そうなるので多分間違えています。
      明日確認して間違ってたら修正します。

    • ご指摘通り射撃(弓術)の定義を間違えていましたので修正アップし直しました。
      今まで全く気づかなかったので、このご指摘には感謝いたします。

      • 管理人様
        ありがとうございます!
        いつも感謝しております。早速修正します!

  • お世話になっております 情報提供です

    101 [“ドラケンロール”] = {lucky=3, unlucky=7, bonus=”ペット命中・飛命”}
    誤 ラッキー3 アンラッキー7
    正 ラッキー4 アンラッキー8

    ソース
    https://wiki.ffo.jp/html/6062.html

  • 解決しました
    よしざうるすさんのMote-libs at jpを入れてたところコード丸写しでもて正常に動くようになりました
    大変お騒がせしました、とても分かりやすいブログで参考になるのでこれからも頑張って下さい

    • こんにちは。
      よしざうるすさんのMote-libs at jpですか。
      あまりにも自然に溶け込んでいたので、自分で設置したことすら忘れていました。
      どこかに書き留めておきます。ありがとうございました!

  • 早速ですがご報告を
    ロジックの方をシンプルに state.WeaponskillMode:options(‘Normal’) にして
    sets.Weapons = {} を消して sets.precast.WS = {} に装備を入れたところ
    やっとWSのprecastがでました ここから少しずつやっていきます

    • お、なにやら難しそうな感じになってきましたね。。。
      こちらでもそのモードについて調べて整理しておきます。
      がんばってください!

  • 長時間ありがとうございました、進展があったら報告させていただきます

  • ダメでした・・・そうなんですよねWSだけていうのが謎で・・・いろいろ試してみます

    • ちなみに、他のジョブとかではどうですか?
      お力になれず申し訳ない。
      原因追及がんばってください!

  • WS名出力されますが相変わらず着替えだけしないですね
    gs showswaps でWS打つと本来ならprecastのログでますよね?

    • precastのログでますね。
      遠隔攻撃とか他の処理でもログでてると思います。

      ちょっと試験的に、sets.precast.WS.Damageからsets.precast.WS[“エクゼンテレター”] = sets.precast.WS.Damageまでの行を消して
      sets.precast.WS = {}に適当なWS装備をセットして試してみてください。

    • FCやスナップ装備に着替えているprecastログが確認できているのなら、WS関連の部分がちゃんと動いていない可能性があるんですが、それが原因不明。

      さらにこちらの環境では動いていることからして、コードが問題ではないのかもしれない?
      例えばファイルの文字コードがUTF-8になっていないとか。でも、他の処理で着替えているのならそういう可能性もなさそうだし。
      コピペによって変な文字コードが入っているとか。

      できることとしたら、WS関連の着替えを簡単にして動作確認して原因探るしかないですね・・・

    • ロジックファイルのjob_precastにデバッグを仕込んでみてください。
      このコードで書き換えてOKです。
      WS打つときにWS名が出力されるか確認です。

      function job_precast(spell, action, spellMap, eventArgs)
      windower.add_to_chat(2, spell.name)

      if spell.type == ‘CorsairShot’ then
      equip({ammo=sets.Weapons.CorsairShot})
      end
      end

  • 書き換えて色々試しましたがダメでした
    ロジックの方はまったく変えてないんですが、そっちは変更する必要ないですよね?
    sets.Weapons = {}
    sets.Weapons.Fomalhaut = {name=”フォーマルハウト”}
    sets.Weapons.TPBonus = {name=”アナーキー+2″}
    sets.Weapons.NuskuShield = {name=”ヌスクシールド”}
    sets.Weapons.RAbullet = {name=”クロノブレット”}
    sets.Weapons.Rostam = {main={ name=”クスタウィ+1″, augments={‘Path: A’,}}, sub={name=”グレティナイフ”}, range=sets.Weapons.Fomalhaut, ammo=sets.Weapons.RAbullet}
    sets.Weapons.Naegling = {main={ name=”ネイグリング”}, sub={name=”グレティナイフ”}, range=sets.Weapons.TPBonus, ammo=sets.Weapons.RAbullet}
    sets.Weapons.CorsairShot = {name=”アニミキーブレット”}

    • ロジックの方は変更しなくても大丈夫です。
      うーん、なんだろう原因が分からないですね。

      他の処理はちゃんと動いているんですよね?
      Windowerコンソールにエラーとか出てませんよね?

      遠隔攻撃の時に、スナップ(precast)→着弾(midcast)で想定した着替えが行われているか。
      gs showswapsで一度確認して貰えますか?

  • Weaponsの方でしたか失礼しました
    そこの定義が違うと動かない事があるんですね、そこが原因かもしれません。
    そこを修正してみます

  • とりあえずMagicの所だけ変更してやってたので

    sets.precast.WS.Magic = {
    head={ name=”ヘルクリアヘルム”, augments={‘”Mag.Atk.Bns.”+25′,’Pet: Mag. Acc.+23′,’Accuracy+1 Attack+1′,’Mag. Acc.+15 “Mag.Atk.Bns.”+15’,}},
    body={ name=”LAフラック+3”, augments={‘Enhances “Loaded Deck” effect’,}},
    hands=”CSガントリー+3″,
    legs={ name=”ヘルクリアトラウザ”, augments={‘STR+3′,'”Mag.Atk.Bns.”+25′,’Accuracy+15 Attack+15′,’Mag. Acc.+16 “Mag.Atk.Bns.”+16’,}},
    feet={ name=”LAブーツ+3”, augments={‘Enhances “Wild Card” effect’,}},
    neck=”サンクトネックレス”,
    waist=”オルペウスサッシュ”,
    left_ear=”フリオミシピアス”,
    right_ear={ name=”胡蝶のイヤリング”, augments={‘Accuracy+4′,’TP Bonus +250’,}},
    left_ring=”ディンジルリング”,
    right_ring=”エパミノダスリング”,
    back={ name=”カムラスマント”, augments={‘AGI+20′,’Mag. Acc+20 /Mag. Dmg.+20′,’AGI+10′,’Weapon skill damage +10%’,’Phys. dmg. taken-10%’,}},
    }

    • デフォルトでRostamの定義を選択するようになっているので、次の定義と異なる場合、動かない可能性があります。
      sets.Weapons.Rostam = {main={ name=”ロスタム”, augments={‘Path: A’,}}, sub={name=”グレティナイフ”}, range=sets.Weapons.Fomalhaut, ammo=sets.Weapons.RAbullet}

      なので、sets.Weapons.Rostamに該当する部分を確認するために、sets.Weapons = {}で武器の定義を確認したかったのです。

      COR_gear全部貼り付けても構わないので、もう一度お願いできますか?

    • COR_gearのsets.Weapons = {}に関連する部分(装備)をここにコピペして貰えますか?

  • 早速のご返答ありがとうございます。
    更新してみましたがやはりWSの時のprecastだけ動きません。
    WSだけていうのが謎なんですよね、どのWSでもダメでした。
    //gs showswaps でログ出るようにしてるのですが着替えてないようです。

    • たまにGearSwapの不具合で着替えを行わないときがあるので、いちど次のコマンドでGearSwapをリロードしてみてください。
      /lua r gearswap

  • 初めまして、突然の書き込み失礼します。
    Mote-libsを調べていたらこちらにたどり着き、とても参考になりました。
    公開のソースコードを参考に自分で組んだらWSのprecastだけが動かず、試しに公開されてるコードを丸写しでやってみましたが、それでもWSのprecastだけが動きませんでした。
    こちらのコードで問題なく動いていますでしょうか? ご回答頂けると幸いです。

    • 初めまして。
      動いているコードをブログにコピペしているので動くと思いますが、念のため先ほど最新のコードで更新しました。

      ご自身の環境に応じた装備に書き換えて一度確認していただけますか?

      発動しないWSの名前や武器など教えていただけると幸いです。

takahashikazuo へ返信する コメントをキャンセル

目次