記事一覧

装備セット後の部分着替えが間に合わない場合がある

以下の記事が参考記事です。

装備セットの装備変更反映の順番
「equip」と「equipset」の分岐点(アビ編)
「equip」と「equipset」の分岐点(魔法編)
装備セットの圧縮方法

最初に言っておきますが、詠唱時間1秒未満の魔法がFC装備で着弾する問題とは違います。

先日ダイバーで詩人を出したのですが、ナイトルで歌った順からメヌマドマチマチして、最後にピアニッシモで自分にバラしたのですが、マドが消えてメヌバラマチマチになっていました。Wave2NMを 例の青い短剣 で殴っていて、どうもスカるなと思って確認したらマドが消えていた次第です。

歌の効果時間は揃えているはずで、どうもおかしいなと調べてみた所、特定条件下で「装備セット後の部分着替えが間に合わない」という事が判明しました。

参考記事にもありますが、装備セットの圧縮等で以下のようなマクロを組んでいる方が多いと思われます。
1行目 /magic どらプリンテ <stpc>
2行目 /equipset 着弾装備セット番号
3行目 /equip 右手の指 どらプリング
4行目 /equip 背 どらプリケープ

基本的には、このマクロの例ですと1パケット内に収まってサーバ側に伝達されるために2~4行目を着替え終わってから魔法が実行されます。

しかし特定条件としてクイックマジックやナイチンゲール/ピアニッシモで魔法詠唱時間が極端に短くなった場合に、3~4行目の着替えが魔法実行までに間に合わないらしいのです。これらはサーバ側の処理になり予想しか出来ないので「らしい」とボカしたのですが、装備セットだけでしたら問題なさそうです。ただサーバ側の処理負荷等によって実行結果が変わる場合がありますが、今の所、装備セット1つだけのequipsetであれば問題となっておりません。

対処方法としては、装備セット内で納めるしかなさそうで不便ですね…。以下の記事を加筆修正しました。
吟遊詩人の装備セット 2018年12月9日版


以下からは、わしの技術的な予想なので、スルーしてもらってもかまいません。

おそらくサーバ側では魔法実行スレッドと装備解釈スレッドが別で動作していて、現在の装備品が格納されている共通のワークエリアをそれぞれが参照していて、以下のような関係になっていると推測します。

A魔法実行 → B装備品の格納ワークエリア ← C装備解釈

Aは魔法詠唱時間or1装備セット解釈分くらいの時間を待ってCの完了を待つことない作りになっていて、個別のequipが解釈処理される前にAの処理が終わってしまいます。これはオンラインゲームでは仕方のないことで、Cの実行をAが待ってしまうとデットロック(Aの処理が永遠に終わらない)になってしまう恐れがあるために、このような作りにしていると思われます。

コメント

No title

3行目に /grin motion を入れてみるテスト
それでだめならウェイトかけるしかないね

Re: No title

通りすがりさん

> 3行目に /grin motion を入れてみるテスト
> それでだめならウェイトかけるしかないね

コメントありがとうございます。
この記事では不要な行を削除して4行にしていますが、行数に余裕がありません。

コメントの投稿

非公開コメント

プロフィール

washi2018

Author:washi2018
活動鯖:Bahamut
キャラ名:Likter(リクター)
タルプリをこよなく愛するお髭の管理人

FF11関係サイトはリンクフリーです。ただし著作権法により引用は認められていますが、転載は管理人の許可が必要です。

当ブログに記載されている会社名・製品名・システム名などは、各社の登録商標、もしくは商標です。
© 2002-2019 SQUARE ENIX CO., LTD. All Rights Reserved.

カウンター