ドラゴンクルセイド2 マクロ戦記

ベクターがブラゲタイムで運営するドラゴンクルセイド2をマクロで自動化

金貨を稼ぐ(2)

2011年06月29日 07時28分41秒 | ドラゴンクルセイド2
簡単に開発できたように書きましたが、狩り同様に試行錯誤と失敗の連続で、どちらも未だに完成したとは思えず、まだまだ改良の余地があります。

今回は資源の市場売りマクロの失敗と、それをどう解決したかを書きたいと思います。

・最も高い食糧を売りまくって0にしてしまった。
 もちろん閾値を設けて下限未満であれば売らないようにしていたのですが、なぜか売りまくり。
 よくよく見直したら資源量は木石水米の順なのに、NPC売りなどの順序は木石米水となっていて水の資源量を見て米を売りまくっていました。

・水晶を売りたい。
 食糧売りのバグもあってか水晶が大量に余ってしまう状況を打開するため特定資源のみを出品する機能を設けてしまいました。
 食糧販売バグが解決してからは使わないかなとも思いましたが、安い石材が余っているサーバーではピンポイントに石材を販売できたりするので結構役に立っています。


金貨を稼ぐ

2011年06月28日 22時00分46秒 | ドラゴンクルセイド2
DC2では資源を売りたいだけ売れるのですが、NPC買取り価格ではちょっともったいないですよね。
しかし市場に出品するにしても、定期的に相場を調べて価格を決定し出品するのは大変な手間がかかりますので、この作業を自動化することにしました。

色々試行錯誤しましたが現在の仕様はこんな感じです。
・各資源の市場価格を調査する。
・市場に出品されていない資源はNPC買取り価格を調べて計算式に基づき単価を決定する。
・調査した中で最も高く売れる資源か最も在庫量が多い資源か、特別に指定した出品を出品する。


これを一時間毎に実行していますが、気が付くと金貨が凄い額になっていましたので、財テクを兼ねてモヒられないようにギフト券を購入しておくこととします。

昇級試合

2011年06月27日 21時42分14秒 | ドラゴンクルセイド2
闘技場には昇級試合というものがあることに気がつきました。

1日1回だけ挑戦できるようなので、早速、昇級試合の「挑戦」ボタンを押すように改良してみます。
既に英雄を一人一人確認する所は完成していますので、ついでにボタンを押すだけです。

条件としては、
・挑戦可能時間は 10:00:00 ~ 21:00:00 です
・すでに挑戦済みです
というメッセージが表示されていない場合だけに限定です。


これで毎日昇級試合に挑戦できます。

闘技場の挑戦

2011年06月25日 21時32分11秒 | ドラゴンクルセイド2
本日は闘技場に挑戦するロジックを組んでいました。

仕様は以下の通り。

・実行するかどうかはiniファイルにて制御
・城はiniファイルで指定(固定1城のみ)
・挑む英雄のレベルは自分の英雄との差を範囲で設定
 (自分の英雄がLv45のときに-20~-10までと設定すれば、Lv25~Lv35に挑戦する)

まだまだ改良すべき点がありますが、とりあえず1時間毎に挑み続けています。

改良すべき点とは、
・複数の城で挑戦したい
・英雄(レベル)によって対戦相手のレベルを調整したい
です。



狩りと共に自動化したいこと(2)

2011年06月19日 22時21分17秒 | ドラゴンクルセイド2
◆英雄の状態
・体力は十分かどうか(死んでいないか)
レベルが低いうちは単騎で狩りに出しているのですが、そうすると結構体力が消耗してしまい、いつの間にか死んでしまっていることがあります。
まずは死んだ英雄を生き返らせる機能を追加することにしました。
英雄画面を開いて一人一人チェックして死んでいれば復活を二回クリックするだけなので難易度は低いです。

・レベルがあげられるかどうか
狩りで出現するモンスターの強さや拾ってくるアイテムは英雄のレベルに依存します。
レベルが上げられるようであれば早めに上げておきたいのですが、兵の搭載を行わないとまた死んでしまう可能性があります。
レベルアップそのものは技術的には簡単に行えます。

・兵の補充が必要かどうか
兵の補充は難しそうですが検討中です。

・荷物がいっぱいでないか
インベントリが一杯かどうかのチェックは検討してみます。

◆現況
・攻撃が来ていないか
赤い剣が表示されますので簡単に検出することが可能です。
攻撃が来ている場合はYahoo!メールから携帯(任意のメールアドレス)に警告のメールを送信するようにしてみました。

こんなメールが来ます。
タイトル:s01攻撃!
本文:他人の城(500|500)→主城(0|0)



・偵察されていないか
未読メールをチェックするのは簡単なので、偵察メールが来ていれば攻撃と同様にYahoo!からメールを送信することにしました。

こんなメールが来ます。
タイトル:s01偵察!
本文:○○○○による主城(0|0)の偵察結果 2011-06-19 22:25:00



・プレーヤーからメールが来ていないか
未読メールチェック機能を応用すれば簡単です。
不在確認で送って来るプレーヤー対策として、とりあえず既読にする機能を作成してみました。

狩りと共に自動化したいこと

2011年06月16日 23時15分22秒 | ドラゴンクルセイド2
自分で操作して狩りをしているときには、合わせて以下の操作も行なっていることに気がつきました

◆英雄の状態
・体力は十分かどうか
・レベルがあげられるかどうか
・兵の補充が必要かどうか
・荷物がいっぱいでないか

◆現況
・攻撃が来ていないか
・偵察されていないか
・プレーヤーからメールが来ていないか

狩りマクロは定期的に動作させているので、ついでにこれらのチェックが行えると便利ですね。


順調に狩りマクロが動いています(2)

2011年06月15日 20時52分13秒 | ドラゴンクルセイド2
INIファイルに対し以下のように設定することとします。

[狩り]
城1 = 主城
英雄グループ1 = 英雄1,英雄2,英雄3
英雄グループ2 = 英雄4,英雄5
出兵先1 = 遠い山地(x|y),遠い丘陵(x|y),遠い森林(x|y),遠い湿地(x|y)
出兵先2 = 近い山地(x|y),近い丘陵(x|y),近い森林(x|y),近い湿地(x|y)
城2 = 僻地城
英雄グループ3 = 英雄6,英雄7
出兵先3 = 悪魔城(x|y),悪魔城(x|y),悪魔城(x|y)

きっちり片道1時間弱の狩り場を設定しておき、日付が変わる頃から2時間間隔で動作させれば22:00頃にはDPを消費できます。
残業して帰宅してから所持品の整理をしたり装備を見直すなどして、また日付が変わって寝る頃に狩りマクロをセットすれば無駄がありません。

順調に狩りマクロが動いています

2011年06月15日 00時28分27秒 | ドラゴンクルセイド2
今日も順調に狩りしてます。

自作の狩りマクロ機能を開発するにあたり次の仕様を実装しました。
・城別に出兵先を指定できる。
・英雄(グループ)によって出兵先及び順序を指定できる。
・山森丘沼は1日1回の出兵とする。
・悪魔城は廃虚でなければ何度でも出兵する。廃虚かどうかの確認は一定時間(1時間)間隔で行い、サーバーの負荷軽減を行う。
・風水は訪問済でなければ出兵する。訪問済の確認は悪魔城に準ずる。

狩りの他にあると便利な機能

2011年06月12日 12時46分29秒 | ドラゴンクルセイド2
狩りの他にも24時間張りついていなければならないことがあります。

①建設

建物によっては長時間かかる施設があり、これを育てないことには城が発展しません。城が発展しないと総合的には強くなれないので、自動で建設を行いたいものです。


②他プレイヤーからの攻撃回避

このゲームは対人戦争ゲームですので当然他のプレイヤーから突然攻撃される可能性があります。宣戦布告の必要もなく、24時間365日襲われる可能性があるという、まさにテロとの戦いです。この攻撃を自動で回避することができれば、兵を失うこともないため、ゲームを継続してプレイすることが可能となります。


③他プレイヤーからの偵察

多くの場合、攻撃の前には偵察されますが、この時点で敵の動きを察知できれば、余裕を持って回避することが可能です。


④他プレイヤーからのメール

24時間365日攻撃可能ということは、相手の不在を狙って攻撃したほうが回避される可能性が減ります。好戦的なプレイヤーのうち、ニート系廃人は深夜から早朝にかけて襲ってくることが多く、また主婦系廃人は多くの社会人・学生が不在となる午前中から夕方にかけて襲ってきます。襲撃の際は、相手の不在をメールで確認したりする人もいますので、即座にメールを既読にできれば、相手の攻撃意欲を減退させることが可能です。


自動化するためのツール

2011年06月12日 12時24分48秒 | ドラゴンクルセイド2
ドラゴンクルセイド1では、AzuSoftのドラゴンブラウザというブラウザが狩りを行う機能を持っていたり、個人で作成したマクロを配布したりしている方もいましたが、ドラゴンクルセイドⅡではあまり見かけません。

ネットで検索するとゴーストリプレイという有料のソフトウェアが見つかりますが、設定が難しいとかサポートが悪いという意見をみかけますので、ちょっと躊躇してしまいますね。

フリーのツールを利用するとすれば、キー操作を記録して再生できるツールを利用したり、FireFoxの拡張機能であるDéjàClickを理由する方法もあります。

自分はプログラム開発経験がありますが、最近のWindows上での開発ツールは良くわかりませんので、UWSCというツールを利用しています。

自動化すると便利なこと

2011年06月12日 12時16分42秒 | ドラゴンクルセイド2
ドラゴンクルセイド2で強くなるためには英雄のレベルを上げる必要があります。

このレベル上げが大変重要なのですが、基本的には狩りという方法でレベルを上げるのですが、1時間に1回ぐらいログインして狩りを行う場所を指定して英雄を出兵する必要があり、これは遊びに行っている最中であろうと仕事中や夜中でさえも、一刻も欠かすことなく実行する必要があります。

この狩りを自動化することにより英雄を育ててみたいと思います。

廃人ゲームで勝つ(少なくとも餌場にならない)ためには

2011年06月12日 11時30分36秒 | ドラゴンクルセイド2
24時間365時間利用可能なサービスで、一時も気を抜けない
いわゆる廃人ゲーム

自分はドラゴンクルセイド1というブラウザ廃人ゲームを2年間必死でやってきましたが、生活はブラゲ中心となり、大変な思いをしました。


こういうゲームを普通の人間が普通にプレイするためには、自動化が必要です。
マクロ、スクリプト、プログラム、ツール等呼び名は色々ですが、人間が張り付いて常に操作しなければならないというのは効率が悪すぎますので、これらの機能を利用してプレイしていきたいと思います。