アプリビレッジ

おすすめのゲーム・スマホアプリの情報やストーリーなどの濃い話(ネタバレ含む)、面白い口コミまでもひっそりと公開中!

簡単にできるUWSCを使ったゲーム自動化のプログラミング【応用編】

公開:2021年05月15日

ゲーム自動化を行うためのマクロを何回かに分けてご紹介してきました。今回は応用になります。前回までのプログラミングでは補いきれなかった部分になりますので、これを読めばマクロがより便利で使いやすくなるはずです。

今回紹介する追加プログラムはこちらになります。

  1. 待ち時間を作る
  2. ランダムを作り不規則にする
  3. カーソルの位置を記憶し、元の場所に戻す
  4. テキストボックスを表示
  5. ループの回数指定とカウント表示
  6. メールの送信

興味のあるプログラムは見つかりましたか。それでは詳しく紹介していきましょう!

1位:崩壊スターレイル

『崩壊』シリーズの最新作が2023年4月26日にスペースファンタジーRPGとしてサービス開始!
今ダウンロードすれば最大80連ガチャ無料!
宇宙を舞台にした本格RPGを堪能せよ!

2位:神の契約:異世界伝説無職で転生召喚RPG冒険育成

キャラクターの育成はあなた次第!
スキル変更は自由&スキル習得も可能で、ギフトをキャラクターにプレゼントすると親愛度が上がるなど、育成要素は多数。
奥深い育成システムで、あなただけの最強キャラクターを育成しよう!

3位:カバラの伝説

自然豊かな世界を舞台としたファンタジーRPG!
花精霊の守護のもと、仲間とともに力を合わせ、モンスターの魔の手からカバラを救え!
バトルの他、釣り、料理、建築といったミニゲームも楽しめますよ!

4位:ムーンライズ・領主の帰還

スリーマッチ形式のパズルRPG×建国ストラテジー!
ヴァンパイアたちが再び夜の静寂を取り戻すべく戦うストーリーが熱い!
堕落者の鉄騎や亡霊たちをパズルバトルで撃退しながら廃墟となった領地を育てよう!

5位:ダークテイルズ~鏡と狂い姫

童心破壊のダーク物語RPGスマホに登場!
大盤振る舞いが凄まじく驚きの1001連ガチャを回せるぞ!
始めるなら今しかない!

6位:ホワイトアウト・サバイバル

戦略とシミュレーションの新境地…
ユニークなゲーム性と、細部までこだわったサバイバルシミュレーション。
さあ、冒険に出かけよう!

7位:ヴァイキングライズ

北欧神話やヴァイキングのヒーローたちを仲間にできるリアルタイムバトル戦略ゲーム!
TVCM放映中!実力派芸人「バイきんぐ」が海賊になって登場!
バイきんぐとともに、世界一を目指す喜び、伝説に残る戦いを堪能しましょう!

8位:アーサーの伝説-Excalibur-

今年絶対遊びたいMMOスマホゲーム!
「超レア使い魔」「可愛い髪飾り」「10億ダイヤ」などなど、今始めればお得なプレゼントが満載です!
各地を探索し,冒険を重ねて,唯一無二の英雄伝説を刻もう!

9位:D6 -運命の六騎士

運命の英雄の転生者を探す物語、本格ブレイクバトルRPG!
オート戦闘の中に光る、1秒間のガードブレイクがめっちゃ面白い!
相手に圧倒的なダメージを与え、ステージ攻略を目指そう!

10位:MONOPOLY Solitaire: Card Games(モノポリー)

クラシックソリティアとモノポリーを混ぜた新しいタイプのボードゲーム!
簡単にプレイでき、病みつきになるモノポリーソリティアは、ボードゲームの魅力を満載したリラックスできるカードゲームですよ!
ぜひ遊んでみてくださいね!

11位:ザ・グランドマフィア

マフィアの抗争を描いたRTS
暗黒街を自由に育てながら、全世界のプレイヤーたちと領土を奪い合おう。
金と名声と美女のすべてが手に入るぞ。アウトローな設定が好きな人におすすめ!

12位:プロテニス対戦

プロテニス対戦は、素晴らしい3Dグラフィックスと分かりやすいコントロールを搭載したオンラインのマルチプレイヤーテニスゲームです。
スワイプするだけで点数を決められますよ!
シンプルに遊べるのに、テニス特有の奥深い戦略性がめっちゃ面白い!

13位:タイトーオンラインクレーン

「タイトーオンラインクレーン」は365日24時間、いつでもどこでも
本物のクレーンゲームが遊べる!獲得した景品はご自宅まで無料でお届け!
クレーンは時間内なら何度でも動かせるので、クレーンゲーム初心者にもオススメです。

ゲーム自動化を止める待ち時間を作る

ゲームを自動化させていた、もっとも考えるのが行動のスピードです。オンラインゲームが増えた昨今では何でもかんでも素早くクリックしているとエラーが発生してしまいます。なので、何かの行動をする前、した後に少し間を取りたいことってありますよね。その悩みを解決するのがSLEEPです。使い方は簡単。

SLEEP(秒)

止めたい部分に入れて秒数を指定すればOK。0.01秒まで対応しており、例えば0.1秒止めたいならsleep(0.1)、12秒止めたいならsleep(12)ですね。

ゲーム自動化でランダムを入れて不規則にする

皆さんが心配している中に、同じ行動をずっと繰り返していたらバレてしまうというものがあるかと思います。サーバーでプレイヤーの行動を全てログとして捉えていたら、確かに同じ行動は怪しい行動だと思われるでしょう。まあ、サーバーの負荷が上がるのでまずないと思いますが……それでも、心配する人のためのランダムの作り方を紹介します。

ランダムにするためには、「RANDOM(範囲)」を使用します。0~範囲の中に入れた数字がランダムに選ばれます。つまり、RANDOM(10)と指定すると0~9が選ばれるということですね。これを応用して

R=RANDOM(10)

とすれば、変数にも数字を入れることができます。つまり、前回紹介したクリック動作に上記のランダムのRをプラスすることで、毎回クリック場所を10程度ずらせるのです。

IFB CHKIMG("画像ファイル名")
R=RANDOM(10)
BTN(LEFT, CLICK, G_IMG_X+10+R, G_IMG_Y+10+R)
ENDIF

10は画像によって異なりますので、ご自身が使う画像やクリック箇所に合わせて変更しましょう。これで毎回同じ場所をクリックするという問題は回避できます。同じ場所をクリックするのが心配という人は、ぜひ使ってみてくださいね。

ゲーム自動化時のカーソルの移動が煩わしい

PCが1台しかない場合、ゲーム自動化をしているときにパソコンが使えないので、無理やりパソコンを使おうとしますよね。その時、高い確率でマウスの主導権をマクロに取られて鬱陶しさを感じる人もいるでしょう。私も同じです。そんな人におすすめなのが、カーソルの位置を元に戻すプログラムです。

x=G_MOUSE_X
y=G_MOUSE_Y
MMV(x, y)

変数のxとyに「G_MOUSE_X」と「G_MOUSE_Y」で縦と横の座標を覚えさせて、「MMV(x, y)」でカーソルを移動させます。ですので、実際に使う場合には以下のような形になります。

IFB CHKIMG("画像ファイル名")
x=G_MOUSE_X
y=G_MOUSE_Y
BTN(LEFT, CLICK, G_IMG_X+10, G_IMG_Y+10)
MMV(x, y)
ENDIF

こうしておけば、画像を見つけてマクロがクリックした後に、元の座標xとyにカーソルを戻してくれます。

ちなみに変数において「xとX」、「yとY」はまったく別ものになりますので、「MMV(x, y)」を使用の際は「x=G_MOUSE_X」と「y=G_MOUSE_Y」の最初の文字は小文字で書くのを忘れないようにしてください。

ゲーム自動化を彩るテキストの表示

マクロがうまく動いてくれないときやどの部分を実行しているのか、表示させたいことってありますよね。短いマクロならゲームの自動化をしていても問題はありませんが、長くなってくると今、どの部分のプログラムが動いているのかわかりにくくなってしまいます。エラーを見つけるのにも役立ちますので、テキストの表示は重要です。UWSCでももちろん、テキストボックスの表示が可能です。

FUKIDASI(表示したいテキスト, 横, 縦, 吹き出しの向き, フォントサイズ, フォント名, 文字色, 背景色, 透明化) 

吹き出しの向きに関しては「0.なし」「1.上」「2.下」「3.左」「4.右」と数字で指定します。全て入力する必要はなく、省略も可能です。「FUKIDASI(表示したいテキスト)」とすれば、左上に黄色い背景色の黒いフォントでテキストが表示されます。テキストをダブルコーテーション("文字列")で括り、プラス(+)をつけることで、変数も使えます。詳しくは下のループ表示回数のところをご覧ください。

似たようなものにMSGBOXもありますが、こちらはOKのクリックが必要になったりしますので、ゲーム自動化ではあまり使いませんので紹介はしません。もしも、興味がある人は「UWSC辞典」に詳しく載っていますよ。

ゲーム自動化のループ回数設定とカウント表示

マクロを走らせていて、回数指定が欲しくなることがあります。例えば、10回だけ周回したいとか、スタミナ回復薬を3個まで使いたいなど、使用状況において無限ループでは困ることがちょいちょいでてきますよね。簡単にループ回数を決められますが、フラグやIFを使うので、少しプログラミングぽくなっていきます。

まずは追加するプログラムを紹介します。

A=1
IFB A = 10
BREAK
ENDIF
A = A + 1

「A=1」はループの外に書き、それ以降はループ内に入れます。IFBを越えて、「A = A + 1」に辿り着くたびに、Aに1ずつプラスされていきます。それが「A = 10」で指定した10回に到達すると、ループを「BREAK」で終了させます。10を100に変えると100回ループということですね。上は必要な部分だけを入れましたが、実際に使うときは以下のような形になります。

A=1
WHILE TRUE
IFB CHKIMG("画像ファイル名")
BTN(LEFT, CLICK, G_IMG_X+10, G_IMG_Y+10)
SLEEP(1)
A = A + 1
ENDIF
IFB A = 10
BREAK
ENDIF
WEND

少し長いので難しく見えますが、今までの応用でしかありませんので、きちんと理解していれば、簡単に使いこなせるはずです。それとSLEEPを入れないと、PCの性能によっては1ループで2回以上カウントすることがあります。ご自身の環境に合わせて待ち時間を設定してください。

ループ回数の表示

指定回数だけループさせると次に気になるのが、現在は何回目なのかということでしょう。こちらも応用となりますので、今までの内容を使えば実現可能です。使うのは「FUKIDASI(テキスト表示)」ですね。「IFB CHKIMG("画像ファイル名")」の上に、

FUKIDASI("現在" + A + "周目")

を入れるだけです。ビックリするくらいに簡単ですよね。書き方を少し変えるとカウントダウンにすることもできます。

B = 10 - A
FUKIDASI("残り" + B + "周")

変数の計算を覚えるとこのように簡単に表示ができるようになります。他にもSLEEPを使ったカウントダウンタイマー持つくれます。SLEEPで長い秒数を指定したいときに使うと便利ですね。使うのは「FOR ~ NEXT」です。こちらは条件が満たされるまで次へ進まないプログラムです。

FOR A = 179 TO 1 STEP -1
FUKIDASI("あと" + A + "秒")
SLEEP(1)
NEXT

と書くことで、180秒間のカウントダウンタイマーになります。待ち時間を変更する場合には179の部分を変更してください。

ゲーム自動化でメールを送信しよう

ここからはメールサーバーの知識やアカウント設定などが必要になります。自分でメーラーの設定をしたことがある人なら問題ないと思いますが、追加するプログラムが増えますのでハードルが一気に上がるのでご注意ください。マクロの終了や異常が発生した先にメールで教えてくれるようになるのは便利ですよ。

// メール送信設定 ここから ----------------------------------------------
mailfrom = "送信元メールアドレス"
mailto = "送信先メールアドレス"
subject = "メールタイトル"
body = "メール本文"
authflag = true	// SMTP認証使用の有無 Trueが使用 Falseが不使用
authid = "アカウントID"	// SMTP認証使用時のID
authps = "パスワード"	// SMTP認証使用時のパスワード
sslflag = true	// 暗号化された接続(SSL)使用の有無 Trueが使用 Falseが不使用

smtpserver = "送信サーバーアドレス"	// Gmailならsmtp.gmail.com
smtpserverport = 465	// サーバーのポート番号 Gmailなら465

// 以下は変更不要
Dim objEmail = CreateOleObj("CDO.Message")

objEmail.From = mailfrom
objEmail.To = mailto
objEmail.Subject = subject
objEmail.Textbody = body

schemas = "http://schemas.microsoft.com/cdo/configuration/"
objEmail.Configuration.Fields.Item(schemas + "sendusing") = 2
objEmail.Configuration.Fields.Item(schemas + "smtpserver") = smtpserver
objEmail.Configuration.Fields.Item(schemas + "smtpserverport") = smtpserverport

//SMTP認証を利用する場合
ifb authflag
    objEmail.Configuration.Fields.Item(schemas + "smtpauthenticate") = true
    objEmail.Configuration.Fields.Item(schemas + "sendusername") = authid
    objEmail.Configuration.Fields.Item(schemas + "sendpassword") = authps
endif

//暗号化された接続(SSL)を利用する場合
if sslflag then objEmail.Configuration.Fields.Item(schemas + "smtpusessl") = true

objEmail.Configuration.Fields.Update

// ここまで ----------------------------------------------

手打ちだと確実にミスが出るのでコピペでお使いください。送信元のアドレスは正直なんでも構いませんが、お使いの環境に酔ってはスパムメールとして扱われます。できれば、送信サーバーと同じアドレスを使うと良いでしょう。「送信先」はメールが届いて欲しいメールアドレスになります。

その他の設定につきましてはお使いのメールサーバーにお問い合わせください。言っている意味が分からない場合、おそらく設置は難しいです。以上がメールを送る設定になります。実際にメールを送る部分に以下を追加ください。

COM_ERR_IGN
objEmail.Send
COM_ERR_RET

上記で紹介したループの「BREAK」の前などに入れると、ゲーム自動化の終了をメールで教えてくれるようになります。ぜひ、お試し下さい。

まとめ

簡単にできるゲーム自動化のプログラミング「応用編」はいかがだったでしょうか?

今回紹介したプログラムを追加すれば、UWSCが使える環境であれば、かなりの状況に対応できるようになるはずです。色々なものが便利になり、周回にかける手間を大きく削減できるようになります。ポチポチと修行僧のようにクリックし続けるのもゲームの楽しみでしょうが、結果が変わらないならマクロでも良いんじゃないのかと思う人は、ぜひゲーム自動化のマクロを覚えていきましょう。

あなたの人生の時間は限られています。自分が後悔しないように有意義に使って下さいね!

1位:崩壊スターレイル

『崩壊』シリーズの最新作が2023年4月26日にスペースファンタジーRPGとしてサービス開始!
今ダウンロードすれば最大80連ガチャ無料!
宇宙を舞台にした本格RPGを堪能せよ!

2位:神の契約:異世界伝説無職で転生召喚RPG冒険育成

キャラクターの育成はあなた次第!
スキル変更は自由&スキル習得も可能で、ギフトをキャラクターにプレゼントすると親愛度が上がるなど、育成要素は多数。
奥深い育成システムで、あなただけの最強キャラクターを育成しよう!

3位:カバラの伝説

自然豊かな世界を舞台としたファンタジーRPG!
花精霊の守護のもと、仲間とともに力を合わせ、モンスターの魔の手からカバラを救え!
バトルの他、釣り、料理、建築といったミニゲームも楽しめますよ!

4位:ムーンライズ・領主の帰還

スリーマッチ形式のパズルRPG×建国ストラテジー!
ヴァンパイアたちが再び夜の静寂を取り戻すべく戦うストーリーが熱い!
堕落者の鉄騎や亡霊たちをパズルバトルで撃退しながら廃墟となった領地を育てよう!

5位:ダークテイルズ~鏡と狂い姫

童心破壊のダーク物語RPGスマホに登場!
大盤振る舞いが凄まじく驚きの1001連ガチャを回せるぞ!
始めるなら今しかない!

6位:ホワイトアウト・サバイバル

戦略とシミュレーションの新境地…
ユニークなゲーム性と、細部までこだわったサバイバルシミュレーション。
さあ、冒険に出かけよう!

7位:ヴァイキングライズ

北欧神話やヴァイキングのヒーローたちを仲間にできるリアルタイムバトル戦略ゲーム!
TVCM放映中!実力派芸人「バイきんぐ」が海賊になって登場!
バイきんぐとともに、世界一を目指す喜び、伝説に残る戦いを堪能しましょう!

8位:アーサーの伝説-Excalibur-

今年絶対遊びたいMMOスマホゲーム!
「超レア使い魔」「可愛い髪飾り」「10億ダイヤ」などなど、今始めればお得なプレゼントが満載です!
各地を探索し,冒険を重ねて,唯一無二の英雄伝説を刻もう!

9位:D6 -運命の六騎士

運命の英雄の転生者を探す物語、本格ブレイクバトルRPG!
オート戦闘の中に光る、1秒間のガードブレイクがめっちゃ面白い!
相手に圧倒的なダメージを与え、ステージ攻略を目指そう!

10位:MONOPOLY Solitaire: Card Games(モノポリー)

クラシックソリティアとモノポリーを混ぜた新しいタイプのボードゲーム!
簡単にプレイでき、病みつきになるモノポリーソリティアは、ボードゲームの魅力を満載したリラックスできるカードゲームですよ!
ぜひ遊んでみてくださいね!

11位:ザ・グランドマフィア

マフィアの抗争を描いたRTS
暗黒街を自由に育てながら、全世界のプレイヤーたちと領土を奪い合おう。
金と名声と美女のすべてが手に入るぞ。アウトローな設定が好きな人におすすめ!

12位:プロテニス対戦

プロテニス対戦は、素晴らしい3Dグラフィックスと分かりやすいコントロールを搭載したオンラインのマルチプレイヤーテニスゲームです。
スワイプするだけで点数を決められますよ!
シンプルに遊べるのに、テニス特有の奥深い戦略性がめっちゃ面白い!

13位:タイトーオンラインクレーン

「タイトーオンラインクレーン」は365日24時間、いつでもどこでも
本物のクレーンゲームが遊べる!獲得した景品はご自宅まで無料でお届け!
クレーンは時間内なら何度でも動かせるので、クレーンゲーム初心者にもオススメです。

前の記事

次の記事

あなたにおすすめ

よく読まれている記事

同時に読まれている記事

書き込みはこちらから