Peanuts

しばらくの間はこちら。ポケモンやパソコンや音楽

RS秘密基地のバグ【検証不十分】

こんばんはamumaです。

平成最後の夏と言われた2018年ですが、三世代ポケモンで秘密基地ロムを作っていたところ、どうやらポケモンルビーサファイアのバグを見つけたっぽいので現状わかっている部分まで書き記しておきたいと思います。

タイトルにもある通り、まだ検証不十分な状態です。また、一応調べたつもりですが既出の情報なのかもしれないです。
その時は私amumaにこっそりとご教授ください。


【環境】
ポケットモンスタールビー/サファイア(エメラルドは未確認)
GBA実機

【前提】
・秘密基地を保存用ロムをA、秘密基地準備用ロムをBとする。
・秘密基地は「お気に入り登録」というものを一つのロムにつき10個まで登録することができ、登録した秘密基地はその後別のデータとロムを混ぜても上書きされなくなる。
・秘密基地内のトレーナーと対戦が終了した後でもお気に入りの登録が解除されることはない。(確認済み)


【バグ?内容】
1.Aに秘密基地を保存するためAとBでレコードを混ぜる。
2.AにBの秘密基地が出現する。Bの秘密基地まで足を運び、パソコンからお気に入り登録をする。
3.レポートを書く。(おそらくここの行程は無くともバグは発生(未確認))
4.秘密基地内のBと対戦を開始する。
5.対戦前レポートが書き終わり、対戦が開始したらそのままAの電源を落とす。(ハードリセット)
6.Aを再開しBのパソコンを起動すると、登録リストにはBの名前が載っているにも関わらず、登録ボタンを押した時に登録解除ではなく登録の是非を聞かれる。


【補足】
・Aを再開した後、登録のメッセージが出た後も再度登録や解除などせず、一度秘密基地の外に出てもう一度入ると正常通りに登録解除が聞かれるようになる。


【発見過程】
ここ数週間ほど何度か秘密基地ロムの作成を試みているが、記憶の限りでは登録をしたはずの秘密基地がいつの間にか解除されている現象に悩まされていた。
先ほどもまた当該現象が起きたため考えて見たところ、解除されている数カ所の秘密基地が上に記したように「一度対戦を始めてそのまま電源を切る」という動作を行なっていたことに気づく。試しに上に記した手順を踏んでみたところ、登録リストと登録ボタンの矛盾したメッセージを確認した。
いつの間にか解除されてしまう現象との因果関係はまだ定かではないが、このバグの可能性が高いと思われる。


以上、簡単にですが新しく発見したバグらしきものについて急ぎで書きました。
読んでわかる通り、いろいろなケースや顛末を考えて検証をする必要があると思われます。またこれを有効活用するということもなさそうです。むしろ秘密基地ロム作成の邪魔でしかない。。。

とりあえずこれから秘密基地ロムを作る人は、正しい手持ちでレコードが混ざったか確認する時には自分自身で対戦をしてみるのではなく、鍵をかけ終えたロムを再度別のロムにレコードを混ぜてみた段階で確認をするか、最後までちゃんと対戦を終了させるようにした方が良さそうです。


あっ、今更GBAで秘密基地ロム作成なんてしてる人いないか...

Accessで重複削除カウントをグループ化するクエリをSQL文から操作するときのエラー

こんばんは、amumaです。タイトル長くてすみません。 元気ですか?私は元気にやっています。

さて先日、通っている大学の課題で「AccessSQL操作してデータベースをお勉強しましょう」みたいな課題があったんですが、このAccess、普通のSQL構文では動かないものが多い。SQLの課題のはずが、終いには途中からAccess独自の構文をいかにクリアするかの課題になってきていた(ぱそこんのキホン)。

ワイルドカードの問題など色々あったが、中でも特に迷った重複削除カウントをしたものをグループ化する時のSQL文をメモ程度に残しておく。 ちなみに使用バージョンは2016  

ここで、項目1はグループ化をしたい項目、項目2はカウントしたい項目を指す。 普通のSQL文ではこんな感じ↓

SELECT 項目1, COUNT(DISTINCT 項目2)
FROM テーブル
GROUP BY 項目1

しかしAccessでは、>COUNT(DISTINCT 項目2) の部分が定義されてないようで正しい演算子を書けと忠告してくる。

f:id:amuma5:20180509013359j:plain

というわけで書き直し。 色々調べると、DISTINCTを利用した重複削除カウントはAccessでは以下のように書くらしい。

SELECT COUNT(項目)
FROM (SELECT DISTINCT 項目)

では次にグループ化。

SELECT 項目1, COUNT(項目2)
FROM (SELECT DISTINCT 項目2 FROM テーブル)
GROUP BY 項目1

ここでエラーが出る。エラーというか、項目1に関しての検索ダイアログボックスがポップしてくる。 任意にポップアップさせることもできるらしいが、今回はそうではないので原因を考える。 試しにやってみると、重複削除カウントのみなら正常に動く。またダイアログボックスが表示されるのは、テーブルの参照が上手くいってない時にも起こるらしい。

というわけで?勘で以下のように書き換えてみた。

SELECT 項目名1, COUNT(項目名2)
FROM (SELECT DISTINCT 項目1, 項目2 FROM テーブル)
GROUP BY 項目1

なんかうまくいった。これでヨシとすることにした。 しかしこれだと項目1にもDISTINCTがかかっている気がする(勘)。なんかもっときれいにならないのか。それともAccessSQLで操作するものじゃないというのか。

以上。教授に文句言われたら言い返す。おやすみなさい。

--追記--
上のコードで大体正解だった。厳密には

SELECT 項目名1, COUNT(項目名2)
FROM (SELECT DISTINCT 項目2,項目1 FROM テーブル)
GROUP BY 項目1

の方が好ましいようだ。私の勘はあたってたっぽい。

【DQMSL】謁見の魔宮殿の各魔王へのルート一覧

こんばんは、amumaです。

最近はポケモンばっかりですが、ちょこちょことDQMSLもやってます。最近はデイリークエストが忙しいのに、めぼしいイベントダンジョンがないので何となく後回しにしがちですね

 

さて、そんな今期間限定でやっている「謁見の魔宮殿」。様々に分岐したルートを進むと歴代シリーズの大魔王たちがボスとして出てきて、その名を冠した称号がもらえるというイベントです。

しかし、その魔王の数が結構多く自分は適当にやっているうちにルートを忘れたり、既に倒した魔王と再選する羽目になってスタミナ無駄にしたりしていました。そこでこの機会にと、各魔王のルートを調べてみました。

 

左や右という表記にしていますが、各質問の分岐でここに書いてある方に進んでいけばいいはずです。

 

続きを読む

ヒストリアカップうらに参加してきました

こんばんはamumaです

3/10に行われたビーンさん主催、yasuさん副主催の金銀クリスタルVCを使った対戦オフのヒストリアカップうらに参加してきました。

 

f:id:amuma5:20180311005020j:plain

 

対戦結果は惨敗そのもので、特に構築記事というものは上げるつもりはないので日記半分でこの記事を残しておきます

 

続きを読む

レトロフリークを使ったバックアップロム作成について

こんばんは、amumaです。

昨年暮れ、私は運よくレトロフリークを購入することができました。

ampeanuts.hatenablog.com

様々な機能が付いており他の互換機とも一線を画す存在であるレトロフリークですが、特に「セーブデータの取り扱われ方」について少し気になったので検証とそのまとめの記事です。

 

※この記事ではゲームの開発者及び販売元の意図しない操作が行われています。この記事はそうした行為の教唆を目的としたものではありません。またこの記事に書かれている行為を行って何らかの影響、不利益が出ても、管理人は一切の責任を負うことはできません。予めご理解を頂いた上で閲覧ください。

続きを読む

わたしのゲーム決算2017

はじめに

どうも、amumaです。

とうとう12月31日、とうとう2017年も終わってしまいますね。

 

私にとっては多くの時間を趣味に費やすことができた、そして自分の趣味の新しい一面を見出すこともできる一年になりました。

気づけば私の部屋のゲームソフトの数も一年前と比べて何倍にも増えていました。今年だけでどのくらい、何が増えたのか、、、一年間の活動を振り返りながら整理していきたいと思います。

以降ハードごとに書いていきます。ちなみに複数本同じタイトルがあった場合、複数買いしてるものです。ミスじゃないです。

 

 目次

 

続きを読む