D2R用Pixel Botによる自動化:Diablo II Resurrectedの効率プレイガイド

Diablo II Resurrected(D2R)において、繰り返しの作業を自動化するための強力なツールとして、PixelベースのオープンソースBot「botty」が存在します。このツールは、画像認識技術と経路探索アルゴリズムを活用して、キャラクターの移動、戦闘、アイテム収集などを自律的に実行します。

環境構築と初期設定

動作要件

  • OS: Windows 10 または 11 (64bit)
  • Python: バージョン3.10以上
  • ゲーム言語: 英語に設定されていること
  • 推奨解像度: 1280x720 ウィンドウモード

インストール手順

git clone https://gitcode.com/gh_mirrors/bo/botty
cd botty
pip install -r requirements.txt

ゲーム起動後、F9キーを押すことで最適化スクリプトが実行され、F10でデバッグ機能を使用できます。

基本設定

config/params.iniファイルを編集して、以下の項目を設定します:

[general]
name = AutoRunner
difficulty = hell

[routes]
order = travincal, pindleskin

準備ができたら、次のコマンドで実行開始:

python src/main.py

主な機能と仕組み

画像認識エンジン

リアルタイムのスクリーンショットからUI要素や敵、アイテムを検出します。これにより、現在の状態を判断し、適切なアクションを選択します。

ナビゲーションシステム

テンプレートマッチングにより現在位置を特定し、事前に定義された経路データに基づいて目的地までの最短ルートを算出します。各エリアに対応したテンプレート画像を用いて正確な移動を実現しています。

実践的な利用方法

ボス戦の自動化

例えばPindleskinの討伐では、以下の流れで自動処理を行います:

  1. 適切な場所へテレポートまたは移動
  2. 戦闘開始とスキルの自動使用
  3. 戦闘終了後のアイテム回収
  4. 安全な帰還と補給

アイテム管理機能

以下の機能により効率的な装備管理が可能です:

  • 品質・種別に基づく自動ピックアップ
  • 不要品の売却
  • 宝石の合成処理

カスタマイズと設定

職業別パラメータ設定

Sorceress向け設定例:

[char]
type = sorceress
belt_rows = 4
casting_frames = 9
teleport = f1

[skills]
chain_lightning = f2
lightning = right

Paladin向け設定例:

[char]
type = paladin
primary_attack = left
secondary_skill = f3
aura = f4

アイテムフィルタリングルール

BNIP形式で拾取条件を記述:

[ItemRules]
Quality = Unique | Set
Class = Amulet | Ring
Stat[allres] >= 20

タスクシーケンスの指定

params.iniで複数のタスクを任意の順序で実行可能:

[routes]
order = travincal, pindleskin, eldritch, nihlathak, arcane

トラブルシューティング

認識精度の問題

  • ゲーム言語が英語であることを確認
  • 解像度が1280x720に設定されているかチェック
  • F10デバッガを使用してテンプレート一致状況を確認

経路エラー対策

  • テンプレート画像が正しく読み込まれているか検証
  • pather.py内の遅延値を調整
  • ウィンドウが他のアプリケーションに隠れていないか確認

高度なカスタマイズ

新しいルート追加方法

  1. assets/templates配下に新規マップ画像を配置
  2. src/run/に専用モジュールを作成
  3. 経路情報をpathingデータに追加
  4. configファイルに新ルートを登録

拡張開発のためのアーキテクチャ

主要コンポーネント:

  • src/bot.py - メインロジック
  • src/char/ - 職業別処理
  • src/pather.py - 移動制御
  • src/item/pickit.py - アイテム判定
  • src/run/ - タスク実装

カスタムキャラクタークラスの作成

from char.i_char import IChar

class CustomCharacter(IChar):
    def __init__(self):
        skills = {'main_attack': 'f1', 'buff': 'f2'}
        super().__init__(skills)
    
    def execute_combat(self):
        # 独自の戦闘ロジックを実装
        pass

運用時の注意点

  • 常にゲームの利用規約を遵守すること
  • 定期的に設定ファイルをバックアップ
  • ログ監視により異常を早期発見
  • CPU・メモリ使用量に注意

タグ: d2r-bot diablo2-resurrected game-automation pixel-bot python-automation

8月15日 00:53 投稿