【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
「GER」フォルダの中はこんな感じです。
モンスターボールの文字画像が入っています。
他のボールを使いたい方は画像を用意してください。
1-2.「BattleEngine」フォルダに画像をコピーする
下記のパスにGERフォルダをコピーします。
パス:Poke-Controller-master\SerialController\Template\BattleEngine
「GER」フォルダの中はこんな感じです。
18タイプのアイコン、効果抜群の文字画像などが入っています。
1-3.「dma」フォルダに画像をコピーする
下記のパスにGERフォルダをコピーします。
パス:Poke-Controller-master\SerialController\Template\dma
「GER」フォルダの中はこんな感じです。
ダイマックスアドベンチャ―関連のアイコンとか入っています。
以上で差し替え用の配置は完了です。お疲れさまでした。
2.プログラムの修正
旧DMA自動化プログラム(1DMA.py)を修正します。
ざっくり3種類の作業をします。
1.プログラムのコピーと名前変更
2.読み込む画像のパス修正
3.メッセージ送り(Aボタンを押す回数)の調整
2-1.プログラムのコピーと名前変更
元のファイルを直接修正すると失敗したときに悲惨です。
ファイルをコピーして編集します。
今回は、「1DMA_GER.py」というファイル名にしました。
ここからはプログラムを修正していきます。
修正する行と、修正する内容だけ記載していきます。
(プログラムの無断転載はできないため。ご了承ください。)
※2022/6/10にダウンロードしたプログラムでの情報です。
修正する行は、ずれるかもしれません。参考程度にしてね。。。
まずは、Poke-Controller上の表示名を変更します。
修正行と、修正箇所(太字が追加するところ)を参考にしてください。
Poke-Controller上で変更した表示名があることを確認しましょう。
「自動DMA_GER ver4.9」
以上でプログラムのコピーと名前変更は完了です。お疲れさまでした。
2-2.読み込む画像のパス修正
次に、プログラムが参照する画像のパスを変更します。
修正は単純で、「GER/」を追加するだけです。
最低限のところだけ直していきます。
不足もありますが、動けばOKの精神で許してください。
以上で読み込む画像のパス修正は完了です。お疲れさまでした。
2-3.メッセージ送り(Aボタンを押す回数)の調整
日本語版と他言語(GER)版では、メッセージの回数が違います。
メッセージの回数が違うと、Aボタンを押す回数が変わります。
最初にお姉さんと会話するときに、Aボタンを1回多く押すようにします。
2-4.その他
自分が使いやすいように適宜プログラムを修正してください。
特にボールはモンスターボールしか用意していないので注意です。
初期設定では、ボスにウルトラボールを使うようになっています。
ここはモンスターボールに変えておきましょう。
以上ですべての作業が完了です。お疲れさまでした。
おわりに
プログラムを実行してうまく動くか確認しましょう。
上手く動かない場合はエラーログを見ながら修正しましょう。
interruptで止まる場合は、画像認識に失敗していることが多いです。
画像のパスが誤っている、画像がない、など原因は様々です…。
ひとによって環境が違うため、私の画像は使えないかもしれません。
その場合は下記を試してみましょう。
画像認識のしきい値を下げてみる(誤検知が増えるかも)
画像を自分で取得したものに差し替える(これが確実)
今回はGERで動かす際の操作をまとめました。
ただ、他言語でもやり方は同じです。
ITAで動かしたければ、
・「ITA」のフォルダを配置
・プログラムを修正
(「GER」の部分を「ITA」に置換する)
これでたぶん「ITA」でも動きます。(試していませんが←)
※追記:「CHS」に置換したら「CHS」で動きました。
「CHS」はお姉さんと会話するときのAボタン追加不要でした。
※さらに追記:「CHT」から他の言語に置換するときは注意が必要です。
プログラムの中に「matchTemplate()」という処理があるため、この部分を置換してしまうと、途中で止まってしまいます。
一つ一つ確認しながら置換するか、「CHT」以外の言語から、他の言語へ置換するようにしましょう。
上手く動いたらラッキーです。動かなかったらごめんなさい!
以上です。