猫とシンセとピアノと私

かいてあることはすべてまちがっている!

【UWSC】自動分解ちゃん

はじめに

 最近遊んでいる某MMORPGでは、フィールドマップでキャラクターを放置していると自動的にモンスターと戦闘をしてくれるため、夜寝る前にフィールドにキャラクターを置いて朝までフルオート狩りをさせておくという事が流行っている。PCを付けたまま寝ることになるので電気代は気になるが、それは気にならないものとする。

 

 夜間に5時間以上狩り続けるので当然モンスターからのドロップアイテムは大量に手に入るが、バッグ(インベントリ)の最大容量を超えると取得できずに消滅してしまうという問題がある。朝起きたら赤色に染まったバッグを見て大慌てでアイテムを分解するというのが日課になっており、それを解決する方法はないか考えてスクリプトを作成してみたというのが今回の経緯である。

 

マクロを実行するソフトウェア

 使用したのはWindows使いのマクロ屋さんなら誰もがご存知のUWSCというフリーソフトで、1時間に1回のペースでバッグの不要なドロップ装備を分解するという単純なマクロ処理を実現してみた。UWSCについての説明は省略するので、知らない場合は各自で調べて学習して頂きたい。ダウンロードについては以下のリンクを参照のこと。

 

www.vector.co.jp

 

スクリプトソースと動作環境

 UWSCを使って実際に動作させるスクリプトは以下の通り。左に棒線が付いたスクリプト部分をコピーしてメモ帳等に貼り付け、名前を付けて保存で「◯◯◯.uws」という形式の拡張子を付けて保存するだけで良い。出来たスクリプトファイルをPC内の適当なフォルダに配置してもらえれば、自動分解スクリプトの準備は完了である。

 

// ----------------------------------
// 自動分解ちゃん ver1.05
// 2024.02.22
// ----------------------------------


// 何時間実行したいか?(例:10時間なら10)
DIM EXEC_HOURS = 10


DIM MSG_01 = "【自動分解ちゃん】<#CR><#CR>"
DIM MSG_02 = "メニューや会話は全て閉じてAUTO戦闘をONにして下さい。"
DIM MSG_03 = "<#CR>自動分解を開始しても良いですか?"


SELECT MSGBOX(MSG_01 + MSG_02 + MSG_03, BTN_YES OR BTN_NO)

  CASE BTN_YES
    FOR I = 1 TO EXEC_HOURS STEP 1
      ACW(GETID("TOSM","UnityWndClass"),1,1,1341,840,500)


      // 鍵ゲット・クエスト達成表示対策
      FOR J = 1 TO 3 STEP 1
        BTN(LEFT,CLICK,650,380,1000)
        BTN(LEFT,CLICK,650,550,1000)
      NEXT


      // アイテム欄から分解を実行
      BTN(LEFT,CLICK,940,85,1000)
      BTN(LEFT,CLICK,1087,747,1000)
      BTN(LEFT,CLICK,1165,742,1000)
      BTN(LEFT,CLICK,667,712,1000)
      BTN(LEFT,CLICK,535,734,1000)
      BTN(LEFT,CLICK,777,617,1000)
      BTN(LEFT,CLICK,715,782,5000)
      BTN(LEFT,CLICK,1294,65,1000)


      // 1時間待機する
      SLEEP(3600)
    NEXT


  CASE BTN_NO


SELEND

 

 ※動作確認環境

  •  Windows11PC
  •  解像度 1920×1080
  •  ゲームの画面比率 16:10
  •  UWSC ver5.3.0.2

 

開始する前にゲーム内でしておくこと

 使用する前に行っておくゲームクライアント上での設定として、事前に分解メニューを開いて一括選択画面を下記のように設定し、一度分解を実行して状態を保存しておくという操作が必要になる。レア度の低い装備を一括適用できるよう指定しておかないと、分解できずにアイテムが貯まっていく一方なので要注意である。

 

一括選択画面の設定イメージ

 

 また、ゲームクライアントの画面比率を16:10で実行する事を想定しているため、オプションメニューの画面比率が16:10以外になっている場合は、必ず16:10に変更する必要がある。この設定を忘れると、分解操作を行うボタンの表示座標がずれるために自動操作が正常に行われない可能性がある。

 

マクロの実行

 以上の設定を行った上で、UWSCを起動して先程作成したスクリプトファイルの読み込みを行う。正常にスクリプトファイルが読み込まれて再生ボタンが活性化したことを確認したら、再生ボタンを押すことで以下の内容のマウス操作が自動実行される。

 

  1. ゲームウィンドウを認識して表示位置とウィンドウサイズを整える
  2. 鍵やチケット入手のダイアログが出ていた場合に備え、数回クリックする
  3. アイテム欄を開き、不要な装備を一括選択して分解する
  4. 1時間待機する

 

 一連の操作が最後まで終わったら、スクリプトの冒頭で指定された回数だけ再度同じ操作をやり直すという極めて単純な作りである。戦闘中にメニュー画面等を操作することになるが、裏ではキャラクターのAUTO戦闘は途切れずに続くというゲーム仕様のため問題はない。

 

 なお、スクリプトが動いている状態でもゲームを手動操作をすることも可能だが、ちょうど1時間おきの自動操作のタイミングとかぶると想定外の場所をクリックしてしまう等の事故が起こる可能性がある。そのため、もしゲームを手動操作したい場合はスクリプトを停止させるてから行うことをお勧めする。

 

 基本的にはキャラクターをフィールドの湧きポイントに放置して、AUTO戦闘を開始させた状態で実行を開始するという使い方を想定している。その際、何らかのウィンドウを開いたままにしていると失敗する事があるので、何のメニューも開いた状態にしてはならない。もし途中で自動処理をやめたくなったら、停止ボタンを押せば良い。

 

さいごに

 長々と説明してきたが、このエントリーで言っていることの意味が分からなかったり不安を感じたりするのであれば、このサイトはさっさと閉じて回れ右をすることをお勧めする。当然このエントリーで紹介したスクリプトを実施して何らかの被害が生じても、作者は損害賠償責任を一切負わないので自己責任でどうぞ。

 

 それでは皆様よい救済者ライフを。

丁寧語は敬語に入りますか?

 敬語に違和感を覚えると言うと、あぁまた若者の言葉遣いが乱れている事に対する高齢者の苦言かと思われがちであるが、そうではなく小説における登場人物が語る『敬語』という単語についての話である。特に結論がある話ではないので、ふーん程度に読み進めていただければ幸いだ。

 

 近年WEB小説が飛躍的な発展を遂げており、私も定期的に未来の文豪たちの力作を鑑賞することを趣味の一つとして楽しんでいる。投稿される作品は十代の登場人物達が活躍するライトノベルに分類されるものが多く、特に学校や自宅周辺などにおける日常生活の中での葛藤や恋愛、悪役への報復などが描かれている。

 

 そのような作品の中で、主人公を始めとした主要な登場人物に設定されがちな性格として、同級生などの対等な相手に対しても「です」「ます」を付けた丁寧語で喋るというものがある。多くの場合、主人公が内気であるがゆえに活発な相手に対して気後れしていたり、赤の他人としてしか認識していないからというのが理由のようである。

 

 そういった場面に登場する台詞として、冒頭に挙げた言葉が登場する。例えば主人公とヒロインの次のような会話である。

 

主「おはようございます。昨日はありがとうございました」

ヒ「おはよ~。ところでさぁ、キミはなんで敬語なの?」

主「いえ、特に理由など無いのですが」

ヒ「ふぅん」

 

 このようなやりとりは、丁寧語で会話をする登場人物が出てくる際にはほぼ確実に出てくると言っても過言ではない。むしろ、出さなければならない常套句として作者達が認識しているのではないかと思われるぐらいに頻出するため、否が応でも存在を認識せざるを得ない表現の一つである。

 

 さて、ここで登場した『敬語』という単語が今回のテーマである。ヒロインは主人公の話し方を敬語として認識しているようだが、果たしてこれは敬語なのだろうか。

 

 国語辞典で敬語という言葉を調べると、会話をする際に相手に敬意を払っている事を表現するために用いられる語であり、主に尊敬語、謙譲語、丁寧語に分類されるとある。そう、敬語には丁寧語も含まれているので、ですます調で話す主人公の発言をヒロインが敬語と表することは間違いではないのである。ただ、私はこれを納得していない。納得していないがゆえの本記事なのだ。

 

 なぜ納得していないかというと、理由は二つある。

 

 一つ目は、そもそも敬語とは尊敬語と謙譲語の二種類であり、丁寧語は敬語からは一歩外に存在する言葉だという固定観念があるからだ。なぜ自分がこのような認識を持つようになったのか記憶を辿っていくと、その起源は中学受験にあるのではないかという考えに至った。

 

 中学受験の国語には基礎的な教養の一つとして敬語の問題が多数出てくることは、経験者や受験生の保護者であればご存知のことと思う。私もご多分に漏れず受験勉強の中で尊敬語と謙譲語について学習していったため、受験テクニックの一つとして敬語には尊敬語と謙譲語の二種類があるという認識が無意識のうちに植え付けられていったと考えられる。丁寧語は通常の言葉の末尾にですますを付けるだけなので、そもそも受験問題にはならないのである。

 

 国語の問題として「先生が来た」を敬語に直しなさいという問題があったとして、「先生がいらっしゃった」とするのが正解であり「先生が来ました」とするのは受験的には不正解である。中には丁寧語だって敬語ではないかと食い下がりたい人も居るかもしれないが、受験の世界では解答の正誤は採点者の思惑が全てなので無駄なリスクを負ってまで言語学的正しさを追求するのは全くもって無意味なのだ。

 

 さて、ですます調が敬語であるという表現に納得していない理由の二つ目として挙げるのが、私がこれまで読んできた小説の中で『敬語』として指摘されている表現の中に、尊敬語や謙譲語が対象となっていたケースが見当たらないということだ。もちろん読んだことのない小説の中には、尊敬語や謙譲語を使ったことで同級生から指摘を受けたというシーンが描かれた作品もあるのかもしれないが、私の知る限りでは思い当たる小説は一件も存在しないのである。

 

 おそらく、ですます調のことを敬語と表現する小説を書いてきた作者の多くは、そこまで敬語とは何かを深く考えた上で書いたわけではないのだろう。他の作品で見た表現だからという人も居るだろうし、辞書を引いてみたが間違いではないことがわかったから良いと判断したという人も居るだろう。中には私と全く同じ認識を持っているが、登場人物の語彙力設定から判断した上であえてこの言葉を選んだという人も居るかもしれない。

 

 小説だからといって必ずしも正しい言葉を使う必要は無いとはいえ、適切な言葉を使うようにするということは心がける必要があるだろう。今回のケースは正しい言葉ではあるものの、適切な言葉なのかという部分には少々疑問が残る。だからといって誤りではないので、訂正すれば良いのかというとそれもまた違う。何とも歯切れの悪い話である。

 

 

 さて、無駄に長くなってしまったのでこのあたりでまとめたいと思うが、今回の件は特定の作品でのみ使われる表現であれば個性で片付けられる話だが、ここまで多くの作品で見かける表現になってくるとどうしても気になってしまい、整理してまとめてみたくなったという経緯で作成した記事となっている。

 

  言葉の意味としては誤りではないが、色々な意味を持つ広義の言葉について、その中でも特にマイナーな方の意味でばかり使われることに得体のしれない気持ち悪さを感じるというのが今回の要点ではないかと思う。例を挙げるなら、マニュアルトランスミッションを搭載した車のことをミッション車と呼ぶような感じだろうか。いや、ちょっと違うか。

 

 特に結論があるわけではないが文章を書く練習にはなったと思うので、時々何かについて考えを述べる記事を書き起こしてみようかと思う。適当に一時間程度で書いた文章で、文字数は二千字強といったところだ。プロの小説家は一日に一万字程度は書くと聞く。途方もない量だ。私にはそのような生活を続けることは到底無理だと悟ることができただけでも良い経験だったのではなかろうか。

ASUS B450M-PLUSでWindows11が不安定になった話

 最近、メイン機として使用しているRyzen5を搭載した自作PCが頻繁にブルースクリーンで落ちるようになってしまった。特にFirefoxを使用している時に落ちる事が多いのでFirefoxが原因かとも考えたが、他のPCでは全く起きないので安易に断定するわけにもいかない。さて困った。

続きを読む