ハムログ

プログラミングやツールなどのTIPSや備忘録を書いていきます。他にも趣味に関することを書くかもしれません。右も左も分からない情報系初心者。

UWSCを使ってClicker Heroes(クリッカーヒーローズ)で連打する(試作版)

今回はUWSCを使ってこのClicker Heroesを非アクティブウィンドウでも連打したいと思います。
前置きは長いと思ったら読み飛ばしても構いません。

前置き

最近、クッキークリッカーからクリッカー系のゲームが流行ってきましたね。
そのクリッカー系のClicker Heroes(クリッカーヒーローズ)というゲームがあります。

Clicker Heroesはクリックするとモンスターにダメージを与えることができます。
さらに、Ancientの中にはクリックダメージの倍率を上げるものやクリックをし続けるとクリックダメージが増加する効果を持つものもあります。
つまり、プレイスタイルに依りますが、連打することはClicker Heroesにとってかなり重要だと考えています。


しかしながら、手動で連打するのは手が疲れますし、連打ツールを使うとマウスの位置でクリックしようとするので、マウスが束縛されるという問題があります。
この問題を解決するために今回はUWSCを使ってこのClicker Heroesを非アクティブウィンドウでも連打してみます。
ただし、UWSCwindowsのみ対応なので、他のOSの場合は残念ながら使用できません。
ちなみに、連打ツールをまだ探しきれていないので、マウスが束縛されないものやより良いツールがあるかもしれません。
そうだったらこの記事って一体・・・。

ソースコード

実際のコードは以下です。

//ブラウザのIDを取得
id = GETID("Clicker Heroes")
Hnd = GETCTLHND(id, "MacromediaFlashPlayerActiveX")

//バックグラウンド実行に指定
MOUSEORG( Hnd ,2 )

//---Flashのx座標の基準点
x = status(Hnd, ST_X)
//---Flashのy座標の基準点
y = status(Hnd, ST_Y)

//クリックループ
while true
    if GETKEYSTATE(VK_ESC) then exit    //ESCキーで終了
 
    //モンスタークリック
    BTN(LEFT, CLICK, x+900, y+320)
    SLEEP(0.0001)    //クリック間隔
wend

このコードでは、ブラウザのフラッシュプレイヤの座標(900,320)を連打させることをしています。
この座標(900,320)がモンスターの表示される位置です。
クリック間隔の指定としてSLEEP(0.0001)としていますが、PCの処理が追いつかない場合は数値を大きくした方がいいかもしれません。
また、IE限定なので、他のブラウザには対応していません。
基本的に参考サイトを見て作ったので、自分で言うのもなんですが芸がありません。

使い方

1. ソースコードをメモ帳などのエディタで拡張子を.UWSCとして保存する。ファイル名は何でもいいです。例えば"AutoClicker.UWSC"など。
2. UWSCを起動。
3. UWSCに作ったUWSCファイルをドラッグ・アンド・ドロップすれば、実行されます。Escで停止します。Alt+F1で再実行されます。

連打中はClicker Heroesを操作できないので、Heroのレベルアップやアップグレードの購入などの時は連打を停止してください。

Clicker Heroesをプレイしている方々の助けに少しでもなればと思います。

参考サイト

今までUWSCを全く使ったことがないので、非常に助かりました。感謝しています。
「クッキー クリッカー」自動化ツール(メインクッキー) | 我唯我在的 技術志向
UWSCを使った Flashゲームの自動化 | きままにウェブ
前者は連打の仕方、後者はバックグラウンド実行の方法が記述してあり、非常に勉強になりました。