わすれなぐさ

自称情報ブログ・備忘録

タグ:BF3

【2014/9/12 更新】
【2016/9/7 少し書き換え】

PCゲームの上達にキーバインド(キー割り当て)の変更は有効です。とは言ってもその設定を自分で全て考えるのは大変なので、一例として私のキーバインドを紹介します。

マウスは5ボタンマウス(サイドにボタンが2つあるマウス)を使っています。5ボタンマウスはゲームにもブラウジングにも便利なので、もし普通の3ボタンマウスを使っている人がいたら買うべきだと思います。

このキーバインドを考えるうえで【BF4】ダステル-DustelBoxのキーバインド(リンク切れ)は大いに参考にしました。

徒歩

keybindingB1
「スプリント」はいわゆるダッシュのことです。

「アンダースラング(バレル)ウェポン切り替え」は「ガジェット1」とほぼ同じです。「ガジェット1」にキーバインドできない不具合があるのでその対策として。
【11/27 追記】Final Stand配信開始時のパッチで修正され、「アンダーバレルウェポン切り替え」の項目は削除されました。「マウスホイール↑」には「ガジェット1」を割り当ててください。

「リロード」は、普段はマウスのサイドボタンを使っていますが、武器を拾うときは「R」でないと反応しないようなのでそちらも使っています。

【2015/1/8 追記】「バイポッド展開」はやっぱり右クリックに戻しました。

地上車両

keybindingB2
「フレア」が2つあるのはどちらが使いやすいか悩んでるためです。【11/27 追記】今は「マウスホイール↓」しか使ってません。

ジェット機

keybindingB3
ピッチ操作をキーボードとマウスの両方に割り当てています。基本はキーボードで操作しますが、細かく狙いをつけたいときにはマウスを使います。キーボードは上下反転させ、マウスは反転させないのが個人的には使いやすいと思います。

「座席移動」はミス。ジェット機は1人乗りでした。

ヘリコプター

keybindingB4
ジェット機と同様、マウスのピッチ操作は上下反転させないのがいいと思います。

キーボードにもこそっとピッチアップ・ダウンを割り当てています。姿勢を崩した時など、マウスで追いつかないくらい大きく操作しなければならない時に使っています。

その他

車両の「○番席に移動」を「F1, F2, ...」からテンキーの「1, 2, ...」に変更しました。この設定は「徒歩」タブでも設定する必要があります。

「全体チャット」を「Delete」、「チームチャット」を「End」、「分隊チャット」を「Home」に変更しました。

マウス

ゲーミングマウス


コンパクトで安い5ボタンマウス


2016/9/21 更新

win10 directx error unfocused

Windows 8.1やWindows 10では、BF3を起動しようとすると「DirectX Error」が発生するようです。この記事では、その「DirectX Error」の解決方法をいくつか紹介します。なお、私のWindows 10環境では解決策3または4を実行することでBF3をプレイできるようになりました。

※ファイルの拡張子は表示する設定にしておいてください。エクスプローラー上部の「表示」→「ファイル名拡張子」にチェックを入れると、拡張子が表示されるようになります。

解決策1 BF3の互換性設定を変更する

Windows 7ならこの設定で直るかもしれません。

① 「bf3.exe」を探す
BF3のインストール先フォルダ内にあります。ほとんどの人は「C:\Program Files (x86)\Origin Games\Battlefield 3」内にあるはずです。

② 「bf3.exe」を右クリック→「プロパティ」

③ 「互換性」タブで「互換モードでこのプログラムを実行する」にチェック→「Windows Vista (Service Pack 2)」を選ぶ

④ 「OK」

起動できなければ互換性設定は元に戻して大丈夫です。

解決策2 DirectXとVisual Cを再インストールする

あまり効果が無さそうです。飛ばしていただいて構いません。

① DirectXの再インストール
「Battlefield 3\__Installer\directx\redist」内の「DXSETUP.exe」を実行します。

② Visual Cの再インストール
「Battlefield 3\__Installer\vc\vc***\redist」内の「vcredist_x64.exe」を実行します。

解決策3 BF3のバイナリファイルを書き換える

BF3のバイナリファイルを1箇所書き換えます。この方法は成功例が多く報告されており、私もこの方法で解決しました。ただし、マルチプレイではバイナリ書き換えがチートと判断されてキックされる可能性があるのでご注意ください。シングルプレイのキャンペーンだけなら問題なく遊べると思います。

バイナリを書き換える方法は2つあり、有志制作のツールを使う方法(A)とバイナリエディタを使って自分で書き換える方法(B)があります。方法Aのほうが簡単でおすすめです。ただし、そのツールに悪意がないことは保証できませんので、一応自己責任でご利用ください。

方法A ツールを使って自動で書き換える
① 次のページの下の方の「BFExeFix.exe (16 kB - downloaded ***** times.)」をクリックしてダウンロード
Patch program for Battlefield3/4 DirectX Error (CreateSwapChain)

② ダウンロードした「BFExeFix.exe」をダブルクリックして実行

win10 directx error bfexefix

③ 「Find bf3.exe (Battlefiled 3)」をクリックすると「File Path:」が自動で書き込まれます。書き込まれなかった場合は「bf3.exe」のファイルパスを自力で探してください。

④ 「Perform Patch」をクリックするとバイナリが書き換えられます。同時に、バイナリ書き換え前のファイルが「bf3.exe.backup」という名前でバックアップされます。

方法B バイナリエディタを使って手動で書き換える
バイナリエディタで「bf3.exe」のアドレス「01C6AE71」を「99」→「00」に書き換えます。バイナリを下手に弄るとBF3が起動しなくなる可能性があるので注意してください。詳しい手順は以下の通りです。

① 初めにバックアップを作成しておきます。「bf3.exe」をコピーして「bf3.exe.backup」という名前にしてください。

② 次のサイトからStirlingをダウンロード
→ Stirlingの詳細情報 : Vector ソフトを探す!

③ ダウンロードされたファイル(.lzh)を右クリック→「すべて展開(T)...」→「展開(E)」

④ 展開されたフォルダ(stir131)内の「Stirling.exe」を実行

⑤ 「bf3.exe」を画面内にドラッグ&ドロップするなどして開く

⑥ メニューバーの「検索・移動(S)」→「指定アドレスへ移動(J)...」

⑦ 「01C6AE71」と入力(コピペ)して「OK」

⑧ 「00」と入力

⑨ メニューバーの「ファイル(F)」→「上書き保存(S)」して、Stirlingを終了する

解決策3.1 サーバーからキックされたら
マルチプレイでサーバーからキックされ、以下のようなエラーが表示された場合は、PunkBusterを再インストールしてみてください。それでもダメだった場合、書き換えたバイナリファイルを元に戻す必要があります。PunkBusterとは、プレイヤー全員が必ず導入しなければならないチート対策プログラムのことです。
エラーゲームが切断されました:PunkBusterからキックされました。提示された理由:PunkBuster kicked player '******' (for 0 minutes) ... RESTRICTION: Corrupted File/Memory [98080837]

まずはPunkBusterの再インストールを試してみます。

① フォルダ「Battlefield 3」内にある「pbsvc.exe」を実行
② 「Install/Re-Install PunkBuster Service」にチェックされていることを確認して「Next」
③ 同意する場合は「I Agree」をクリック
④ 「Next」が押せるようになったらクリック
⑤ しばらく待って「Tests completed successfully without error.」と表示されたら「OK」
⑥ 「Finish」

これでもサーバーからキックされるようなら、バイナリファイルを元に戻す必要があります。「bf3.exe」を削除してから、「bf3.exe.backup」を「bf3.exe」という名前に変えてください。

解決策4 Windowsのシステムロケールを変更する

Windowsのシステムロケールを変更します。この方法でほとんどの人はBF3を遊べるようになりますが、他のアプリケーションの動作に支障を来す可能性があります(日本限定のゲームが起動しなくなる、文字化けする、等)。

① デスクトップ画面左下で右クリック→「コントロールパネル」を開く

② 「時計、言語、および地域」→「地域」をクリック

③ 「管理」タブで「システム ロケールの変更(C)...」をクリック

④ システムロケールを「英語 (米国)」に変更して「OK」

変更を適用するには再起動してください。

解決策5 AppLocaleを使ってOriginを起動する

2015/2/4 コメントを頂いたので解決策5を追加しました。
BF3 Windows8.1 DirectXエラーをAppLocaleで回避する方法:曹瑜のブロマガ - ブロマガ


MicrosoftからのAppLocaleの提供は終了しました。WebArchiveからであればダウンロード可能ですが、私のWindows 10ではAppLocaleを使ってもBF3を起動できませんでした。

参考


コンビニ払いでOriginのゲームを購入する方法を説明します。利用可能なコンビニは、ローソン、ミニストップ、セイコーマート、サークルKサンクス、ファミリーマート、セブン-イレブンです(2017/3時点)。

bog 1

2017/3/7 更新:記事を更新して、現在のOriginのバージョンに対応しました。

2020/5/8 追記:「オンライン支払いをよくするけど銀行口座やクレジットカードが用意できない」という方には「Kyash」や「バンドルカード」というサービスがおすすめです。コンビニなどからチャージできて、クレジットカードとして使えるサービス(Visaプリペイドカード)です。かなり手軽に作れるので、それらのサービスで支払ってみることもご検討ください。

Originのダウンロード

もし、まだOriginのソフトウェアを持っていない場合は、公式サイトのダウンロードページ からOriginをダウンロード、インストールしてください。

ゲームの注文確定までの手順

① Originを起動し、ログインします。

② 「ストア」で欲しいゲームを選び、「¥○○で購入」をクリックします。このとき、エディション等を間違えないように注意しましょう。

bog 2

③ 「お支払い情報」の記入画面が開くので、「コンビニ/PAY-EASY」を選択します。

bog 3

④ 初めてコンビニ支払いで購入する場合、購入用アカウントを作成する必要があります。メールアドレス、電話番号、氏名を入力してください。

bog 4

⑤ 入力できたら右下の「注文内容の確認に進む」をクリックします。

⑥ 注文内容を確認して、「今すぐ支払う」をクリックすると、注文が確定されます。

bog 5

コンビニで支払う手順

注文を確定すると、支払い方法を選択する画面が開きます。

bog 6

好きなコンビニを選択して、その先の表示内容に従うことで支払いを完了できます。コンビニごとの詳しい支払い手順はそちらに書かれているので、ここでは省略します。(※コンビニの選択を間違えた場合は、画面右の「ほかのお支払い方法を選ぶ」ボタンで前の画面に戻ることができます)

私はよくローソンを利用しています。ローソン(およびミニストップ)ではバーコードをかざすだけで支払申込ができるようになっているので、バーコードを「携帯へ転送」し、スマートフォンをかざして支払っています。

bog 7

支払いに必要な情報と支払い方法が確認できたら、「Origin by EA」の画面は右上の「×」で閉じて構いません。

注文をキャンセルするには?

コンビニ払いの場合、支払期限(1週間後)までに入金しなければ自動的にキャンセル(購入失敗)になります。

ゲームのダウンロード

支払いを完了してから、早くて2時間程でゲームのダウンロードが可能になるようです。そのタイミングでOriginから支払い完了のメールが届きます。ゲームは、Originの「ゲームライブラリ」でダウンロードしてください。

「注文する」ボタンを押しても何も起きない方へ。



【追記】読んでいただけるならこっちの記事の方がいいと思います。
Origin コンビニ決済でゲームを買う方法(ファミマ/ローソン) : わすれなぐさ




前置きと失敗談

Originのソフトウェア(PCにインストールされたOrigin.exe)を起動するといつものように「今日の特集」が。
よく見ると、驚くことにバトルフィールド4が半額だそうで!!
これは、買うしかない・・・

・・・さあ、少し作業を進めたら、支払い方法を選択する画面がでますね。
そこでコンビニ支払いを選択。
メールアドレスや名前を入れたら「注文の確認に進む」を押します。

次の画面で「私は、購入する~~」にチェックして「注文する」を押しました。

するとどうでしょう!
何も起こらない!
購入に必要な番号とかが書かれた画面が表示されるはずなのに!!

ッ!!!!

・・・というわけで。

解決策

ずばり、「ブラウザを使え!」です。
一応Internet Explorerを使うのがいいと思います。

ブラウザでOriginを開きます↓
https://www.origin.com/ja-jp/store/-ANW.html

次にログインしてください。
ログインしなくても「チェックアウトに進む」まで行ったらサインイン(ログイン)要求されるので、そこでログインするほうが良いかも。

あとは、ブラウザから商品を探して購入!の手順を踏めばうまくいくはずです。
それでも最後の画面が表示されない方は、ごめんなさい。

解決法+α

さて、ほとんどの方は上の解決法でいいでしょう。
でも私を含めて何人かは、これだけだとまだ助言が足りません。
何が足りないのか、それは「今日の特集」から商品が注文できないということ!

今回私は、上で言ったようにOriginのソフトを起動すると現れる「今日の特集」からBF4を購入したいのです。
現在、なぜかBF4の割引価格が、「今日の特集」だと50%オフで、普通の年末セールだと30%オフなんですよね。わけが分からない!
こうなると「今日の特集」を利用しない手はないのですが、先ほどの解決法、つまりブラウザからの購入ではこれが利用できません。「今日の特集」がありませんので。

ではどうするか、それは「ソフトとブラウザの合わせ技」

まず、普段通りOriginを起動すると「今日の特集」が現れますね。(もう閉じちゃったって方は再起動するなりしてください)
そこで「今すぐお得に購入!」等々のボタンを押して商品をカートに入れます!
ソフトを使うのはここまで!次はブラウザを操作します。
ブラウザでOriginを開くと、右上あたりにショッピングカートのマークがあると思いますので、そこをクリックします。
どうですか、ソフトの方からカートに入れた商品はありましたか!?
あとは「チェックアウトに進む」を押して、普通に購入する手順を踏むだけです。

【6/3追記】BF3無料キャンペーンに伴ってすごい勢いで記事が伸びるんで驚いています。さて、この記事ですがちょっと古いもので、この方法でも治らない人が多いようです・・・。Windows7(多分8も)の人はこの記事が役に立つでしょう。ですがWindows8.1の人はおそらくダメです、こちらの記事を参考にしてください
BF3 Windows8.1「DirectX Error」を解決する : わすれなぐさ


こんな風に表示される方へ↓
DirectX function "m_dxgiFactory->CreateSwapChain( m_device, &sd, &m_swapChain.assignGet())" failed with DXGI_ERROR_INVALID_CALL: The application has made an erroneous API call that it had enough information to avoid. This error is intended to denote that the application should be altered to avoid the error. Use of the debug version of the DXGI.DLL will provide run-time debug output with further information.. GPU: "NVIDIA GeForce GTX 560 ", Driver: 32723
まず、グラフィックのドライバを最新のものにしてください。

GeForceの人はこちらを参考にしてください。
ドライバとかわからないって人はとりあえず次に進んでみてもいいかも。ダメで元々

続いて、以下の方法をとってみてください。 

①bf3.exeを探して下さい。

C:\Program Files (x86)\Origin Games\Battlefield 3
などにあると思います。

②右クリックして「プロパティ」 から「互換性」タブを開きます。

③「互換モードでこのプログラムを実行する」にチェックをいれて、「Windows Vista (Service Pack 2)」を選んで下さい。

④「OK」を押して、もう一度サーバーに参加してみましょう。

このページのトップヘ