2026/6/4 チャットログから制御するロジックを共通ファイルから削除しアドオン化しました

GearSwapコード一覧

GearSwapのコードはGitHubで管理しています。

公開しているコードは私が使用しているコードのバックアップです。不定期に更新したり、大幅に構造を変更する場合があります。

目次

ジョブコード

ジョブコード備考
戦士ロジック 装備定義
モンクロジック 装備定義
白魔道士ロジック 装備定義
黒魔道士ロジック 装備定義
赤魔道士ロジック 装備定義
シーフロジック 装備定義
ナイトロジック 装備定義
暗黒騎士ロジック 装備定義
獣使いロジック 装備定義
吟遊詩人ロジック 装備定義
狩人ロジック 装備定義
ロジック 装備定義
忍者ロジック 装備定義
竜騎士ロジック 装備定義
召喚士ロジック 装備定義 召喚獣
青魔道士ロジック 装備定義
コルセアロジック 装備定義
からくり士
踊り子ロジック 装備定義
学者ロジック 装備定義
風水士ロジック 装備定義
魔導剣士ロジック 装備定義

凡例
:整っている
:あまり整っていない
:ある程度整っている
:ほとんど整っていない

その他のコード

項目コード備考
共通ロジック全体の共通処理
属性帯装備定義

ファイルの構造

私のGearSwapコードはメンテナンス性を重視して、GearSwapコードを複数に分けています。

  • 重複する処理や機能を一つのファイルにまとめた共通ファイル
  • ジョブの振る舞いを定義したジョブロジックファイル
  • プレイヤーの装備を定義した装備定義ファイル

ファイルの設置

下記のようにコードを設置します。

GearSwap/
  └ data/
    ├ user-globals.lua(共通ファイル)
    ├ XXX.lua(ジョブロジック)
    └ キャラクター名/
      ├ weather_obi.lua(属性帯)

コメント

コメント一覧 (42件)

  • いつもお世話になっております。新機能の追加のたびにワクワクさせていただいております!

    さて、この度PC入れ替えに合わせてファイル一式を7/5時点の最新ファイルに差し替えてました。
    魔導剣士におきましてWeaponskillmode SubtleBlowのファイルを書きかえ、マクロにて/con gs s cycle WeaponskillMode にてモードチェンジをし、エコーに変更ログが流れたのですが実際にWSを発動してもsets.precast.WS.SubtleBlowに着替えていないようです。
    当方だけの環境ならば突き詰めていこうかと思うのですが一度ご確認していただけないでしょうか。
    どうぞよろしくお願いいたします。

    • 51行目の
      equip(sets.SubtleBlow)

      equip(sets.precast.WS.SubtleBlow)
      で行けたような気がします。これで試運転してみます!

      • こんにちは。
        モクシャWSのやり方は色々あると思うのですが、モクシャWSが必要な場面では通常装備もモクシャが必要だろうから、私はOffenseModeをSubtleBlowに切り替えるだけで通常攻撃とWSがモクシャ装備になるようにしています。

        このやり方の説明をしていないので、わかりにくいと思いますが、一応そんな感じになっています。モクシャ装備もsets.SubtleBlowで一元管理できます。WSの時はsets.SubtleBlowを上書きしています。

        こりゅさんのやり方でも可能です。

        • あー そういうことかーーー!
          解説ありがとうございます。なるほど納得ですー。

          何やらここでやってるなとは思ったのですがそういうことか、、
          おもしろいな。。^^;

          • ところで全く別のことでございます。
            いままでGS起動にてストンスキンの上書きができるようになっていたのですが(詠唱とともにCancel作動してました)先ほど確認するとできなくなっております。
            それこそCancel起動させればいいといえばいいのですが今まですごく使いやすかったので機能が復活できればいいなっと思っております。
            これも私だけの環境なのかわからないのでご確認していただけますと幸いです。

          • 結論からいって、cancelが動かない件は完全にバグでした。

            ■起こっていたこと
            ①Windowerのライブラリ(Mote-Globals)にuser_precastファンクションがあって、そのファンクションでcancel処理を行っています。
            ②デフォルト着替えよりも先にリキャストチェックをしたかったので、user_precastファンクションを共通ファイルに追加しました。
            これを追加した理由としては、リキャストが間に合っていない状態で詠唱すると待機装備に戻らない(戦闘中なら抜刀装備)ことがあったため、リキャスト未達の場合はprecast処理自体をキャンセルさせる処理を追加しました。

            ■原因
            ①を追加したことにより②の処理を上書きするようになっていたため、ストンスキンのかけなおし時にcancelが走らないようになっていました。
            ※同じファンクション名で共通ファイルに書いていた

            ■修正
            Windowerのライブラリの処理を走らせるように直したので、これで動くようになりました。

            ソースコードは再アップしています。
            ほかのファンクション名も同じ問題が起こる可能性があるので、とりあえず同じ対応をしましたが、数分しかテストしていないので完全ではないかもしれません。
            今から仕事なので、帰宅後に詳しく確認します。

            ご報告ありがとうございました。

          • 早速の対応ありがとうございます。
            今現在入れ替えて動作確認しておりますが問題なく動いていそうです。
            夜にいろいろヴァナお出かけしますので引き続き様子見てみますね!

  • 管理人様
    いつもありがとうございます。
    吟遊詩人にて、ホクスニアムプラを使えるようにしたいのです。
    しかし自分でいくらやっても、WSの時にリノスに着替えてしまって・・・。
    お手すきの際にでもご教示いただければ・・・。
    毎度図々しく恐れ入ります。

    • こんにちは。
      共通ファイルの88行目付近の処理で、disable(‘range’)enable(‘range’)を追加すれば詩人でもできなくはないです。
      ジェールの時とかには有効かもしれませんが、歌の更新時にはこの制御をONOFFしなければいけないことと、その間楽器をもてなくなるので面倒くさくないですかね?
      途中でララバイとかもできなくなりますし、楽器をも違えるだけで毎回ホクスニを再使用しなければいけません。

      処理的にはおそらく上記の方法で可能です。

  • こんにちは。
    いつも参考にさせていただいています。
    詩人のセットについて教えていただけないでしょうか。
    ロジックと装備定義を使う前提で、裏を歌う際のマクロをどのように記載しているか教えていただけないでしょうか。
    ※下地とそのあとにかける本気詩の着替えがうまく動かず、どういう挙動をするのが正解なのかが知りたいのです。
    よろしくお願いいたします。

    • こんばんは。歌を作るときの流れは
      ①ギャッラルで適当に2曲
      ②ダウルでピーアン1とピーアン2
      ③5曲目歌うならクラリしてピーアン3
      ④ナイトル(ソウルも)してマーチやメヌなどを

      というか、私のコードでは下地歌でピーアン123を指定しているので、これを歌うときは自動でダウルになり、栄典とアリア以外はギャッラルになります。

      着替えが上手くいってないのが、どんな状況なのか分かればアドバイスできます。

  • 毎々参考にさせていただいております。
    Mirdain-Includeに採用されているような
    sets.Movement = { right_ring=”シュネデックリング”,}
    のように移動するときに移動速度アップ装備に着替えたいのですが
    Mote-Includeの場合は
    sets.Kiting = { right_ring=”シュネデックリング”}
    のように記入しても着替えてくれなくて悩んでおります。
    何か設定が間違っているのでしょうか?

    • Mirdain-Includeは私のファイルではないので詳細はわかりませんが、is_movingフラグで制御しているようです。
      ロジック処理でis_movingを制御する必要があるかと思います。上級者向けです。
      私は面倒くさいので、sets.Idleにシュネデックリングを固定でセットしています。

      • ご返答ありがとうございます。
        自分もsets.Idleにシュネデックリングをセットしていこうと思います。
        ありがとうございました。

  • いつも参考にさせて頂いております。敵にかけたデバフ切れを表示する方法はありますか? 強化アミノンのフラズル等

  • 大変申し訳ないのですが、戦士、モンクluaはないのでしょうか。どこ探しても見つからず自分でも作成できないので;
    すみませんでした。

    • 戦士とモンクやってないんでコードないんです。
      また今度簡単なものを作っておきます。

  • 以前公開していたかはわかりませんが、忍者のluaと装備luaがないのにある事になっています!

    • 実はコードは手持ちのものがあってアップしていないだけでした。
      先ほどアップしましたが、忍者は最低限のコードです。

  • 管理人様
    いつもありがとうございます。
    近頃、侍を始めまして、監視用バフの件ですが、やはり八双の効果時間中、WSを撃つと、midcastに八双の着替えが割り込んでしまうようです。こまごまとご迷惑と思いつつ・・・。

    • いけてると思ってましたけど、よく調べてみると条件不足でした。
      原因は分かったのですが、影響範囲が大きいのでもう少し調べてからアップしなおします。

      • 管理人様
        お忙しい中、返信までいただきありがとうございます。
        心待ちにしております!

        • 共通ファイル更新しました。
          とりあえず大丈夫だと思います。
          不具合取れたことで侍が少し強くなって嬉しいです!

          • 管理人様
            ありがとうございます!!!
            感謝感激です!!

  • 管理人様
    いつもありがとうございます。
    アフターマスを付けるためにTPを3000までためることがしばしばあり、その際、TPボーナス装備がとても惜しく感じるのですが、TP3000までためた時にはTPボーナス以外の装備を当てることって可能なのでしょうか?

    • AMの状態で装備を自動切り替えすることは可能だと思います。
      具体的にどんな感じですか?

      • 説明が下手ですみません。。。
         TP3000のアフマスを付けたい。
         TP3000で該当WS(ピナカですとシャルヴ)を撃つ
         TP3000の状態でTPボーナスは意味が無い(胡蝶のイヤリングやオグメの付いたイケンガベストなど)
         なので、TP3000の時だけTPボーナス以外のWSのダメージの上がる装備(アスプロピアスやニャメ胴など)を付けたい。
        という意味なのですが・・・質問する前に日本語勉強して来いと言われそうです。

        • できるできないで言えばできます。
          が、用途が限定的かつ処理が煩雑になるので実装はしません。
          どうしてもやりたいのなら、ご自分でお願いします。

          簡単なロジックとしては、precastでWSの判定をし、TPの量(player.tp)で条件分岐させるだけで実現できると思います。
          打つときのTPが2500以上なら胡蝶とイケンガ、TP2750以上なら胡蝶かイケンガみたいに。

          参考:https://docs.windower.net/addons/gearswap/reference/

          • なるほど、そうですよね。
            返信のお手間をとらせてしまって申し訳ありませんでした。
            また、事例を指し示していただきありがとうございます!
            ちょっといじってみます。
            ありがとうございます!

  • 管理人様
    いつもありがとうございます。
    リクエスト・・・もしくはご教示いただけると嬉しいのですが
    睡眠時にslip装備で目が覚めるようになっているのはとても便利です。
    しかしながらすぐ起きるのもあれかなと・・・w
    なので3秒?程度遅れて着替えるようにはできないでしょうか?

    • 睡眠時の処理がうまくいってなかったので、ちょうど触っていたところです。
      共通ファイルを更新してアップしています。
      下記コマンドで検索し、waitの秒数を手動で書き換えれば変更できます。
      send_command(‘wait 1;gs c AutomaticWakeUp’)

      • 管理人様
        ありがとうございます!
        早速入れ替えました。
        秒数は3としました。これでしばらく様子見したいと思います。

          • なるほど、ありがとうございます。
            やはり全部のを一括ってわけにはいかないんですね。
            ありがとうございます!

コメントする

目次