情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

【Apex Legends】「gamemodes/cl_gamemode_survival.nut #2737 [CLIENT] division by zero」エラーで落ちる不具合の原因と対策について

Apex Legends (285) Apex Legends-エラー (51)

2021年12月11日現在、Apex Legendsでのプレイ中に「エラー There was a problem processing game logic. Please try again. gamemodes/cl_gamemode_survival.nut #2737 [CLIENT] division by zero」エラーが発生してゲーム途中で落ちてしまう問題の発生するユーザーが多くなっています。

この問題の原因や対策について紹介します。

突然「[CLIENT] division by zero」エラーで落ちる

Apex Legendsのプレイ中、特に武器を拾った直後等に突然ゲームが落ちてしまい次のエラー画面が表示される現象の発生するユーザーが増えており、2021年12月11日現在も継続しています。

エラー

There was a problemn processing game logic.
Please try again.

------
gamemodes/cl_gamemode_survival.nut #2737
[CLIENT] division by zero

[次に進む]

エラーの意味

このエラーメッセージの文面自体の意味ですが、まず冒頭の「There was~」の文で、ゲーム(のロジック)の処理中にエラーが発生したのでやり直してください、と詳細原因には言及せずに説明しており、「------」以下で、詳細が表示されています。

そして詳細は、「gamemodes/cl_gamemode_survival.nut」というファイルの、「2737」で示される特定の場所(恐らく「2737」行目)にて、「division by zero」これはつまり、割り算を実行しようとした際に、ゼロで割ろうとしてしまった、ということを示しています。

このゼロでの割り算、というのは通常プログラムを作成する時点で回避しておくものであり、根本的な解決策は開発者側でのプログラムの修正となります。

そもそもこの「There was~」エラー自体がこのような開発者側での修正待ちでユーザー側にはどうしようもないエラーの場合に発生されがちで、過去にも何度も繰り返し発生しており、今回また新しいパターンでの発生が増えている状況のようです。

回避策はある

ただし、根本解決には開発者側の対応、つまり多くの場合はゲームのアップデートが必要となるものの、何をきっかけにこのエラーが発生してしまうのかを理解さえすれば、ゲームをプレイするユーザー側でそのきっかけを回避する、という対処が一応可能です。

今回のエラー発生のきっかけ

今回のこのエラーの場合は、特定の設定で特定の行動を取ろうとすると発生する、というタイプです。

まず、現在分かっている「特定の設定」というのは、コントローラー設定の「アクション/リロードボタン」の、「タップで使う/ホールドでリロード」という設定です。これを選択している場合に「特定の行動」を行うとエラーが発生します。

その「特定の行動」とは、Lスターもしくはボセックを拾う、リロードしようとする、装備した状態で対応する弾を拾う、など、リロードができないこの2つの武器でリロードが発動するような行動をとったタイミングとなったとき、です。

この「特定の行動」は少し条件・発生タイミングが細かいのですが、いずれにしても、Lスターとボセックを拾わなければ発生しないようです。

回避策について

そのため、この不具合が修正されるまでの回避策としては、まずLスターとボセックを拾わない、という方法があります。

もしくは、「アクション/リロードボタン」の設定を、「タップで使う/ホールドでリロード」以外の、「タップで使う/リロード」または「ホールドで使う/タップでリロード」、つまり、タップでリロードするこのどちらかに変更する、という方法です。

ただしいずれもプレイする際の制限や、操作方法の変更という大きな影響を伴うため、これらとは別に「修正されるまでプレイしないでおく」、という方法もあるかと思われるため、これらの回避策を行うかどうか、どちらを実施するかどうか、検討してみてください。

コメント(0)

新しいコメントを投稿