したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

戦国IXA ツールスレPart48

79名無しさん:2023/02/16(木) 14:17:40 ID:N4AOAI7w
本丸防衛陣形の兵法表示と、精鋭部隊の登録する対応方法をご教示お願いします

80名無しさん:2023/02/16(木) 19:16:55 ID:bl5Bniyg
>>79
CSSは組めるのですが列入れ替えの▲▼を押すと変更したところが元に
戻るのでそこの直し方がわからん
上にある「この陣形を記録」の横の兵編成のボタンも列変更すると消えてしまう
リロードすれば現れるのですがその辺直せる方いますか?

81名無しさん:2023/02/16(木) 20:09:07 ID:iOR7Vu4I
>>79さん
本丸防御陣形の兵法は傑が入っていませんでしょうか?
精鋭登録は自分用に作って履歴を残していなかったので完成形だけなら以下になります。
兵法の部分も入っています。
function elite_category()内をごっそりコメントアウトして以下を貼り付ければいけると思います。
行頭の+マークは付けていません。デッキだと同一武将順番違いも精鋭登録できますが本丸だとできなかったので
武将順序関係なく既に登録されていたらボタンは表示されません。長いので2回に分けます。

その①
function elite_category() {
var url = '/card/defense_formation_deck.php';
if ( location.pathname == url ) {
if ( !$('#breakup_all_command').length ) { return; }
var arr_elite = [],
para = {
'ano': '9',
'select_card_group': '6',
'select_filter_num': '0',
};
$.ajax({
type: 'post',
url: url,
data: para,
beforeSend: xrwStatusText,
}).then(function(html) {
$(html).find('div#ig_decksection3 table.elite_busho_info_tbl').each(function() {
var elite_card_id = [];
$(this).find('input[name^="elite_unit_assign_card_"]').each(function() {
if ($(this).val()) { elite_card_id.push(parseInt($(this).val())); }
});
elite_card_id.sort(function(a, b) {
return a - b;
});
arr_elite.push(elite_card_id.join(''));
});
}).done(function() {
$('.deck_btns').find('img').css({'width': '96%', 'height': '96%'});
var $deck = $('#deck_bg');
if ( !$deck.find('a.elite_category').length ) {
var arr_unit = [], arr_busho_num = [];
$('div.home_defense_formation_line').each(function() {
var busho_defense_line = [], busho_num = 0;
$(this).find('div.home_defense_formation_card_space').each(function() {
var card_id = parseInt($(this).find('div.ig_deck_smallcardimage').attr('data-card_id'));
if (!isNaN(card_id)) {
busho_defense_line.push(card_id);
busho_num++;
}
});
busho_defense_line.sort(function(a, b) {
return a - b;
});
arr_unit.push(busho_defense_line.join(''));
arr_busho_num.push(busho_num);
});
$deck.find('td.home_defense_formation_data_btn_wrap_cell').each(function(idx){
$(this).find('a img').css({'width': '70px', 'height': '24px'});
$(this).find('div.formation_line_move').css({'margin-right': 'auto', 'width': '22px', 'height': '24px', 'display': 'block'});
$(this).find('div.formation_line_move').children().css('font-size', '9px');
$(this).find('div.formation_line_move a:first').after('<br />');
if (!arr_elite.includes(arr_unit[idx]) && arr_busho_num[idx] > 1) {
var img = '<img src="' + CACHE_PASS + '/img/deck/elite/add_elite.png" alt="精鋭登録" style="width: 70px; height: 24px;">';
var add_elite = '' +
'<a href="javascript:void(0);" class="elite_category" onclick="registElite(' +
$(this).find('a.unit_edit').attr('data-unit_assign_id') + ')">' + img + '</a>';
$(this).find('a.unit_edit').before(add_elite);
}
$deck.find('td.home_defense_formation_data_btn_wrap').find('a.elite_category').css({'float': 'left', 'margin': '9px 0px 0px 12px'});
});
}

82名無しさん:2023/02/16(木) 20:10:20 ID:iOR7Vu4I
その②

$('body').on('dragend', '#deck_bg div.home_defense_formation_card_space_target a', function() {
var draw = function() {
elite_category();
return $(document).off('ajaxStop', draw);
};
return $(document).on('ajaxStop', draw);
});

//兵士編成・本丸防御陣形リンク
if ( !$deck.find('img[alt="兵編成"]').length ) {
$deck.find('div.deck_btns').prepend(
'<a href="/facility/set_unit_list.php?ano=9">' +
'<img src="../img/deck/elite/btn_soldier_edit.png" alt="兵編成"></a>');
}

if ( !options.troops_strength_display ) { return; }

//本丸防御陣形デッキの兵法表示
var $div = $deck.find('div.home_defense_formation_line_wrap');
if ( $div.find('span.deck_info_out').length ) { return; }

$div.each( function() {
if ( $(this).find('img[alt="解散"]').length ) {
var data_list = [], tactics = 0;

$(this).find('div.ig_deck_smallcardimage').each(function(){
var card_id = $(this).attr('data-card_id');
var target = $('#card_window_' + card_id),
data = {};
if (target.text().split('ig_card_status_int')[1]) {
data.int = parseInt(target.text().split('ig_card_status_int')[1].match(/\d+/g)[0]);
}
else {
var int_arr = target.text().split('ketsu_card_status int')[1].match(/ketsu_card_status_num\snum\d/g);
data.int = parseInt(int_arr.map(function(v) {
return v.slice(-1);
}).join(''));
}
data_list.push( data );
});

tactics = tactics_calculation(data_list).toFixed(1);
var $td = $(this).find('table.home_defense_formation_data_table').find('tr:eq(1) td');
$td.append('<span class="deck_info_out">' +
'<span class="deck_info_in" style="padding:4px 10px 3px 11px;">兵法</span>+'
+ tactics + '%</span>');
}
});
}, null);
}
}

83名無しさん:2023/02/16(木) 20:14:23 ID:iOR7Vu4I
>>80さん
私も画面更新なしだとmokoで追加された部分が消えます。
ただ列入れ替えは前スレ>>933-942をいれているのでボタンは正直使わなく、>>81-82でも▲▼を小さくしました。
今は列入れ替えを少し改良したものを使っていますが、要望あればアップします。

84名無しさん:2023/02/16(木) 20:23:33 ID:N4AOAI7w
>>80,81さん
ご教示ありがとうございます。
無事、本丸陣形にて、兵法と精鋭登録が出来ることを確認できました。
また、よろしくお願いします。

85名無しさん:2023/02/16(木) 21:19:14 ID:bl5Bniyg
>>83
コードありがとうございました。
前スレで追加した列移動使えば問題なさそうですね。
改良したものがあるとのことですので差し支えなければ
UPして頂けるとありがたいです。

86名無しさん:2023/02/17(金) 00:36:25 ID:iOR7Vu4I
>>85
速度はちょっと遅くなりましたがちゃんと1人ずつデータ送信するように改修しました
例によって履歴取っていないので完成形です・・・function switchDefenceLine()です

その①
function switchDefenceLine() {
var url = '/card/defense_formation_deck_if.php';
if (location.pathname != url.replace('_if', '')) {
return;
}

var unit_id = [],
CAUTION_CARD = {
'1155': '尼子経久',
'10015': '尼子経久',
};
// 各列のunit_idを取得
$('div.home_defense_formation_line_wrap').each(function() {
unit_id.push($(this).find('div.home_defense_formation_card_space:first').attr('data-unit_id'));
});
if (unit_id.filter(Boolean).length < 2) return;
// 要素定義
var line_str = ['第壱[1]列', '第弐[2]列', '第参[3]列', '第肆[4]列', '第伍[5]列'],
div_tag = $('<div style="display: table; height: 28px;">'),
p_tag = $('<p style="display: table-cell; vertical-align: middle;">'),
label_from = $('<label for="select_from" style="color: #FFF;">From: </label>'),
sele_from = $('<select name="select_from" id="select_from" style="margin-right: 5px;">'),
label_to = $('<label for="select_to" style="color: #FFF">To: </label>'),
sele_to = $('<select name="select_to" id="select_to" style="margin-right: 10px;">');
for (var i = 0; i < (unit_id.filter(Boolean)).length; i++) {
sele_from.append($('<option value="' + i + '">' + line_str[i] + '</option>'));
sele_to.append($('<option value="' + i + '">' + line_str[i] + '</option>'));
}
// 入れ替え処理
var switch_btn = $('<input type="button" value="列入れ替え">').on('click', function() {

// データ送信処理
var post_data = function(data_list) {
var obj = data_list.shift();
$.ajax({
type: 'post',
url: url,
data: obj.data,
beforeSend: xrwStatusText,
}).then(function() {
Info.log('【' + (obj.name)[0] + '】と【' + (obj.name)[1] + '】を入れ替え中...');
if (data_list.length) {
setTimeout(post_data, 100, data_list);
}
else {
$(this).prop('disabled', false);
setTimeout(Info.title, 3000, '完了', url.replace('_if', ''));
}
});
}

// 入れ替えデータ取得
var from_line = parseInt($('#select_from').find('option:selected').val()),
to_line = parseInt($('#select_to').find('option:selected').val());
if (from_line == to_line) {
alert('FromとToが同じです');
return false;
}
$(this).prop('disabled', true);
var send_data = [];
$('div.home_defense_formation_line').eq(from_line)
.find('div.home_defense_formation_card_space').each(function(j) {
var data, from_card_name, to_card_name, from_card_no, to_card_no,
caution_flg = [false, ''],
from_card_id = $(this).find('div.ig_deck_smallcardimage').attr('data-card_id'),
to_card_id = $('div.home_defense_formation_line').eq(to_line)
.find('div.home_defense_formation_card_space').eq(j)
.find('div.ig_deck_smallcardimage').attr('data-card_id'),
$from_card_data = $($('script[id="card_window_' + from_card_id + '"]').text().replace(/\n|\t/g, '')),
$to_card_data = $($('script[id="card_window_' + to_card_id + '"]').text().replace(/\n|\t/g, ''));

87名無しさん:2023/02/17(金) 00:38:30 ID:iOR7Vu4I
その②
if (from_card_id) {
from_card_name = $from_card_data.find('span.ig_card_name').text();
from_card_no = $from_card_data.find('span.ig_card_cardno').text();
if (from_card_name.length == 0) {
from_card_name = $from_card_data.find('span.ig_card_name').attr('title');
from_card_name = from_card_name.replace(/[ぁ-ん]/g, function(s) {return String.fromCharCode(s.charCodeAt(0) + 0x60);});
}
if (j == 0 && from_card_no in CAUTION_CARD) {
caution_flg = [true, from_card_no];
}
}
else {
from_card_name = '[[武将無し]]';
}
if (to_card_id) {
to_card_name = $to_card_data.find('span.ig_card_name').text();
to_card_no = $to_card_data.find('span.ig_card_cardno').text();
if (to_card_name.length == 0) {
to_card_name = $to_card_data.find('span.ig_card_name').attr('title');
to_card_name = to_card_name.replace(/[ぁ-ん]/g, function(s) {return String.fromCharCode(s.charCodeAt(0) + 0x60);});
}
if (j == 0 && (to_card_no in CAUTION_CARD)) {
caution_flg = [true, to_card_no];
}
}
else {
to_card_name = '[[武将無し]]';
}
// 尼子経久対応
if (caution_flg[0]) {
if (!confirm(caution_flg[1] + ':' + CAUTION_CARD[caution_flg[1]] +
'が部隊長の部隊を移動しようとしています\n' +
'移動中にコストが超過すると部隊が解散されることがあります\n\n' +
'続行しますか?')) {
caution_flg = [false, ''];
alert('キャンセルされました');
return false;
}
}
// パラメータ設定
if (!from_card_id) {
if(to_card_id) {
// 空白→武将有を入れ替えるときはToからFrom
data = {
'card_id': to_card_id,
'unit_id': unit_id[from_line],
}
}
else {
return true;
}
}
else {
data = {
'card_id': from_card_id,
'unit_id': unit_id[to_line],
}
}
data['sort'] = j;
data['select_assign_no'] = $('form[id="deck_file"]').find('input[id="select_assign_no"]').val();
data['p'] = $('form[id="deck_file"]').find('input[id="p"]').val();
send_data.push({data: data, name: [from_card_name, to_card_name]});
});

if (!send_data.length) {
$(this).prop('disabled', false);
return;
}
nowLoading();
Info.title('本丸防御陣形【列一括入れ替え】');
post_data(send_data);
});
// 要素追加
p_tag.append(label_from);
p_tag.append(sele_from);
p_tag.append(label_to);
p_tag.append(sele_to);
p_tag.append(switch_btn);
div_tag.append(p_tag);
$('ul.home_defense_formation_foot_btns').find('li').eq(0).after(div_tag);
}

88名無しさん:2023/02/17(金) 09:32:50 ID:bl5Bniyg
>>86
ありがとうございました^^
本丸は兵編成した後もmokoで追加した分は消えるみたいですね^^;

89名無しさん:2023/02/17(金) 17:26:50 ID:iOR7Vu4I
あと、意外と好評だったのがサイドバーにメモを表示する機能です
メモは鯖ごとに保存されますがブラウザ依存なので、同一ユーザでもPCとスマホとかだとリンクはしておらず
同じPCでもChromeとEdge等ブラウザが違うと内容は共有されません
moko設定 全般2に使用するかどうかのチェックボックスを追加しています
②はFunctionまるごと追加なので行頭の+マークは付けていません

その①
sidebox_change: {tag: 'all2', caption: 'サイドボックスを合戦向け表示にする'},
+ sidebox_memo: {tag: 'all2', caption: 'サイドボックスにメモを表示する(ブラウザ依存)'},
non_cardview: {tag: 'all2', caption: 'サイドボックスのカードを非表示にする'},

その②
// mixiのみ
$('li.navi01_m a').each(function() {
$(this).attr('href', '/false/login_sessionout.php')
.css('background', 'url("../img/common/navi_logout.gif") no-repeat left top');
});
}
<ここから追加>
// サイドボックスのメモ
function createMemo() {
if (!options.sidebox_memo) {
return;
}
var $div_text = $('<div class="substatus" id="divtext" style="margin-top: 6px;">ixa-mokoフリーメモ<br /></div>'),
$div_btn = $('<div class="substatus" id="divbtn" style="display: flex; width: 130px;">'),
$textarea = $('<textarea id="ixamoko_memo" name="ixamoko_memo" style="width: 130px; height: 130px; font-size: 9px;" />'),
$btn_dlte = $('<input type="button" id="deletememo" value="クリア" style="font-size: 8px; margin-right: auto;" />'),
$btn_cncl = $('<input type="button" id="cancelmemo" value="中止" style="font-size: 8px; margin-left: auto;" />'),
$btn_edit = $('<input type="button" id="editmemo" value="編集" style="font-size: 8px; margin:0 4px 0 4px;" />'),
$btn_save = $('<input type="button" id="savememo" value="保存" style="font-size: 8px;" />');

$div_text.append($textarea);
$div_btn.append($btn_dlte);
$div_btn.append($btn_cncl);
$div_btn.append($btn_edit);
$div_btn.append($btn_save);

$textarea.prop('disabled', true);
$btn_dlte.prop('disabled', true);
$btn_cncl.prop('disabled', true);
$btn_save.prop('disabled', true);

$textarea.val(getStorage(null, 'ixamoko_sidebar_memo'));

$btn_dlte.on('click', function() {
$textarea.val('');
})

$btn_cncl.on('click', function() {
$textarea.val(getStorage(null, 'ixamoko_sidebar_memo'));
$textarea.prop('disabled', true);
$btn_dlte.prop('disabled', true);
$btn_cncl.prop('disabled', true);
$btn_edit.prop('disabled', false);
$btn_save.prop('disabled', true);
});

$btn_edit.on('click', function() {
$(this).prop('disabled', true);
$textarea.prop('disabled', false);
$btn_dlte.prop('disabled', false);
$btn_cncl.prop('disabled', false);
$btn_save.prop('disabled', false);
});

$btn_save.on('click', function() {
setStorage('ixamoko_sidebar_memo', $textarea.val());
nowLoading();
Info.title('メモを保存しました', location.href.split('#')[0]);
});

$('span.medal_b').after($div_btn);
$('span.medal_b').after($div_text);
}
<ここまで追加>
// サイドボックスの拠点をソート
function sortVillage() {
if (!options.sort_village) {

その③
makeMokotool(); // サイドバー:mokoツールリストの形成
+ createMemo(); // サイドバーにメモを表示
sortVillage(); // サイドボックスの所領ソート

90名無しさん:2023/02/17(金) 22:05:49 ID:9v8.6gtw
陣一括レベルアップ周り直せる方いますか?

91名無しさん:2023/02/18(土) 02:02:10 ID:iOR7Vu4I
>>90
以前まで動いていて、>>35の修正を加えたならfunction teamLvCheck()内のcastleNameのところを
castleName = $('p.user_profile_name_text').text().split('[')[0].trim(),
に変えれば動くと思います

92名無しさん:2023/02/18(土) 02:18:54 ID:l1AbXbbY
ID:iOR7Vu4I さん。いつも有り難うございます。
>>86
$from_card_data = $($('script[id="card_window_' + from_card_id + '"]').text().replace(/\n|\t/g, '')),
の行末にカンマは余計だとVS Codeが叱ってくるのですが私の貼り方が不味かったでしょうか。

93名無しさん:2023/02/18(土) 02:26:54 ID:l1AbXbbY
>>92 半角セミコロンにして様子見いたします。

94名無しさん:2023/02/18(土) 02:42:59 ID:iOR7Vu4I
>>92
私もそんなに文法に詳しい訳では無いんですが、varでの変数宣言はカンマで連続して書けると思うんですが、
上のto_card_idが長いので数行に分けて記述しているところが悪さしているのでしょうか?
そこを1行にしても変わりませんかね?
ちなみに私のVSCodeは>>86で大丈夫です

95名無しさん:2023/02/18(土) 03:16:06 ID:l1AbXbbY
>>94 ID:iOR7Vu4I さん。
保存をせずに半角カンマに戻した所、また叱られまして。
https://imgur.com/JfnzEKq
直上の長い行をまとめても引き続き叱られる次第でした。
https://imgur.com/6cJ8bcg

こういう時は「貼り直し」と思いその①とその②を貼り直した所、直りました。
https://imgur.com/gCqi5dZ
お騒がせしてすみませんでした!

96名無しさん:2023/02/18(土) 11:00:20 ID:iOR7Vu4I
>>95 さん
①の最後の$to_card_dataの行がコピられてなかったですね、そのままだとセミコロンにしてもエラーか、予期せぬ結果になったと思います
直ってよかったです

97名無しさん:2023/02/18(土) 13:21:44 ID:l1AbXbbY
>>96 成る程!。ご指摘感謝です!!

98名無しさん:2023/02/18(土) 17:12:45 ID:LEXmcUoY
>>90 >>91

陣一括レベルアップには関係なさそうですが、
function userCheck() 内のuserCheck.flagも
変えた方が良いかも。

- userCheck.flag = $('#lordName').text().trim() == $('p.card_profile_para strong').text().trim();
+ userCheck.flag = $('#lordName').text().trim() == $('p.user_profile_name_text').text().split('[')[0].trim();

99名無しさん:2023/02/19(日) 01:05:21 ID:l1AbXbbY
前スレでしたか。サンタ兵種の色を含めたvar SOLDIER_COLOR = でUncaughtエラーが出ていたのを確認しましたので以前のに戻しました(キャプチャ忘れ)。
また、出城を復活させる際の(今回は攻撃側でした)[復活する!]ボタンの位置が気持ちほんの少し上に位置していると嬉しかったりします。
https://imgur.com/zmfmXut
ご対応出来そうであればどうか宜しくお願いいたします。

100名無しさん:2023/02/19(日) 23:07:09 ID:M05M3a5I
ベータテストで発生していた、右側パネルの暗転が発生してますかね。
発生条件は同じで出陣状況が変化すると暗転して、パネルクリックなどで復帰します。

101名無しさん:2023/02/20(月) 03:46:12 ID:iOR7Vu4I
>>99
SOLDIER_COLORは定数なので文法的に間違っていなければ何を入れておいても問題はないと思われ、サンタがあるからエラーが出ているのではなく救飛弩が無いからエラーが出ているのではないでしょうか?

出城は今回落ちなかったので確認出来ませんでした

102名無しさん:2023/02/20(月) 06:25:36 ID:l1AbXbbY
>>101 有り難うございます。帰宅しましたら確認します。

103名無しさん:2023/02/20(月) 22:58:38 ID:l1AbXbbY
>>101 さん。
確認が遅くなりすみません。ご明察の通りSOLDIER_DATAにサンタは有っても救飛弩は記述していませんでした。

色味は相談する様な話題でもないし適当に検索してlightpinkでいいじゃろと思いまして、以下にしてみました。
var SOLDIER_COLOR = {途中まで割愛}, サンタ: "#FFFFFF", 救飛弩: "#FFB6C1"};
現状、以下の様に見えております。
https://imgur.com/w9mCeTP

ご指摘有り難うございました。

104名無しさん:2023/02/21(火) 23:22:37 ID:CZF8ePuU
スキル追加の生贄にカードを選択するとき
そのカードのスキルテーブルを表示させる方法はありますでしょうか?
普段の部隊画面でのカードPOP内に表示されるスキルテーブル一覧など

105名無しさん:2023/02/22(水) 08:14:58 ID:M05M3a5I
>104 生贄候補一覧で武将名クリックで出るのとちゃうの?
候補スキルの内容も右側のスキル名の辺りにポインタを合わせると出るし。

106名無しさん:2023/02/22(水) 15:03:23 ID:iOR7Vu4I
>>105
生贄というのは、5枚+2枚まで入れられる合成確率アップ素材のことではないでしょうか?
今メンテ中なので後で見てみます

107名無しさん:2023/02/22(水) 21:19:14 ID:1VX6W3Wo
戦国くじ履歴や、合成履歴をオートページャーにする事は可能でしょうか?
もし出来るのであれば教えて頂きたいです。よろしくお願いします。

108名無しさん:2023/02/22(水) 21:24:16 ID:iOR7Vu4I
>>104さん
合成確率アップの素材のスキルテーブルは出るようになりましたがほとんど上の方のコピペで
このTB_inlineというのがよく使われているので他にどんな悪さするかまでは見切れていません
もし他の画面で不具合出るようならご連絡ください
例によってごっそり追加なので行頭の+マークは付けていません
その①
adjustTB_window(true);

return false;
});
<ここから追加>
$(document).on('mousedown', 'a[href^="#TB_inline"]', function() {
var cid = $(this).attr('data-card_id');
$(document).ajaxStop(function() {
var name = $(document).find('div.card_detail_area .ig_skill_name:first').text().split('LV')[0].trim(),
cardno = $(document).find('div.card_detail_area span.ig_card_cardno').text(),
getBasic = function(name, o, no) {
var a = [];
if ( SKILL_CANDIDATE2[no] !== undefined ) {
return SKILL_CANDIDATE2[no];
}
for (var key in o) {
if (name == key.split('.')[1]) {
a = o[key];
break;
}
}
return a;
},
getCandidate = function(a, o) {
var array = ['-','-','-','-','-'];
for (var key in o) {
for (var i = 0, len = a.length; i < len; i++) {
if (key == a[i]) {
array[i] = o[key][3];
}
}
}
return array;
},
adjustTB_window = function() {
var $TB_window = $('#TB_window');
if (!$TB_window.get(0)) {
setTimeout(adjustTB_window, 1);
} else {
var param = $(window).height() - $TB_window.outerHeight(),
csstop = param / 2,
hash;
if (csstop < 0) {
csstop = -20 + $(window).scrollTop();
hash = {
'position': 'absolute',
'margin-top': '0',
'top': csstop
};
} else {
hash = {
'margin-top': '0',
'top': csstop
};
}
$TB_window.css(hash);
}
},
html;

109名無しさん:2023/02/22(水) 21:24:48 ID:iOR7Vu4I
その②
// スキル候補
var c1 = getBasic(name, SKILL_CANDIDATE, cardno);
var c2 = getCandidate(c1, SKILL_CANDIDATE);
var c3 = getCandidate(c2, SKILL_CANDIDATE);
var clist = [ c1, c2, c3 ];

html = '<table id="moko_candidate_' + cid + '" class="common_table1">' +
'<tbody><tr><th>A</th><th>B</th><th>C</th><th>S1</th><th>S2</th></tr>';

if (c1.length) {
for (var i = 0, len = clist.length; i < len; i++) {
var clist0 = '<span class="skill_' + clist[i][0].slice(-1) + '">' + clist[i][0].slice(clist[i][0].indexOf('.', 2) + 1) + '</span>' + clist[i][0].slice(0, clist[i][0].indexOf('.', 2));
var clist1 = '<span class="skill_' + clist[i][1].slice(-1) + '">' + clist[i][1].slice(clist[i][1].indexOf('.', 2) + 1) + '</span>' + clist[i][1].slice(0, clist[i][1].indexOf('.', 2));
var clist2 = '<span class="skill_' + clist[i][2].slice(-1) + '">' + clist[i][2].slice(clist[i][2].indexOf('.', 2) + 1) + '</span>' + clist[i][2].slice(0, clist[i][2].indexOf('.', 2));
var clist3 = '<span class="skill_' + clist[i][3].slice(-1) + '">' + clist[i][3].slice(clist[i][3].indexOf('.', 2) + 1) + '</span>' + clist[i][3].slice(0, clist[i][3].indexOf('.', 2));
var clist4 = '<span class="skill_' + clist[i][4].slice(-1) + '">' + clist[i][4].slice(clist[i][4].indexOf('.', 2) + 1) + '</span>' + clist[i][4].slice(0, clist[i][4].indexOf('.', 2));
html += '<tr><td>' + clist0 + '</td><td>' + clist1 + '</td><td>' + clist2 + '</td>' +
'<td>' + clist3 + '</td><td>' + clist4 + '</td></tr>';
}
} else {
html += '<tr><td colspan="5">データが存在しません</td></tr>';
}

html += '</tbody></table>';

if (!$(document).find('table[id^="moko_candidate"]').length && name) {
$('div.popup_rate_up_card_detail_dialog').append(html);
}
adjustTB_window(true);
});

return false;
});
<ここまで追加>
}

// カードネームのチェック
function checkCardName(array, str) {

110名無しさん:2023/02/22(水) 22:13:02 ID:M05M3a5I
さんきゅー、>>106 確率上昇用の追加カードのことね。

111名無しさん:2023/02/23(木) 01:08:15 ID:iOR7Vu4I
>>107
ほぼ他のページャーのコピペです
上の戻るボタンはページャーで押せなくなるので個人的な好みで付けました
要らないなら消してください

return sendSenkuji(data, token, material, send_num);
}, null);
}
}
<ここから追加>
//戦国くじ履歴&合成履歴 オートページャー
function addHistoryAutopager() {
var url_kuji = '/senkuji/senkuji_history.php',
url_union = '/union/union_history.php';

if (location.pathname != url_kuji && location.pathname != url_union) {
return;
}

var back_btn;
if (location.pathname == url_kuji) {
back_btn = '<div class="center mt10 mb5"><a href="/senkuji/senkuji.php"><img src="' +
CACHE_PASS + '/img/union/btn_back.png" alt="戻る"></a></div>';
}
else if (location.pathname == url_union) {
back_btn = '<p class="mb10 mt10"><a href="./index.php"><img src="' +
CACHE_PASS + '/img/union/btn_back.png" class="fade" alt="戻る" title="戻る" style="opacity:1;"></a></p>';
}
else {
back_btn = '';
}
if (back_btn != '') $('table.common_table1').before($(back_btn));

$pager = $('ul.pager');
var page = $pager.find('span').text();
$pager.data('add_page', parseInt(page) + 1);

var add_page = parseInt($pager.data('add_page')),
max_page;
if ($pager.find('li.last a:last').length) {
max_page = parseInt($pager.find('li.last a:last').attr('href').split('p=')[1]);
} else {
max_page = parseInt(page);
}
var add_next_page = function(add_page, max_page) {
if (!add_next_page.flag) {
add_next_page.flag = true;
} else if (add_next_page.flag) {
return;
}
var data = { p: add_page };
$.ajax({
type: 'get',
url: location.pathname + location.search,
data: data,
beforeSend: xrwStatusText,
})
.then(function(html) {
$('table.common_table1').append($(html).find('table.common_table1 tr:not(:eq(0))'));
add_next_page.flag = false;
add_page++;
if (add_page > max_page) {
add_next_page.flag = true;
return moko_notice('全ページ読み込み完了', true);
} else {
$pager.data('add_page', add_page);
}
}, null);
},
adding_page = function() {
var scroll_bottom = getScrollBottom();
if (scroll_bottom < 5) {
add_page = parseInt($('ul.pager').data('add_page'));
return add_next_page(add_page, max_page);
}
};
if (add_page > max_page) {
return;
}
$(window).scroll(adding_page);
}
<ここまで追加>
// ^ 戦国くじ

// === プレゼント ===

<かなり下(1行なので+マーク付き)>
senkujiWhiteLottery(); // senkuji/senkuji
+ addHistoryAutopager(); // senkuji/senkuji_history
senkujiResult(); // senkuji/senkuji_result

112名無しさん:2023/02/23(木) 01:47:51 ID:uojFnum6
>>108
大感謝!
最近の特のスキルテーブル覚えきれずにエイヤで使って有能素材を溶かしたりしていたのでとてもありがたいです。

113名無しさん:2023/02/23(木) 02:45:23 ID:l1AbXbbY
>>111 ID:iOR7Vu4I さん。とても機能が向上したと感じました。いつも有り難うございます。

114104:2023/02/23(木) 06:55:17 ID:4s5fjy3Y
>>108
言葉足らず申し訳ありませんっていう状況なのに
意を汲んでいただき、さらに改修ありがとうございますm(_ _"m)

115名無しさん:2023/02/23(木) 14:54:56 ID:1VX6W3Wo
>>111さん
早速改修して頂きありがとうございました。
とても快適になりました。本当にありがとうございます。

116名無しさん:2023/02/23(木) 16:22:31 ID:gfpcFB9I
いつもありがとうございます。
導入させて頂きましたが,最初の
$(document).on('mousedown', 'a[href^="#TB_inline"]', function() {
でエラー表示されて,動かなくなってしまいます。
対処法をご教授ください。

117名無しさん:2023/02/23(木) 16:23:44 ID:gfpcFB9I
↑108さんです。 すみません。

118名無しさん:2023/02/23(木) 16:32:45 ID:iOR7Vu4I
>>116さん
入れる位置は合っていますか?
元々の
adjustTB_window(true);

return false;
});
※ ←ここに入れる
}

// カードネームのチェック
function checkCardName(array, str) {
に入れていますか?
また、コピペで行が抜けていたりしませんか?

119名無しさん:2023/02/23(木) 16:52:20 ID:gfpcFB9I
ありがとうございます。
// カードネームのチェック
function checkCardName(array, str) {
を上書きしたら動きました。 ここは場所の確認用と思い込んで,変更していませんでした。
済みませんでした。

120名無しさん:2023/02/23(木) 21:37:06 ID:1VX6W3Wo
>>108をやってみたのですが>>118の場所に、その①+その②をコピペしたのですが
エラーになりまして・・・。
>>119さんの言われているfunction checkCardName(array, str) {の上書き?の所も
分かりませんでした。

return false;
});
※ ←ここに入れる その①・その②
}
で良いのでしょうか?

121名無しさん:2023/02/23(木) 23:10:26 ID:iOR7Vu4I
>>120さん
そうです
元々の});と、その改行の後の}の間にその①とその②を入れます
と言ってもそこまで厳密ではなくfunction ajaxContent()内に今回追加の分があれば良いと思いますので
他の〜〜.on('click', 〜〜や、〜〜.on('mousedown', 〜〜と同じレベルで場所を変えてみてはいかがでしょうか?

mokoそのものが動かなくなりますか?それとも武将ポップアップの時にエラー吐きますか?
mokoそのものが動かなくなるなら}等の数や配置する階層がおかしいので場所が間違っているか}等を消してしまっているかです
ポップアップの時にエラーが出るなら他にも動作している方がいるはずなのでコピペミスの可能性が高いです

122名無しさん:2023/02/24(金) 00:12:02 ID:1VX6W3Wo
>>121さん
<ここから追加>
<ここまで追加>をこのままコピペしていました。
お騒がせしてすみませんでした。合成確立アップ候補のスキルテーブルも無事に表示する事が出来ました。
くじ履歴・合成履歴等のオートページャー等も含めありがとうございました。

お願いばかりで恐縮ではありますが、合成確率アップの素材を選ぶ部分の
オートページャーは可能でしょうか?(例えばセットの赤ボタンの横にスクロールバーなど?)

123名無しさん:2023/02/24(金) 00:23:58 ID:iOR7Vu4I
>>122さん
よかったです

確率アップのポップアップのページャー(全表示+スクロールバー)は出来なくはないと思いますが簡単ではなさそうなので少し時間かかると思います

124名無しさん:2023/02/24(金) 00:28:03 ID:iOR7Vu4I
代わりと言ってはなんですが割とどうでもいい機能で刷新の時に右クリックでカードの保護できるようにして欲しいと要望があったので
約1ヵ月前に実装した機能で、待機武将画面やカード合成画面等の右クリックで保護/保護解除できるようにしました
刷新の時に実装して放置していたのでたしかこの2ヵ所しか追加してないと思いますが動かなかったら教えてください

'<li id="levelup_status" url="' + conf_levelup + '">レベルアップ</li>' +
'</ul></li>';

}

+ toolMenu += '<li id="set_card_protect">保護/保護解除</li>';

toolMenu += '<hr class="separator" />';
}
}

<〜中略〜>

$('li.trade_skill_name').on('click', function() {
location.href = $(this).attr('url');
});
+ $('#set_card_protect').on('click', function() {
+ $.getScript(CACHE_PASS + '/js/ql_deck.js', function() {
+ var target_type = $(document).find('.card_protect_btn_area:first').attr('onclick').split(',')[2].replace(/\'|\)|\s|;/g, '');
+ postSetCardProtect('/card/set_card_protect_if.php', data.card_id, target_type);
+ });
+ });
var send_data;

// 強化
$('#skill_reinforced_synthetic').on('click', function() {

125名無しさん:2023/02/24(金) 03:11:52 ID:1VX6W3Wo
>>124
こちらも早速採用させて頂きました。右クリックで保護・解除が出来るのは助かります。
いざ取り入れてみると、凄く便利です。ありがとうございました。

126名無しさん:2023/02/24(金) 13:18:06 ID:9BVRjzbE
メイン画面から施しができないのですが、対応方法わかる方いませんか?

127名無しさん:2023/02/24(金) 22:42:46 ID:xr9cUW3.
[本丸]メニューについて根本的に判っていない質問でしたらすみません。

上部メニューの[本丸]から[本丸兵士編成]を選択した時
https://imgur.com/PMgP31h
の画面の遷移先って下図で正なのでしょうか?
https://imgur.com/MoixULR
てっきり下図の本丸防御陣形に遷移するものかとずっと思い込んでいました。
https://imgur.com/wK2FkUd

2つめの画像の画面にジャンプしても2つあるボタンのいずれかのクリックを要求されるだけなのでどういった意味があるのかしら?と思いまして。
理解不足でしたらご指摘をどうぞお願いいたします。

128名無しさん:2023/02/24(金) 22:56:16 ID:v5eckMTI
プロフィールの合戦報告書とか一戦撃破防御見てから攻撃するしない判断してたんだけど
異名入れられたせいで消えちゃったけど復活とかできないのかな
正直異名消えてほしい
地図の所領右クリから確認できるけどなかなか慣れないわ

129名無しさん:2023/02/25(土) 07:51:48 ID:M05M3a5I
>>127 [本丸]をクリックしてみると答えがわかるよ
このツールはメイン機能の下位にサブ機能を振らせ下げる形になってます。
マウスオーバーでメニュー内が展開されるのが標準だからそういうUIなんだろうね。
クリックで開くという設定だと違和感があるけど、クリックで開くは後付機能なのでしょう。

130名無しさん:2023/02/25(土) 10:08:09 ID:xr9cUW3.
>>129 ご回答を有り難うございます。これまでずっと[本丸]クリックしか使用していなかったのでふと疑問に思ってしまっておりました。

131名無しさん:2023/02/25(土) 14:30:11 ID:4MYjUuPg
>>81
本丸防御陣形の画面で設定一とか設定二とかのフィルタを使用してオートページャーで次のページへスクロールすると設定したフィルタが効かなくなる時があります?
再現はあやふやなのですが、スクロール後にフィルタが効いていてもその状態でもう一度【本丸】を押してスクロールしてみると効かなくなったりします
カードを1枚も配置していない状態だと起こりません

132名無しさん:2023/02/26(日) 23:26:53 ID:iOR7Vu4I
>>131さん
para = {
'ano': '9',
'select_card_group': '6',
- 'select_filter_num': '0',
};
この行が要らなかったです

133名無しさん:2023/02/27(月) 00:58:40 ID:Erin8VeI
>>128
 
>>35

134名無しさん:2023/02/27(月) 01:18:27 ID:ZYCHOmNI
>>132
いつもありがとうございます

135名無しさん:2023/02/27(月) 01:59:56 ID:iOR7Vu4I
資源バーのところの名声回復リンクがおかしいとのことだったので見てみたら
どうやら返ってきたデータをJSONにparseするところでエラーになってました
データとしては持ってこれているのでそもそもJSONにする必要あるのか?と思い
sendFameAjax()をほぼほぼコピってJSONにparseするところだけ削って
新しいfunction作ったら動きました
場所はどこでもいいのですがとりあえず内政のところに入れておきました

.attr('href', $(this).attr('onclick').toString().split(',')[7].replace(/'/g, "").trim())
.removeAttr('onclick');
});
}
<ここから追加(+マーク省略)>
function recoverFame() {
$('a#send_fame_ajax_link').on('mousedown', function() {
$(this).removeAttr('onclick');
$.ajax({
type: 'POST',
url: '/facility/facility_religious_if.php',
data: {},
}).done(function(data) {
var message = data.mes.replace(/\\n/g, "\n");
if (data.is_executable) {
if (!window.confirm(message)) {
return false;
}
else {
$.ajax({
type: 'POST',
url: '/facility/facility_religious_if.php',
data: {
'require_rice': data.require_rice,
'next_require_rice_per_fame': data.next_require_rice_per_fame
}
}).done(function(data) {
var message = data.mes.replace(/\\n/g, "\n");
if (data.result) {
window.location = data.result_url;
}
else {
window.alert(message);
}
}).fail(function(e) {
console.log({e});
window.alert("エラーが発生しました。\nお手数ですが、画面を更新してもう1度お試しください。");
});
}
}
else {
window.alert(message);
}
}).fail(function(e) {
console.log({e});
window.alert("エラーが発生しました。\nお手数ですが、画面を更新してもう1度お試しください。");
});
});
}
<ここまで追加>
// ^ 内政

// === 施設 ===

// 施設データの取得・更新
function getFacilitys() {

<中略 かなり下(1行なので+マーク付き)>
operationMethod(); // village
+ recoverFame(); // village
hermes(); // village && facility/facility

136名無しさん:2023/03/02(木) 10:50:06 ID:9BVRjzbE
>>135
ありがとうございます。
施し確認のポップアップが出るようになりました。

137名無しさん:2023/03/03(金) 02:08:07 ID:9ZwgjpSg
報告書のサマリー「スキル発動」の機能は元に戻せますでしょうか

138名無しさん:2023/03/03(金) 09:16:08 ID:xr9cUW3.
>>135 ID:iOR7Vu4Iさん
「資源バーのところの名声回復リンクって何だろう」とずっと考え込んでおりましたがリンクのクリックで名声を回復出来るのですね。恥ずかしながら存じませんでした。
ご対応を有り難うございます。

139名無しさん:2023/03/04(土) 12:31:22 ID:iOR7Vu4I
>>137
var str_idx;
var img_idx;
$(this).find('td').each(function() {
if ($(this).text().indexOf(data.author) != -1) {
- str_idx = $(this).index();
+ str_idx = $(this).index() === 1 ? 1 : 2;
img_idx = str_idx === 1 ? 0 : 3;
}
});
if (str_idx) {
- a.push($(this).find('td').eq(str_idx).text().split('を発動させ')[0].trim());
+ a.push($(this).find('td').eq(str_idx).text().split(/(を発動させ)|(をさらに卓越)|(を卓越をさらに超越)/)[0].trim());
img.push($(this).find('td').eq(img_idx).children('img').prop('outerHTML'));
}

140名無しさん:2023/03/04(土) 15:28:36 ID:xr9cUW3.
>>139 ID:iOR7Vu4Iさん
せっかく改修コードを提示して戴きましたが当方の環境ではサマリー[スキル発動]のボタンが見えてすらいない状況です。
お手数をお掛けして恐縮ですが原因の絞り込みの一つとしてお使いのfunction warSkillPageをまるっと戴いても宜しいでしょうか。
差分を比較してみたいです。

141名無しさん:2023/03/04(土) 22:04:53 ID:xr9cUW3.
>>140 すみません自己解決しました。前スレからの取りこぼしがないか遡って適用しましたらボタンが現れる様になりました。お騒がせしました。

142名無しさん:2023/03/05(日) 00:20:02 ID:1VX6W3Wo
>>139をまだやってはいないのですが。報告書のサマリー「スキル発動」は見れてはいます。

>>139の改修をやっておいたが良いでしょうか?

143137:2023/03/05(日) 02:41:20 ID:nIXJzZls
報告書のサマリー「スキル発動」の機能 回復しましたありがとうございます!

144名無しさん:2023/03/05(日) 04:13:16 ID:iOR7Vu4I
>>140さん
動いてよかったです

>>142さん
防御のスキルが要素数が変わって取得できていなかったのと、卓越と2回卓越が取得できていなかったところを追加修正しました

>>143(137)さん
恐れ入ります

145名無しさん:2023/03/05(日) 07:57:56 ID:LaASFlPM
>>141さん、ぜひ取りこぼしはどこなのか教えていただけませんか?

146名無しさん:2023/03/05(日) 09:05:56 ID:xr9cUW3.
>>145 さん。
すみませんどこに取りこぼしがあったのかの記録を残さず進めていました。

おおよその作業ですが前スレからどんどん遡る形で「合戦報告書」でページ内検索をして、
そのコードが今持ってるmokoで適用済かどうかVS Code上に貼り付けて相違があったら差分の埋め合わせをしました。
1年間くらいmokoのメンテから離れてしまっていたので前スレ(Part47)166辺りから確認を始めたと思います。

基本的にID:M05M3a5I さんやID:iOR7Vu4I さんで検索して取りこぼしが無いかどうか確認されると早いと思います。
コードを外出しにしてリンクだけ載せてくださってる投稿がありましたが、そこはまるっと適用していなかったです。

147名無しさん:2023/03/05(日) 11:44:11 ID:1VX6W3Wo
>>144さん
ありがとうございました。そういう事だったのですね。
>>139採用させて頂きました。

148名無しさん:2023/03/05(日) 16:01:28 ID:iOR7Vu4I
本丸防御陣形で武将入れ替えたり兵編成したあとmokoが消えるのを対応しました
ボタンあるなしでmoko再実行といういけてない修正ですが動作はします
本丸の列入れ替えを導入されていない方はswitchDefenceLine();を消してください

function elite_category() {
<〜中略〜>
}

<ここから追加(+マーク省略)>
function ajaxStopDefenseFormation() {
if ( location.pathname != '/card/defense_formation_deck.php' ) {
return;
}
else {
$(document).on('ajaxStop', function() {
if (!$('div.deck_btns').find('img[alt="兵編成"]').length) {
elite_category();
switchDefenceLine();
}
});
}
}
<ここまで追加>

function getUnitAtt() {
return parseFloat($('#deck_info_tbl td').eq(4).text().replace(/,/g, '').match(/\d+/g) || ['0']);
}

<中略 かなり下(1行なので+マーク付き)>
delListCheck(); // card_delete
switchDefenceLine(); // card/defense_formation_deck 20221117add
+ ajaxStopDefenseFormation(); // card/defense_formation_deck

149名無しさん:2023/03/05(日) 21:58:23 ID:hjzh/u3U
2年ぶりにIXAを再スタートしたのですが
Mokoの動きに多々問題が生じています。
どなたか最新版をアップして頂けませんか。

150名無しさん:2023/03/05(日) 22:08:58 ID:2y/ZZWy2
2年ぶりなら全く動かないよ
嘘つかないでいいから
mera使ってろ

151名無しさん:2023/03/06(月) 08:19:56 ID:bl5Bniyg
>>148
修正ありがとうございます。

152名無しさん:2023/03/06(月) 17:28:02 ID:w0RPiTvc
//2023.03
"攻.神威采配.A": ["攻.神威采配.A","攻.神威采配.A","攻.騎聖.A","攻.戦陣 召雷.A","攻.騎聖.A"],
"攻.渾身勇略.A": ["攻.渾身勇略.A","攻.渾身勇略.A","攻.覇王ノ鬼神.B","攻.十二狂槍.A","攻.騎聖.A"],
"特.鬼宿将艦.S": ["攻.衝角.C","特.天綾の誓約.SS","防.天衣無縫神戒.SS","防.国津破邪ノ楯.SS","特.朧雲ノ蓮撃.S"],
"特.風韻書房.S": ["特.御金改役.A","特.御金改役.A","特.八重言代主神.SS","特.神屋楯比売命.SS","特.商器偉才.A"],
"特.鬼ノ懐刀.C": ["特.鬼ノ懐刀.C","特.鬼ノ懐刀.C","特.大樹ノ守り人.C","特.十字飛車.A","特.野太刀.C"],
"攻.鉄魂不撓.C": ["攻.鉄魂不撓.C","攻.鉄魂不撓.C","攻.賢臣.D","攻.破城 羅刹.S","特.虎切刀.C"],
"防.涼下宿志.C": ["防.涼下宿志.C","防.涼下宿志.C","防.歴戦ノ堅将.C","防.籠城の妙技.A","特.十字飛車.A"],

既出だったらごめんなさい
"特.商器偉才.-":["特.算命術.D","攻.剛勇無双.B","特.質実剛健.B","特.武人の浄財.C","特.武功浄財.A"],
 ↓
"特.商器偉才.A":["特.算命術.D","攻.剛勇無双.B","特.質実剛健.B","特.武人の浄財.C","特.武功浄財.A"],

153名無しさん:2023/03/06(月) 18:17:51 ID:hjzh/u3U
一騎打ちの改悪を続けた時に辞めたので厳密には2年未満ですが、再開した時に手に入れたMokoでは不具合が多く困って居ます。助けて頂けませんかね。

154名無しさん:2023/03/06(月) 22:54:42 ID:xr9cUW3.
>>153 辞めた時期がハッキリしているのであれば、前スレにどんどん遡れますのでVS Codeとお友達になって頑張りましょう。

155名無しさん:2023/03/08(水) 09:27:49 ID:hjzh/u3U
コードなど素人の私には難し過ぎます。大半の方々も無理だと思います。タゲの情報が分かり難くて苦戦しており、相手を間違て何度も兵を溶かされ、陥落させられました。 心優しい方、お助け下さい。

156名無しさん:2023/03/08(水) 11:19:53 ID:icBDGpC.
>>155
たぶんそれ、mokoあっても同じですよ・・・。

157名無しさん:2023/03/08(水) 20:28:14 ID:xr9cUW3.
mokoの動作中は「カード合成」画面の「上級者向け合成」画面を見られない事に気づきまして、
「くじ他」のプルダウンに「カード合成」に画面遷移出来る様に選択肢を増やしてみました。
JavaScriptはまだまだ不得手なので余りエレガントな対応ではなくすみません。

ixa-moko.user.js内

html += '<li style="padding-top:12px;" id="戦国くじ" class="mk_sub_menu"><a href="/senkuji/senkuji.php"><font size="1">くじ他</font></a>' +
'<div>' +
'<a href="/card/trade.php">取引</a>' +
'<a href="/card/exhibit_list.php">出品中</a>' +
'<a href="/card/bid_list.php">入札中</a>' +
'<a href="/card/trade_card.php">出品</a>' +
'<a href="javascript:void(0);" id="comp_1">合成【スキル強化】</a>' +
'<a href="javascript:void(0);" id="comp_2">合成【スキル追加】</a>' +
'<a href="javascript:void(0);" id="comp_3">合成【スキル削除】</a>' +
'<a href="javascript:void(0);" id="comp_4">合成【ランクアップ】</a>' +
'<a href="javascript:void(0);" id="comp_5">合成【特殊合成】</a>' +
'<a href="javascript*void(0);" id="comp_6">合成【レベルアップ】</a>' +
+ '<a href="javascript*void(0);" id="comp_7">合成【メイン画面】</a>' +
'<a href="/union/union_history.php">合成履歴</a>' +
'<a href="/card/card_album.php">カードアルバム</a>' +
'</div>' +
'</li>';

$('#status_left ul').append(html);

(途中省略)

switch (type) {
case '2': url = '/union/learn.php';
break;
case '3': url = '/union/remove.php';
break;
case '4': url = '/union/rankup.php';
break;
case '5': url = '/union/special.php';
break;
case '6': url = '/union/expadd.php';
break;
+ case '7': url = '/union/index.php';
+ break;
default: url = '/union/levelup.php';
break;
}

158名無しさん:2023/03/10(金) 18:17:54 ID:hjzh/u3U
>>156 
確かにMOKOがあっても火力は増えませんが、対策が行いやすくなります。
廃様や強者を刺激せずにプレイするのが弱者の生きる道かと思ってます。
前回は相手の事が分からず凸したら数万の兵で数百しか倒せず。その後は数分で本領が陥落させられたりと散々。

色々と苦戦してますが、辛いのは、陣などをクリックして「この城主の状態・詳細を見る」を選択しても反応しないサバがあります。
運よく表示されても一戦防衛とかの数値が滅茶苦茶です。 もっと悲しいのは城主プロフィールでのリンクが表示されないので相手を判断する事が困難になってます。 

長文ですいません。苦しいので協力して頂けませんか。

159名無しさん:2023/03/11(土) 03:29:59 ID:xr9cUW3.
いつもお世話になってます。
「本領でマウスの右クリックからのレベルアップ×2(ダブルアップ)が機能していない様だ」と言われております。
私は自分ではその様な操作をした事がなく実際に確認して過去ログを読むしか出来ないのですが、
part41の811にてダブルアップ周りに関するコードを確認しました。
ここではトリプルアップの機能追加に関する説明でしたが、直近でダブルアップ周りの改修ってありましたでしょうか。
何卒宜しくお願いいたします。

160名無しさん:2023/03/11(土) 10:24:39 ID:xr9cUW3.
>>159 の補足です。
下図の事象になっています。ソースを読む限りですとstr_2に上手く値が入ってきていない模様です。
https://imgur.com/cPLqJKW
何か有効な改修手段はありますでしょうか。何卒どうぞ宜しくお願いいたします。

161名無しさん:2023/03/11(土) 12:37:39 ID:1VX6W3Wo
>>157さん
ありがとうございました。
私のmoko設定だとメイン画面へ行けなかったので助かりました。

162名無しさん:2023/03/11(土) 13:04:19 ID:xr9cUW3.
追加で失礼します。皆さん[拠点を破棄]ボタンって見えていますか?
拡張機能でmokoをOFFにしても[拠点を破棄]ボタンが見えてこない様です。
https://imgur.com/xVtZyk3
仕様が変わって破棄出来なくなったか破棄する方法が変わったのでしょうか。
ご教授の程どうぞ宜しくお願いいたします。

163名無しさん:2023/03/11(土) 13:51:23 ID:0HFPii4g
>>162 
陣触(準備)期間中だからじゃないの?終わってから再度確認を。
あと、moko切ってもおかしいことはサポセンに連絡を。

164名無しさん:2023/03/11(土) 14:11:30 ID:xr9cUW3.
>>163 さん
>> 陣触(準備)期間中だから
あ、成る程うかつでした。
尚、村落では[拠点を破棄]ボタンが見えていて支城では[拠点を破棄]ボタンが見えていない状況です。
ひとまず、陣触(準備)期間中の期間は様子見させていただきます。お騒がせしました。

165名無しさん:2023/03/11(土) 20:57:49 ID:M05M3a5I
>>162
村はあるけど支城にはないですね。
ゲーム自体の問題のようです。

166名無しさん:2023/03/11(土) 21:41:53 ID:0HFPii4g
9鯖では村でも支城でもボタン表示される。
1鯖では村には表示されるが支城では表示されない。1鯖は加勢上限数の表示もおかしい。
いずれにせよmokoの問題ではなさそうですね。

167名無しさん:2023/03/12(日) 02:00:11 ID:iOR7Vu4I
>>159
ダブルアップの名称が出ないところでしたらvar getFacilityStatus = function(href) {内の

$innermid.each(function() {
var $h3 = $(this).find('h3:eq(0)');
var type = $h3.children('span').text().trim();
- var unit = $h3.children('a').text().trim();
if (type != '施設') {
return;
}
+ var unit = $h3.text().split(':')[1];
var $img = $(this).find('img[src$="btn_lvup2.png"], img[src$="btn_construct.png"], img[src$="btn_lvup.png"]');

で直ると思います
ダブルアップは私の環境では動いているのでonclickの部分を丸ごとコピペしておきます

$('li[id^="exe_double_"]').on('click', function() {
var unit_name = $(this).attr('name'),
search1 = $(this).attr('url'),
search2 = href,
str_1,
str_2;
var second_construct = function(end) {
$.ajax({
type: 'post',
url: end,
beforeSend: xrwStatusText,
}).then(function(html) {
return Info.title('完了', location.pathname);
}, null);
},
search_construct = function(unit_name, str_1, str_2) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
Info.title(unit_name + 'を' + str_2 + '中...');
setTimeout(second_construct, 300, '/facility/' + url);
return true;
} else {
Info.title(unit_name + 'の' + str_2 + 'は実行できません', location.pathname);
return false;
}
}, null);
},
first_construct = function(unit_name, str_1, str_2) {
$.ajax({
type: 'post',
url: search1,
beforeSend: xrwStatusText,
}).then(function() {
Info.title(unit_name + 'を' + str_1 + '中...');
setTimeout(search_construct, 500, unit_name, str_1, str_2);
}, null);
};
if ($(this).attr('mod') == '建設') {
str_1 = '建築';
str_2 = 'レベルアップ';
} else {
str_1 = 'レベルアップ';
str_2 = 'レベルアップ×2';
}
nowLoading();
return first_construct(unit_name, str_1, str_2);
});

同じ要領でトリプルアップ、クアドラプルアップ、クインティプルアップも動きました
要望あれば投稿します

168名無しさん:2023/03/12(日) 09:26:43 ID:xr9cUW3.
>>167 さん。
教えてくださり有り難うございました。大変助かりました。
下図の様にダブルアップが動作する様になりました。
https://imgur.com/JbvA8zr

1点だけ、上手く施設名称を取得できていない様に見受けられます。
https://imgur.com/b1WaMta
どこかで改修の取りこぼしをしているかもしれません。
自力でも探しますがどこか心当たりがございましたらご教授戴けますと幸いです。
この度は有り難うございました。

169名無しさん:2023/03/12(日) 09:31:52 ID:xr9cUW3.
>>167 さん
申し訳ありません!。施設名称取得とダブルアップ修正の2つを話題にされていたのですね。
バッチリ直りました。有り難うございました!。

170名無しさん:2023/03/12(日) 17:29:18 ID:iOR7Vu4I
せっかくなのでトリプルアップ以上も投稿しますね
まず位階情報をLocalStorageに保持しています
位階ボーナスを含めた、金を使わない建設予約数の最大値をツールチップに出します
位階が有効で建設予約数+1ならレベルアップ×3まで出る仕様です
その上で×3、×4、×5まで出来るようにしています
何回かに分けて投稿します

171名無しさん:2023/03/12(日) 17:30:41 ID:iOR7Vu4I
まず位階の情報を保持するところです
function get_deck_cardarea(target) {
・・・
} の後
<ここから追加(+マーク省略)>
// 位階の情報を取得
function userBonus() {
$.ajax({
type: 'get',
url: '/user/',
beforeSend: xrwStatusText,
}).then(function(html) {
var bonus = {
loginmoney: 0,
constructtime: 0,
resourcebonus: 0,
createunit: 0,
hprecover: 0,
dungeon: 0,
commission: 0,
possesscard: 0,
deckcost: 0,
selfconfcost: 0,
assaultcost: 0,
constructreserve: 0,
fame: 0,
directdeploy: 0,
defformcost: 0,
resourcecount: 0,
marketprice: 0,
addcardtrade: 0,
autoreplenish: false,
unionrankup: 0,
unionaddskill: 0,
unionexp: 0,
lotteryright: 0,
autorevive: false,
}
var $li = $(html).find('ul#current_bonus_texts li');
if ($(html).find('div.time').text().indexOf('まで有効') != -1) {
bonus.loginmoney = parseInt($li.eq(0).text().match(/\d+/));
bonus.constructtime = parseInt($li.eq(1).text().match(/\d+/));
bonus.resourcebonus = parseInt($li.eq(2).text().match(/\d+/));
bonus.createunit = parseInt($li.eq(3).text().match(/\d+/));
bonus.hprecover = parseInt($li.eq(4).text().match(/\d+/));
bonus.dungeon = parseInt($li.eq(5).text().match(/\d+/));
bonus.commission = parseInt($li.eq(6).text().match(/\d+/));
bonus.possesscard = parseInt($li.eq(7).text().match(/\d+/));
bonus.deckcost = parseFloat($li.eq(8).text().match(/\d+\.?\d?/));
bonus.selfconfcost = parseFloat($li.eq(9).text().match(/\d+\.?\d?/));
bonus.assaultcost = parseFloat($li.eq(10).text().match(/\d+\.?\d?/));
bonus.constructreserve = parseInt($li.eq(11).text().match(/\d+/));
bonus.fame = parseInt($li.eq(12).text().match(/\d+/));
bonus.directdeploy = parseFloat($li.eq(13).text().match(/\d+\.?\d?/));
bonus.defformcost = parseFloat($li.eq(14).text().match(/\d+\.?\d?/));
bonus.resourcecount = parseInt($li.eq(15).text().match(/\d+/));
bonus.marketprice = parseInt($li.eq(16).text().match(/\d+/));
bonus.addcardtrade = parseInt($li.eq(17).text().match(/\d+/));
bonus.autoreplenish = true;
bonus.unionrankup = parseFloat($li.eq(19).text().match(/\d+\.?\d?/));
bonus.unionaddskill = parseFloat($li.eq(20).text().match(/\d+\.?\d?/));
bonus.unionexp = parseFloat($li.eq(21).text().match(/\d+\.?\d?/));
bonus.lotteryright = parseInt($li.eq(22).text().match(/\d+/));
bonus.autorevive = true;
}
setStorage('ixamoko_userbonus', bonus);
}, null);
}
<ここまで追加>
// カード 兵士編成
function getGradientData(target) {
<〜中略〜>
<かなり下(1行なので+マーク付き)>
userCheck(); // user
+ userBonus(); // user
teamLvCheck(); // user

172名無しさん:2023/03/12(日) 17:32:29 ID:iOR7Vu4I
次にツールチップの追加です
createTooltip = function(e, data, title, href) {
var $tooltip = display_tooltip(e.pageX, e.pageY, 30).html('<li id="selection_tile">' + title + '</li>');
+ var bonus = getStorage(null, 'ixamoko_userbonus'); // ←ここ1行だけ追加
for (var i = 0; i < data.length; i++) {
<〜少し略〜>
// ダブルアップ
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
html += '<li id="exe_double_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ</li>';
$('#exe_normal_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
html += '<li id="exe_double_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×2</li>';
$tooltip.append(html);
}
}

<ここから追加(+マーク省略)>
// トリプルアップ
if (bonus.constructreserve > 0) {
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
html += '<li id="exemulti_triple_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ×2</li>';
$('#exe_double_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
html += '<li id="exemulti_triple_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×3</li>';
$tooltip.append(html);
}
}
}

// クアドラプルアップ
if (bonus.constructreserve > 1) {
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
html += '<li id="exemulti_quadruple_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ×3</li>';
$('#exemulti_triple_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
html += '<li id="exemulti_quadruple_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×4</li>';
$tooltip.append(html);
}
}
}

// クインティプルアップ
if (bonus.constructreserve > 2) {
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
html += '<li id="exemulti_quintuple_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ×4</li>';
$('#exemulti_quadruple_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
html += '<li id="exemulti_quintuple_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×5</li>';
$tooltip.append(html);
}
}
}
<ここまで追加>
}

173名無しさん:2023/03/12(日) 17:35:52 ID:iOR7Vu4I
最後にトリプル〜クインティプルの実行の部分です
その①
$('li[id^="exe_double_"]').on('click', function() {
・・・
}); の後
<ここから追加(+マーク省略)>
// トリプル・クアドラプル・クインティプルアップ
$('li[id^="exemulti_"]').on('click', function() {
var mode = $(this).attr('id').split('_')[1],
unit_name = $(this).attr('name'),
search1 = $(this).attr('url'),
search2 = href,
str_1,
str_2,
str_3,
str_4,
str_5;
var fifth_construct = function(url) {
$.ajax({
type: 'post',
url: '/facility/' + url,
beforeSend: xrwStatusText,
}).then(function() {
return setTimeout(Info.title, 500, '完了', location.pathname);
}, null);
},
search_construct4 = function(unit_name, str_1, str_2, str_3, str_4, str_5) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
Info.title(unit_name + 'を' + str_5 + '中...');
setTimeout(fifth_construct, 500, url);
return true;
} else {
Info.title(unit_name + 'の' + str_5 + 'は実行できません', location.pathname);
return false;
}
}, null);
},
fourth_construct = function(unit_name, str_1, str_2, str_3, str_4, str_5, url) {
$.ajax({
type: 'post',
url: '/facility/' + url,
beforeSend: xrwStatusText,
}).then(function() {
if (mode == 'quadruple') {
return setTimeout(Info.title, 500, '完了', location.pathname);
}
else {
setTimeout(search_construct4, 500, unit_name, str_1, str_2, str_3, str_4, str_5);
}
}, null);
},
search_construct3 = function(unit_name, str_1, str_2, str_3, str_4, str_5) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
Info.title(unit_name + 'を' + str_4 + '中...');
setTimeout(fourth_construct, 500, unit_name, str_1, str_2, str_3, str_4, str_5, url);
return true;
} else {
Info.title(unit_name + 'の' + str_4 + 'は実行できません', location.pathname);
return false;
}
}, null);
},

174名無しさん:2023/03/12(日) 17:36:57 ID:iOR7Vu4I
その②
third_construct = function(unit_name, str_1, str_2, str_3, str_4, str_5, url) {
$.ajax({
type: 'post',
url: '/facility/' + url,
beforeSend: xrwStatusText,
}).then(function() {
if (mode == 'triple') {
return setTimeout(Info.title, 500, '完了', location.pathname);
}
else {
setTimeout(search_construct3, 500, unit_name, str_1, str_2, str_3, str_4, str_5);
}
}, null);
},
search_construct2 = function(unit_name, str_1, str_2, str_3, str_4, str_5) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
Info.title(unit_name + 'を' + str_3 + '中...');
setTimeout(third_construct, 500, unit_name, str_1, str_2, str_3, str_4, str_5, url);
return true;
} else {
Info.title(unit_name + 'の' + str_3 + 'は実行できません', location.pathname);
return false;
}
}, null);
},
second_construct = function(unit_name, str_1, str_2, str_3, str_4, str_5, url) {
$.ajax({
type: 'post',
url: '/facility/' + url,
beforeSend: xrwStatusText,
}).then(function() {
setTimeout(search_construct2, 500, unit_name, str_1, str_2, str_3, str_4, str_5);
}, null);
},
search_construct = function(unit_name, str_1, str_2, str_3, str_4, str_5) {
$.ajax({
type: 'get',
url: search2,
beforeSend: xrwStatusText,
}).then(function(html) {
var url = $(html).find('div.ig_tilesection_btnarea_left > a').attr('href');
if (url) {
Info.title(unit_name + 'を' + str_2 + '中...');
setTimeout(second_construct, 500, unit_name, str_1, str_2, str_3, str_4, str_5, url);
return true;
} else {
Info.title(unit_name + 'の' + str_2 + 'は実行できません', location.pathname);
return false;
}
}, null);
},
first_construct = function(unit_name, str_1, str_2, str_3, str_4, str_5) {
$.ajax({
type: 'post',
url: search1,
beforeSend: xrwStatusText,
}).then(function() {
Info.title(unit_name + 'を' + str_1 + '中...');
setTimeout(search_construct, 500, unit_name, str_1, str_2, str_3, str_4, str_5);
}, null);
};
if ($(this).attr('mod') == '建設') {
str_1 = '建築';
str_2 = 'レベルアップ';
str_3 = 'レベルアップ×2';
str_4 = 'レベルアップ×3';
str_5 = 'レベルアップ×4';
} else {
str_1 = 'レベルアップ';
str_2 = 'レベルアップ×2';
str_3 = 'レベルアップ×3';
str_4 = 'レベルアップ×4';
str_5 = 'レベルアップ×5';
}
nowLoading();
return first_construct(unit_name, str_1, str_2, str_3, str_4, str_5);
});
<ここまで追加>
return processing_tooltip($tooltip, e);
};

175名無しさん:2023/03/12(日) 19:57:12 ID:iOR7Vu4I
投稿してから気づいたのですが、>>172のツールチップ作成のところはループで回せますね
やや強引ですが//トリプルアップ〜//クインティプルアップをまとめてみました

// トリプル・クアドラプル・クインティプルアップ
var text = [['', 'double'], ['multi', 'triple'], ['multi', 'quadruple'], ['multi', 'quintuple']];
for (var j = 0; j < 3; j++) {
if (bonus.constructreserve > j) {
if (options.facility_tool_mod === '0' && mod != '建設追加不可' && mod != '資源不足' && mod != '蔵の容量不足' && mod != '条件不足') {
html = '';
if (mod == '建設') {
html += '<li id="exemulti_' + text[j + 1][1] + '_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">建設+レベルアップ×' + (j + 2) + '</li>';
$('#exe' + text[j][0] + '_' + text[j][1] + '_' + i).after(html);
} else if (mod != '最大レベルです' && mod != 'この建物は削除中です') {
html += '<li id="exemulti_' + text[j + 1][1] + '_' + i + '" url="' + data[i].url + '" mod="' + mod + '" ' + 'name="' + data[i].unit + '">レベルアップ×' + (j + 3) + '</li>';
$tooltip.append(html);
}
}
}
}

176名無しさん:2023/03/12(日) 19:58:01 ID:xr9cUW3.
>>171-174 ID:iOR7Vu4I さん
貴重なコードの情報連携を有り難うございます。
こちらで組み込み、文法エラーが無い事と動作時にトリプルアップまでは見える事を確認出来ました。
クアドラプルアップとクインティプルアップが見えてこないのはbonus.constructreserveが1や2を超えていない、
つまり私の位階が不足していると解釈させていただきます。
有り難うございます。

177名無しさん:2023/03/12(日) 20:18:13 ID:xr9cUW3.
>>175 ID:iOR7Vu4I さん
まとめを有り難うございます。無事取り込めました。感謝です。

178名無しさん:2023/03/13(月) 05:49:42 ID:iOR7Vu4I
ダブルアップを何度か検証していて、ある条件でURLがaタグではなくformタグに入っていることがありました
原因の切り分けができていないのですが、ひとまずどちらが来ても大丈夫な暫定対応しました
var getFacilityStatus = function(href) {内です

var pay_text = $(this).find('div.ig_tilesection_pay').text();
- var url = href ? '/facility/' + href : $(this).find('a[href*="&mode=cp"]').attr('href').split('&mode=cp')[0];
+ var url = href ?
+ '/facility/' + href :
+ $(this).find('form[action*="&mode=cp"]').attr('action') ?
+ $(this).find('form[action*="&mode=cp"]').attr('action').split('&mode=cp')[0] :
+ $(this).find('a[href*="&mode=cp"]').attr('href').split('&mode=cp')[0];
var word = $img.length ? $img.attr('alt') : btn_text.replace(pay_text, '').trim();


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板