![見出し画像](https://assets.st-note.com/production/uploads/images/75720975/rectangle_large_type_2_e111f72769ca49e4d7641bb9460d301c.png?width=800)
ROのクエスト情報を整形するUserScript
2022/10/05更新:公式が対応したので不要な旨記載しました。無効/削除の仕方を追記しました。
2022/04/12更新:RO公式の更新内容に追従しました。
要約
RO公式のクエストリストが見にくいので、見やすく整形するUserScriptを書きました
Tampermonkeyをダウンロード&インストールした後、本スクリプトをコピペ→保存で動きます
公式のレイアウト変わったら多分動かなくなりますのでご利用は自己責任でどうぞ
2022/10/04のアップデートで、公式が見やすさを改善してくれました。
このスクリプトは不要になったかなと思います。 (完了/未完了を左右でなく上下に分けてくれているのでその部分は相変わらず見にくいですが……)
何ができるの?
RagnarokOnlineのプレイヤー向けに、クエストリストを整形します。
Before
![](https://assets.st-note.com/img/1649755371251-49MXyA4NiC.png?width=800)
After
![](https://assets.st-note.com/img/1649755326838-CzZtG2GPK9.png?width=800)
使い方
Tampermonkeyを先にインストールしてください。
インストール後、Tampermonkeyのダッシュボードから新規ユーザスクリプト作成画面に遷移し、以下をコピペ→保存。
// ==UserScript==
// @name Ragnarok Online Quest Viewer
// @namespace https://ro-mastodon.puyo.jp/@self_itigo
// @version 0.3
// @description クエストを完了/未完了に分けてリスト表示するよ。
// @author self_itigo
// @match https://rowebtool.gungho.jp/quest*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// ==/UserScript==
(function() {
// リスト形式を辞める
$('.questList>li').replaceWith(function(){
var tag_class = $(this).attr("class");
var tag_id = $(this).attr("id");
if ( tag_class == null) {
// 完了のクエストのクラスをfinishedにしてしまう(未完了はunfinishedなので)
var tag_class_plus = 'class="finished"';
} else {
var tag_class_plus = 'class="'+tag_class+'"';
}
if ( tag_id == null ) {
var tag_id_plus = [];
} else {
var tag_id_plus = 'id="'+tag_id+'"';
}
$(this).replaceWith('<span '+tag_id_plus+' '+tag_class_plus+'>'+$(this).text()+'<br></span>');
});
$('.questList').replaceWith(function(){
var tag_class = $(this).attr("class");
var tag_id = $(this).attr("id");
if ( tag_class == null) {
var tag_class_plus = [];
} else {
var tag_class_plus = 'class="'+tag_class+'"';
}
if ( tag_id == null ) {
var tag_id_plus = [];
} else {
var tag_id_plus = 'id="'+tag_id+'"';
}
$(this).replaceWith('<div '+tag_id_plus+' '+tag_class_plus+'>'+$(this).html()+'</div>')
});
// 完了/未完了の要素を分離する
$('.questList>.finished').wrapAll('<div class="questListBody" id="completed"></div>');
$('.questList>.unfinished').wrapAll('<div class="questListBody" id="incomplete"></div>');
$('.questListBody').css({
'width':'50%',
'line-height':'140%'
});
// 完了を先に表示する
$('#completed').insertBefore('#incomplete');
})();
一応スクリプト本体も置いておきます。
ダウンロードする意味はないと思いますが。一応。
(本来jsファイルをWeb上で直実行させることで自動インストールできるはずなのですが、noteさんのセキュリティがしっかりしていてうまく動かないのでコード直貼りしました。恥ずかしい!)
使用をやめるときは
アドレスバー右のTampermonkeyアイコンからメニューを開き、スクリプト名の部分を無効側(グレーアウトするように)にチェック入れていただければと。
![](https://assets.st-note.com/img/1664955497637-1TXz4Qu4ug.png)
スクリプトを削除する場合は、上記メニューからダッシュボードを開き、スクリプト名の一番右側にゴミ箱の削除ボタンがあるかと思います。そちらから削除ください。
![](https://assets.st-note.com/img/1664955695877-fQYTFoJkiN.png?width=800)
公開の経緯
もともとは自分と身内用に作ったのですが、思いのほか反応を頂けたので。
ただ、動けばいいの精神で作っているので、以下ご留意ください
jQueryのお作法なんて知りません
(きっとすごいひとがいい感じに整形してくれるにちがいない)クエスト一覧と職業関連クエストがすべてまとまって表示されます
(分離する労力に見合わないと判断したので……)公式がレイアウト変更したら動かなくなると思います
(そのときに私が追従するかは気分次第です)
いやー初めてjQuery触りましたけど便利ですね。
では素敵なRO(クエスト)ライフを!
この記事が気に入ったらサポートをしてみませんか?