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

戦国IXA ツールスレPart48

1名無しさん:2023/01/18(水) 14:40:14 ID:guo7Kikc
■前スレ
戦国IXA ツールスレPart47
https://jbbs.shitaraba.net/bbs/read.cgi/netgame/15829/1638469272/l50
荒らしは管理人が即出禁にするので注意

210名無しさん:2023/03/21(火) 04:49:21 ID:xr9cUW3.
>>209 ID:iOR7Vu4I さん。貴重なご助言を有り難うございます。あたってみます。

211名無しさん:2023/03/21(火) 05:54:24 ID:iOR7Vu4I
>>208
異名は城主名のリンクのマウスオーバーで出ているのだと思います
なぜ消えないのかは分かりませんが確実に消すなら
function allPageCheck()内のremoveBushodrama();の下あたりに
$('a.other_name_popup_link').on('mouseout', function() {$('div.hover_other_name_div').remove();});
を入れてあげれば多分消えてくれます
普通の画面だとこれ入れなくても消えちゃうので敵襲画面で試せていないですが・・・

そもそも異名を出さないのであれば
$(document).on('load ajaxStop', function() {$('.other_name_popup_link').each(function() {$(this).prop('outerHTML', $(this).prop('outerHTML').replace('other_name_popup_link', ''));});});
にすれば出なくなると思いますが全ページをチェックはしてないです
removeClassで消していないのは今後何か重要なclassがこのclassと共に追加されたときにそれも同時に消してしまうからです
特定のページだけ出したくないとかでしたらそのページの処理が走っているところにこれを入れてあげれば良いと思います

212名無しさん:2023/03/22(水) 00:28:03 ID:iOR7Vu4I
すみません、211の上の方はこの方がいいかもしれません
$('a.other_name_popup_link').on('mouseout', function() {$('div.hover_other_name_div').remove();});

$(document).on('mouseout', 'a.other_name_popup_link', function() {$('div.hover_other_name_div').remove();});

213名無しさん:2023/03/22(水) 01:17:10 ID:xr9cUW3.
ID:iOR7Vu4I さん
>>209 から >>212にかけて具体的に有り難うございます!
帰宅が遅くなりました為じっくりと取り組ませていただきます。

214名無しさん:2023/03/22(水) 14:22:55 ID:xr9cUW3.
>>162 の件ですが「練兵中は支城の破棄が行えない様だ。練兵していない時は[破棄]が見えている」と報告者より連絡がありました。そりゃそうですね。お騒がせしました。

215名無しさん:2023/03/22(水) 19:28:48 ID:xr9cUW3.
>>209 ID:iOR7Vu4I さん
ご提示戴いたpart45の507から始まる地図のモヤッとしたズレの件の話題を追ってみました。
毎日スレを眺めていた時期です。
結論としては「498丸ごとなしにするだけok」、つまり
/* 資源バー */
の段落で差し込んでいた
'#status { height: 50px; }' +
を無くす対応になるかと思いますが、事象変わらずでした。

具体的な事象発生イメージですが、例えばマウスのドラッグ操作で地図を北西にずらした場合に
新しく見えてくる部分はすんなり表示されるのですが、それまで見えていた部分が一瞬再描画されて南西?真下?方向にストンと落ちる感じでしょうか。

>> mokoの1番最後の方のcssを設定している部分で#headerや#status、#status_leftあたりのheightを疑ってみる
ここにつきましては素人が最大限努力して追い切れるかどうかの部分となりますので余力のある時に確認いたします。
>>211-212 の異名対応は取り込ませて頂きました。次回合戦時に敵襲があった時に確認します。有り難うございました。

216名無しさん:2023/03/23(木) 03:16:16 ID:iOR7Vu4I
精鋭部隊にアプデが入ったので列入れ替えを更新しました
色々改修したので完成品だけ置いておきます
何回かに分けます

その①
// 精鋭部隊 並び変え 20230322updated
function moveEliteLine() {
// 精鋭部隊数を取得
var line_num = $('div.elite_busho_info.elite_busho_info_margin_to_deck').length;
if (line_num < 2) {
return;
}

// 定義
var url = '/card/deck.php',
ELITE_SUFFIX = '番隊',
UNDER_SUFFIX = 'の下',
ELITE_LINE = [
'壱','弐','参','肆','伍','陸','漆','捌','玖','拾',
'拾壱','拾弐','拾参','拾肆','拾伍','拾陸','拾漆','拾捌','拾玖','弐拾',
'弐拾壱','弐拾弐','弐拾参','弐拾肆','弐拾伍','弐拾陸','弐拾漆','弐拾捌','弐拾玖','参拾',
'参拾壱','参拾弐','参拾参','参拾肆','参拾伍','参拾陸','参拾漆','参拾捌','参拾玖','肆拾',
'肆拾壱','肆拾弐','肆拾参','肆拾肆','肆拾伍','肆拾陸','肆拾漆','肆拾捌','肆拾玖','伍拾',
],
arr_sort = [];
$('input.sort').each(function() {arr_sort.push($(this).val());});

// データ送信処理
var post_data = function(obj, from_line_num, butai_name) {
var data = obj.shift();
$.ajax({
type: 'post',
url: url,
data: data,
beforeSend: xrwStatusText,
});
var to_line_num = data.elite_move_order == '1' ? -1 : 1;
Info.log(
butai_name + 'を' +
from_line_num + '→' +
(from_line_num + to_line_num) +
'列目に移動中...'
);
if (obj.length) {
setTimeout(post_data, 500, obj, from_line_num + to_line_num, butai_name);
}
else {
setTimeout(Info.log, 500, '終了中...');
if (location.pathname != url) {
url = location.pathname;
}
setTimeout(Info.title, 1000, '完了', url);
}
}

217名無しさん:2023/03/23(木) 03:17:15 ID:iOR7Vu4I
その②
// 入れ替え処理
var btn_move_elite_line = $('<input type="button" value="移動" id="moveeliteline" />')
.on('click', function() {
$(this).prop('disabled', true);
var input_line_from = parseInt($('#input_line_from').val()),
input_line_to = parseInt($('#input_line_to').val());
if (input_line_from == input_line_to || (input_line_from - input_line_to) == 1) {
alert('移動が発生しません');
$(this).prop('disabled', false);
return false;
}
var repeat_num = input_line_to - input_line_from,
elite_move_order = '2';
if (repeat_num < 0) {
repeat_num = repeat_num * -1 - 1;
elite_move_order = '1';
}
var butaicho = $('table.elite_busho_info_tbl:eq(' + input_line_from + ') a.busho_name:first').text() + '部隊',
butaimei = $('input.elite_squad_name:eq(' + input_line_from + ')').val() || '名称未設定',
set_elite_unit_assign_filter_tab = $('#set_elite_unit_assign_filter_tab').val(),
elite_layout_mode =$('input[name="elite_layout_mode"]:checked').val(),
list = [];
butaicho = butaicho + ' [' + butaimei + '] ';
nowLoading();
Info.title('精鋭部隊 - 列入れ替え');
for (var i = 0; i < repeat_num; i++) {
var param = {
p: 0,
mode: 'move_elite',
set_elite_unit_assign_sort: arr_sort[input_line_from],
set_elite_unit_assign_filter_tab,
elite_move_order,
elite_layout_mode,
line_from: 0,
line_to: -1,
}
list.push(param);
if (elite_move_order == '1') {
input_line_from--;
}
else {
input_line_from++;
}
}
post_data(list, parseInt($('#input_line_from').val()) + 1, butaicho);
});

218名無しさん:2023/03/23(木) 03:18:21 ID:iOR7Vu4I
その③
// 要素配置
var div = $('<div class="move_elite_line rightF">').css({
'display': 'inline-block',
'margin-right': '18px',
'font-weight': 'normal',
'font-size': '11px',
}),
select_1 = $('<select id="input_line_from" name="input_line_from">').css('width', '120px').appendTo(div),
select_2 = $('<select id="input_line_to" name="input_line_to">').css('width', '120px').appendTo(div);
select_1.after('<label> を </label>');
select_2.after('<label> へ </label>');
select_2.append('<option value="-1">一番上</option>');
for (var i = 0; i < line_num; i++){
select_1.append($('<option value="' + i + '">' + ELITE_LINE[i] +
'[' + (i + 1) + ']' + ELITE_SUFFIX + '</option>'));
select_2.append($('<option value="' + i + '">' + ELITE_LINE[i] +
'[' + (i + 1) + ']' + ELITE_SUFFIX + UNDER_SUFFIX + '</option>'));
}
div.append(btn_move_elite_line);
$('div.ig_decksection_top').append(div);
}
// 精鋭部隊 並び変え 20230322updatedここまで

219名無しさん:2023/03/23(木) 09:04:13 ID:vx.CFrJA
精鋭登録関連ありがとうございます。
それの関連で、本丸防御陣形画面での「精鋭部隊登録」が効かなくなってしまったのはどうすれば直りますかね?

それと別件なんですが、スキル追加で餌になる武将をスクロール(オートページャー)させてると
読み込みで固まる(重くなる?)んですが直す方法はないでしょうか?
 ※ ▷ を使えば良いんでしょうけど、どうしてもオートページャーで探すのが楽なもので^^;

220名無しさん:2023/03/23(木) 20:46:03 ID:1VX6W3Wo
>>216さん、いつもありがとうございます。
>>81-82を修正したのですが、その部分を>>216-218に変更するという認識で良かったのでしょうか?

影の方で確認すると修正前は本丸防御陣形を押した画面で兵編成というボタンがあったのですが何処かを間違ったようで・・。
https://gyazo.com/4927b00d5d318b9a9cfa1982c82742b4
そもそも違う部分を修正している可能性もあるので。ご教授宜しくお願いします。

221名無しさん:2023/03/23(木) 23:17:04 ID:iOR7Vu4I
>>219
精鋭登録は出来るようになったのですが、登録ボタンの表示、非表示は待機武将一覧の精鋭部隊を選んだ時に出てくる一覧と比較して存在すればボタン非表示、存在しなければボタン表示にしてます
今回、精鋭部隊が「全部隊」が無くなって4つに分かれたため、存在チェックをするには4ページ分読み込まないといけません
そうするとかなり読み込み処理が重くなるんですが、そもそも存在チェック要りますかね?
既に精鋭登録あるやつを登録しようとすると、以前までは鯖側で弾かれてただ登録出来なかっただけで、ボタンの表示非表示はパッと見て既に精鋭登録されているかが分かるだけのただの親切機能でした

222名無しさん:2023/03/23(木) 23:23:54 ID:iOR7Vu4I
>>220
>>81-82>>216-218は別物です

>>216-218は前スレPart47の946からの更新です
そちらを導入していなかったらまずは導入してから>>216-218の更新を当ててください

946から少し下にも修正が入っていますのでご注意ください

223名無しさん:2023/03/23(木) 23:27:58 ID:iOR7Vu4I
>>219
餌のオートページャーとは、スキル合成確率アップの特以上を1つにつき5枚まで入れられる画面のことですか?
私はその画面のJSONデータがうまく取得できずにオートページャーは諦めたので、すみませんがお力になれません
その部分のソースを頂ければ改善はできるかもしれません

224名無しさん:2023/03/23(木) 23:56:55 ID:1VX6W3Wo
>>216さん
>>222の返信ありがとうございます。
別物だったのですね・・・。Part47の部分から修正していきます。
丁寧に教えて頂きありがとうございました。

225名無しさん:2023/03/24(金) 08:23:25 ID:bl5Bniyg
>>221
本丸防衛陣形の精鋭登録は精鋭部隊の防御部隊に登録するのみで
よさそうですがどうでしょうか?
たぶん登録先はそれ以外はないと思います。
存在チェックが必要ならそれも防御部隊のみで問題ないかと思います。

226名無しさん:2023/03/24(金) 08:29:24 ID:vx.CFrJA
219です。説明不足ですいません。
>>221
https://gyazo.com/f3e6cf1aeb41343905308a8374d6ae17
本丸防御陣形の1列目に表示されてる精鋭登録ボタンなのですが、こちらは表示だけの機能ということでしたっけ?
今回のメンテ前までは、このボタンで精鋭登録できてたような・・・(勘違いだったらすいません)
2列目に精鋭登録ボタンが表示されていないのは、すでに登録済だからだというのは理解しております。

本丸防御陣形の精鋭登録ボタンからこちらの登録画面に飛べたら良いのでしょうけど、やり方がわからずでして。
https://gyazo.com/a646e82ef041be49c16fa77b06e1985d

>>223
スキル追加とは、この画面でのことで
https://gyazo.com/2ebd335dd840fbe0f7a796d3bbd7c60b
追加する武将を探して何ページかオートページャーさせてると読み込みが遅くなって、しばらく固まってしまうのです。

227名無しさん:2023/03/24(金) 09:08:44 ID:iOR7Vu4I
>>225
たしかにそうですね、ご提案ありがとうございます
ただし一部公式の機能を使って精鋭登録しようとしているので、登録しようと思えば本丸の部隊を攻撃とかに登録出来ちゃいます
と言っても鯖側に
①武将が1人
②登録済み
③登録数MAX
を弾く処理が入っているっぽいのでチェックは要らなそうですね
すみません、手が空いたら取り掛かるので少し時間かかるかもしれません

228名無しさん:2023/03/24(金) 09:10:28 ID:iOR7Vu4I
>>226
本丸の精鋭登録は今改修しています
もう少々お待ちください

ページャーの部分は後で見てみますね

229名無しさん:2023/03/24(金) 19:56:26 ID:iOR7Vu4I
本丸防御陣形の精鋭登録、一通り動かしてみましたが問題ありましたら教えてください
登録ボタンは必ず出すようにして登録失敗して鯖からエラーのテキストがあればそれをアラートで返すようにしました
一括兵士訓練で支城を1回開かないといけないのと同じように最初に1回待機武将を精鋭登録で開かないと
最後に開いた精鋭の種類が保存されなくてあらぬ種類に表示が切り替わったりしますが
1回でも開けばログアウトしようが何しようが保存されています(本城主と影城主でそれぞれ別に保存してます)
と言っても表示が勝手に切り替わるだけで登録は正常に行われます

その①
// デッキ総合
function deckCheck() {
if (location.pathname != '/card/deck.php' && location.pathname != '/card/defense_formation_deck.php') {
return;
}

// 最後に開いた精鋭部隊の種類を保存 20230324added
+ var filter_tab = $('#deck_file #set_elite_unit_assign_filter_tab').val();
+ if (filter_tab) {
+ setStorage('ixamoko_filter_tab', filter_tab);
+ }

// スクロールボタン
if (options.deck_scroll) {

230名無しさん:2023/03/24(金) 19:58:50 ID:iOR7Vu4I
その②(少し下に飛びます、完成品だけ置きます、行頭の+マーク省略)
function elite_category() {
var url = '/card/defense_formation_deck.php';
if (location.pathname == url) {
if ( !$('#breakup_all_command').length ) { return; }
var filter_tab = getStorage(null, 'ixamoko_filter_tab') || 1;
$.ajax({
type: 'post',
url: '/card/deck.php',
data: {
ano: 9,
select_card_group: 6,
set_elite_unit_assign_filter_tab: filter_tab,
},
beforeSend: xrwStatusText,
}).then(function (html) {
$('body').find('#elitePopupDialogContent').remove();
$('body').append($(html).find('#elitePopupDialogContent').prop('outerHTML'));
}, null);
$('.deck_btns').find('img').css({'width': '96%', 'height': '96%'});
var $deck = $('#deck_bg');
if (!$deck.find('a.elite_category').length ) {
var img = '<img src="' + CACHE_PASS + '/img/deck/elite/add_elite.png" alt="精鋭部隊登録" style="width: 70px; height: 24px;">';
$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 />');
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' });
}

// 精鋭登録ボタン押下処理
$(document).on('mousedown', 'img[alt="精鋭部隊登録"]', function() {
$(document).find('#set_assign_id').val($(this).parent().attr('onclick').match(/\d+/));
var new_script = $($('script[id="elitePopupDialogContent"]').text());
new_script.find('.elite_popup_dialog_save').attr('class', 'elite_popup_dialog_save_2');
new_script.find('.elite_popup_dialog_save').removeClass('elite_popup_dialog_save');
$('script[id="elitePopupDialogContent"]').empty();
$('script[id="elitePopupDialogContent"]').text(new_script.prop('outerHTML'));
});

231名無しさん:2023/03/24(金) 20:00:43 ID:iOR7Vu4I
その③(完成品だけ置きます、行頭の+マーク省略)
// 精鋭登録処理
$(document).on('click', 'img.elite_popup_dialog_save_2', function() {
var set_elite_unit_assign_sort = '';
$(document).find('.elite_popup_squad_category_btn').each(function(idx) {
if (!$(this).hasClass('off')) {
switch (idx) {
case 0:
set_elite_unit_assign_sort = 1;
break;
case 1:
set_elite_unit_assign_sort = 2;
break;
case 2:
set_elite_unit_assign_sort = 4;
break;
case 3:
set_elite_unit_assign_sort = 5;
break;
}
return false;
}
});
var data = {
elite_squad_name: $(document).find('#ixa_popup_elite_popup_dialog input.elite_squad_name').val(),
elite_move_order: $(document).find('.elite_popup_squad_number_check input').prop("checked") ? 1 : 0,
set_assign_id: $(document).find('#set_assign_id').val(),
set_elite_unit_assign_sort,
mode: 'set_elite',
}
$.ajax({
type: 'post',
url: '/card/deck.php',
data: data,
beforeSend: xrwStatusText,
}).then(function(html) {
var $div = $(html).find('div.common_box1');
if ($div.length) {
window.alert($div.find('p').text().replace(/\n|\t|\s/g, ''));
}
$(document).find('#set_assign_id').val('');
location.href = '/card/defense_formation_deck.php';
}, null);
});
<ここまで更新、以下変更なし>

$('body').on('dragend', '#deck_bg div.home_defense_formation_card_space_target a', function() {

232名無しさん:2023/03/24(金) 20:01:38 ID:iOR7Vu4I
あとすみません、>>217はこの2行要りません
- line_from: 0,
- line_to: -1,

233名無しさん:2023/03/24(金) 20:36:21 ID:vx.CFrJA
いつもありがとうございます!
ちなみに導入したところエラーを吐いてしまったのですが、最後の部分をいじったら動作いたしました。

 }, null);
 }); ←ここを削除
<ここまで更新、以下変更なし>

これで合ってますでしょうか?

234名無しさん:2023/03/24(金) 20:42:22 ID:vx.CFrJA
すいません!合ってないかもでした><
登録はできたのですが下の部分が増殖しているようです
https://gyazo.com/6c5b87667389b0deccfa571c8ec6b622

235名無しさん:2023/03/24(金) 20:53:38 ID:vx.CFrJA
ここかもです。
<ここまで更新、以下変更なし> から下
//本丸防御陣形デッキの兵法表示 の部分
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);
}
}
//   ここまで

function ajaxStopDefenseFormation() {

板汚してしまい、申し訳ありませんでした><

236名無しさん:2023/03/24(金) 21:11:15 ID:iOR7Vu4I
すみません長くなるので省略しちゃいましたが、functionの終わりまでと次のfunctionの始まりまで載せますね
その③の最後あたりから
location.href = '/card/defense_formation_deck.php';
}, null);
});
<ここまで更新、以下変更なし>

$('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>');
}
});
}
}

function ajaxStopDefenseFormation() {

237名無しさん:2023/03/24(金) 22:45:31 ID:xr9cUW3.
ID:iOR7Vu4I さん。いつも有り難うございます。
恐らく動作していると思われます。攻撃・防御・加勢・強襲のタブ切り替えがこれ恐らくmokoを切っていてもモッサリしてますね。

>組み込む方向け
>>236 内の
+ tactics + '%</span>');
は「そのまま記述」です(ですね?)。プラス記号は取らないでくださいませ。

238名無しさん:2023/03/24(金) 23:55:38 ID:iOR7Vu4I
>>237
補足ありがとうございます
おっしゃる通りそこは最初からソースの頭に+が付いていて変えていないのでそのままにしてください

なお武将1人と登録済みのパターンは検証済みで、ちゃんとアラートが出て登録も出来ません
50部隊は面倒なのでやってません・・・

239名無しさん:2023/03/25(土) 12:43:19 ID:1VX6W3Wo
>>216さんありがとうございます。>>222までは完了しました。

>>229>>232
やってみたのですがエラーになってしまって・・・。
これをやると何処が改善されるのかもわからずに・・。
自身の中でごちゃごちゃになって混乱気味です><
この部分の改修は>>〇〇の部分の更新になるのでしょうか?

240名無しさん:2023/03/25(土) 15:47:43 ID:iOR7Vu4I
>>239
本丸防御陣形の精鋭登録がアプデで動かなくなっていたので更新です

まず>>229の①は追加する4行の行頭に+マークを付けているので+を消して追加してください

その後の>>230-231の②と③は+マークを付けていません
function elite_category()内の$('body').on('dragend', 〜〜〜より上(<ここまで更新、以下変更なし>より上)の完成版を載せていますのでその部分をごっそり書き換えてください
分かりにくかったら>>236にさらにfunction elite_category()の最後まで載せていますのでご参考に(231の最後と236の最初は少しダブっていますので比較してダブっている部分はダブらないようにしてください)
<ここまで更新、以下変更なし>はスレへの書き込み用コメントなので<>も含めて消してください

241名無しさん:2023/03/25(土) 16:16:20 ID:Mk4nSJRA
iOR7Vu4Iさん、いつもありがとうございます。

本丸防御陣形からの精鋭部隊登録に関する修正、こんな感じでしょうか?
修正の修正などもあるので、そっくりコピペ出来る様に簡素化しています。
ミスがあったらすみません。

https://writening.net/page?bnnMAC
パス:193

242名無しさん:2023/03/25(土) 17:22:48 ID:iOR7Vu4I
>>241
まとめありがとうございます
見た感じ間違いなさそうです

243名無しさん:2023/03/25(土) 19:48:18 ID:1VX6W3Wo
>>216(iOR7Vu4I)さんいつもありがとうございます。
>>240の返信ありがとうございました。やってみたのですが色々失敗等繰り返して
何処がどうなった分からなくなったので>>241さんの部分でそっくりコピペでやったら多分出来ました。
>>241さんも簡素化して頂き本当にありがとうございました。

修正最後の部分の
//ここまで
の下の部分が↓このようになってるのに対して
function ajaxStopDefenseFormation() {
if ( location.pathname != '/card/defense_formation_deck.php' ) {

私のは↓になっていました。
(何処の部分までコピペするのか探す際見当たらず、ここまでかなと思ってやったらできたって感じでした)
//ここまで
function getUnitAtt() {
return parseFloat($('#deck_info_tbl td').eq(4).text().replace(/,/g, '').match(/\d+/g) || ['0']);
このようになっています。

今の所エラーも無く問題は無さそうなのですが?、この部分は何処かの改修をやっていないのでしょうか?
わかる範囲で教えて頂けると助かります。そのままでOKなら良しなのですけど。

244名無しさん:2023/03/25(土) 20:00:01 ID:Mk4nSJRA
>>241
多分ですけど、>>148だと思います。

245244:2023/03/25(土) 20:02:27 ID:Mk4nSJRA
アンカミスった・・・。>>243さん

246名無しさん:2023/03/25(土) 22:56:02 ID:1VX6W3Wo
>>244さん
>>148やってなかったので修正しました。ありがとうございます。

247名無しさん:2023/03/26(日) 02:26:43 ID:iOR7Vu4I
>>219
ページャーを使ってみましたが私は何ページ読み込ませても遅くなったりましてや固まることはありませんでした
それはスキル追加合成のページだけで起こりますか?
それとも、たとえば他の部隊編成のページ等でも起きますか?

248名無しさん:2023/03/26(日) 11:50:17 ID:vx.CFrJA
>>247
そうなんですね。調べていただきましてありがとうございます。
他には下の兵士編成画面で、兵士をいじる(兵種・兵数を変更する)と見てのとおり
兵種の色も変わらず固まります。
https://gyazo.com/3b7eec441ff0ab66037d6330f668b907
さらには下の部分のIXAタイムも止まってます。(こちらは見てもわからないでしょうけど^^;)
https://gyazo.com/71b32f8042be7899eeff923adef03518

ちなみに兵士編成画面もスキル追加画面もページ数(武将数)が少ないとこの現象は発生しません。
なので前期までは組分けして組ごとに編成したりスキル追加はしてたんですが、今期からカード所持数が増えたのもあって
数の多い組でも発生してしまい困っていたのです。

249名無しさん:2023/03/26(日) 15:14:12 ID:iOR7Vu4I
>>248
同じ処理なのにできる時とできない時があり、色々な処理で発生し、それが量によって変わるとなるとPCのスペックが原因の可能性があります
ただ、どちらもそんなに重い処理ではないのが気になりますが・・・

固まる処理をやる前にEdgeやChromeならCtrl+Shift+iキーを押してコンソールを表示して、固まる処理を実行した時に赤文字のエラーが発生していなかったら処理に時間がかかっていて固まってます
赤文字が出たらプログラムに誤りがあるので赤文字の部分をコピペしてエラーを教えてください

250名無しさん:2023/03/27(月) 00:56:16 ID:1VX6W3Wo
兵士編成の時に表示がずれます。
https://gyazo.com/974dad6e14189ac32acbe7b03f529bd6

出品などの時はずれません。
https://gyazo.com/ea8e92294a27542ff877bb06bcc80147

以前聞いたのですがわからなくて、放置していました。
実害はないのですが、教えて頂けると助かります。宜しくお願いします。

251名無しさん:2023/03/27(月) 01:32:40 ID:LJtw.6sI
キーバインドの[N]と[B]なのですが、
砦の表示をスキップできないのが原因で
陣移動ができないようです><
この辺うまく直せたりは出来ませんでしょうか?

252名無しさん:2023/03/27(月) 10:05:59 ID:bl5Bniyg
>>229
iOR7Vu4Iさん 遅くなりましたが修正ありがとうございました。

253名無しさん:2023/03/28(火) 15:31:47 ID:iOR7Vu4I
>>250
私のは表示ズレてないんですがfunction unitListCheck()内の最後のとこに
$('div.select_filter ul').css('white-space', 'nowrap');
これ1行足せばいけませんかね?

254名無しさん:2023/03/28(火) 16:34:54 ID:1VX6W3Wo
>>250
iOR7Vu4Iさん、出来ました。いつも色々な改修助かっています。
本当にありがとうございます。

255名無しさん:2023/03/29(水) 07:57:28 ID:iOR7Vu4I
>>251
私はキーバインドは使ってないんですが、具体的に現状どういう挙動で、どうなるのが正しいんですかね?
ソースを見る限りだとサイドボックスに表示されている拠点を降順か昇順で移動するようにみえます

256名無しさん:2023/03/29(水) 10:36:48 ID:xr9cUW3.
[N]は恐らくNextで上から昇順に移動、[B]は恐らくBackで下から降順に上に移動ですね。
戦間期なので砦や陣が加わると挙動が分からないのですが本領と支城・村落に限定すれば正常動作している様ですね。

257名無しさん:2023/03/29(水) 11:44:52 ID:vx.CFrJA
>>251
ヴァージョン自体が違うのかも知れませんが一応動くコード上げておきます。
確か大分昔にここに上がってたものを取り入れた気がしますw(うろ覚えです^^;)
ちなみに戦略拠点に登録されている拠点が挟まると自領の上の部分に移動してしまうので、そこは要修正なのかもですね。

// 拠点移動のURLの取得・移動
function moveExecution(f) {
(中略)
var url = 0 > f && obj.prev ? obj.prev : 0 < f && obj.next ? obj.next : null;
url ? location.href = url : void 0;
}

上記部分を下記と差し替え

// 拠点移動のURLの取得・移動
function moveExecution(f) {
let $list = $('#sideboxBottom div:first li').filter(function(){return $(this).hasClass('on') || $(this).children('a').length;});
let i = $list.index($('#sideboxBottom li.on'));
let prev = $list.eq(i-1).length ? $list.eq(i-1).children('a').attr('href') : $list.eq($list.length - 1).children('a').attr('href');
let next = $list.eq(i+1).length ? $list.eq(i+1).children('a').attr('href') : $list.eq(0).children('a').attr('href');

if ($('#repair_central_form').length) {
prev = prev.replace('map', 'village');
next = next.replace('map', 'village');
}
var url = 0 > f && prev ? prev : 0 < f && next ? next : null;
if (url) {
location.href = url;
}
}

258名無しさん:2023/03/29(水) 15:16:56 ID:LJtw.6sI
>>251です。
皆さん気に留めて頂きありがとうございます。

>>255
いつも改修して下さっている方だと存じております^^
ありがた過ぎて申し訳ないとすら感じております^^;
>>256さんの書き込み通り通常時は問題ありません。
合戦中も同一砦内の陣だけならちゃんと機能します。
合戦中にお試し頂ければ分かりやすいのですが、
メニューの【拠点】、特に【地図】の時に次の砦の陣に
移動できないという症状でした。

>>257
ありがとうございます!
早速取り込ませて頂いた後、陣触で試せるかもですが、
合戦で運用させて頂きたいと思います。

259名無しさん:2023/03/29(水) 16:18:47 ID:xr9cUW3.
>>257 ID:vx.CFrJA さん
取り込ませていただいた所、[N]及び[B]キーによる拠点移動が出来なくなりました。
ローカルストレージの全クリアから確認しました。
[MOKO設定]では「キーバインドを使用する」にチェックを入れ他はデフォルトのままです。
https://imgur.com/IMNFvcq
function moveExecution(f)をまるっと入れ替えで認識相違は無いですよね。

当方のmokoとお使いのmokoで大前提が異なっているかもですね。

260名無しさん:2023/03/29(水) 17:17:24 ID:Mk4nSJRA
それこそ元が違ってたらアレですが、こんな感じの修正で動いている様です。
(正確には、普段使っていないので分かりませんが、パッと見動いていそう。)

https://writening.net/page?g22DUT
パス:193

そっくり入れ替えると後で面倒なことになりかねないので、今回は、/*と*/を追加して元の部分を無効に。
それから、>>257の差し替え部分を追加した感じです。

261名無しさん:2023/03/29(水) 18:16:17 ID:xr9cUW3.
>>260 ID:Mk4nSJRA さん
補足を有り難うございます。私は改修する時はいつも以前のコードをコメントアウトしてから行っています。
コードを拝見しましたが >>257 さんと変わり無い様に見受けられます。
実際に >>260 のコードを貼り直しましたが挙動変わらずです。
https://imgur.com/undefined
キーバインドを使用出来る様になる何かトリガーや前提ってありましたでしょうか。
普段使用していないものでちんぷんかんぷんでして・・・。

262名無しさん:2023/03/29(水) 18:21:21 ID:xr9cUW3.
>>261 で貼ろうとしていたキャプチャはこちらです。失礼しました。
https://imgur.com/nMiPVmK

263名無しさん:2023/03/29(水) 20:29:30 ID:vx.CFrJA
>>261
普段使用していないとのことですが、「N」や「B」を押しても所領移動してないのですか?
ちなみに、内政画面で「M」押すとマップ画面に移動しますか?逆にマップ画面で「V」押すと内政画面に移動しますか?
しないようなら、MOKOの設定の全般1の「キーバインドを使用する」にチェック入れて試してみてください。

264名無しさん:2023/03/29(水) 21:23:33 ID:LJtw.6sI
>>251 >>258です。

>>257
取り込ませて頂き、陣触で試してみたところ、おっしゃる通り

「戦略拠点に登録されている拠点が挟まると自領の上の部分に移動してしまう」

の症状は出るものの、このくらいは受け入れていこうと思います。
少なくともこれで[N](Next)と[B](Back)が生き返りました。
積年のクリックストレスから解放され、ありがたい限りです。
改めて、ありがとうございました!


※mokoの奥深さの片鱗として、拾えてる範囲ですが
以下、貼り付けておきます。

"e"敵襲画面へ遷移
"c"受信書状一覧画面へ遷移
"g"報告書一覧画面へ遷移
"h"秘境画面へ遷移
"k"くじ画面へ遷移
"m"地図画面へ遷移
"d""a""s""w"地図画面で東西南北移動
"q"クエスト画面へ遷移
"r"合戦報告書画面へ遷移
"t"取引画面へ遷移
"u"秘境部隊自動配置機能(部隊全解散→秘境部隊全配置)
"v"拠点内政画面へ遷移
"x"出陣部隊一覧画面へ遷移
"z"ランクアップ合成

"0"本丸防御陣形
"1"部隊編成画面(1部隊目)
"2"部隊編成画面(2部隊目)
"3"部隊編成画面(3部隊目)
"4"部隊編成画面(4部隊目)
"5"部隊編成画面(5部隊目)
"6"部隊編成画面(6部隊目)
"7"部隊編成画面(加勢専用1部隊目)
"8"部隊編成画面(加勢専用2部隊目)
"9"部隊編成画面(強襲部隊)
"Alt+0"未配置のスロットへ「全武将」で編成画面
"Alt+1"未配置のスロットへ「第一組」で編成画面
"Alt+2"未配置のスロットへ「第二組」で編成画面
"Alt+3"未配置のスロットへ「第三組」で編成画面
"Alt+4"未配置のスロットへ「第四組」で編成画面
"Alt+5"未配置のスロットへ「未設定」で編成画面

特殊合成1枚目のカード選択後'Enter'→一番最初のカード選択
特殊合成確認画面'Enter'→合成実行ボタンクリック
特殊合成結果画面'Enter'→2画面ヒストリーバック

265名無しさん:2023/03/29(水) 21:26:36 ID:xr9cUW3.
>>263 さん 有り難うございます。
・内政画面で「M」押すとマップ画面に移動
・マップ画面で「V」押すと内政画面に移動
この2つは機能しています。[N]と[B]が現状有効でないみたいですね。

>> MOKOの設定の全般1の「キーバインドを使用する」にチェック
>>259で提示した様に普段はチェック済です。今外して[設定]、チェックし直して[設定]しても[N]と[B]キーでの動作はしてもらえていないです。

266名無しさん:2023/03/29(水) 21:34:10 ID:xr9cUW3.
>>264 さんの情報を拝借してその他のキーバインドが有効か確認した結果をお知らせします。
[N]と[B]だけ有効出ないという事はどこかでコードの重複が発生している可能姓はありませんでしょうか。
その確認方法だけでもご教授戴けますと助かります。皆様どうぞ宜しくお願いいたします。

○:"e"敵襲画面へ遷移
○:"c"受信書状一覧画面へ遷移
○:"g"報告書一覧画面へ遷移
○:"h"秘境画面へ遷移
○:"k"くじ画面へ遷移
○:"m"地図画面へ遷移
○:"d""a""s""w"地図画面で東西南北移動
○:"q"クエスト画面へ遷移
○:"r"合戦報告書画面へ遷移
○:"t"取引画面へ遷移
○?:"u"秘境部隊自動配置機能(部隊全解散→秘境部隊全配置) ※ダイアログの表示までは確認
○:"v"拠点内政画面へ遷移
○:"x"出陣部隊一覧画面へ遷移
○:"z"ランクアップ合成

○:"0"本丸防御陣形
○:"1"部隊編成画面(1部隊目)
○:"2"部隊編成画面(2部隊目)
○:"3"部隊編成画面(3部隊目)
○:"4"部隊編成画面(4部隊目)
○:"5"部隊編成画面(5部隊目)
○:"6"部隊編成画面(6部隊目)
○:"7"部隊編成画面(加勢専用1部隊目)
○:"8"部隊編成画面(加勢専用2部隊目)
○:"9"部隊編成画面(強襲部隊)
○:"Alt+0"未配置のスロットへ「全武将」で編成画面
○:"Alt+1"未配置のスロットへ「第一組」で編成画面
○:"Alt+2"未配置のスロットへ「第二組」で編成画面
○:"Alt+3"未配置のスロットへ「第三組」で編成画面
○:"Alt+4"未配置のスロットへ「第四組」で編成画面
○:"Alt+5"未配置のスロットへ「未設定」で編成画面

267名無しさん:2023/03/29(水) 21:58:45 ID:LJtw.6sI
>>257さんのアドバイス通りに”丸々”入れ替えるだけでokでしたので、
ただの貼り付けミスとしか思えませんが。。。

268名無しさん:2023/03/30(木) 04:36:39 ID:iOR7Vu4I
>>264
まとめありがとうございます

気になってザッと見てみたのですがwasdは合成画面やページャーのある画面でも使えるようです
合戦報告書・報告書・書状で未読を読んだり最初の1行を読むのにfもあるようです
あとデッキや地図でEscもあるみたいです

すみません、どの画面でどのキーが割り当てられてるかくらいしか見ていなくてどんな処理になるのかまで追えてないのですが、特に悪さはしないと思うのでお試しになって使えるようでしたらご利用ください

269名無しさん:2023/03/30(木) 09:17:51 ID:xr9cUW3.
>>267さん。
JavaScriptは専門ではありませんが一応業務でスクリプト系言語を触っておりますので三度(今も貼り替えました)変えて三度動かないのは流石におかしいかなと。
最新の改修コードのせいと申しているのではなく、当方の大前提がどこかおかしいのではと。
// キーバインド
function keyBindings() {
の関数内か
https://imgur.com/Ud5IC5k
この辺りの実装が私が関知しない間に変わってらっしゃるのかなー等と思案しております。

270名無しさん:2023/03/30(木) 09:18:16 ID:bl5Bniyg
>>257
いつも修正ありがとうございます。
257の修正ですがIXA設定の全般2>IXAタイムを表示するを上中段に
設定すると無効になります。
上段表示にすると正常に機能いたします。
この辺の不都合直りますでしょうか?

271名無しさん:2023/03/30(木) 13:26:13 ID:iOR7Vu4I
>>270
sideboxBottomって色々いじってるとdivの位置が変わったりしてfirstだと取れない時があるので、li.onのclosestのdivを取らないとなのだと思います
ちょっと今PC触れないのであとで見てみます

272名無しさん:2023/03/30(木) 14:55:29 ID:xr9cUW3.
すみません[N][B]のお問い合わせの続きをさせてください。
>>257 さんが挙げてくださった「大分昔にここに上がってたものを取り入れた」コードの先頭4行の出典はpart38スレの以下コードかと思います。
改行を直してWinMergeで差分比較したところ完全一致しました。

256名無しさん@お腹いっぱい。 (ワッチョイ 3d3e-3Ttg)2018/01/18(木) 17:43:47.03ID:hIUiSCVa0>>257
>>236
合戦で陣をNキー巡回させたいけど
そこまで含めるとどういう構文になるんでしょう?

257名無しさん@お腹いっぱい。 (ワッチョイ 231d-pQa0)2018/01/18(木) 18:39:14.33ID:Ds8/BQUe0>>258
>>256
含めると、と言うか単純にカテゴリ(自国、他国、南西etc.)を跨いで移動したいなら、
moveExecution(f)内の最初の四行目を↓に置き換えるといける

let $list = $('#sideboxBottom div:first li').filter(function(){
return $(this).hasClass('on') || $(this).children('a').length;
});
let i = $list.index($('#sideboxBottom li.on'));
let prev = $list.eq(i-1).length ? $list.eq(i-1).children('a').attr('href') : $list.eq($list.length - 1).children('a').attr('href');
let next = $list.eq(i+1).length ? $list.eq(i+1).children('a').attr('href') : $list.eq(0).children('a').attr('href');

となりますと、>>257>>260で示してくださったコード内でその後に現れる
if ($('#repair_central_form').length) {
の「repair_central_form」の値がおかしい為に判定結果が皆さんと異なるのでは?と少し思ったのですがソース内を検索しても地図に関わる所にしか現れず。
Chromeのショートカットキーが悪さをしていないか、拡張機能が悪さをしていないか(一つ一つ外しながら動作確認をしました)、
結構お手上げに近い状態です(泣。
>>257(>>260)の取り込みを諦めればそれで済む話なのかもしれませんがキーバインド活用されてる方に悪いし何だか悔しいし・・・w

273名無しさん:2023/03/30(木) 15:28:59 ID:lqoCmW9U
>>272

>>270と同じような理由かも。
とりあえず以下を試して。

- let $list = $('#sideboxBottom div:first li').filter(function(){return $(this).hasClass('on') || $(this).children('a').length;});
+ let $div = $('#sideboxBottom li.on').closest('div.sideBox');
+ let $list = $div.find('li').filter(function(){return $(this).hasClass('on') || $(this).children('a').length;});

274名無しさん:2023/03/30(木) 16:11:01 ID:iOR7Vu4I
>>272
moveExecution(f)は>>260で問題ないように見えます
[N][B]だけ動作しないというのならまずこちらを疑ってみてはどうですか?
shortcut.add('b', function() { return moveExecution(-1); }, { 'disable_in_input': true, 'keycode': 66 });
shortcut.add('n', function() { return moveExecution(1); }, { 'disable_in_input': true, 'keycode': 78 });

私がよくやる手法ですが、console.logをいたるところに差し込んで確認する方法があります
たとえば、まず[N]が効いてないというならまず
shortcut.add('n', function() { console.log('aaa'); return moveExecution(1); }, { 'disable_in_input': true, 'keycode': 78 });
のようにして、コンソールにaaaが出るか、つまりそもそもキーバインドを認識しているかを確認します(コンソールは設定で[preserve log]をONにしてください)
aaaが出るようならmoveExecution(f)内のド頭var $on =の前にconsole.log('bbb')を入れて、さらに各条件分岐にccc、ddd、・・・を入れていきます
これでどこのロジックを通っているのか、どこで止まっているのかがある程度絞れるので解決の糸口になるかと思います
repair_central_formは地図にしか出てこないと思います
詳しく追ってはいないのですが、'map'を'village'に置き換えているので恐らくmap.phpをvillage.phpにして、x=とかy=とかを流用しているのだと思います

275名無しさん:2023/03/30(木) 16:35:44 ID:bl5Bniyg
>>271
気にかけて頂きありがとうございます。
>>273で動くようになりました。

>>273
無事動くようになりました。
ありがとうございます。

276名無しさん:2023/03/30(木) 17:51:25 ID:xr9cUW3.
すみません休んでおりリアクションが遅れました。
>>273 ID:lqoCmW9U さん。ご提案の内容で[N][B]及びその他キーバインド(全ては確認しておりませんが)が動作する様になりました。
有り難うございました。

>>274 ID:iOR7Vu4I さん。
アドバイスを有り難うございました。デバッグ出力を差し込む確認方法は業務でも行っているのですが、
「JavaScriptだからブラウザで値や遷移を確認しないといけないのでは」、という頭に囚われておりました。
今後似た様な事例に遭遇したらconsoleオブジェクトを使う様にします。ご助言感謝です。

277名無しさん:2023/03/30(木) 20:13:46 ID:iOR7Vu4I
キーバインドはみなさん動くようになったようで良かったです
ただ戦略拠点が挟まるとうまく動かないとのことなので合戦始まったらみてみます

ちなみにもう動いているなら余計なことかもしれませんが>>273の最後の行のfilterは効いてないのでlet $list = $div.find('li');でいいと思います
さらに上のlet $div = $('#sideboxBottom li.on').closest('div.sideBox');と繋げられるので、結論として
- let $list = $('#sideboxBottom div:first li').filter(function () { return $(this).hasClass('on') || $(this).children('a').length; });
>>273の2行も消して)
+ let $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li');
でいいと思います

278名無しさん:2023/03/31(金) 18:49:40 ID:iOR7Vu4I
キーバインドにヘルプ(一覧)が無かったので作ってみました
今のところShift+F1で開くようにしてます

これは私のソースから動作を拾ったので、もし動作が違ったり他に動作するキーがあったら
該当する場所を各自で修正または追加してください

修正箇所は2か所でヘルプの一覧を生成している部分はまるっと追加なので
いつものように行頭の+マーク省略してます

長いのでテキスト共有サービスを利用しました

https://writening.net/page?bUBSJH
パス:193

279名無しさん:2023/03/31(金) 20:57:49 ID:xr9cUW3.
>>277-278 ID:iOR7Vu4I さん
キーバインドの改良を遅まきながら取り込ませていただきました。動作良好です。有り難うございます。
キーバインドヘルプ機能、素晴らしいですね。これで私自身も一歩前進できそうです。

280名無しさん:2023/03/31(金) 23:08:47 ID:iOR7Vu4I
[N][B]のキーバインドですが陣間の移動を可能にし戦略拠点や同盟戦略拠点を考慮した動きにしました
ただし、キーで移動した時のみの動作で、クリックで拠点移動されたりが挟まると捉えきれません
クリックの考慮もできなくはないのですが、現在のページに「クリックで来たか」「キーダウンで来たか」を
記憶しておかないとで、面倒なので今回は実装しませんでした
なのでキーで移動してこないと正常に動作しない可能性があります
例えば、戦略拠点に入ってる陣①に陣②から[B]キーで移動してくる、という意味です
クリックで戦略拠点に入ってる陣①に移動してそこから[N][B]を押しても期待通りの動作にはならない可能性があります

function moveExecution(f) {
- let $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li');
+ let $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li:not(.head)');
+ let $on = $list.filter(function(){if($(this).hasClass('on')){return true}else{return false}});
+ if ($on.length > 1) {
+ var obj = getStorage({}, 'ixamoko_select_fort');
+ if (/my_capital|my_country|other_country/.test(obj[obj.dirc])) {
+ $list.each(function(){if($(this).hasClass('on')){$(this).removeClass('on');return false;}});
+ }
+ }
let i = $list.index($('#sideboxBottom li.on'));
let prev = $list.eq(i - 1).length ? $list.eq(i - 1).children('a').attr('href') : $list.eq($list.length - 1).children('a').attr('href');
let next = $list.eq(i + 1).length ? $list.eq(i + 1).children('a').attr('href') : $list.eq(0).children('a').attr('href');

if ($('#repair_central_form').length) {
prev = prev.replace('map', 'village');
next = next.replace('map', 'village');
}
var url = 0 > f && prev ? prev : 0 < f && next ? next : null;
if (url) {
+ var data = {
+ dirc: f == -1 ? 'prev' : 'next',
+ prev: $list.find('a[href="' + prev + '"]').closest('div.sideBoxInner').attr('class'),
+ next: $list.find('a[href="' + next + '"]').closest('div.sideBoxInner').attr('class'),
+ }
+ setStorage('ixamoko_select_fort', data);
location.href = url;
}
}

281名無しさん:2023/03/31(金) 23:20:06 ID:iOR7Vu4I
>>280ですが、陣が同盟戦略拠点と戦略拠点の両方に入っている場合もレアケースなので想定していません
拠点が選択されて文字の色が黄色になっている拠点は最大で2つまでという想定です

282名無しさん:2023/04/01(土) 06:45:46 ID:1VX6W3Wo
>>278をやってみましたが
その前に>>257も必要だったみたいでそれは出来ているのですが
>>260がちょっとわからなくて>>280はまだやっていません。
>>257,260,280と修正すれば良いのでしょうか?

283名無しさん:2023/04/01(土) 06:54:00 ID:xr9cUW3.
>>280 ID:iOR7Vu4Iさん。
早速取り込ませていただきました。有り難うございます。
およその制約事項も把握できたかと思われます。感謝です。

284名無しさん:2023/04/01(土) 08:35:28 ID:bl5Bniyg
>>282
修正の順番としては下記になるかと思います。
>>257>>260は同じ修正です。
257を260がまとめてくれた感じです。
>>257(>>260)→>>277>>278>>280

285名無しさん:2023/04/01(土) 11:27:08 ID:iOR7Vu4I
あともう1つわかったのが、戦略拠点に入っている敵の本領や出城、空き地等は公式の仕様で選択状態(文字が黄色)にならないようです
現状のmokoでは[N][B]が「選択されている拠点から1つ上へ/1つ下へ」という動きなのでちょっと根本的にロジック変えないとかもしれません

286名無しさん:2023/04/01(土) 13:10:25 ID:1VX6W3Wo
>>257 >>278 は多分出来ていると思うのですが、>>277の -let $list 〜の部分が分かりません。
>>273もやらないといけないのでしょうか?

https://gyazo.com/ed39107027a5171491ecedf03ea967cd

すいません・・・混乱して中々理解できていなくて><

287名無しさん:2023/04/01(土) 13:30:27 ID:bl5Bniyg
>>286
>>277は最終的に消える修正ですが>>280の修正の
- let $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li');
の部分の修正ですので277を理解していないと-にするところがないとなります。
最終的には…
function moveExecution(f) {
let $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li:not(.head)');
let $on = $list.filter(function(){if($(this).hasClass('on')){return true}else{return false}});
if ($on.length > 1) {
と続きます。

288名無しさん:2023/04/01(土) 14:05:26 ID:1VX6W3Wo
bl5Bniygさんお手数おかけします。

>>257 >>278 >>280 とやりました。
>>277はわからなかったのと、最終的に消えるとの事で飛ばしました。
最終的に>>257部分が>>280になるって事であってますか?
https://gyazo.com/15cb17e2d80709418db9ae9878effc8e

289名無しさん:2023/04/01(土) 14:08:31 ID:iOR7Vu4I
すみません、何度も修正入っているので混乱しますよね
次は完成版を別途載せるようにします

290名無しさん:2023/04/01(土) 14:28:26 ID:1VX6W3Wo
iOR7Vu4Iさんとんでございません。
いつも助けて頂いており、理解できなくてお手数ばかりおかけして申し訳ありません。

291名無しさん:2023/04/01(土) 14:54:31 ID:iOR7Vu4I
ID:1VX6W3Woさん、>>288のスクショで合っています

292名無しさん:2023/04/01(土) 15:23:04 ID:bl5Bniyg
キーバインド関連修正まとめ

https://writening.net/page?epWg6v
PASS:193

293名無しさん:2023/04/01(土) 19:04:54 ID:iOR7Vu4I
>>292
まとめありがとうございます
さらに修正したので私もまとめてしまいました・・・

上の>>285でできないと言っていた敵の拠点や空き地などを戦略拠点に入れても選択できるようにしました
さらに副産物で本来敵の拠点等は選択状態にならなかったせいで地図の上に表示される距離が自拠点からになっていましたが
この修正で敵の拠点を戦略拠点にいれるとそこからの距離が地図画面上の[座標/距離]に出るようになりました
(前スレ972さんに嘘言ってましたすみません)

まとめはまたテキスト共有サービスを使いました
https://writening.net/page?BeVRSb
パス:193

294名無しさん:2023/04/01(土) 19:52:37 ID:iOR7Vu4I
すみません補足です
上段のキーバインドN, B対応の方は>>280からの追加で、>>280までやっている方は1段落目をまるっと追加して2段落目を1行追加して3段落目の+を追加修正で、今までの分をやってなかった方は1段落目をまるっと追加して2段落目を1行追加して3段落目をfunctionごと書き換えてください
下段のキーバインドヘルプ表示機能の方は>>278とまったく同じです

295名無しさん:2023/04/02(日) 08:27:04 ID:1VX6W3Wo
iOR7Vu4Iさん、いつもありがとうございます。
>>294まで修正させて頂きました。

296名無しさん:2023/04/02(日) 12:29:03 ID:xr9cUW3.
>>293 ID:iOR7Vu4I さん。
取り込ませていただきました。自領や戦略拠点や同盟戦略拠点の区別無く[N][B]キーでの移動が出来る様になり素晴らしいです。
有り難うございました。

297名無しさん:2023/04/02(日) 15:18:03 ID:1VX6W3Wo
昨日まで地図上の陣を右クリック→ここへ部隊を配置→精鋭部隊から配置で部隊を乗せていたのですが
今日は部隊を乗せようとする時に指定している陣じゃない陣や所領が指定になり思うように部隊を乗せることが出来なくなりました。
キーバインド修正と何か関連があるのでしょうか?もしくは設定等などあれば教えて頂きたいです。
もしかしたら私が修正を間違った可能性もありますし、このような症状の方はいらっしゃいますか?

298名無しさん:2023/04/02(日) 16:36:08 ID:xr9cUW3.
>>297さん
確かに、地図画面で自陣を選択しておいて[武将]メニューから精鋭部隊を配置しようとすると、本領選択状態になってしまいますね。

299名無しさん:2023/04/02(日) 17:12:55 ID:iOR7Vu4I
>>297さん
キーバインド関連が悪さしているかもしれません
夕食後にみてみます

300名無しさん:2023/04/02(日) 17:25:13 ID:1VX6W3Wo
iOR7Vu4Iさん、ありがとうございます。宜しくお願いします。
>>298さんの言われる症状です。
防衛戦なのですが、違う陣や本領・支城などを選択してしまいます。

301名無しさん:2023/04/02(日) 17:25:44 ID:guo7Kikc
キーバインドの修正の前から地図画面で陣を選択
ここへ部隊を配置 精鋭部隊から配置 が
効く時と効かない時があった

302名無しさん:2023/04/02(日) 17:33:14 ID:oKXdbuWY
いつもありがとうございます。

上記にも関係すると思われますが、

https://gyazo.com/59db377d5f96aa37c0631a889418bbf9

にて、陣を選択しても部隊編成では違う陣等の選択になります。

時間があるときにご教授ください。

303名無しさん:2023/04/02(日) 19:18:20 ID:1VX6W3Wo
一応、moko入れ替えて試してみたのですが
>>292までの修正ではその症状は出てなかったような気がします。
>>293を修正後にそのような症状になったような・・・。
間違ってたらすいません。

304名無しさん:2023/04/02(日) 19:40:58 ID:iOR7Vu4I
やっぱり>>297は今回のキーバインド対応のせいでした
考慮足りていなくてすみませんでした
2か所追加です
>>293のまとめも修正しています

function sideBoxSelectFort() {
var $list = $('#sideboxBottom li.on').closest('div.sideBox').find('li:not(.head)');
var data = getStorage({}, 'ixamoko_select_fort');
console.log(data.idx);
$(document).on('click', '.nolist', function() {
data.idx = $list.index($(this));
setStorage('ixamoko_select_fort', data);
});
// 2023402追加①ここから
+ $(document).on('click', 'a[href*="alliance_territory/create_if.php"], a[href*="strategic_base/create_if.php"]', function(){
+ var $div = $list.eq(data.idx).closest('div.sideBoxInner');
if (!$div.hasClass('alliance_territory') && !$div.hasClass('strategic_base')) {
+ var coord = $(this).attr('href').match(/x=(-?\d+)&y=(-?\d+)&c=(-?\d+)/);
+ var $li = $div.closest('div.sideBox')
+ .find('li[data-village_x="' + coord[1] +
+ '"] + li[data-village_y="' + coord[2] +
+ '"] + li[data-village_c="' + coord[3] +
+ '"]');
+ if ($li) {
+ data.idx -= 1;
+ }
+ else {
+ data.idx += 1;
+ }
+ }
+ });
// 2023402追加①ここまで

var $on = $('#sideboxBottom li.on');
if (data.idx && data.idx != $list.index($on)) {
var url = $list.eq(data.idx - 1).find('a').attr('href') || $list.eq(data.idx + 1).find('a').attr('href');
if (!url) url = $list.eq(0).find('a').attr('href');
$.ajax({
type: 'post',
url: url,
beforeSend: xrwStatusText,
}).then(function(html) {
var $list_tmp = $(html).find('#sideboxBottom li.on').closest('div.sideBox').find('li:not(.head)');
$list.each(function(i) {
if ($(this).hasClass('on')) {
$(this).removeClass('on');
$(this).find('span').remove();
$(this).append($list_tmp.eq(i).find('a').prop('outerHTML'));
}
});
$list.eq(data.idx).addClass('on');
$list.eq(data.idx).find('a').css('color', 'yellow');
// 2023402追加②ここから
+ $.ajax({
+ type: 'post',
+ url: $list.eq(data.idx).find('a').attr('href'),
+ beforeSend: xrwStatusText,
+ });
// 2023402追加②ここまで
});
}
}

305名無しさん:2023/04/02(日) 19:55:33 ID:iOR7Vu4I
補足です
今回どの鯖も軍師以上ではないので同盟戦略拠点への登録ができなくて、>>304の①の修正の1行目の途中の="alliance_territory/create_if.php"の部分はサイドボックスのIDから予測して書いてます
同盟戦略拠点に登録が出来る方がいらっしゃいましたら、「同盟戦略拠点に登録」ってボタンにマウスを乗せるとChromeなら下の方にペロッとリンク先のURLが出ると思うので教えてくださると助かります
次回合戦まででよろしければ私が確認します

あと、近くに陣が2つあって、地図画面で陣①にクリックして移動して別の陣②を右クリックして「ここへ部隊を登録」にしても部隊画面では陣①が選択された状態だと思います
これは今回の修正関係なく元からそういう仕様だったようです

306名無しさん:2023/04/02(日) 20:13:17 ID:1VX6W3Wo
iOR7Vu4Iさん、お忙しい中、早速の修正ありがとうございます。

>>304やらせて貰いましたが症状は変わっていないような気が?
地図上画面から右クリックで陣指定しても本領等を指定してしまいます。私だけでしょうか?

今の所、>>292までの修正したmokoだと>>297の症状に関して言えば
私の場合だと通常通り作動している状況です。

307名無しさん:2023/04/02(日) 20:30:37 ID:xr9cUW3.
>>306さんの投稿を考慮しますと>>304にて提示くださった改修は待ったした方が宜しいでしょうか。

308名無しさん:2023/04/02(日) 20:35:08 ID:1VX6W3Wo
>>297 >>298
このような症状が出ていた方は>>306をやってみて結果を教えて頂きたいです。
私だけがその症状なら修正をミスっているはずなので・・・。

309名無しさん:2023/04/02(日) 20:53:07 ID:oKhcXkqU
修正行ってみましたが、残念ながら改善されていません。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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