見出し画像

【Poke-Controller】こちゃてす様の旧DMA自動化プログラム(1DMA.py)を他言語(GER)で動かしたときのおぼえがき

はじめに

この記事は、こちゃてす様の旧DMA自動化プログラム(1DMA.py)を他言語(GER)で動かしたときの作業をまとめたものです。
自分用の備忘録なので親切な解説記事ではありません。ごめんね

前提条件(想定読者)

  • こちゃてす様の旧DMA自動化プログラム(1DMA.py)を使える方

  • こちゃてす様の旧DMA自動化プログラム(1DMA.py)を他言語で使いたい方

注意事項

  • 私の環境では動きましたが、他の環境では動かないかもしれません。

  • とりあえず動くだけで不完全です。やったほうが良いけど省略している作業もあります。

  • なんとなくやっているのでプログラムの動きは理解してません!

  • 上手く動かなかったときのサポートをするスキルはないです!

  • 申し訳ないですが、やる場合には自己責任でお願いします。


やったこと

ざっくり次の2種類の作業が必要です。
1.差し替え用の画像を配置
2.プログラムの修正

1.差し替え用の画像を配置

旧DMA自動化プログラム(1DMA.py)は、画像認識を使っています。
他言語(GER)で動かすためには、他言語(GER)用の画像が必要です。

下記リンクに、私が取得した差し替え用の画像があります。
皆様の環境で使えるか分かりませんが、とりあえずこれを使います。
https://www.dropbox.com/sh/ui7c92yzfc4ospq/AABPJfmEnH5Y3U7dIl424OP9a?dl=0

差し替え用の画像、フォルダ構成

さきほどのリンクの中には、3つのフォルダがあります。
・「Ball」
・「BattleEngine」
・「dma」
各フォルダの中にそれぞれ「GER」という名前のフォルダが入っています。
この「GER」フォルダを、Poke-Controllerのフォルダにコピーしていきます。

1-1.「Ball」フォルダに画像をコピーする

下記のパスにGERフォルダをコピーします。
パス:Poke-Controller-master\SerialController\Template\Ball

Ballの中にGERフォルダをコピーする

「GER」フォルダの中はこんな感じです。
モンスターボールの文字画像が入っています。
他のボールを使いたい方は画像を用意してください。

モンスターボールしか用意していません

1-2.「BattleEngine」フォルダに画像をコピーする

下記のパスにGERフォルダをコピーします。
パス:Poke-Controller-master\SerialController\Template\BattleEngine

BattleEngineの中にGERフォルダをコピーする

「GER」フォルダの中はこんな感じです。
18タイプのアイコン、効果抜群の文字画像などが入っています。

18タイプのアイコンとか入っています

1-3.「dma」フォルダに画像をコピーする

下記のパスにGERフォルダをコピーします。
パス:Poke-Controller-master\SerialController\Template\dma

dmaの中にGERフォルダをコピーする

「GER」フォルダの中はこんな感じです。
ダイマックスアドベンチャ―関連のアイコンとか入っています。

ダイマックスアドベンチャ―関連アイコンとか

以上で差し替え用の配置は完了です。お疲れさまでした。


2.プログラムの修正

旧DMA自動化プログラム(1DMA.py)を修正します。
ざっくり3種類の作業をします。
1.プログラムのコピーと名前変更
2.読み込む画像のパス修正
3.メッセージ送り(Aボタンを押す回数)の調整

2-1.プログラムのコピーと名前変更

元のファイルを直接修正すると失敗したときに悲惨です。
ファイルをコピーして編集します。
今回は、「1DMA_GER.py」というファイル名にしました。

ファイルをコピーして名前変更

ここからはプログラムを修正していきます。
修正する行と、修正する内容だけ記載していきます。
(プログラムの無断転載はできないため。ご了承ください。)

※2022/6/10にダウンロードしたプログラムでの情報です。
 修正する行は、ずれるかもしれません。参考程度にしてね。。。

まずは、Poke-Controller上の表示名を変更します。
修正行と、修正箇所(太字が追加するところ)を参考にしてください。

■修正内容(上が修正前、下が修正後):21行目
'自動DMA ver'
'自動DMA_GER ver'

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:21行目

Poke-Controller上で変更した表示名があることを確認しましょう。
「自動DMA_GER ver4.9」

「自動DMA_GER ver4.9」が表示されるはず

以上でプログラムのコピーと名前変更は完了です。お疲れさまでした。

2-2.読み込む画像のパス修正

次に、プログラムが参照する画像のパスを変更します。
修正は単純で、「GER/」を追加するだけです。
最低限のところだけ直していきます。
不足もありますが、動けばOKの精神で許してください。

■修正内容(上が修正前、下が修正後):307行目
dma/DMA_report.png
dma/GER/DMA_report.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:307行目

■修正内容(上が修正前、下が修正後):363行目
dma/DMA_report.png
dma/GER/DMA_report.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:363行目

■修正内容(上が修正前、下が修正後):424行目
dma/leave_DMA.png
dma/GER/leave_DMA.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:424行目

■修正内容(上が修正前、下が修正後):464行目
dma/Pokemon_select.png
dma/GER/Pokemon_select.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:464行目

■修正内容(上が修正前、下が修正後):481行目
dma/Touhyo.png
dma/GER/Touhyo.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:481行目

■修正内容(上が修正前、下が修正後):504行目
dma/Touhyo.png
dma/GER/Touhyo.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:504行目

■修正内容(上が修正前、下が修正後):506行目
dma/Encount.png
dma/GER/Encount.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:506行目

■修正内容(上が修正前、下が修正後):531行目
dma/Encount.png
dma/GER/Encount.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:531行目

■修正内容(上が修正前、下が修正後):539行目
dma/Fight.png
dma/GER/Fight.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:539行目

■修正内容(上が修正前、下が修正後):546行目
dma/Lose_DMA.png
dma/GER/Lose_DMA.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:546行目

■修正内容(上が修正前、下が修正後):546行目
dma/Motikaeri.png
dma/GER/Motikaeri.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:546行目

■修正内容(上が修正前、下が修正後):555行目
dma/Motikaeri.png
dma/GER/Motikaeri.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:555行目

■修正内容(上が修正前、下が修正後):560行目
dma/Pokemon.png
dma/GER/Pokemon.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:560行目

■修正内容(上が修正前、下が修正後):564行目
dma/ Fight.png
dma/GER/Fight.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:564行目

■修正内容(上が修正前、下が修正後):598行目
dma/DaiMax.png
dma/GER/DaiMax.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:598行目

■修正内容(上が修正前、下が修正後):618行目
dma/Ouen.png
dma/GER/Ouen.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:618行目

■修正内容(上が修正前、下が修正後):633行目
dma/Raid_catch.png
dma/GER/Raid_catch.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:633行目

■修正内容(上が修正前、下が修正後):675行目
Ball/
Ball/GER/

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:675行目

■修正内容(上が修正前、下が修正後):707行目
dma/Motikaeri.png
dma/GER/Motikaeri.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:707行目

■修正内容(上が修正前、下が修正後):735行目
dma/Motikaeri.png
dma/GER/Motikaeri.png

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:735行目

■修正内容(上が修正前、下が修正後):1181行目
./Template/BattleEngine/
./Template/BattleEngine/GER/

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:1181行目

■修正内容(上が修正前、下が修正後):1188行目
BattleEngine/
BattleEngine/GER/

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:1188行目

以上で読み込む画像のパス修正は完了です。お疲れさまでした。

2-3.メッセージ送り(Aボタンを押す回数)の調整

日本語版と他言語(GER)版では、メッセージの回数が違います。
メッセージの回数が違うと、Aボタンを押す回数が変わります。

JPN版よりGER版の方がお姉さんおしゃべり

最初にお姉さんと会話するときに、Aボタンを1回多く押すようにします。

■追加内容:440行目
self.press(Button.A, 0.1, 0.65)

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 追加行:440行目

2-4.その他

自分が使いやすいように適宜プログラムを修正してください。
特にボールはモンスターボールしか用意していないので注意です。

初期設定では、ボスにウルトラボールを使うようになっています。
ここはモンスターボールに変えておきましょう。

■修正内容(上が修正前、下が修正後):83行目
'Urtraball.png'
'Monsterball.png'

こちゃてす様の旧DMA自動化プログラム(1DMA.py) 修正行:83行目


以上ですべての作業が完了です。お疲れさまでした。

おわりに

プログラムを実行してうまく動くか確認しましょう。

上手く動かない場合はエラーログを見ながら修正しましょう。
interruptで止まる場合は、画像認識に失敗していることが多いです。
画像のパスが誤っている、画像がない、など原因は様々です…。

ひとによって環境が違うため、私の画像は使えないかもしれません。
その場合は下記を試してみましょう。

  • 画像認識のしきい値を下げてみる(誤検知が増えるかも)

  • 画像を自分で取得したものに差し替える(これが確実)


今回はGERで動かす際の操作をまとめました。
ただ、他言語でもやり方は同じです。

ITAで動かしたければ、
・「ITA」のフォルダを配置
・プログラムを修正
(「GER」の部分を「ITA」に置換する)
これでたぶん「ITA」でも動きます。(試していませんが←)

※追記:「CHS」に置換したら「CHS」で動きました。
「CHS」はお姉さんと会話するときのAボタン追加不要でした。

※さらに追記:「CHT」から他の言語に置換するときは注意が必要です。
プログラムの中に「matchTemplate()」という処理があるため、この部分を置換してしまうと、途中で止まってしまいます。
一つ一つ確認しながら置換するか、「CHT」以外の言語から、他の言語へ置換するようにしましょう。

上手く動いたらラッキーです。動かなかったらごめんなさい!

以上です。

この記事が気に入ったらサポートをしてみませんか?