βですし…

こんにちは。みんなが記事を書いてくれて嬉しい、愉快な仲間です。

 

先日お知らせしたメニューにもある「ToSマップ進捗β」ですが、めっちゃバグってますた。
試しに使ってくれた変人さんはいないと思いますが、Cookie出し入れのところを修正してます。
挙動が変だったら一度「リセット」ボタンでお掃除してください。

 

 

バグの内容ですけども、目標達成したマップのマップ名をカンマ区切りでCookieに持たせてたもんで、
4096バイトをあっとゆーまに越えるという初歩的なやつです。
ということで、CookieにはIDを入れることにしました。

 

処理はJSなんでね、ソース表示で見れます。怪しいことはしてないです。
既に使ってくれた変人さんも救済する親切設計です。

 

var listMapName = 'グリーン家の荘園,シャトン農場,シャトン貯水区域,第2魔族収監所,シャウレイ西の森,紅葉の森24_2,白木23_3,白木56_1,修道院22_5,シルドゲラの森,ビルティスの森,グラデ丘の道,碑石路,沿岸要塞,セクターの森,廃都53_1,古旗の森,クバイラスの森,いにしえの女神の庭,廃都106,サルビヤスの森,隠遁者の道,ジャカリエル交差路,レスボーイ湖のほとり,ディンゴパシル地区,マダン高原,スベンティマス流刑地,廃都105,オアス記念地,大王の関門,王の高原,エサンチウ村,城郭内地区,イヴレー高原,カデュメルの絶壁,紅葉の森25_2,廃都107,ワラビの森42_1,ラムスティス峡谷,ルカス高原,フェディミアン外郭,フェディミアン ,メイバーン大修道院,ルクリス殿堂,鋼鉄高原,紅葉の森25_1,廃都103,ワラビの森42_2,廃都18_1,カロリスの泉,レータス小川,アクメンスの尾根,ティルタス峡谷,拡張区域,3Cm湖26_2,廃都104,ダダンの森,長橋峡谷,大又の道,避難居住区,3Cm湖26_1,キャッスルフィールド279,キャッスルフィールド289,廃都20_5,廃都18_2,クニドスの森,デルムーア小作村,デルムーア荘園,デルムーア外郭,セイルの森,ミュラス通路,3Cm湖85,キャッスルフィールド285,キャッスルフィールド282,カルーの森,フェルケ神殿跡,アブセムタ水源地,ベライの森,ゼラハ,フィルグリムの野道,サルラス修道女院,3Cm湖86,廃都20_6,レンパリサ池,シエニカル墓場,ゲナル平原,キャッスル94,キャッスル97,パウフィスの渡し場,水路橋地域,クラペダ,紅葉の森24_1,修道院22_4,ミルギティ農場,ワラビの森43_1,カーライルの霊廟,ペレトリーの丘,マナハース,祭壇路,オルシャ,キャッスル93,キャッスル99,重ね橋の森,ワラビの森43_4,モチア森,ガルエット平野,3Cm湖87,キャッスル100,鍾乳洞55_1,ワラビの森43_3,ワラビの森43_2,スタティス交易路,エルゴス修道院本院,パサカ峡谷,アレメテの森,起源の森,3Cm湖27_1,キャッスル95,エルゴス修道院別館,衰退したルグィン家の,アプシメスティー交差,3Cm湖27_3,3Cm湖27_2,キャッスル96,キャッスル101,珊瑚平原44_1,ナハスの森,キャッスル98,珊瑚平原44_2,ベーラ沿岸,バルハの森,キャッスル102,珊瑚平原44_3,クラント沿岸,イギティ沿岸,シャウレイ東の森,地下通路4,カタコム25_4,紅葉の森24_3,白木22_3,ギティスの開拓地,アレルノー男爵領,テナンツ農場,シャウレイ鉱山の村,紅葉の森25_3,スラウタス峡谷,ベルクティ広場,紅葉の森23_2,白木22_2,ビエタ渓谷,コバルトの森,セプティニーの谷,ダイナ養蜂地,ビルナ森,リティニス地下墓地,ルクソナ市場,ゲリー高原,白木23_1,ベヤ谷,モクスルの墓室,バイデンティス神堂,ルクリス通り,ストーガス高原,白木22_1,ネフリタスの崖,サクニス平原,ドバシア峠,関門路,ウキス耕作地,グリナス修練場,バリュスの永眠地,中心市街地,クレー峠,白木21_1,白木21_2,ターネット花園,カーティン森,グリナス丘陵地,マナクル墓地,ポスリンキスの森,春光の森,ラウキメ低湿地,ティルラ修道院,ヌオルディンの滝,ナミュー寺院跡,イストラ遺跡,グリナス森の道,ベダ高原,メサパスラ,キャッスルダンジョン4,タウマスの林道,キャッスルダンジョン3,番人の墓場,Unknown308,Unknown312,鍾乳洞52_1,鍾乳洞52_2,鍾乳洞52_3,鍾乳洞52_4,鍾乳洞52_5,カレイマス接見所,保管室,独房区域,作業場,尋問室,前哨区域,対立の訓練場,居住区域,保存区域,大地の要塞 決戦地,魔族収監所 第1区域,魔族収監所 第2区域,魔族収監所 第3区域,魔族収監所 第4区域,魔族収監所 第5区域,魔術師の塔1階,魔術師の塔2階,魔術師の塔3階,魔術師の塔4階,魔術師の塔5階,シカリオス 1階,シカリオス 2階,トペス砦 1階,トペス砦 2階,王陵1階,王陵2階,王陵3階,王陵4階,王陵5階,王陵の労働者寮,王陵建築者の礼拝堂,王陵の積材所,ノヴァハ公会所,ノヴァハ別館,ノヴァハ本院,ターネット聖堂地下1,ターネット聖堂1階,ターネット聖堂2階,ネバレット鉱山 1階,ネバレット鉱山 2階,水晶鉱山1階,水晶鉱山2階,水晶鉱山3階,水晶鉱山第2鉱区1階,水晶鉱山第2鉱区2階,幻想図書館48_1,幻想図書館48_2,幻想図書館48_3,幻想図書館48_4,幻想図書館48_5,廃都ダンジョン108,廃都ダンジョン119,廃都ダンジョン58,廃都ダンジョン111,廃都ダンジョン112,ルクソナ再建団西館,ルクソナ再建団東館,本堂,大回廊,大聖堂の懺悔路,至聖所,アシャーク地下監獄 1階,アシャーク地下監獄 2階,アシャーク地下監獄 3階,星の塔88,星の塔89,星の塔90,星の塔91,星の塔92';
// 初期表示
$(function(){
var delFlag = false;
$('html, body').animate({scrollTop: $(document).height()}, 500);
if(!$.cookie('daiki')){return true;}
// 既にMap名がCookieに入っている人の救済
var repRestoreId = repRestoreNameToId($.cookie('daiki').toString());
$.cookie('daiki', repRestoreId, {expires: 1461});
var mapIdList = repIdToName($.cookie('daiki').toString());
$.each(mapIdList.split(','), function(i, val) {
if(!val){return true;}
delFlag = false;
// 通常マップ
$('#map_block .mn').each(function(){
if($(this).html().match(val)){
$(this).parent('div').remove();
delFlag = true;
}
});
// 通常マップで処理されない場合はダンジョン系
if(!delFlag){
// ダンジョンリスト
$('.list_maps').each(function(){
if($(this).html().match(val)){
$(this).remove();
}
});
// ダンジョン
$('#map_open, #map_open_r').each(function(){
if($(this).find('.list_maps').length == 0){
$(this).remove();
}
});
}
});
});
// 通常マップクリック
$('#map_block > a').click(function(){
// クリックしたマップ名を取得
var name = $(this).find('.mn').html().substring(0, $(this).find('.mn').html().indexOf('<'));
$('.map_name > div').each(function(){
if($(this).html().match(name)){
$(this).parent('div').remove();
regCookie(name);
}
});
});
// ダンジョンクリック(closeクリック時にlistが空だったら削除)
$('.map_button').click(function(){
if($(this).closest('#map_open, #map_open_r').find('.list_maps').length == 0){
$(this).closest('#map_open, #map_open_r').remove();
}
});
// ダンジョンリストクリック
$('.list_maps > a').click(function(){
// クリックしたマップ名を取得
var name = $(this).html().substring(0, $(this).html().indexOf(' Lv'));
$('.list_maps').each(function(){
if($(this).html().match(name)){
$(this).remove();
regCookie(name);
}
});
});
// Cookie登録
function regCookie(name){
var repId = repNameToId(name);
$.cookie('daiki', (($.cookie('daiki'))? $.cookie('daiki') + ',' : '') + repId, {expires: 1461});
}
// Cookie削除
$('.btn_clear').click(function(){
if(confirm('やあ、僕だいき。本当に消していいのかい?')){
$.removeCookie('daiki');
location.reload();
}
});
// 置換(Map名からIDへ)
function repNameToId(name){
var repId = -1;
$.each(listMapName.toString().split(','), function(i, val) {
if(name == val){repId = i; return true;}
});
return repId;
}
// 置換(Map名からIDへ:救済用)
function repRestoreNameToId(mapNameList){
var repIdList = mapNameList;
$.each(mapNameList.split(','), function(i, vName) {
$.each(listMapName.toString().split(','), function(j, vListName) {
if(vName == vListName){repIdList.replace(vListName, j); return true;}
});
});
return repIdList;
}
// 置換(IDからMap名へ)
function repIdToName(mapIdList){
var repNameList = '';
$.each(mapIdList.split(','), function(i, vId) {
$.each(listMapName.toString().split(','), function(j, vName) {
if(parseInt(vId) == j){repNameList = (repNameList == '') ? vName : repNameList + ',' + vName; return true;}
});
});
return repNameList;
}

 

ノシ